From e1e2c99eddb56d12bade6288008e5f6de48403b8 Mon Sep 17 00:00:00 2001 From: antoine92190 Date: Sat, 21 May 2022 17:51:25 +0200 Subject: [PATCH] (version) 1.5.5 --- dist/vue-advanced-chat.common.js | 5761 +++++++++++++------------ dist/vue-advanced-chat.common.js.map | 2 +- dist/vue-advanced-chat.js | 5761 +++++++++++++------------ dist/vue-advanced-chat.js.map | 2 +- dist/vue-advanced-chat.min.js | 2 +- dist/vue-advanced-chat.min.js.map | 2 +- dist/vue-advanced-chat.umd.js | 5761 +++++++++++++------------ dist/vue-advanced-chat.umd.js.map | 2 +- dist/vue-advanced-chat.umd.min.js | 2 +- dist/vue-advanced-chat.umd.min.js.map | 2 +- package.json | 2 +- 11 files changed, 9296 insertions(+), 8003 deletions(-) diff --git a/dist/vue-advanced-chat.common.js b/dist/vue-advanced-chat.common.js index 8660cefc..292af340 100644 --- a/dist/vue-advanced-chat.common.js +++ b/dist/vue-advanced-chat.common.js @@ -427,7 +427,7 @@ module.exports = NATIVE_BIND ? Function.bind : function bind(that /* , ...args * /***/ "057f": /***/ (function(module, exports, __webpack_require__) { -/* eslint-disable es/no-object-getownpropertynames -- safe */ +/* eslint-disable es-x/no-object-getownpropertynames -- safe */ var classof = __webpack_require__("c6b6"); var toIndexedObject = __webpack_require__("fc6a"); var $getOwnPropertyNames = __webpack_require__("241c").f; @@ -466,7 +466,7 @@ var toPropertyKey = __webpack_require__("a04b"); var hasOwn = __webpack_require__("1a2d"); var IE8_DOM_DEFINE = __webpack_require__("0cfb"); -// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method @@ -672,7 +672,7 @@ var createElement = __webpack_require__("cc12"); // Thanks to IE8 for its funny defineProperty module.exports = !DESCRIPTORS && !fails(function () { - // eslint-disable-next-line es/no-object-defineproperty -- required for testing + // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } }).a != 7; @@ -684,8 +684,9 @@ module.exports = !DESCRIPTORS && !fails(function () { /***/ "0d03": /***/ (function(module, exports, __webpack_require__) { +// TODO: Remove from `core-js@4` var uncurryThis = __webpack_require__("e330"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var DatePrototype = Date.prototype; var INVALID_DATE = 'Invalid Date'; @@ -696,7 +697,7 @@ var getTime = uncurryThis(DatePrototype.getTime); // `Date.prototype.toString` method // https://tc39.es/ecma262/#sec-date.prototype.tostring if (String(new Date(NaN)) != INVALID_DATE) { - redefine(DatePrototype, TO_STRING, function toString() { + defineBuiltIn(DatePrototype, TO_STRING, function toString() { var value = getTime(this); // eslint-disable-next-line no-self-compare -- NaN check return value === value ? un$DateToString(this) : INVALID_DATE; @@ -814,13 +815,60 @@ module.exports = function repeat(count) { // `SameValue` abstract operation // https://tc39.es/ecma262/#sec-samevalue -// eslint-disable-next-line es/no-object-is -- safe +// eslint-disable-next-line es-x/no-object-is -- safe module.exports = Object.is || function is(x, y) { // eslint-disable-next-line no-self-compare -- NaN check return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; }; +/***/ }), + +/***/ "13d2": +/***/ (function(module, exports, __webpack_require__) { + +var fails = __webpack_require__("d039"); +var isCallable = __webpack_require__("1626"); +var hasOwn = __webpack_require__("1a2d"); +var defineProperty = __webpack_require__("9bf2").f; +var CONFIGURABLE_FUNCTION_NAME = __webpack_require__("5e77").CONFIGURABLE; +var inspectSource = __webpack_require__("8925"); +var InternalStateModule = __webpack_require__("69f3"); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; + +var CONFIGURABLE_LENGTH = !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (String(name).slice(0, 7) === 'Symbol(') { + name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + defineProperty(value, 'name', { value: name, configurable: true }); + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + /***/ }), /***/ "13d5": @@ -877,7 +925,7 @@ var min = Math.min; // `Array.prototype.copyWithin` method implementation // https://tc39.es/ecma262/#sec-array.prototype.copywithin -// eslint-disable-next-line es/no-array-prototype-copywithin -- safe +// eslint-disable-next-line es-x/no-array-prototype-copywithin -- safe module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { var O = toObject(this); var len = lengthOfArrayLike(O); @@ -928,6 +976,53 @@ module.exports = function (R, S) { }; +/***/ }), + +/***/ "14e5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var call = __webpack_require__("c65b"); +var aCallable = __webpack_require__("59ed"); +var newPromiseCapabilityModule = __webpack_require__("f069"); +var perform = __webpack_require__("e667"); +var iterate = __webpack_require__("2266"); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__("5eed"); + +// `Promise.all` method +// https://tc39.es/ecma262/#sec-promise.all +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + /***/ }), /***/ "159b": @@ -1263,7 +1358,7 @@ var STRICT_METHOD = arrayMethodIsStrict('forEach'); // https://tc39.es/ecma262/#sec-array.prototype.foreach module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); -// eslint-disable-next-line es/no-array-prototype-foreach -- safe +// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe } : [].forEach; @@ -1312,6 +1407,7 @@ var hasOwnProperty = uncurryThis({}.hasOwnProperty); // `HasOwnProperty` abstract operation // https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es-x/no-object-hasown -- safe module.exports = Object.hasOwn || function hasOwn(it, key) { return hasOwnProperty(toObject(it), key); }; @@ -1362,6 +1458,23 @@ var getBuiltIn = __webpack_require__("d066"); module.exports = getBuiltIn('document', 'documentElement'); +/***/ }), + +/***/ "1c59": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var collection = __webpack_require__("6d61"); +var collectionStrong = __webpack_require__("6566"); + +// `Set` constructor +// https://tc39.es/ecma262/#sec-set-objects +collection('Set', function (init) { + return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + /***/ }), /***/ "1c7e": @@ -1385,7 +1498,7 @@ try { iteratorWithReturn[ITERATOR] = function () { return this; }; - // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + // eslint-disable-next-line es-x/no-array-from, no-throw-literal -- required for testing Array.from(iteratorWithReturn, function () { throw 2; }); } catch (error) { /* empty */ } @@ -1428,12 +1541,28 @@ var defineProperties = __webpack_require__("37e8").f; // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties -// eslint-disable-next-line es/no-object-defineproperties -- safe +// eslint-disable-next-line es-x/no-object-defineproperties -- safe $({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, { defineProperties: defineProperties }); +/***/ }), + +/***/ "1d57": +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__("23e7"); +var global = __webpack_require__("da84"); +var setTimeout = __webpack_require__("20cc").setTimeout; + +// ie9- setTimeout additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout +$({ global: true, bind: true, forced: global.setTimeout !== setTimeout }, { + setTimeout: setTimeout +}); + + /***/ }), /***/ "1d80": @@ -1477,6 +1606,44 @@ module.exports = function (METHOD_NAME) { }; +/***/ }), + +/***/ "20cc": +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__("da84"); +var apply = __webpack_require__("2ba4"); +var isCallable = __webpack_require__("1626"); +var userAgent = __webpack_require__("342f"); +var arraySlice = __webpack_require__("f36a"); +var validateArgumentsLength = __webpack_require__("d6d6"); + +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check +var Function = global.Function; + +var wrap = function (scheduler) { + return MSIE ? function (handler, timeout /* , ...arguments */) { + var boundArgs = validateArgumentsLength(arguments.length, 1) > 2; + var fn = isCallable(handler) ? handler : Function(handler); + var args = boundArgs ? arraySlice(arguments, 2) : undefined; + return scheduler(boundArgs ? function () { + apply(fn, this, args); + } : fn, timeout); + } : scheduler; +}; + +// ie9- setTimeout & setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers +module.exports = { + // `setTimeout` method + // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout + setTimeout: wrap(global.setTimeout), + // `setInterval` method + // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval + setInterval: wrap(global.setInterval) +}; + + /***/ }), /***/ "219c": @@ -1495,7 +1662,6 @@ var IE_OR_EDGE = __webpack_require__("d998"); var V8 = __webpack_require__("2d00"); var WEBKIT = __webpack_require__("512c"); -var Array = global.Array; var aTypedArray = ArrayBufferViewCore.aTypedArray; var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; var Uint16Array = global.Uint16Array; @@ -1676,7 +1842,7 @@ module.exports = function (index, length) { var global = __webpack_require__("da84"); var getOwnPropertyDescriptor = __webpack_require__("06cf").f; var createNonEnumerableProperty = __webpack_require__("9112"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var setGlobal = __webpack_require__("ce4e"); var copyConstructorProperties = __webpack_require__("e893"); var isForced = __webpack_require__("94ca"); @@ -1724,8 +1890,7 @@ module.exports = function (options, source) { if (options.sham || (targetProperty && targetProperty.sham)) { createNonEnumerableProperty(sourceProperty, 'sham', true); } - // extend global - redefine(target, key, sourceProperty, options); + defineBuiltIn(target, key, sourceProperty, options); } }; @@ -1742,7 +1907,7 @@ var hiddenKeys = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames -// eslint-disable-next-line es/no-object-getownpropertynames -- safe +// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return internalObjectKeys(O, hiddenKeys); }; @@ -4773,19 +4938,16 @@ exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initi "use strict"; -var uncurryThis = __webpack_require__("e330"); var PROPER_FUNCTION_NAME = __webpack_require__("5e77").PROPER; -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var anObject = __webpack_require__("825a"); -var isPrototypeOf = __webpack_require__("3a9b"); var $toString = __webpack_require__("577e"); var fails = __webpack_require__("d039"); -var regExpFlags = __webpack_require__("ad6d"); +var getRegExpFlags = __webpack_require__("90d8"); var TO_STRING = 'toString'; var RegExpPrototype = RegExp.prototype; var n$ToString = RegExpPrototype[TO_STRING]; -var getFlags = uncurryThis(regExpFlags); var NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); // FF44- RegExp#toString has a wrong name @@ -4794,12 +4956,11 @@ var INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING; // `RegExp.prototype.toString` method // https://tc39.es/ecma262/#sec-regexp.prototype.tostring if (NOT_GENERIC || INCORRECT_NAME) { - redefine(RegExp.prototype, TO_STRING, function toString() { + defineBuiltIn(RegExp.prototype, TO_STRING, function toString() { var R = anObject(this); - var p = $toString(R.source); - var rf = R.flags; - var f = $toString(rf === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf); - return '/' + p + '/' + f; + var pattern = $toString(R.source); + var flags = $toString(getRegExpFlags(R)); + return '/' + pattern + '/' + flags; }, { unsafe: true }); } @@ -4903,7 +5064,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray; var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; var FORCED = fails(function () { - // eslint-disable-next-line es/no-typed-arrays -- required for testing + // eslint-disable-next-line es-x/no-typed-arrays -- required for testing new Int8Array(1).slice(); }); @@ -4955,1144 +5116,117 @@ module.exports = function (iterator, kind, value) { /***/ "2b3d": /***/ (function(module, exports, __webpack_require__) { -"use strict"; +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__("4002"); -// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` -__webpack_require__("3ca3"); -var $ = __webpack_require__("23e7"); -var DESCRIPTORS = __webpack_require__("83ab"); -var USE_NATIVE_URL = __webpack_require__("0d3b"); -var global = __webpack_require__("da84"); -var bind = __webpack_require__("0366"); -var uncurryThis = __webpack_require__("e330"); -var defineProperties = __webpack_require__("37e8").f; -var redefine = __webpack_require__("6eeb"); -var anInstance = __webpack_require__("19aa"); -var hasOwn = __webpack_require__("1a2d"); -var assign = __webpack_require__("60da"); -var arrayFrom = __webpack_require__("4df4"); -var arraySlice = __webpack_require__("4dae"); -var codeAt = __webpack_require__("6547").codeAt; -var toASCII = __webpack_require__("5fb2"); -var $toString = __webpack_require__("577e"); -var setToStringTag = __webpack_require__("d44e"); -var validateArgumentsLength = __webpack_require__("d6d6"); -var URLSearchParamsModule = __webpack_require__("9861"); -var InternalStateModule = __webpack_require__("69f3"); -var setInternalState = InternalStateModule.set; -var getInternalURLState = InternalStateModule.getterFor('URL'); -var URLSearchParams = URLSearchParamsModule.URLSearchParams; -var getInternalSearchParamsState = URLSearchParamsModule.getState; +/***/ }), -var NativeURL = global.URL; -var TypeError = global.TypeError; -var parseInt = global.parseInt; -var floor = Math.floor; -var pow = Math.pow; -var charAt = uncurryThis(''.charAt); -var exec = uncurryThis(/./.exec); -var join = uncurryThis([].join); -var numberToString = uncurryThis(1.0.toString); -var pop = uncurryThis([].pop); -var push = uncurryThis([].push); -var replace = uncurryThis(''.replace); -var shift = uncurryThis([].shift); -var split = uncurryThis(''.split); -var stringSlice = uncurryThis(''.slice); -var toLowerCase = uncurryThis(''.toLowerCase); -var unshift = uncurryThis([].unshift); +/***/ "2ba4": +/***/ (function(module, exports, __webpack_require__) { -var INVALID_AUTHORITY = 'Invalid authority'; -var INVALID_SCHEME = 'Invalid scheme'; -var INVALID_HOST = 'Invalid host'; -var INVALID_PORT = 'Invalid port'; +var NATIVE_BIND = __webpack_require__("40d5"); -var ALPHA = /[a-z]/i; -// eslint-disable-next-line regexp/no-obscure-range -- safe -var ALPHANUMERIC = /[\d+-.a-z]/i; -var DIGIT = /\d/; -var HEX_START = /^0x/i; -var OCT = /^[0-7]+$/; -var DEC = /^\d+$/; -var HEX = /^[\da-f]+$/i; -/* eslint-disable regexp/no-control-character -- safe */ -var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; -var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; -var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g; -var TAB_AND_NEW_LINE = /[\t\n\r]/g; -/* eslint-enable regexp/no-control-character -- safe */ -var EOF; +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; -// https://url.spec.whatwg.org/#ipv4-number-parser -var parseIPv4 = function (input) { - var parts = split(input, '.'); - var partsLength, numbers, index, part, radix, number, ipv4; - if (parts.length && parts[parts.length - 1] == '') { - parts.length--; - } - partsLength = parts.length; - if (partsLength > 4) return input; - numbers = []; - for (index = 0; index < partsLength; index++) { - part = parts[index]; - if (part == '') return input; - radix = 10; - if (part.length > 1 && charAt(part, 0) == '0') { - radix = exec(HEX_START, part) ? 16 : 8; - part = stringSlice(part, radix == 8 ? 1 : 2); - } - if (part === '') { - number = 0; - } else { - if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input; - number = parseInt(part, radix); - } - push(numbers, number); - } - for (index = 0; index < partsLength; index++) { - number = numbers[index]; - if (index == partsLength - 1) { - if (number >= pow(256, 5 - partsLength)) return null; - } else if (number > 255) return null; - } - ipv4 = pop(numbers); - for (index = 0; index < numbers.length; index++) { - ipv4 += numbers[index] * pow(256, 3 - index); - } - return ipv4; -}; +// eslint-disable-next-line es-x/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); -// https://url.spec.whatwg.org/#concept-ipv6-parser -// eslint-disable-next-line max-statements -- TODO -var parseIPv6 = function (input) { - var address = [0, 0, 0, 0, 0, 0, 0, 0]; - var pieceIndex = 0; - var compress = null; - var pointer = 0; - var value, length, numbersSeen, ipv4Piece, number, swaps, swap; - var chr = function () { - return charAt(input, pointer); - }; +/***/ }), - if (chr() == ':') { - if (charAt(input, 1) != ':') return; - pointer += 2; - pieceIndex++; - compress = pieceIndex; - } - while (chr()) { - if (pieceIndex == 8) return; - if (chr() == ':') { - if (compress !== null) return; - pointer++; - pieceIndex++; - compress = pieceIndex; - continue; - } - value = length = 0; - while (length < 4 && exec(HEX, chr())) { - value = value * 16 + parseInt(chr(), 16); - pointer++; - length++; - } - if (chr() == '.') { - if (length == 0) return; - pointer -= length; - if (pieceIndex > 6) return; - numbersSeen = 0; - while (chr()) { - ipv4Piece = null; - if (numbersSeen > 0) { - if (chr() == '.' && numbersSeen < 4) pointer++; - else return; - } - if (!exec(DIGIT, chr())) return; - while (exec(DIGIT, chr())) { - number = parseInt(chr(), 10); - if (ipv4Piece === null) ipv4Piece = number; - else if (ipv4Piece == 0) return; - else ipv4Piece = ipv4Piece * 10 + number; - if (ipv4Piece > 255) return; - pointer++; - } - address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; - numbersSeen++; - if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; - } - if (numbersSeen != 4) return; - break; - } else if (chr() == ':') { - pointer++; - if (!chr()) return; - } else if (chr()) return; - address[pieceIndex++] = value; - } - if (compress !== null) { - swaps = pieceIndex - compress; - pieceIndex = 7; - while (pieceIndex != 0 && swaps > 0) { - swap = address[pieceIndex]; - address[pieceIndex--] = address[compress + swaps - 1]; - address[compress + --swaps] = swap; - } - } else if (pieceIndex != 8) return; - return address; -}; +/***/ "2c3e": +/***/ (function(module, exports, __webpack_require__) { -var findLongestZeroSequence = function (ipv6) { - var maxIndex = null; - var maxLength = 1; - var currStart = null; - var currLength = 0; - var index = 0; - for (; index < 8; index++) { - if (ipv6[index] !== 0) { - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - currStart = null; - currLength = 0; - } else { - if (currStart === null) currStart = index; - ++currLength; - } - } - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - return maxIndex; -}; +var global = __webpack_require__("da84"); +var DESCRIPTORS = __webpack_require__("83ab"); +var MISSED_STICKY = __webpack_require__("9f7f").MISSED_STICKY; +var classof = __webpack_require__("c6b6"); +var defineBuiltInAccessor = __webpack_require__("edd0"); +var getInternalState = __webpack_require__("69f3").get; -// https://url.spec.whatwg.org/#host-serializing -var serializeHost = function (host) { - var result, index, compress, ignore0; - // ipv4 - if (typeof host == 'number') { - result = []; - for (index = 0; index < 4; index++) { - unshift(result, host % 256); - host = floor(host / 256); - } return join(result, '.'); - // ipv6 - } else if (typeof host == 'object') { - result = ''; - compress = findLongestZeroSequence(host); - for (index = 0; index < 8; index++) { - if (ignore0 && host[index] === 0) continue; - if (ignore0) ignore0 = false; - if (compress === index) { - result += index ? ':' : '::'; - ignore0 = true; - } else { - result += numberToString(host[index], 16); - if (index < 7) result += ':'; +var RegExpPrototype = RegExp.prototype; +var TypeError = global.TypeError; + +// `RegExp.prototype.sticky` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky +if (DESCRIPTORS && MISSED_STICKY) { + defineBuiltInAccessor(RegExpPrototype, 'sticky', { + configurable: true, + get: function sticky() { + if (this === RegExpPrototype) return undefined; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).sticky; } + throw TypeError('Incompatible receiver, RegExp required'); } - return '[' + result + ']'; - } return host; -}; - -var C0ControlPercentEncodeSet = {}; -var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { - ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 -}); -var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { - '#': 1, '?': 1, '{': 1, '}': 1 -}); -var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { - '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 -}); + }); +} -var percentEncode = function (chr, set) { - var code = codeAt(chr, 0); - return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); -}; -// https://url.spec.whatwg.org/#special-scheme -var specialSchemes = { - ftp: 21, - file: null, - http: 80, - https: 443, - ws: 80, - wss: 443 -}; +/***/ }), -// https://url.spec.whatwg.org/#windows-drive-letter -var isWindowsDriveLetter = function (string, normalized) { - var second; - return string.length == 2 && exec(ALPHA, charAt(string, 0)) - && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|')); -}; +/***/ "2ca0": +/***/ (function(module, exports, __webpack_require__) { -// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter -var startsWithWindowsDriveLetter = function (string) { - var third; - return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( - string.length == 2 || - ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#') - ); -}; +"use strict"; -// https://url.spec.whatwg.org/#single-dot-path-segment -var isSingleDot = function (segment) { - return segment === '.' || toLowerCase(segment) === '%2e'; -}; +var $ = __webpack_require__("23e7"); +var uncurryThis = __webpack_require__("e330"); +var getOwnPropertyDescriptor = __webpack_require__("06cf").f; +var toLength = __webpack_require__("50c4"); +var toString = __webpack_require__("577e"); +var notARegExp = __webpack_require__("5a34"); +var requireObjectCoercible = __webpack_require__("1d80"); +var correctIsRegExpLogic = __webpack_require__("ab13"); +var IS_PURE = __webpack_require__("c430"); -// https://url.spec.whatwg.org/#double-dot-path-segment -var isDoubleDot = function (segment) { - segment = toLowerCase(segment); - return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; -}; +// eslint-disable-next-line es-x/no-string-prototype-startswith -- safe +var un$StartsWith = uncurryThis(''.startsWith); +var stringSlice = uncurryThis(''.slice); +var min = Math.min; -// States: -var SCHEME_START = {}; -var SCHEME = {}; -var NO_SCHEME = {}; -var SPECIAL_RELATIVE_OR_AUTHORITY = {}; -var PATH_OR_AUTHORITY = {}; -var RELATIVE = {}; -var RELATIVE_SLASH = {}; -var SPECIAL_AUTHORITY_SLASHES = {}; -var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; -var AUTHORITY = {}; -var HOST = {}; -var HOSTNAME = {}; -var PORT = {}; -var FILE = {}; -var FILE_SLASH = {}; -var FILE_HOST = {}; -var PATH_START = {}; -var PATH = {}; -var CANNOT_BE_A_BASE_URL_PATH = {}; -var QUERY = {}; -var FRAGMENT = {}; +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); + return descriptor && !descriptor.writable; +}(); -var URLState = function (url, isBase, base) { - var urlString = $toString(url); - var baseState, failure, searchParams; - if (isBase) { - failure = this.parse(urlString); - if (failure) throw TypeError(failure); - this.searchParams = null; - } else { - if (base !== undefined) baseState = new URLState(base, true); - failure = this.parse(urlString, null, baseState); - if (failure) throw TypeError(failure); - searchParams = getInternalSearchParamsState(new URLSearchParams()); - searchParams.bindURL(this); - this.searchParams = searchParams; +// `String.prototype.startsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = toString(searchString); + return un$StartsWith + ? un$StartsWith(that, search, index) + : stringSlice(that, index, index + search.length) === search; } -}; - -URLState.prototype = { - type: 'URL', - // https://url.spec.whatwg.org/#url-parsing - // eslint-disable-next-line max-statements -- TODO - parse: function (input, stateOverride, base) { - var url = this; - var state = stateOverride || SCHEME_START; - var pointer = 0; - var buffer = ''; - var seenAt = false; - var seenBracket = false; - var seenPasswordToken = false; - var codePoints, chr, bufferCodePoints, failure; - - input = $toString(input); - - if (!stateOverride) { - url.scheme = ''; - url.username = ''; - url.password = ''; - url.host = null; - url.port = null; - url.path = []; - url.query = null; - url.fragment = null; - url.cannotBeABaseURL = false; - input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); - } - - input = replace(input, TAB_AND_NEW_LINE, ''); - - codePoints = arrayFrom(input); - - while (pointer <= codePoints.length) { - chr = codePoints[pointer]; - switch (state) { - case SCHEME_START: - if (chr && exec(ALPHA, chr)) { - buffer += toLowerCase(chr); - state = SCHEME; - } else if (!stateOverride) { - state = NO_SCHEME; - continue; - } else return INVALID_SCHEME; - break; - - case SCHEME: - if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) { - buffer += toLowerCase(chr); - } else if (chr == ':') { - if (stateOverride && ( - (url.isSpecial() != hasOwn(specialSchemes, buffer)) || - (buffer == 'file' && (url.includesCredentials() || url.port !== null)) || - (url.scheme == 'file' && !url.host) - )) return; - url.scheme = buffer; - if (stateOverride) { - if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null; - return; - } - buffer = ''; - if (url.scheme == 'file') { - state = FILE; - } else if (url.isSpecial() && base && base.scheme == url.scheme) { - state = SPECIAL_RELATIVE_OR_AUTHORITY; - } else if (url.isSpecial()) { - state = SPECIAL_AUTHORITY_SLASHES; - } else if (codePoints[pointer + 1] == '/') { - state = PATH_OR_AUTHORITY; - pointer++; - } else { - url.cannotBeABaseURL = true; - push(url.path, ''); - state = CANNOT_BE_A_BASE_URL_PATH; - } - } else if (!stateOverride) { - buffer = ''; - state = NO_SCHEME; - pointer = 0; - continue; - } else return INVALID_SCHEME; - break; - - case NO_SCHEME: - if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME; - if (base.cannotBeABaseURL && chr == '#') { - url.scheme = base.scheme; - url.path = arraySlice(base.path); - url.query = base.query; - url.fragment = ''; - url.cannotBeABaseURL = true; - state = FRAGMENT; - break; - } - state = base.scheme == 'file' ? FILE : RELATIVE; - continue; - - case SPECIAL_RELATIVE_OR_AUTHORITY: - if (chr == '/' && codePoints[pointer + 1] == '/') { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - pointer++; - } else { - state = RELATIVE; - continue; - } break; - - case PATH_OR_AUTHORITY: - if (chr == '/') { - state = AUTHORITY; - break; - } else { - state = PATH; - continue; - } - - case RELATIVE: - url.scheme = base.scheme; - if (chr == EOF) { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = arraySlice(base.path); - url.query = base.query; - } else if (chr == '/' || (chr == '\\' && url.isSpecial())) { - state = RELATIVE_SLASH; - } else if (chr == '?') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = arraySlice(base.path); - url.query = ''; - state = QUERY; - } else if (chr == '#') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = arraySlice(base.path); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = arraySlice(base.path); - url.path.length--; - state = PATH; - continue; - } break; - - case RELATIVE_SLASH: - if (url.isSpecial() && (chr == '/' || chr == '\\')) { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - } else if (chr == '/') { - state = AUTHORITY; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - state = PATH; - continue; - } break; - - case SPECIAL_AUTHORITY_SLASHES: - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue; - pointer++; - break; - - case SPECIAL_AUTHORITY_IGNORE_SLASHES: - if (chr != '/' && chr != '\\') { - state = AUTHORITY; - continue; - } break; - - case AUTHORITY: - if (chr == '@') { - if (seenAt) buffer = '%40' + buffer; - seenAt = true; - bufferCodePoints = arrayFrom(buffer); - for (var i = 0; i < bufferCodePoints.length; i++) { - var codePoint = bufferCodePoints[i]; - if (codePoint == ':' && !seenPasswordToken) { - seenPasswordToken = true; - continue; - } - var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); - if (seenPasswordToken) url.password += encodedCodePoints; - else url.username += encodedCodePoints; - } - buffer = ''; - } else if ( - chr == EOF || chr == '/' || chr == '?' || chr == '#' || - (chr == '\\' && url.isSpecial()) - ) { - if (seenAt && buffer == '') return INVALID_AUTHORITY; - pointer -= arrayFrom(buffer).length + 1; - buffer = ''; - state = HOST; - } else buffer += chr; - break; - - case HOST: - case HOSTNAME: - if (stateOverride && url.scheme == 'file') { - state = FILE_HOST; - continue; - } else if (chr == ':' && !seenBracket) { - if (buffer == '') return INVALID_HOST; - failure = url.parseHost(buffer); - if (failure) return failure; - buffer = ''; - state = PORT; - if (stateOverride == HOSTNAME) return; - } else if ( - chr == EOF || chr == '/' || chr == '?' || chr == '#' || - (chr == '\\' && url.isSpecial()) - ) { - if (url.isSpecial() && buffer == '') return INVALID_HOST; - if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return; - failure = url.parseHost(buffer); - if (failure) return failure; - buffer = ''; - state = PATH_START; - if (stateOverride) return; - continue; - } else { - if (chr == '[') seenBracket = true; - else if (chr == ']') seenBracket = false; - buffer += chr; - } break; - - case PORT: - if (exec(DIGIT, chr)) { - buffer += chr; - } else if ( - chr == EOF || chr == '/' || chr == '?' || chr == '#' || - (chr == '\\' && url.isSpecial()) || - stateOverride - ) { - if (buffer != '') { - var port = parseInt(buffer, 10); - if (port > 0xFFFF) return INVALID_PORT; - url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; - buffer = ''; - } - if (stateOverride) return; - state = PATH_START; - continue; - } else return INVALID_PORT; - break; - - case FILE: - url.scheme = 'file'; - if (chr == '/' || chr == '\\') state = FILE_SLASH; - else if (base && base.scheme == 'file') { - if (chr == EOF) { - url.host = base.host; - url.path = arraySlice(base.path); - url.query = base.query; - } else if (chr == '?') { - url.host = base.host; - url.path = arraySlice(base.path); - url.query = ''; - state = QUERY; - } else if (chr == '#') { - url.host = base.host; - url.path = arraySlice(base.path); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { - url.host = base.host; - url.path = arraySlice(base.path); - url.shortenPath(); - } - state = PATH; - continue; - } - } else { - state = PATH; - continue; - } break; - - case FILE_SLASH: - if (chr == '/' || chr == '\\') { - state = FILE_HOST; - break; - } - if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { - if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]); - else url.host = base.host; - } - state = PATH; - continue; - - case FILE_HOST: - if (chr == EOF || chr == '/' || chr == '\\' || chr == '?' || chr == '#') { - if (!stateOverride && isWindowsDriveLetter(buffer)) { - state = PATH; - } else if (buffer == '') { - url.host = ''; - if (stateOverride) return; - state = PATH_START; - } else { - failure = url.parseHost(buffer); - if (failure) return failure; - if (url.host == 'localhost') url.host = ''; - if (stateOverride) return; - buffer = ''; - state = PATH_START; - } continue; - } else buffer += chr; - break; - - case PATH_START: - if (url.isSpecial()) { - state = PATH; - if (chr != '/' && chr != '\\') continue; - } else if (!stateOverride && chr == '?') { - url.query = ''; - state = QUERY; - } else if (!stateOverride && chr == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (chr != EOF) { - state = PATH; - if (chr != '/') continue; - } break; - - case PATH: - if ( - chr == EOF || chr == '/' || - (chr == '\\' && url.isSpecial()) || - (!stateOverride && (chr == '?' || chr == '#')) - ) { - if (isDoubleDot(buffer)) { - url.shortenPath(); - if (chr != '/' && !(chr == '\\' && url.isSpecial())) { - push(url.path, ''); - } - } else if (isSingleDot(buffer)) { - if (chr != '/' && !(chr == '\\' && url.isSpecial())) { - push(url.path, ''); - } - } else { - if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { - if (url.host) url.host = ''; - buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter - } - push(url.path, buffer); - } - buffer = ''; - if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) { - while (url.path.length > 1 && url.path[0] === '') { - shift(url.path); - } - } - if (chr == '?') { - url.query = ''; - state = QUERY; - } else if (chr == '#') { - url.fragment = ''; - state = FRAGMENT; - } - } else { - buffer += percentEncode(chr, pathPercentEncodeSet); - } break; - - case CANNOT_BE_A_BASE_URL_PATH: - if (chr == '?') { - url.query = ''; - state = QUERY; - } else if (chr == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (chr != EOF) { - url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); - } break; - - case QUERY: - if (!stateOverride && chr == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (chr != EOF) { - if (chr == "'" && url.isSpecial()) url.query += '%27'; - else if (chr == '#') url.query += '%23'; - else url.query += percentEncode(chr, C0ControlPercentEncodeSet); - } break; - - case FRAGMENT: - if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); - break; - } - - pointer++; - } - }, - // https://url.spec.whatwg.org/#host-parsing - parseHost: function (input) { - var result, codePoints, index; - if (charAt(input, 0) == '[') { - if (charAt(input, input.length - 1) != ']') return INVALID_HOST; - result = parseIPv6(stringSlice(input, 1, -1)); - if (!result) return INVALID_HOST; - this.host = result; - // opaque host - } else if (!this.isSpecial()) { - if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST; - result = ''; - codePoints = arrayFrom(input); - for (index = 0; index < codePoints.length; index++) { - result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); - } - this.host = result; - } else { - input = toASCII(input); - if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST; - result = parseIPv4(input); - if (result === null) return INVALID_HOST; - this.host = result; - } - }, - // https://url.spec.whatwg.org/#cannot-have-a-username-password-port - cannotHaveUsernamePasswordPort: function () { - return !this.host || this.cannotBeABaseURL || this.scheme == 'file'; - }, - // https://url.spec.whatwg.org/#include-credentials - includesCredentials: function () { - return this.username != '' || this.password != ''; - }, - // https://url.spec.whatwg.org/#is-special - isSpecial: function () { - return hasOwn(specialSchemes, this.scheme); - }, - // https://url.spec.whatwg.org/#shorten-a-urls-path - shortenPath: function () { - var path = this.path; - var pathSize = path.length; - if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { - path.length--; - } - }, - // https://url.spec.whatwg.org/#concept-url-serializer - serialize: function () { - var url = this; - var scheme = url.scheme; - var username = url.username; - var password = url.password; - var host = url.host; - var port = url.port; - var path = url.path; - var query = url.query; - var fragment = url.fragment; - var output = scheme + ':'; - if (host !== null) { - output += '//'; - if (url.includesCredentials()) { - output += username + (password ? ':' + password : '') + '@'; - } - output += serializeHost(host); - if (port !== null) output += ':' + port; - } else if (scheme == 'file') output += '//'; - output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; - if (query !== null) output += '?' + query; - if (fragment !== null) output += '#' + fragment; - return output; - }, - // https://url.spec.whatwg.org/#dom-url-href - setHref: function (href) { - var failure = this.parse(href); - if (failure) throw TypeError(failure); - this.searchParams.update(); - }, - // https://url.spec.whatwg.org/#dom-url-origin - getOrigin: function () { - var scheme = this.scheme; - var port = this.port; - if (scheme == 'blob') try { - return new URLConstructor(scheme.path[0]).origin; - } catch (error) { - return 'null'; - } - if (scheme == 'file' || !this.isSpecial()) return 'null'; - return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); - }, - // https://url.spec.whatwg.org/#dom-url-protocol - getProtocol: function () { - return this.scheme + ':'; - }, - setProtocol: function (protocol) { - this.parse($toString(protocol) + ':', SCHEME_START); - }, - // https://url.spec.whatwg.org/#dom-url-username - getUsername: function () { - return this.username; - }, - setUsername: function (username) { - var codePoints = arrayFrom($toString(username)); - if (this.cannotHaveUsernamePasswordPort()) return; - this.username = ''; - for (var i = 0; i < codePoints.length; i++) { - this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }, - // https://url.spec.whatwg.org/#dom-url-password - getPassword: function () { - return this.password; - }, - setPassword: function (password) { - var codePoints = arrayFrom($toString(password)); - if (this.cannotHaveUsernamePasswordPort()) return; - this.password = ''; - for (var i = 0; i < codePoints.length; i++) { - this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }, - // https://url.spec.whatwg.org/#dom-url-host - getHost: function () { - var host = this.host; - var port = this.port; - return host === null ? '' - : port === null ? serializeHost(host) - : serializeHost(host) + ':' + port; - }, - setHost: function (host) { - if (this.cannotBeABaseURL) return; - this.parse(host, HOST); - }, - // https://url.spec.whatwg.org/#dom-url-hostname - getHostname: function () { - var host = this.host; - return host === null ? '' : serializeHost(host); - }, - setHostname: function (hostname) { - if (this.cannotBeABaseURL) return; - this.parse(hostname, HOSTNAME); - }, - // https://url.spec.whatwg.org/#dom-url-port - getPort: function () { - var port = this.port; - return port === null ? '' : $toString(port); - }, - setPort: function (port) { - if (this.cannotHaveUsernamePasswordPort()) return; - port = $toString(port); - if (port == '') this.port = null; - else this.parse(port, PORT); - }, - // https://url.spec.whatwg.org/#dom-url-pathname - getPathname: function () { - var path = this.path; - return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; - }, - setPathname: function (pathname) { - if (this.cannotBeABaseURL) return; - this.path = []; - this.parse(pathname, PATH_START); - }, - // https://url.spec.whatwg.org/#dom-url-search - getSearch: function () { - var query = this.query; - return query ? '?' + query : ''; - }, - setSearch: function (search) { - search = $toString(search); - if (search == '') { - this.query = null; - } else { - if ('?' == charAt(search, 0)) search = stringSlice(search, 1); - this.query = ''; - this.parse(search, QUERY); - } - this.searchParams.update(); - }, - // https://url.spec.whatwg.org/#dom-url-searchparams - getSearchParams: function () { - return this.searchParams.facade; - }, - // https://url.spec.whatwg.org/#dom-url-hash - getHash: function () { - var fragment = this.fragment; - return fragment ? '#' + fragment : ''; - }, - setHash: function (hash) { - hash = $toString(hash); - if (hash == '') { - this.fragment = null; - return; - } - if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1); - this.fragment = ''; - this.parse(hash, FRAGMENT); - }, - update: function () { - this.query = this.searchParams.serialize() || null; - } -}; - -// `URL` constructor -// https://url.spec.whatwg.org/#url-class -var URLConstructor = function URL(url /* , base */) { - var that = anInstance(this, URLPrototype); - var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; - var state = setInternalState(that, new URLState(url, false, base)); - if (!DESCRIPTORS) { - that.href = state.serialize(); - that.origin = state.getOrigin(); - that.protocol = state.getProtocol(); - that.username = state.getUsername(); - that.password = state.getPassword(); - that.host = state.getHost(); - that.hostname = state.getHostname(); - that.port = state.getPort(); - that.pathname = state.getPathname(); - that.search = state.getSearch(); - that.searchParams = state.getSearchParams(); - that.hash = state.getHash(); - } -}; - -var URLPrototype = URLConstructor.prototype; - -var accessorDescriptor = function (getter, setter) { - return { - get: function () { - return getInternalURLState(this)[getter](); - }, - set: setter && function (value) { - return getInternalURLState(this)[setter](value); - }, - configurable: true, - enumerable: true - }; -}; - -if (DESCRIPTORS) { - defineProperties(URLPrototype, { - // `URL.prototype.href` accessors pair - // https://url.spec.whatwg.org/#dom-url-href - href: accessorDescriptor('serialize', 'setHref'), - // `URL.prototype.origin` getter - // https://url.spec.whatwg.org/#dom-url-origin - origin: accessorDescriptor('getOrigin'), - // `URL.prototype.protocol` accessors pair - // https://url.spec.whatwg.org/#dom-url-protocol - protocol: accessorDescriptor('getProtocol', 'setProtocol'), - // `URL.prototype.username` accessors pair - // https://url.spec.whatwg.org/#dom-url-username - username: accessorDescriptor('getUsername', 'setUsername'), - // `URL.prototype.password` accessors pair - // https://url.spec.whatwg.org/#dom-url-password - password: accessorDescriptor('getPassword', 'setPassword'), - // `URL.prototype.host` accessors pair - // https://url.spec.whatwg.org/#dom-url-host - host: accessorDescriptor('getHost', 'setHost'), - // `URL.prototype.hostname` accessors pair - // https://url.spec.whatwg.org/#dom-url-hostname - hostname: accessorDescriptor('getHostname', 'setHostname'), - // `URL.prototype.port` accessors pair - // https://url.spec.whatwg.org/#dom-url-port - port: accessorDescriptor('getPort', 'setPort'), - // `URL.prototype.pathname` accessors pair - // https://url.spec.whatwg.org/#dom-url-pathname - pathname: accessorDescriptor('getPathname', 'setPathname'), - // `URL.prototype.search` accessors pair - // https://url.spec.whatwg.org/#dom-url-search - search: accessorDescriptor('getSearch', 'setSearch'), - // `URL.prototype.searchParams` getter - // https://url.spec.whatwg.org/#dom-url-searchparams - searchParams: accessorDescriptor('getSearchParams'), - // `URL.prototype.hash` accessors pair - // https://url.spec.whatwg.org/#dom-url-hash - hash: accessorDescriptor('getHash', 'setHash') - }); -} - -// `URL.prototype.toJSON` method -// https://url.spec.whatwg.org/#dom-url-tojson -redefine(URLPrototype, 'toJSON', function toJSON() { - return getInternalURLState(this).serialize(); -}, { enumerable: true }); - -// `URL.prototype.toString` method -// https://url.spec.whatwg.org/#URL-stringification-behavior -redefine(URLPrototype, 'toString', function toString() { - return getInternalURLState(this).serialize(); -}, { enumerable: true }); - -if (NativeURL) { - var nativeCreateObjectURL = NativeURL.createObjectURL; - var nativeRevokeObjectURL = NativeURL.revokeObjectURL; - // `URL.createObjectURL` method - // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL - if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL)); - // `URL.revokeObjectURL` method - // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL - if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL)); -} - -setToStringTag(URLConstructor, 'URL'); - -$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { - URL: URLConstructor -}); - - -/***/ }), - -/***/ "2ba4": -/***/ (function(module, exports, __webpack_require__) { - -var NATIVE_BIND = __webpack_require__("40d5"); - -var FunctionPrototype = Function.prototype; -var apply = FunctionPrototype.apply; -var call = FunctionPrototype.call; - -// eslint-disable-next-line es/no-reflect -- safe -module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { - return call.apply(apply, arguments); -}); - - -/***/ }), - -/***/ "2c3e": -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__("da84"); -var DESCRIPTORS = __webpack_require__("83ab"); -var MISSED_STICKY = __webpack_require__("9f7f").MISSED_STICKY; -var classof = __webpack_require__("c6b6"); -var defineProperty = __webpack_require__("9bf2").f; -var getInternalState = __webpack_require__("69f3").get; - -var RegExpPrototype = RegExp.prototype; -var TypeError = global.TypeError; - -// `RegExp.prototype.sticky` getter -// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky -if (DESCRIPTORS && MISSED_STICKY) { - defineProperty(RegExpPrototype, 'sticky', { - configurable: true, - get: function () { - if (this === RegExpPrototype) return undefined; - // We can't use InternalStateModule.getterFor because - // we don't add metadata for regexps created by a literal. - if (classof(this) === 'RegExp') { - return !!getInternalState(this).sticky; - } - throw TypeError('Incompatible receiver, RegExp required'); - } - }); -} +}); /***/ }), -/***/ "2ca0": +/***/ "2ca8": /***/ (function(module, exports, __webpack_require__) { -"use strict"; - var $ = __webpack_require__("23e7"); -var uncurryThis = __webpack_require__("e330"); -var getOwnPropertyDescriptor = __webpack_require__("06cf").f; -var toLength = __webpack_require__("50c4"); -var toString = __webpack_require__("577e"); -var notARegExp = __webpack_require__("5a34"); -var requireObjectCoercible = __webpack_require__("1d80"); -var correctIsRegExpLogic = __webpack_require__("ab13"); -var IS_PURE = __webpack_require__("c430"); - -// eslint-disable-next-line es/no-string-prototype-startswith -- safe -var un$StartsWith = uncurryThis(''.startsWith); -var stringSlice = uncurryThis(''.slice); -var min = Math.min; - -var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); -// https://github.com/zloirock/core-js/pull/702 -var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { - var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); - return descriptor && !descriptor.writable; -}(); +var global = __webpack_require__("da84"); +var setInterval = __webpack_require__("20cc").setInterval; -// `String.prototype.startsWith` method -// https://tc39.es/ecma262/#sec-string.prototype.startswith -$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { - startsWith: function startsWith(searchString /* , position = 0 */) { - var that = toString(requireObjectCoercible(this)); - notARegExp(searchString); - var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); - var search = toString(searchString); - return un$StartsWith - ? un$StartsWith(that, search, index) - : stringSlice(that, index, index + search.length) === search; - } +// ie9- setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval +$({ global: true, bind: true, forced: global.setInterval !== setInterval }, { + setInterval: setInterval }); @@ -7070,6 +6204,40 @@ var getBuiltIn = __webpack_require__("d066"); module.exports = getBuiltIn('navigator', 'userAgent') || ''; +/***/ }), + +/***/ "3529": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var call = __webpack_require__("c65b"); +var aCallable = __webpack_require__("59ed"); +var newPromiseCapabilityModule = __webpack_require__("f069"); +var perform = __webpack_require__("e667"); +var iterate = __webpack_require__("2266"); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__("5eed"); + +// `Promise.race` method +// https://tc39.es/ecma262/#sec-promise.race +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + race: function race(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + /***/ }), /***/ "35a1": @@ -7103,7 +6271,7 @@ var objectKeys = __webpack_require__("df75"); // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties -// eslint-disable-next-line es/no-object-defineproperties -- safe +// eslint-disable-next-line es-x/no-object-defineproperties -- safe exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var props = toIndexedObject(Properties); @@ -7595,186 +6763,1247 @@ function Presets() { ret = -1; VBR_q = 0; } - if (9 < VBR_q) { - ret = -1; - VBR_q = 9; + if (9 < VBR_q) { + ret = -1; + VBR_q = 9; + } + + gfp.VBR_q = VBR_q; + gfp.VBR_q_frac = 0; + return ret; + } + +} + +module.exports = Presets; + + +/***/ }), + +/***/ "3a7b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var $findIndex = __webpack_require__("b727").findIndex; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex +exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), + +/***/ "3a9b": +/***/ (function(module, exports, __webpack_require__) { + +var uncurryThis = __webpack_require__("e330"); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), + +/***/ "3bbe": +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__("da84"); +var isCallable = __webpack_require__("1626"); + +var String = global.String; +var TypeError = global.TypeError; + +module.exports = function (argument) { + if (typeof argument == 'object' || isCallable(argument)) return argument; + throw TypeError("Can't set " + String(argument) + ' as a prototype'); +}; + + +/***/ }), + +/***/ "3c5d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__("da84"); +var call = __webpack_require__("c65b"); +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var lengthOfArrayLike = __webpack_require__("07fa"); +var toOffset = __webpack_require__("182d"); +var toIndexedObject = __webpack_require__("7b0b"); +var fails = __webpack_require__("d039"); + +var RangeError = global.RangeError; +var Int8Array = global.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es-x/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), + +/***/ "3ca3": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var charAt = __webpack_require__("6547").charAt; +var toString = __webpack_require__("577e"); +var InternalStateModule = __webpack_require__("69f3"); +var defineIterator = __webpack_require__("7dd0"); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return { value: undefined, done: true }; + point = charAt(string, index); + state.index += point.length; + return { value: point, done: false }; +}); + + +/***/ }), + +/***/ "3d87": +/***/ (function(module, exports, __webpack_require__) { + +var NATIVE_SYMBOL = __webpack_require__("4930"); + +/* eslint-disable es-x/no-symbol -- safe */ +module.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor; + + +/***/ }), + +/***/ "3f8c": +/***/ (function(module, exports) { + +module.exports = {}; + + +/***/ }), + +/***/ "3fcc": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var $map = __webpack_require__("b727").map; +var typedArraySpeciesConstructor = __webpack_require__("b6b7"); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.map` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map +exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + return new (typedArraySpeciesConstructor(O))(length); + }); +}); + + +/***/ }), + +/***/ "4002": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__("3ca3"); +var $ = __webpack_require__("23e7"); +var DESCRIPTORS = __webpack_require__("83ab"); +var USE_NATIVE_URL = __webpack_require__("0d3b"); +var global = __webpack_require__("da84"); +var bind = __webpack_require__("0366"); +var uncurryThis = __webpack_require__("e330"); +var defineBuiltIn = __webpack_require__("cb2d"); +var defineBuiltInAccessor = __webpack_require__("edd0"); +var anInstance = __webpack_require__("19aa"); +var hasOwn = __webpack_require__("1a2d"); +var assign = __webpack_require__("60da"); +var arrayFrom = __webpack_require__("4df4"); +var arraySlice = __webpack_require__("4dae"); +var codeAt = __webpack_require__("6547").codeAt; +var toASCII = __webpack_require__("5fb2"); +var $toString = __webpack_require__("577e"); +var setToStringTag = __webpack_require__("d44e"); +var validateArgumentsLength = __webpack_require__("d6d6"); +var URLSearchParamsModule = __webpack_require__("5352"); +var InternalStateModule = __webpack_require__("69f3"); + +var setInternalState = InternalStateModule.set; +var getInternalURLState = InternalStateModule.getterFor('URL'); +var URLSearchParams = URLSearchParamsModule.URLSearchParams; +var getInternalSearchParamsState = URLSearchParamsModule.getState; + +var NativeURL = global.URL; +var TypeError = global.TypeError; +var parseInt = global.parseInt; +var floor = Math.floor; +var pow = Math.pow; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var join = uncurryThis([].join); +var numberToString = uncurryThis(1.0.toString); +var pop = uncurryThis([].pop); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var toLowerCase = uncurryThis(''.toLowerCase); +var unshift = uncurryThis([].unshift); + +var INVALID_AUTHORITY = 'Invalid authority'; +var INVALID_SCHEME = 'Invalid scheme'; +var INVALID_HOST = 'Invalid host'; +var INVALID_PORT = 'Invalid port'; + +var ALPHA = /[a-z]/i; +// eslint-disable-next-line regexp/no-obscure-range -- safe +var ALPHANUMERIC = /[\d+-.a-z]/i; +var DIGIT = /\d/; +var HEX_START = /^0x/i; +var OCT = /^[0-7]+$/; +var DEC = /^\d+$/; +var HEX = /^[\da-f]+$/i; +/* eslint-disable regexp/no-control-character -- safe */ +var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; +var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; +var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g; +var TAB_AND_NEW_LINE = /[\t\n\r]/g; +/* eslint-enable regexp/no-control-character -- safe */ +var EOF; + +// https://url.spec.whatwg.org/#ipv4-number-parser +var parseIPv4 = function (input) { + var parts = split(input, '.'); + var partsLength, numbers, index, part, radix, number, ipv4; + if (parts.length && parts[parts.length - 1] == '') { + parts.length--; + } + partsLength = parts.length; + if (partsLength > 4) return input; + numbers = []; + for (index = 0; index < partsLength; index++) { + part = parts[index]; + if (part == '') return input; + radix = 10; + if (part.length > 1 && charAt(part, 0) == '0') { + radix = exec(HEX_START, part) ? 16 : 8; + part = stringSlice(part, radix == 8 ? 1 : 2); + } + if (part === '') { + number = 0; + } else { + if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input; + number = parseInt(part, radix); + } + push(numbers, number); + } + for (index = 0; index < partsLength; index++) { + number = numbers[index]; + if (index == partsLength - 1) { + if (number >= pow(256, 5 - partsLength)) return null; + } else if (number > 255) return null; + } + ipv4 = pop(numbers); + for (index = 0; index < numbers.length; index++) { + ipv4 += numbers[index] * pow(256, 3 - index); + } + return ipv4; +}; + +// https://url.spec.whatwg.org/#concept-ipv6-parser +// eslint-disable-next-line max-statements -- TODO +var parseIPv6 = function (input) { + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var pointer = 0; + var value, length, numbersSeen, ipv4Piece, number, swaps, swap; + + var chr = function () { + return charAt(input, pointer); + }; + + if (chr() == ':') { + if (charAt(input, 1) != ':') return; + pointer += 2; + pieceIndex++; + compress = pieceIndex; + } + while (chr()) { + if (pieceIndex == 8) return; + if (chr() == ':') { + if (compress !== null) return; + pointer++; + pieceIndex++; + compress = pieceIndex; + continue; + } + value = length = 0; + while (length < 4 && exec(HEX, chr())) { + value = value * 16 + parseInt(chr(), 16); + pointer++; + length++; + } + if (chr() == '.') { + if (length == 0) return; + pointer -= length; + if (pieceIndex > 6) return; + numbersSeen = 0; + while (chr()) { + ipv4Piece = null; + if (numbersSeen > 0) { + if (chr() == '.' && numbersSeen < 4) pointer++; + else return; + } + if (!exec(DIGIT, chr())) return; + while (exec(DIGIT, chr())) { + number = parseInt(chr(), 10); + if (ipv4Piece === null) ipv4Piece = number; + else if (ipv4Piece == 0) return; + else ipv4Piece = ipv4Piece * 10 + number; + if (ipv4Piece > 255) return; + pointer++; } - - gfp.VBR_q = VBR_q; - gfp.VBR_q_frac = 0; - return ret; + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + numbersSeen++; + if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; + } + if (numbersSeen != 4) return; + break; + } else if (chr() == ':') { + pointer++; + if (!chr()) return; + } else if (chr()) return; + address[pieceIndex++] = value; + } + if (compress !== null) { + swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex != 0 && swaps > 0) { + swap = address[pieceIndex]; + address[pieceIndex--] = address[compress + swaps - 1]; + address[compress + --swaps] = swap; } + } else if (pieceIndex != 8) return; + return address; +}; -} - -module.exports = Presets; +var findLongestZeroSequence = function (ipv6) { + var maxIndex = null; + var maxLength = 1; + var currStart = null; + var currLength = 0; + var index = 0; + for (; index < 8; index++) { + if (ipv6[index] !== 0) { + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + currStart = null; + currLength = 0; + } else { + if (currStart === null) currStart = index; + ++currLength; + } + } + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + return maxIndex; +}; +// https://url.spec.whatwg.org/#host-serializing +var serializeHost = function (host) { + var result, index, compress, ignore0; + // ipv4 + if (typeof host == 'number') { + result = []; + for (index = 0; index < 4; index++) { + unshift(result, host % 256); + host = floor(host / 256); + } return join(result, '.'); + // ipv6 + } else if (typeof host == 'object') { + result = ''; + compress = findLongestZeroSequence(host); + for (index = 0; index < 8; index++) { + if (ignore0 && host[index] === 0) continue; + if (ignore0) ignore0 = false; + if (compress === index) { + result += index ? ':' : '::'; + ignore0 = true; + } else { + result += numberToString(host[index], 16); + if (index < 7) result += ':'; + } + } + return '[' + result + ']'; + } return host; +}; -/***/ }), +var C0ControlPercentEncodeSet = {}; +var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { + ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 +}); +var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { + '#': 1, '?': 1, '{': 1, '}': 1 +}); +var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { + '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 +}); -/***/ "3a7b": -/***/ (function(module, exports, __webpack_require__) { +var percentEncode = function (chr, set) { + var code = codeAt(chr, 0); + return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); +}; -"use strict"; +// https://url.spec.whatwg.org/#special-scheme +var specialSchemes = { + ftp: 21, + file: null, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; -var ArrayBufferViewCore = __webpack_require__("ebb5"); -var $findIndex = __webpack_require__("b727").findIndex; +// https://url.spec.whatwg.org/#windows-drive-letter +var isWindowsDriveLetter = function (string, normalized) { + var second; + return string.length == 2 && exec(ALPHA, charAt(string, 0)) + && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|')); +}; -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter +var startsWithWindowsDriveLetter = function (string) { + var third; + return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( + string.length == 2 || + ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#') + ); +}; -// `%TypedArray%.prototype.findIndex` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex -exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { - return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); -}); +// https://url.spec.whatwg.org/#single-dot-path-segment +var isSingleDot = function (segment) { + return segment === '.' || toLowerCase(segment) === '%2e'; +}; +// https://url.spec.whatwg.org/#double-dot-path-segment +var isDoubleDot = function (segment) { + segment = toLowerCase(segment); + return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; +}; -/***/ }), +// States: +var SCHEME_START = {}; +var SCHEME = {}; +var NO_SCHEME = {}; +var SPECIAL_RELATIVE_OR_AUTHORITY = {}; +var PATH_OR_AUTHORITY = {}; +var RELATIVE = {}; +var RELATIVE_SLASH = {}; +var SPECIAL_AUTHORITY_SLASHES = {}; +var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; +var AUTHORITY = {}; +var HOST = {}; +var HOSTNAME = {}; +var PORT = {}; +var FILE = {}; +var FILE_SLASH = {}; +var FILE_HOST = {}; +var PATH_START = {}; +var PATH = {}; +var CANNOT_BE_A_BASE_URL_PATH = {}; +var QUERY = {}; +var FRAGMENT = {}; -/***/ "3a9b": -/***/ (function(module, exports, __webpack_require__) { +var URLState = function (url, isBase, base) { + var urlString = $toString(url); + var baseState, failure, searchParams; + if (isBase) { + failure = this.parse(urlString); + if (failure) throw TypeError(failure); + this.searchParams = null; + } else { + if (base !== undefined) baseState = new URLState(base, true); + failure = this.parse(urlString, null, baseState); + if (failure) throw TypeError(failure); + searchParams = getInternalSearchParamsState(new URLSearchParams()); + searchParams.bindURL(this); + this.searchParams = searchParams; + } +}; -var uncurryThis = __webpack_require__("e330"); +URLState.prototype = { + type: 'URL', + // https://url.spec.whatwg.org/#url-parsing + // eslint-disable-next-line max-statements -- TODO + parse: function (input, stateOverride, base) { + var url = this; + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, chr, bufferCodePoints, failure; -module.exports = uncurryThis({}.isPrototypeOf); + input = $toString(input); + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); + } -/***/ }), + input = replace(input, TAB_AND_NEW_LINE, ''); -/***/ "3bbe": -/***/ (function(module, exports, __webpack_require__) { + codePoints = arrayFrom(input); -var global = __webpack_require__("da84"); -var isCallable = __webpack_require__("1626"); + while (pointer <= codePoints.length) { + chr = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (chr && exec(ALPHA, chr)) { + buffer += toLowerCase(chr); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; + continue; + } else return INVALID_SCHEME; + break; -var String = global.String; -var TypeError = global.TypeError; + case SCHEME: + if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) { + buffer += toLowerCase(chr); + } else if (chr == ':') { + if (stateOverride && ( + (url.isSpecial() != hasOwn(specialSchemes, buffer)) || + (buffer == 'file' && (url.includesCredentials() || url.port !== null)) || + (url.scheme == 'file' && !url.host) + )) return; + url.scheme = buffer; + if (stateOverride) { + if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null; + return; + } + buffer = ''; + if (url.scheme == 'file') { + state = FILE; + } else if (url.isSpecial() && base && base.scheme == url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (url.isSpecial()) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] == '/') { + state = PATH_OR_AUTHORITY; + pointer++; + } else { + url.cannotBeABaseURL = true; + push(url.path, ''); + state = CANNOT_BE_A_BASE_URL_PATH; + } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else return INVALID_SCHEME; + break; -module.exports = function (argument) { - if (typeof argument == 'object' || isCallable(argument)) return argument; - throw TypeError("Can't set " + String(argument) + ' as a prototype'); -}; + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME; + if (base.cannotBeABaseURL && chr == '#') { + url.scheme = base.scheme; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme == 'file' ? FILE : RELATIVE; + continue; + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (chr == '/' && codePoints[pointer + 1] == '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; -/***/ }), + case PATH_OR_AUTHORITY: + if (chr == '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } -/***/ "3c5d": -/***/ (function(module, exports, __webpack_require__) { + case RELATIVE: + url.scheme = base.scheme; + if (chr == EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + } else if (chr == '/' || (chr == '\\' && url.isSpecial())) { + state = RELATIVE_SLASH; + } else if (chr == '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + } else if (chr == '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.path.length--; + state = PATH; + continue; + } break; -"use strict"; + case RELATIVE_SLASH: + if (url.isSpecial() && (chr == '/' || chr == '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (chr == '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; -var global = __webpack_require__("da84"); -var call = __webpack_require__("c65b"); -var ArrayBufferViewCore = __webpack_require__("ebb5"); -var lengthOfArrayLike = __webpack_require__("07fa"); -var toOffset = __webpack_require__("182d"); -var toIndexedObject = __webpack_require__("7b0b"); -var fails = __webpack_require__("d039"); + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue; + pointer++; + break; -var RangeError = global.RangeError; -var Int8Array = global.Int8Array; -var Int8ArrayPrototype = Int8Array && Int8Array.prototype; -var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (chr != '/' && chr != '\\') { + state = AUTHORITY; + continue; + } break; -var WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () { - // eslint-disable-next-line es/no-typed-arrays -- required for testing - var array = new Uint8ClampedArray(2); - call($set, array, { length: 1, 0: 3 }, 1); - return array[1] !== 3; -}); + case AUTHORITY: + if (chr == '@') { + if (seenAt) buffer = '%40' + buffer; + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint == ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) url.password += encodedCodePoints; + else url.username += encodedCodePoints; + } + buffer = ''; + } else if ( + chr == EOF || chr == '/' || chr == '?' || chr == '#' || + (chr == '\\' && url.isSpecial()) + ) { + if (seenAt && buffer == '') return INVALID_AUTHORITY; + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else buffer += chr; + break; -// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other -var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { - var array = new Int8Array(2); - array.set(1); - array.set('2', 1); - return array[0] !== 0 || array[1] !== 2; -}); + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme == 'file') { + state = FILE_HOST; + continue; + } else if (chr == ':' && !seenBracket) { + if (buffer == '') return INVALID_HOST; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PORT; + if (stateOverride == HOSTNAME) return; + } else if ( + chr == EOF || chr == '/' || chr == '?' || chr == '#' || + (chr == '\\' && url.isSpecial()) + ) { + if (url.isSpecial() && buffer == '') return INVALID_HOST; + if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PATH_START; + if (stateOverride) return; + continue; + } else { + if (chr == '[') seenBracket = true; + else if (chr == ']') seenBracket = false; + buffer += chr; + } break; -// `%TypedArray%.prototype.set` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set -exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { - aTypedArray(this); - var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); - var src = toIndexedObject(arrayLike); - if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); - var length = this.length; - var len = lengthOfArrayLike(src); - var index = 0; - if (len + offset > length) throw RangeError('Wrong length'); - while (index < len) this[offset + index] = src[index++]; -}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + case PORT: + if (exec(DIGIT, chr)) { + buffer += chr; + } else if ( + chr == EOF || chr == '/' || chr == '?' || chr == '#' || + (chr == '\\' && url.isSpecial()) || + stateOverride + ) { + if (buffer != '') { + var port = parseInt(buffer, 10); + if (port > 0xFFFF) return INVALID_PORT; + url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) return; + state = PATH_START; + continue; + } else return INVALID_PORT; + break; + case FILE: + url.scheme = 'file'; + if (chr == '/' || chr == '\\') state = FILE_SLASH; + else if (base && base.scheme == 'file') { + if (chr == EOF) { + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + } else if (chr == '?') { + url.host = base.host; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + } else if (chr == '#') { + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + url.host = base.host; + url.path = arraySlice(base.path); + url.shortenPath(); + } + state = PATH; + continue; + } + } else { + state = PATH; + continue; + } break; -/***/ }), + case FILE_SLASH: + if (chr == '/' || chr == '\\') { + state = FILE_HOST; + break; + } + if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]); + else url.host = base.host; + } + state = PATH; + continue; -/***/ "3ca3": -/***/ (function(module, exports, __webpack_require__) { + case FILE_HOST: + if (chr == EOF || chr == '/' || chr == '\\' || chr == '?' || chr == '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { + state = PATH; + } else if (buffer == '') { + url.host = ''; + if (stateOverride) return; + state = PATH_START; + } else { + failure = url.parseHost(buffer); + if (failure) return failure; + if (url.host == 'localhost') url.host = ''; + if (stateOverride) return; + buffer = ''; + state = PATH_START; + } continue; + } else buffer += chr; + break; -"use strict"; + case PATH_START: + if (url.isSpecial()) { + state = PATH; + if (chr != '/' && chr != '\\') continue; + } else if (!stateOverride && chr == '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && chr == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr != EOF) { + state = PATH; + if (chr != '/') continue; + } break; -var charAt = __webpack_require__("6547").charAt; -var toString = __webpack_require__("577e"); -var InternalStateModule = __webpack_require__("69f3"); -var defineIterator = __webpack_require__("7dd0"); + case PATH: + if ( + chr == EOF || chr == '/' || + (chr == '\\' && url.isSpecial()) || + (!stateOverride && (chr == '?' || chr == '#')) + ) { + if (isDoubleDot(buffer)) { + url.shortenPath(); + if (chr != '/' && !(chr == '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else if (isSingleDot(buffer)) { + if (chr != '/' && !(chr == '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else { + if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) url.host = ''; + buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter + } + push(url.path, buffer); + } + buffer = ''; + if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) { + while (url.path.length > 1 && url.path[0] === '') { + shift(url.path); + } + } + if (chr == '?') { + url.query = ''; + state = QUERY; + } else if (chr == '#') { + url.fragment = ''; + state = FRAGMENT; + } + } else { + buffer += percentEncode(chr, pathPercentEncodeSet); + } break; -var STRING_ITERATOR = 'String Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + case CANNOT_BE_A_BASE_URL_PATH: + if (chr == '?') { + url.query = ''; + state = QUERY; + } else if (chr == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr != EOF) { + url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); + } break; -// `String.prototype[@@iterator]` method -// https://tc39.es/ecma262/#sec-string.prototype-@@iterator -defineIterator(String, 'String', function (iterated) { - setInternalState(this, { - type: STRING_ITERATOR, - string: toString(iterated), - index: 0 - }); -// `%StringIteratorPrototype%.next` method -// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next -}, function next() { - var state = getInternalState(this); - var string = state.string; - var index = state.index; - var point; - if (index >= string.length) return { value: undefined, done: true }; - point = charAt(string, index); - state.index += point.length; - return { value: point, done: false }; -}); + case QUERY: + if (!stateOverride && chr == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr != EOF) { + if (chr == "'" && url.isSpecial()) url.query += '%27'; + else if (chr == '#') url.query += '%23'; + else url.query += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + case FRAGMENT: + if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); + break; + } -/***/ }), + pointer++; + } + }, + // https://url.spec.whatwg.org/#host-parsing + parseHost: function (input) { + var result, codePoints, index; + if (charAt(input, 0) == '[') { + if (charAt(input, input.length - 1) != ']') return INVALID_HOST; + result = parseIPv6(stringSlice(input, 1, -1)); + if (!result) return INVALID_HOST; + this.host = result; + // opaque host + } else if (!this.isSpecial()) { + if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST; + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + this.host = result; + } else { + input = toASCII(input); + if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST; + result = parseIPv4(input); + if (result === null) return INVALID_HOST; + this.host = result; + } + }, + // https://url.spec.whatwg.org/#cannot-have-a-username-password-port + cannotHaveUsernamePasswordPort: function () { + return !this.host || this.cannotBeABaseURL || this.scheme == 'file'; + }, + // https://url.spec.whatwg.org/#include-credentials + includesCredentials: function () { + return this.username != '' || this.password != ''; + }, + // https://url.spec.whatwg.org/#is-special + isSpecial: function () { + return hasOwn(specialSchemes, this.scheme); + }, + // https://url.spec.whatwg.org/#shorten-a-urls-path + shortenPath: function () { + var path = this.path; + var pathSize = path.length; + if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { + path.length--; + } + }, + // https://url.spec.whatwg.org/#concept-url-serializer + serialize: function () { + var url = this; + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (url.includesCredentials()) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) output += ':' + port; + } else if (scheme == 'file') output += '//'; + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + if (query !== null) output += '?' + query; + if (fragment !== null) output += '#' + fragment; + return output; + }, + // https://url.spec.whatwg.org/#dom-url-href + setHref: function (href) { + var failure = this.parse(href); + if (failure) throw TypeError(failure); + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-origin + getOrigin: function () { + var scheme = this.scheme; + var port = this.port; + if (scheme == 'blob') try { + return new URLConstructor(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } + if (scheme == 'file' || !this.isSpecial()) return 'null'; + return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); + }, + // https://url.spec.whatwg.org/#dom-url-protocol + getProtocol: function () { + return this.scheme + ':'; + }, + setProtocol: function (protocol) { + this.parse($toString(protocol) + ':', SCHEME_START); + }, + // https://url.spec.whatwg.org/#dom-url-username + getUsername: function () { + return this.username; + }, + setUsername: function (username) { + var codePoints = arrayFrom($toString(username)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.username = ''; + for (var i = 0; i < codePoints.length; i++) { + this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-password + getPassword: function () { + return this.password; + }, + setPassword: function (password) { + var codePoints = arrayFrom($toString(password)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.password = ''; + for (var i = 0; i < codePoints.length; i++) { + this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-host + getHost: function () { + var host = this.host; + var port = this.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; + }, + setHost: function (host) { + if (this.cannotBeABaseURL) return; + this.parse(host, HOST); + }, + // https://url.spec.whatwg.org/#dom-url-hostname + getHostname: function () { + var host = this.host; + return host === null ? '' : serializeHost(host); + }, + setHostname: function (hostname) { + if (this.cannotBeABaseURL) return; + this.parse(hostname, HOSTNAME); + }, + // https://url.spec.whatwg.org/#dom-url-port + getPort: function () { + var port = this.port; + return port === null ? '' : $toString(port); + }, + setPort: function (port) { + if (this.cannotHaveUsernamePasswordPort()) return; + port = $toString(port); + if (port == '') this.port = null; + else this.parse(port, PORT); + }, + // https://url.spec.whatwg.org/#dom-url-pathname + getPathname: function () { + var path = this.path; + return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + }, + setPathname: function (pathname) { + if (this.cannotBeABaseURL) return; + this.path = []; + this.parse(pathname, PATH_START); + }, + // https://url.spec.whatwg.org/#dom-url-search + getSearch: function () { + var query = this.query; + return query ? '?' + query : ''; + }, + setSearch: function (search) { + search = $toString(search); + if (search == '') { + this.query = null; + } else { + if ('?' == charAt(search, 0)) search = stringSlice(search, 1); + this.query = ''; + this.parse(search, QUERY); + } + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-searchparams + getSearchParams: function () { + return this.searchParams.facade; + }, + // https://url.spec.whatwg.org/#dom-url-hash + getHash: function () { + var fragment = this.fragment; + return fragment ? '#' + fragment : ''; + }, + setHash: function (hash) { + hash = $toString(hash); + if (hash == '') { + this.fragment = null; + return; + } + if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1); + this.fragment = ''; + this.parse(hash, FRAGMENT); + }, + update: function () { + this.query = this.searchParams.serialize() || null; + } +}; -/***/ "3f8c": -/***/ (function(module, exports) { +// `URL` constructor +// https://url.spec.whatwg.org/#url-class +var URLConstructor = function URL(url /* , base */) { + var that = anInstance(this, URLPrototype); + var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; + var state = setInternalState(that, new URLState(url, false, base)); + if (!DESCRIPTORS) { + that.href = state.serialize(); + that.origin = state.getOrigin(); + that.protocol = state.getProtocol(); + that.username = state.getUsername(); + that.password = state.getPassword(); + that.host = state.getHost(); + that.hostname = state.getHostname(); + that.port = state.getPort(); + that.pathname = state.getPathname(); + that.search = state.getSearch(); + that.searchParams = state.getSearchParams(); + that.hash = state.getHash(); + } +}; -module.exports = {}; +var URLPrototype = URLConstructor.prototype; +var accessorDescriptor = function (getter, setter) { + return { + get: function () { + return getInternalURLState(this)[getter](); + }, + set: setter && function (value) { + return getInternalURLState(this)[setter](value); + }, + configurable: true, + enumerable: true + }; +}; -/***/ }), +if (DESCRIPTORS) { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref')); + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin')); + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol')); + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername')); + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword')); + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost')); + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname')); + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort')); + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname')); + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch')); + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams')); + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash')); +} -/***/ "3fcc": -/***/ (function(module, exports, __webpack_require__) { +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +defineBuiltIn(URLPrototype, 'toJSON', function toJSON() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); -"use strict"; +// `URL.prototype.toString` method +// https://url.spec.whatwg.org/#URL-stringification-behavior +defineBuiltIn(URLPrototype, 'toString', function toString() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); -var ArrayBufferViewCore = __webpack_require__("ebb5"); -var $map = __webpack_require__("b727").map; -var typedArraySpeciesConstructor = __webpack_require__("b6b7"); +if (NativeURL) { + var nativeCreateObjectURL = NativeURL.createObjectURL; + var nativeRevokeObjectURL = NativeURL.revokeObjectURL; + // `URL.createObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL)); + // `URL.revokeObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL + if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL)); +} -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +setToStringTag(URLConstructor, 'URL'); -// `%TypedArray%.prototype.map` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map -exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { - return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { - return new (typedArraySpeciesConstructor(O))(length); - }); +$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { + URL: URLConstructor }); @@ -7798,6 +8027,7 @@ module.exports = uncurryThis(1.0.valueOf); var fails = __webpack_require__("d039"); module.exports = !fails(function () { + // eslint-disable-next-line es-x/no-function-prototype-bind -- safe var test = (function () { /* empty */ }).bind(); // eslint-disable-next-line no-prototype-builtins -- safe return typeof test != 'function' || test.hasOwnProperty('prototype'); @@ -8110,7 +8340,7 @@ var forEach = __webpack_require__("17c2"); // `Array.prototype.forEach` method // https://tc39.es/ecma262/#sec-array.prototype.foreach -// eslint-disable-next-line es/no-array-prototype-foreach -- safe +// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe $({ target: 'Array', proto: true, forced: [].forEach != forEach }, { forEach: forEach }); @@ -8308,41 +8538,65 @@ exports.createTokenClass = createTokenClass; /***/ }), -/***/ "4795": +/***/ "4738": /***/ (function(module, exports, __webpack_require__) { -var $ = __webpack_require__("23e7"); var global = __webpack_require__("da84"); -var apply = __webpack_require__("2ba4"); +var NativePromiseConstructor = __webpack_require__("d256"); var isCallable = __webpack_require__("1626"); -var userAgent = __webpack_require__("342f"); -var arraySlice = __webpack_require__("f36a"); -var validateArgumentsLength = __webpack_require__("d6d6"); +var isForced = __webpack_require__("94ca"); +var inspectSource = __webpack_require__("8925"); +var wellKnownSymbol = __webpack_require__("b622"); +var IS_BROWSER = __webpack_require__("6069"); +var IS_PURE = __webpack_require__("c430"); +var V8_VERSION = __webpack_require__("2d00"); -var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check -var Function = global.Function; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var SPECIES = wellKnownSymbol('species'); +var SUBCLASSING = false; +var NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent); -var wrap = function (scheduler) { - return function (handler, timeout /* , ...arguments */) { - var boundArgs = validateArgumentsLength(arguments.length, 1) > 2; - var fn = isCallable(handler) ? handler : Function(handler); - var args = boundArgs ? arraySlice(arguments, 2) : undefined; - return scheduler(boundArgs ? function () { - apply(fn, this, args); - } : fn, timeout); +var FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; + // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution + if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false; + // Detect correctness of subclassing with @@species support + var promise = new NativePromiseConstructor(function (resolve) { resolve(1); }); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; + if (!SUBCLASSING) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_PROMISE_REJECTION_EVENT; +}); + +module.exports = { + CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR, + REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT, + SUBCLASSING: SUBCLASSING }; -// ie9- setTimeout & setInterval additional parameters fix -// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers -$({ global: true, bind: true, forced: MSIE }, { - // `setTimeout` method - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout - setTimeout: wrap(global.setTimeout), - // `setInterval` method - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval - setInterval: wrap(global.setInterval) -}); + +/***/ }), + +/***/ "4795": +/***/ (function(module, exports, __webpack_require__) { + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__("2ca8"); +__webpack_require__("1d57"); /***/ }), @@ -8393,11 +8647,11 @@ module.exports = function (input, pref) { /***/ "4930": /***/ (function(module, exports, __webpack_require__) { -/* eslint-disable es/no-symbol -- required for testing */ +/* eslint-disable es-x/no-symbol -- required for testing */ var V8_VERSION = __webpack_require__("2d00"); var fails = __webpack_require__("d039"); -// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing module.exports = !!Object.getOwnPropertySymbols && !fails(function () { var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion @@ -9366,14 +9620,14 @@ var uncurryThis = __webpack_require__("e330"); var isForced = __webpack_require__("94ca"); var inheritIfRequired = __webpack_require__("7156"); var createNonEnumerableProperty = __webpack_require__("9112"); -var defineProperty = __webpack_require__("9bf2").f; var getOwnPropertyNames = __webpack_require__("241c").f; var isPrototypeOf = __webpack_require__("3a9b"); var isRegExp = __webpack_require__("44e7"); var toString = __webpack_require__("577e"); -var regExpFlags = __webpack_require__("ad6d"); +var getRegExpFlags = __webpack_require__("90d8"); var stickyHelpers = __webpack_require__("9f7f"); -var redefine = __webpack_require__("6eeb"); +var proxyAccessor = __webpack_require__("aeb0"); +var defineBuiltIn = __webpack_require__("cb2d"); var fails = __webpack_require__("d039"); var hasOwn = __webpack_require__("1a2d"); var enforceInternalState = __webpack_require__("69f3").enforce; @@ -9386,7 +9640,6 @@ var MATCH = wellKnownSymbol('match'); var NativeRegExp = global.RegExp; var RegExpPrototype = NativeRegExp.prototype; var SyntaxError = global.SyntaxError; -var getFlags = uncurryThis(regExpFlags); var exec = uncurryThis(RegExpPrototype.exec); var charAt = uncurryThis(''.charAt); var replace = uncurryThis(''.replace); @@ -9495,7 +9748,7 @@ if (isForced('RegExp', BASE_FORCED)) { if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) { pattern = pattern.source; - if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags(rawPattern); + if (flagsAreUndefined) flags = getRegExpFlags(rawPattern); } pattern = pattern === undefined ? '' : toString(pattern); @@ -9540,21 +9793,13 @@ if (isForced('RegExp', BASE_FORCED)) { return result; }; - var proxy = function (key) { - key in RegExpWrapper || defineProperty(RegExpWrapper, key, { - configurable: true, - get: function () { return NativeRegExp[key]; }, - set: function (it) { NativeRegExp[key] = it; } - }); - }; - for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) { - proxy(keys[index++]); + proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]); } RegExpPrototype.constructor = RegExpWrapper; RegExpWrapper.prototype = RegExpPrototype; - redefine(global, 'RegExp', RegExpWrapper); + defineBuiltIn(global, 'RegExp', RegExpWrapper); } // https://tc39.es/ecma262/#sec-get-regexp-@@species @@ -9842,7 +10087,7 @@ var isObject = __webpack_require__("861d"); var classof = __webpack_require__("c6b6"); var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__("d86b"); -// eslint-disable-next-line es/no-object-isextensible -- safe +// eslint-disable-next-line es-x/no-object-isextensible -- safe var $isExtensible = Object.isExtensible; var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); }); @@ -10045,6 +10290,406 @@ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNa }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); +/***/ }), + +/***/ "5352": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__("e260"); +var $ = __webpack_require__("23e7"); +var global = __webpack_require__("da84"); +var call = __webpack_require__("c65b"); +var uncurryThis = __webpack_require__("e330"); +var DESCRIPTORS = __webpack_require__("83ab"); +var USE_NATIVE_URL = __webpack_require__("0d3b"); +var defineBuiltIn = __webpack_require__("cb2d"); +var defineBuiltIns = __webpack_require__("6964"); +var setToStringTag = __webpack_require__("d44e"); +var createIteratorConstructor = __webpack_require__("9ed3"); +var InternalStateModule = __webpack_require__("69f3"); +var anInstance = __webpack_require__("19aa"); +var isCallable = __webpack_require__("1626"); +var hasOwn = __webpack_require__("1a2d"); +var bind = __webpack_require__("0366"); +var classof = __webpack_require__("f5df"); +var anObject = __webpack_require__("825a"); +var isObject = __webpack_require__("861d"); +var $toString = __webpack_require__("577e"); +var create = __webpack_require__("7c73"); +var createPropertyDescriptor = __webpack_require__("5c6c"); +var getIterator = __webpack_require__("9a1f"); +var getIteratorMethod = __webpack_require__("35a1"); +var validateArgumentsLength = __webpack_require__("d6d6"); +var wellKnownSymbol = __webpack_require__("b622"); +var arraySort = __webpack_require__("addb"); + +var ITERATOR = wellKnownSymbol('iterator'); +var URL_SEARCH_PARAMS = 'URLSearchParams'; +var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); +var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); +// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Avoid NodeJS experimental warning +var safeGetBuiltIn = function (name) { + if (!DESCRIPTORS) return global[name]; + var descriptor = getOwnPropertyDescriptor(global, name); + return descriptor && descriptor.value; +}; + +var nativeFetch = safeGetBuiltIn('fetch'); +var NativeRequest = safeGetBuiltIn('Request'); +var Headers = safeGetBuiltIn('Headers'); +var RequestPrototype = NativeRequest && NativeRequest.prototype; +var HeadersPrototype = Headers && Headers.prototype; +var RegExp = global.RegExp; +var TypeError = global.TypeError; +var decodeURIComponent = global.decodeURIComponent; +var encodeURIComponent = global.encodeURIComponent; +var charAt = uncurryThis(''.charAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var splice = uncurryThis([].splice); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); + +var plus = /\+/g; +var sequences = Array(4); + +var percentSequence = function (bytes) { + return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); +}; + +var percentDecode = function (sequence) { + try { + return decodeURIComponent(sequence); + } catch (error) { + return sequence; + } +}; + +var deserialize = function (it) { + var result = replace(it, plus, ' '); + var bytes = 4; + try { + return decodeURIComponent(result); + } catch (error) { + while (bytes) { + result = replace(result, percentSequence(bytes--), percentDecode); + } + return result; + } +}; + +var find = /[!'()~]|%20/g; + +var replacements = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+' +}; + +var replacer = function (match) { + return replacements[match]; +}; + +var serialize = function (it) { + return replace(encodeURIComponent(it), find, replacer); +}; + +var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + setInternalState(this, { + type: URL_SEARCH_PARAMS_ITERATOR, + iterator: getIterator(getInternalParamsState(params).entries), + kind: kind + }); +}, 'Iterator', function next() { + var state = getInternalIteratorState(this); + var kind = state.kind; + var step = state.iterator.next(); + var entry = step.value; + if (!step.done) { + step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; + } return step; +}, true); + +var URLSearchParamsState = function (init) { + this.entries = []; + this.url = null; + + if (init !== undefined) { + if (isObject(init)) this.parseObject(init); + else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)); + } +}; + +URLSearchParamsState.prototype = { + type: URL_SEARCH_PARAMS, + bindURL: function (url) { + this.url = url; + this.update(); + }, + parseObject: function (object) { + var iteratorMethod = getIteratorMethod(object); + var iterator, next, step, entryIterator, entryNext, first, second; + + if (iteratorMethod) { + iterator = getIterator(object, iteratorMethod); + next = iterator.next; + while (!(step = call(next, iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = call(entryNext, entryIterator)).done || + (second = call(entryNext, entryIterator)).done || + !call(entryNext, entryIterator).done + ) throw TypeError('Expected sequence with length 2'); + push(this.entries, { key: $toString(first.value), value: $toString(second.value) }); + } + } else for (var key in object) if (hasOwn(object, key)) { + push(this.entries, { key: key, value: $toString(object[key]) }); + } + }, + parseQuery: function (query) { + if (query) { + var attributes = split(query, '&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = split(attribute, '='); + push(this.entries, { + key: deserialize(shift(entry)), + value: deserialize(join(entry, '=')) + }); + } + } + } + }, + serialize: function () { + var entries = this.entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + push(result, serialize(entry.key) + '=' + serialize(entry.value)); + } return join(result, '&'); + }, + update: function () { + this.entries.length = 0; + this.parseQuery(this.url.query); + }, + updateURL: function () { + if (this.url) this.url.update(); + } +}; + +// `URLSearchParams` constructor +// https://url.spec.whatwg.org/#interface-urlsearchparams +var URLSearchParamsConstructor = function URLSearchParams(/* init */) { + anInstance(this, URLSearchParamsPrototype); + var init = arguments.length > 0 ? arguments[0] : undefined; + setInternalState(this, new URLSearchParamsState(init)); +}; + +var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + +defineBuiltIns(URLSearchParamsPrototype, { + // `URLSearchParams.prototype.append` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-append + append: function append(name, value) { + validateArgumentsLength(arguments.length, 2); + var state = getInternalParamsState(this); + push(state.entries, { key: $toString(name), value: $toString(value) }); + state.updateURL(); + }, + // `URLSearchParams.prototype.delete` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-delete + 'delete': function (name) { + validateArgumentsLength(arguments.length, 1); + var state = getInternalParamsState(this); + var entries = state.entries; + var key = $toString(name); + var index = 0; + while (index < entries.length) { + if (entries[index].key === key) splice(entries, index, 1); + else index++; + } + state.updateURL(); + }, + // `URLSearchParams.prototype.get` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-get + get: function get(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = $toString(name); + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) return entries[index].value; + } + return null; + }, + // `URLSearchParams.prototype.getAll` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-getall + getAll: function getAll(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = $toString(name); + var result = []; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) push(result, entries[index].value); + } + return result; + }, + // `URLSearchParams.prototype.has` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-has + has: function has(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = $toString(name); + var index = 0; + while (index < entries.length) { + if (entries[index++].key === key) return true; + } + return false; + }, + // `URLSearchParams.prototype.set` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-set + set: function set(name, value) { + validateArgumentsLength(arguments.length, 1); + var state = getInternalParamsState(this); + var entries = state.entries; + var found = false; + var key = $toString(name); + var val = $toString(value); + var index = 0; + var entry; + for (; index < entries.length; index++) { + entry = entries[index]; + if (entry.key === key) { + if (found) splice(entries, index--, 1); + else { + found = true; + entry.value = val; + } + } + } + if (!found) push(entries, { key: key, value: val }); + state.updateURL(); + }, + // `URLSearchParams.prototype.sort` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-sort + sort: function sort() { + var state = getInternalParamsState(this); + arraySort(state.entries, function (a, b) { + return a.key > b.key ? 1 : -1; + }); + state.updateURL(); + }, + // `URLSearchParams.prototype.forEach` method + forEach: function forEach(callback /* , thisArg */) { + var entries = getInternalParamsState(this).entries; + var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined); + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + boundFunction(entry.value, entry.key, this); + } + }, + // `URLSearchParams.prototype.keys` method + keys: function keys() { + return new URLSearchParamsIterator(this, 'keys'); + }, + // `URLSearchParams.prototype.values` method + values: function values() { + return new URLSearchParamsIterator(this, 'values'); + }, + // `URLSearchParams.prototype.entries` method + entries: function entries() { + return new URLSearchParamsIterator(this, 'entries'); + } +}, { enumerable: true }); + +// `URLSearchParams.prototype[@@iterator]` method +defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); + +// `URLSearchParams.prototype.toString` method +// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior +defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() { + return getInternalParamsState(this).serialize(); +}, { enumerable: true }); + +setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); + +$({ global: true, forced: !USE_NATIVE_URL }, { + URLSearchParams: URLSearchParamsConstructor +}); + +// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` +if (!USE_NATIVE_URL && isCallable(Headers)) { + var headersHas = uncurryThis(HeadersPrototype.has); + var headersSet = uncurryThis(HeadersPrototype.set); + + var wrapRequestOptions = function (init) { + if (isObject(init)) { + var body = init.body; + var headers; + if (classof(body) === URL_SEARCH_PARAMS) { + headers = init.headers ? new Headers(init.headers) : new Headers(); + if (!headersHas(headers, 'content-type')) { + headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + return create(init, { + body: createPropertyDescriptor(0, $toString(body)), + headers: createPropertyDescriptor(0, headers) + }); + } + } return init; + }; + + if (isCallable(nativeFetch)) { + $({ global: true, enumerable: true, noTargetGet: true, forced: true }, { + fetch: function fetch(input /* , init */) { + return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + } + }); + } + + if (isCallable(NativeRequest)) { + var RequestConstructor = function Request(input /* , init */) { + anInstance(this, RequestPrototype); + return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + }; + + RequestPrototype.constructor = RequestConstructor; + RequestConstructor.prototype = RequestPrototype; + + $({ global: true, forced: true, noTargetGet: true }, { + Request: RequestConstructor + }); + } +} + +module.exports = { + URLSearchParams: URLSearchParamsConstructor, + getState: getInternalParamsState +}; + + /***/ }), /***/ "5692": @@ -10056,10 +10701,10 @@ var store = __webpack_require__("c6cd"); (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.21.1', + version: '3.22.4', mode: IS_PURE ? 'pure' : 'global', copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.22.4/LICENSE', source: 'https://github.com/zloirock/core-js' }); @@ -10101,6 +10746,33 @@ module.exports = function (argument) { }; +/***/ }), + +/***/ "57b9": +/***/ (function(module, exports, __webpack_require__) { + +var call = __webpack_require__("c65b"); +var getBuiltIn = __webpack_require__("d066"); +var wellKnownSymbol = __webpack_require__("b622"); +var defineBuiltIn = __webpack_require__("cb2d"); + +module.exports = function () { + var Symbol = getBuiltIn('Symbol'); + var SymbolPrototype = Symbol && Symbol.prototype; + var valueOf = SymbolPrototype && SymbolPrototype.valueOf; + var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + + if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) { + // `Symbol.prototype[@@toPrimitive]` method + // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive + // eslint-disable-next-line no-unused-vars -- required for .length + defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) { + return call(valueOf, this); + }, { arity: 1 }); + } +}; + + /***/ }), /***/ "5899": @@ -10505,6 +11177,31 @@ module.exports = function (it) { }; +/***/ }), + +/***/ "5a47": +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__("23e7"); +var NATIVE_SYMBOL = __webpack_require__("4930"); +var fails = __webpack_require__("d039"); +var getOwnPropertySymbolsModule = __webpack_require__("7418"); +var toObject = __webpack_require__("7b0b"); + +// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +var FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); }); + +// `Object.getOwnPropertySymbols` method +// https://tc39.es/ecma262/#sec-object.getownpropertysymbols +$({ target: 'Object', stat: true, forced: FORCED }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : []; + } +}); + + /***/ }), /***/ "5b81": @@ -10521,15 +11218,13 @@ var isCallable = __webpack_require__("1626"); var isRegExp = __webpack_require__("44e7"); var toString = __webpack_require__("577e"); var getMethod = __webpack_require__("dc4a"); -var regExpFlags = __webpack_require__("ad6d"); +var getRegExpFlags = __webpack_require__("90d8"); var getSubstitution = __webpack_require__("0cb2"); var wellKnownSymbol = __webpack_require__("b622"); var IS_PURE = __webpack_require__("c430"); var REPLACE = wellKnownSymbol('replace'); -var RegExpPrototype = RegExp.prototype; var TypeError = global.TypeError; -var getFlags = uncurryThis(regExpFlags); var indexOf = uncurryThis(''.indexOf); var replace = uncurryThis(''.replace); var stringSlice = uncurryThis(''.slice); @@ -10553,10 +11248,7 @@ $({ target: 'String', proto: true }, { if (searchValue != null) { IS_REG_EXP = isRegExp(searchValue); if (IS_REG_EXP) { - flags = toString(requireObjectCoercible('flags' in RegExpPrototype - ? searchValue.flags - : getFlags(searchValue) - )); + flags = toString(requireObjectCoercible(getRegExpFlags(searchValue))); if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes'); } replacer = getMethod(searchValue, REPLACE); @@ -10613,7 +11305,7 @@ var DESCRIPTORS = __webpack_require__("83ab"); var hasOwn = __webpack_require__("1a2d"); var FunctionPrototype = Function.prototype; -// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; var EXISTS = hasOwn(FunctionPrototype, 'name'); @@ -10628,6 +11320,316 @@ module.exports = { }; +/***/ }), + +/***/ "5e7e": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var IS_PURE = __webpack_require__("c430"); +var IS_NODE = __webpack_require__("605d"); +var global = __webpack_require__("da84"); +var call = __webpack_require__("c65b"); +var defineBuiltIn = __webpack_require__("cb2d"); +var setPrototypeOf = __webpack_require__("d2bb"); +var setToStringTag = __webpack_require__("d44e"); +var setSpecies = __webpack_require__("2626"); +var aCallable = __webpack_require__("59ed"); +var isCallable = __webpack_require__("1626"); +var isObject = __webpack_require__("861d"); +var anInstance = __webpack_require__("19aa"); +var speciesConstructor = __webpack_require__("4840"); +var task = __webpack_require__("2cf4").set; +var microtask = __webpack_require__("b575"); +var hostReportErrors = __webpack_require__("44de"); +var perform = __webpack_require__("e667"); +var Queue = __webpack_require__("01b4"); +var InternalStateModule = __webpack_require__("69f3"); +var NativePromiseConstructor = __webpack_require__("d256"); +var PromiseConstructorDetection = __webpack_require__("4738"); +var newPromiseCapabilityModule = __webpack_require__("f069"); + +var PROMISE = 'Promise'; +var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR; +var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT; +var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var PromiseConstructor = NativePromiseConstructor; +var PromisePrototype = NativePromisePrototype; +var TypeError = global.TypeError; +var document = global.document; +var process = global.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; + +var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; + +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; + +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state == FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } +}; + +var notify = function (state, isReject) { + if (state.notified) return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) onUnhandled(state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + global.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; + +var internalReject = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; + +var internalResolve = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (state.facade === value) throw TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, + bind(internalResolve, wrapper, state), + bind(internalReject, wrapper, state) + ); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED_PROMISE_CONSTRUCTOR) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalPromiseState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + + PromisePrototype = PromiseConstructor.prototype; + + // eslint-disable-next-line no-unused-vars -- required for `.length` + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: undefined + }); + }; + + // `Promise.prototype.then` method + // https://tc39.es/ecma262/#sec-promise.prototype.then + Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state == PENDING) state.reactions.add(reaction); + else microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + }); + + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalPromiseState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + + if (!NATIVE_PROMISE_SUBCLASSING) { + // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs + defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + } + + // make `.constructor === Promise` work for native promise-based APIs + try { + delete NativePromisePrototype.constructor; + } catch (error) { /* empty */ } + + // make `instanceof Promise` work for native promise-based APIs + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} + +$({ global: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + + +/***/ }), + +/***/ "5eed": +/***/ (function(module, exports, __webpack_require__) { + +var NativePromiseConstructor = __webpack_require__("d256"); +var checkCorrectnessOfIteration = __webpack_require__("1c7e"); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__("4738").CONSTRUCTOR; + +module.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) { + NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ }); +}); + + /***/ }), /***/ "5f84": @@ -11376,16 +12378,8 @@ module.exports = classof(global.process) == 'process'; /***/ "6062": /***/ (function(module, exports, __webpack_require__) { -"use strict"; - -var collection = __webpack_require__("6d61"); -var collectionStrong = __webpack_require__("6566"); - -// `Set` constructor -// https://tc39.es/ecma262/#sec-set-objects -collection('Set', function (init) { - return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; -}, collectionStrong); +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__("1c59"); /***/ }), @@ -11393,7 +12387,7 @@ collection('Set', function (init) { /***/ "6069": /***/ (function(module, exports) { -module.exports = typeof window == 'object'; +module.exports = typeof window == 'object' && typeof Deno != 'object'; /***/ }), @@ -11467,9 +12461,9 @@ var propertyIsEnumerableModule = __webpack_require__("d1e7"); var toObject = __webpack_require__("7b0b"); var IndexedObject = __webpack_require__("44ad"); -// eslint-disable-next-line es/no-object-assign -- safe +// eslint-disable-next-line es-x/no-object-assign -- safe var $assign = Object.assign; -// eslint-disable-next-line es/no-object-defineproperty -- required for testing +// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing var defineProperty = Object.defineProperty; var concat = uncurryThis([].concat); @@ -11489,7 +12483,7 @@ module.exports = !$assign || fails(function () { // should work with symbols and should have deterministic property order (V8 bug) var A = {}; var B = {}; - // eslint-disable-next-line es/no-symbol -- safe + // eslint-disable-next-line es-x/no-symbol -- safe var symbol = Symbol(); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; @@ -11528,7 +12522,7 @@ var DESCRIPTORS = __webpack_require__("83ab"); var NATIVE_ARRAY_BUFFER = __webpack_require__("a981"); var FunctionName = __webpack_require__("5e77"); var createNonEnumerableProperty = __webpack_require__("9112"); -var redefineAll = __webpack_require__("e2cc"); +var defineBuiltIns = __webpack_require__("6964"); var fails = __webpack_require__("d039"); var anInstance = __webpack_require__("19aa"); var toIntegerOrInfinity = __webpack_require__("5926"); @@ -11657,7 +12651,7 @@ if (!NATIVE_ARRAY_BUFFER) { addGetter($DataView, 'byteOffset'); } - redefineAll(DataViewPrototype, { + defineBuiltIns(DataViewPrototype, { getInt8: function getInt8(byteOffset) { return get(this, 1, byteOffset)[0] << 24 >> 24; }, @@ -11751,7 +12745,7 @@ if (!NATIVE_ARRAY_BUFFER) { var $setInt8 = uncurryThis(DataViewPrototype.setInt8); testView.setInt8(0, 2147483648); testView.setInt8(1, 2147483649); - if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, { + if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, { setInt8: function setInt8(byteOffset, value) { $setInt8(this, byteOffset, value << 24 >> 24); }, @@ -11891,7 +12885,7 @@ module.exports = { var defineProperty = __webpack_require__("9bf2").f; var create = __webpack_require__("7c73"); -var redefineAll = __webpack_require__("e2cc"); +var defineBuiltIns = __webpack_require__("6964"); var bind = __webpack_require__("0366"); var anInstance = __webpack_require__("19aa"); var iterate = __webpack_require__("2266"); @@ -11961,7 +12955,7 @@ module.exports = { } }; - redefineAll(Prototype, { + defineBuiltIns(Prototype, { // `{ Map, Set }.prototype.clear()` methods // https://tc39.es/ecma262/#sec-map.prototype.clear // https://tc39.es/ecma262/#sec-set.prototype.clear @@ -12021,7 +13015,7 @@ module.exports = { } }); - redefineAll(Prototype, IS_MAP ? { + defineBuiltIns(Prototype, IS_MAP ? { // `Map.prototype.get(key)` method // https://tc39.es/ecma262/#sec-map.prototype.get get: function get(key) { @@ -12191,6 +13185,19 @@ module.exports = !construct || fails(function () { }) ? isConstructorLegacy : isConstructorModern; +/***/ }), + +/***/ "6964": +/***/ (function(module, exports, __webpack_require__) { + +var defineBuiltIn = __webpack_require__("cb2d"); + +module.exports = function (target, src, options) { + for (var key in src) defineBuiltIn(target, key, src[key], options); + return target; +}; + + /***/ }), /***/ "69b2": @@ -13311,7 +14318,7 @@ var $ = __webpack_require__("23e7"); var global = __webpack_require__("da84"); var uncurryThis = __webpack_require__("e330"); var isForced = __webpack_require__("94ca"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var InternalMetadataModule = __webpack_require__("f183"); var iterate = __webpack_require__("2266"); var anInstance = __webpack_require__("19aa"); @@ -13333,7 +14340,7 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { var fixMethod = function (KEY) { var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); - redefine(NativePrototype, KEY, + defineBuiltIn(NativePrototype, KEY, KEY == 'add' ? function add(value) { uncurriedNativeMethod(this, value === 0 ? 0 : value); return this; @@ -13418,6 +14425,7 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { /***/ "6eba": /***/ (function(module, exports, __webpack_require__) { +// TODO: Remove from `core-js@4` var $ = __webpack_require__("23e7"); var global = __webpack_require__("da84"); var uncurryThis = __webpack_require__("e330"); @@ -13434,59 +14442,6 @@ $({ target: 'Date', stat: true }, { }); -/***/ }), - -/***/ "6eeb": -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__("da84"); -var isCallable = __webpack_require__("1626"); -var hasOwn = __webpack_require__("1a2d"); -var createNonEnumerableProperty = __webpack_require__("9112"); -var setGlobal = __webpack_require__("ce4e"); -var inspectSource = __webpack_require__("8925"); -var InternalStateModule = __webpack_require__("69f3"); -var CONFIGURABLE_FUNCTION_NAME = __webpack_require__("5e77").CONFIGURABLE; - -var getInternalState = InternalStateModule.get; -var enforceInternalState = InternalStateModule.enforce; -var TEMPLATE = String(String).split('String'); - -(module.exports = function (O, key, value, options) { - var unsafe = options ? !!options.unsafe : false; - var simple = options ? !!options.enumerable : false; - var noTargetGet = options ? !!options.noTargetGet : false; - var name = options && options.name !== undefined ? options.name : key; - var state; - if (isCallable(value)) { - if (String(name).slice(0, 7) === 'Symbol(') { - name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; - } - if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { - createNonEnumerableProperty(value, 'name', name); - } - state = enforceInternalState(value); - if (!state.source) { - state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); - } - } - if (O === global) { - if (simple) O[key] = value; - else setGlobal(key, value); - return; - } else if (!unsafe) { - delete O[key]; - } else if (!noTargetGet && O[key]) { - simple = true; - } - if (simple) O[key] = value; - else createNonEnumerableProperty(O, key, value); -// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative -})(Function.prototype, 'toString', function toString() { - return isCallable(this) && getInternalState(this).source || inspectSource(this); -}); - - /***/ }), /***/ "6f53": @@ -13530,6 +14485,32 @@ module.exports = { }; +/***/ }), + +/***/ "7149": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var getBuiltIn = __webpack_require__("d066"); +var IS_PURE = __webpack_require__("c430"); +var NativePromiseConstructor = __webpack_require__("d256"); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__("4738").CONSTRUCTOR; +var promiseResolve = __webpack_require__("cdf9"); + +var PromiseConstructorWrapper = getBuiltIn('Promise'); +var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR; + +// `Promise.resolve` method +// https://tc39.es/ecma262/#sec-promise.resolve +$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, { + resolve: function resolve(x) { + return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x); + } +}); + + /***/ }), /***/ "7156": @@ -13718,7 +14699,7 @@ exportTypedArrayMethod('fill', function fill(value /* , start, end */) { /***/ "7418": /***/ (function(module, exports) { -// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe exports.f = Object.getOwnPropertySymbols; @@ -14362,7 +15343,7 @@ var defineProperty = __webpack_require__("9bf2").f; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty -// eslint-disable-next-line es/no-object-defineproperty -- safe +// eslint-disable-next-line es-x/no-object-defineproperty -- safe $({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, { defineProperty: defineProperty }); @@ -14461,6 +15442,7 @@ hiddenKeys[IE_PROTO] = true; // `Object.create` method // https://tc39.es/ecma262/#sec-object.create +// eslint-disable-next-line es-x/no-object-create -- safe module.exports = Object.create || function create(O, Properties) { var result; if (O !== null) { @@ -14520,7 +15502,7 @@ var getPrototypeOf = __webpack_require__("e163"); var setPrototypeOf = __webpack_require__("d2bb"); var setToStringTag = __webpack_require__("d44e"); var createNonEnumerableProperty = __webpack_require__("9112"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var wellKnownSymbol = __webpack_require__("b622"); var Iterators = __webpack_require__("3f8c"); var IteratorsCore = __webpack_require__("ae93"); @@ -14567,7 +15549,7 @@ module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, I if (setPrototypeOf) { setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { - redefine(CurrentIteratorPrototype, ITERATOR, returnThis); + defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); } } // Set @@toStringTag to native iterators @@ -14595,14 +15577,14 @@ module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, I }; if (FORCED) for (KEY in methods) { if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { - redefine(IterablePrototype, KEY, methods[KEY]); + defineBuiltIn(IterablePrototype, KEY, methods[KEY]); } } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); } // define iterator if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { - redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); } Iterators[NAME] = defaultIterator; @@ -14978,7 +15960,7 @@ var fails = __webpack_require__("d039"); // Detect IE8's incomplete defineProperty implementation module.exports = !fails(function () { - // eslint-disable-next-line es/no-object-defineproperty -- required for testing + // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; }); @@ -17231,11 +18213,17 @@ function instance($$self, $$props, $$invalidate) { } } - if ($$self.$$.dirty[0] & /*groups*/ 4096 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) { + if ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) { { if (customEmoji && customEmoji.length) { $$invalidate(12, groups$1 = [customGroup, ...groups]); } else if (groups$1 !== groups) { + if (currentGroupIndex) { + // If the current group is anything other than "custom" (which is first), decrement. + // This fixes the odd case where you set customEmoji, then pick a category, then unset customEmoji + $$invalidate(11, currentGroupIndex--, currentGroupIndex); + } + $$invalidate(12, groups$1 = groups); } } @@ -18003,6 +18991,25 @@ exportTypedArrayMethod('at', function at(index) { }); +/***/ }), + +/***/ "90d8": +/***/ (function(module, exports, __webpack_require__) { + +var call = __webpack_require__("c65b"); +var hasOwn = __webpack_require__("1a2d"); +var isPrototypeOf = __webpack_require__("3a9b"); +var regExpFlags = __webpack_require__("ad6d"); + +var RegExpPrototype = RegExp.prototype; + +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) + ? call(regExpFlags, R) : flags; +}; + + /***/ }), /***/ "90e3": @@ -19250,390 +20257,8 @@ module.exports = L3Side; /***/ "9861": /***/ (function(module, exports, __webpack_require__) { -"use strict"; - -// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` -__webpack_require__("e260"); -var $ = __webpack_require__("23e7"); -var global = __webpack_require__("da84"); -var getBuiltIn = __webpack_require__("d066"); -var call = __webpack_require__("c65b"); -var uncurryThis = __webpack_require__("e330"); -var USE_NATIVE_URL = __webpack_require__("0d3b"); -var redefine = __webpack_require__("6eeb"); -var redefineAll = __webpack_require__("e2cc"); -var setToStringTag = __webpack_require__("d44e"); -var createIteratorConstructor = __webpack_require__("9ed3"); -var InternalStateModule = __webpack_require__("69f3"); -var anInstance = __webpack_require__("19aa"); -var isCallable = __webpack_require__("1626"); -var hasOwn = __webpack_require__("1a2d"); -var bind = __webpack_require__("0366"); -var classof = __webpack_require__("f5df"); -var anObject = __webpack_require__("825a"); -var isObject = __webpack_require__("861d"); -var $toString = __webpack_require__("577e"); -var create = __webpack_require__("7c73"); -var createPropertyDescriptor = __webpack_require__("5c6c"); -var getIterator = __webpack_require__("9a1f"); -var getIteratorMethod = __webpack_require__("35a1"); -var validateArgumentsLength = __webpack_require__("d6d6"); -var wellKnownSymbol = __webpack_require__("b622"); -var arraySort = __webpack_require__("addb"); - -var ITERATOR = wellKnownSymbol('iterator'); -var URL_SEARCH_PARAMS = 'URLSearchParams'; -var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); -var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); - -var n$Fetch = getBuiltIn('fetch'); -var N$Request = getBuiltIn('Request'); -var Headers = getBuiltIn('Headers'); -var RequestPrototype = N$Request && N$Request.prototype; -var HeadersPrototype = Headers && Headers.prototype; -var RegExp = global.RegExp; -var TypeError = global.TypeError; -var decodeURIComponent = global.decodeURIComponent; -var encodeURIComponent = global.encodeURIComponent; -var charAt = uncurryThis(''.charAt); -var join = uncurryThis([].join); -var push = uncurryThis([].push); -var replace = uncurryThis(''.replace); -var shift = uncurryThis([].shift); -var splice = uncurryThis([].splice); -var split = uncurryThis(''.split); -var stringSlice = uncurryThis(''.slice); - -var plus = /\+/g; -var sequences = Array(4); - -var percentSequence = function (bytes) { - return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); -}; - -var percentDecode = function (sequence) { - try { - return decodeURIComponent(sequence); - } catch (error) { - return sequence; - } -}; - -var deserialize = function (it) { - var result = replace(it, plus, ' '); - var bytes = 4; - try { - return decodeURIComponent(result); - } catch (error) { - while (bytes) { - result = replace(result, percentSequence(bytes--), percentDecode); - } - return result; - } -}; - -var find = /[!'()~]|%20/g; - -var replacements = { - '!': '%21', - "'": '%27', - '(': '%28', - ')': '%29', - '~': '%7E', - '%20': '+' -}; - -var replacer = function (match) { - return replacements[match]; -}; - -var serialize = function (it) { - return replace(encodeURIComponent(it), find, replacer); -}; - -var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { - setInternalState(this, { - type: URL_SEARCH_PARAMS_ITERATOR, - iterator: getIterator(getInternalParamsState(params).entries), - kind: kind - }); -}, 'Iterator', function next() { - var state = getInternalIteratorState(this); - var kind = state.kind; - var step = state.iterator.next(); - var entry = step.value; - if (!step.done) { - step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; - } return step; -}, true); - -var URLSearchParamsState = function (init) { - this.entries = []; - this.url = null; - - if (init !== undefined) { - if (isObject(init)) this.parseObject(init); - else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)); - } -}; - -URLSearchParamsState.prototype = { - type: URL_SEARCH_PARAMS, - bindURL: function (url) { - this.url = url; - this.update(); - }, - parseObject: function (object) { - var iteratorMethod = getIteratorMethod(object); - var iterator, next, step, entryIterator, entryNext, first, second; - - if (iteratorMethod) { - iterator = getIterator(object, iteratorMethod); - next = iterator.next; - while (!(step = call(next, iterator)).done) { - entryIterator = getIterator(anObject(step.value)); - entryNext = entryIterator.next; - if ( - (first = call(entryNext, entryIterator)).done || - (second = call(entryNext, entryIterator)).done || - !call(entryNext, entryIterator).done - ) throw TypeError('Expected sequence with length 2'); - push(this.entries, { key: $toString(first.value), value: $toString(second.value) }); - } - } else for (var key in object) if (hasOwn(object, key)) { - push(this.entries, { key: key, value: $toString(object[key]) }); - } - }, - parseQuery: function (query) { - if (query) { - var attributes = split(query, '&'); - var index = 0; - var attribute, entry; - while (index < attributes.length) { - attribute = attributes[index++]; - if (attribute.length) { - entry = split(attribute, '='); - push(this.entries, { - key: deserialize(shift(entry)), - value: deserialize(join(entry, '=')) - }); - } - } - } - }, - serialize: function () { - var entries = this.entries; - var result = []; - var index = 0; - var entry; - while (index < entries.length) { - entry = entries[index++]; - push(result, serialize(entry.key) + '=' + serialize(entry.value)); - } return join(result, '&'); - }, - update: function () { - this.entries.length = 0; - this.parseQuery(this.url.query); - }, - updateURL: function () { - if (this.url) this.url.update(); - } -}; - -// `URLSearchParams` constructor -// https://url.spec.whatwg.org/#interface-urlsearchparams -var URLSearchParamsConstructor = function URLSearchParams(/* init */) { - anInstance(this, URLSearchParamsPrototype); - var init = arguments.length > 0 ? arguments[0] : undefined; - setInternalState(this, new URLSearchParamsState(init)); -}; - -var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; - -redefineAll(URLSearchParamsPrototype, { - // `URLSearchParams.prototype.append` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-append - append: function append(name, value) { - validateArgumentsLength(arguments.length, 2); - var state = getInternalParamsState(this); - push(state.entries, { key: $toString(name), value: $toString(value) }); - state.updateURL(); - }, - // `URLSearchParams.prototype.delete` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-delete - 'delete': function (name) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var key = $toString(name); - var index = 0; - while (index < entries.length) { - if (entries[index].key === key) splice(entries, index, 1); - else index++; - } - state.updateURL(); - }, - // `URLSearchParams.prototype.get` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-get - get: function get(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = $toString(name); - var index = 0; - for (; index < entries.length; index++) { - if (entries[index].key === key) return entries[index].value; - } - return null; - }, - // `URLSearchParams.prototype.getAll` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-getall - getAll: function getAll(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = $toString(name); - var result = []; - var index = 0; - for (; index < entries.length; index++) { - if (entries[index].key === key) push(result, entries[index].value); - } - return result; - }, - // `URLSearchParams.prototype.has` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-has - has: function has(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = $toString(name); - var index = 0; - while (index < entries.length) { - if (entries[index++].key === key) return true; - } - return false; - }, - // `URLSearchParams.prototype.set` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-set - set: function set(name, value) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var found = false; - var key = $toString(name); - var val = $toString(value); - var index = 0; - var entry; - for (; index < entries.length; index++) { - entry = entries[index]; - if (entry.key === key) { - if (found) splice(entries, index--, 1); - else { - found = true; - entry.value = val; - } - } - } - if (!found) push(entries, { key: key, value: val }); - state.updateURL(); - }, - // `URLSearchParams.prototype.sort` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-sort - sort: function sort() { - var state = getInternalParamsState(this); - arraySort(state.entries, function (a, b) { - return a.key > b.key ? 1 : -1; - }); - state.updateURL(); - }, - // `URLSearchParams.prototype.forEach` method - forEach: function forEach(callback /* , thisArg */) { - var entries = getInternalParamsState(this).entries; - var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined); - var index = 0; - var entry; - while (index < entries.length) { - entry = entries[index++]; - boundFunction(entry.value, entry.key, this); - } - }, - // `URLSearchParams.prototype.keys` method - keys: function keys() { - return new URLSearchParamsIterator(this, 'keys'); - }, - // `URLSearchParams.prototype.values` method - values: function values() { - return new URLSearchParamsIterator(this, 'values'); - }, - // `URLSearchParams.prototype.entries` method - entries: function entries() { - return new URLSearchParamsIterator(this, 'entries'); - } -}, { enumerable: true }); - -// `URLSearchParams.prototype[@@iterator]` method -redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); - -// `URLSearchParams.prototype.toString` method -// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior -redefine(URLSearchParamsPrototype, 'toString', function toString() { - return getInternalParamsState(this).serialize(); -}, { enumerable: true }); - -setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); - -$({ global: true, forced: !USE_NATIVE_URL }, { - URLSearchParams: URLSearchParamsConstructor -}); - -// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` -if (!USE_NATIVE_URL && isCallable(Headers)) { - var headersHas = uncurryThis(HeadersPrototype.has); - var headersSet = uncurryThis(HeadersPrototype.set); - - var wrapRequestOptions = function (init) { - if (isObject(init)) { - var body = init.body; - var headers; - if (classof(body) === URL_SEARCH_PARAMS) { - headers = init.headers ? new Headers(init.headers) : new Headers(); - if (!headersHas(headers, 'content-type')) { - headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); - } - return create(init, { - body: createPropertyDescriptor(0, $toString(body)), - headers: createPropertyDescriptor(0, headers) - }); - } - } return init; - }; - - if (isCallable(n$Fetch)) { - $({ global: true, enumerable: true, forced: true }, { - fetch: function fetch(input /* , init */) { - return n$Fetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); - } - }); - } - - if (isCallable(N$Request)) { - var RequestConstructor = function Request(input /* , init */) { - anInstance(this, RequestPrototype); - return new N$Request(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); - }; - - RequestPrototype.constructor = RequestConstructor; - RequestConstructor.prototype = RequestPrototype; - - $({ global: true, forced: true }, { - Request: RequestConstructor - }); - } -} - -module.exports = { - URLSearchParams: URLSearchParamsConstructor, - getState: getInternalParamsState -}; +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__("5352"); /***/ }), @@ -19683,7 +20308,7 @@ var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; // `Array.prototype.concat` method // https://tc39.es/ecma262/#sec-array.prototype.concat // with adding support of @@isConcatSpreadable and @@species -$({ target: 'Array', proto: true, forced: FORCED }, { +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { // eslint-disable-next-line no-unused-vars -- required for `.length` concat: function concat(arg) { var O = toObject(this); @@ -19781,9 +20406,9 @@ var anObject = __webpack_require__("825a"); var toPropertyKey = __webpack_require__("a04b"); var TypeError = global.TypeError; -// eslint-disable-next-line es/no-object-defineproperty -- safe +// eslint-disable-next-line es-x/no-object-defineproperty -- safe var $defineProperty = Object.defineProperty; -// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var ENUMERABLE = 'enumerable'; var CONFIGURABLE = 'configurable'; @@ -20013,7 +20638,7 @@ module.exports = III_psy_xmin; "use strict"; -/* eslint-disable es/no-string-prototype-matchall -- safe */ +/* eslint-disable es-x/no-string-prototype-matchall -- safe */ var $ = __webpack_require__("23e7"); var global = __webpack_require__("da84"); var call = __webpack_require__("c65b"); @@ -20024,11 +20649,10 @@ var toLength = __webpack_require__("50c4"); var toString = __webpack_require__("577e"); var anObject = __webpack_require__("825a"); var classof = __webpack_require__("c6b6"); -var isPrototypeOf = __webpack_require__("3a9b"); var isRegExp = __webpack_require__("44e7"); -var regExpFlags = __webpack_require__("ad6d"); +var getRegExpFlags = __webpack_require__("90d8"); var getMethod = __webpack_require__("dc4a"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var fails = __webpack_require__("d039"); var wellKnownSymbol = __webpack_require__("b622"); var speciesConstructor = __webpack_require__("4840"); @@ -20044,7 +20668,6 @@ var setInternalState = InternalStateModule.set; var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); var RegExpPrototype = RegExp.prototype; var TypeError = global.TypeError; -var getFlags = uncurryThis(regExpFlags); var stringIndexOf = uncurryThis(''.indexOf); var un$MatchAll = uncurryThis(''.matchAll); @@ -20079,13 +20702,9 @@ var $RegExpStringIterator = createIteratorConstructor(function RegExpStringItera var $matchAll = function (string) { var R = anObject(this); var S = toString(string); - var C, flagsValue, flags, matcher, $global, fullUnicode; - C = speciesConstructor(R, RegExp); - flagsValue = R.flags; - if (flagsValue === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype)) { - flagsValue = getFlags(R); - } - flags = flagsValue === undefined ? '' : toString(flagsValue); + var C = speciesConstructor(R, RegExp); + var flags = toString(getRegExpFlags(R)); + var matcher, $global, fullUnicode; matcher = new C(C === RegExp ? R.source : R, flags); $global = !!~stringIndexOf(flags, 'g'); fullUnicode = !!~stringIndexOf(flags, 'u'); @@ -20101,10 +20720,7 @@ $({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { var flags, S, matcher, rx; if (regexp != null) { if (isRegExp(regexp)) { - flags = toString(requireObjectCoercible('flags' in RegExpPrototype - ? regexp.flags - : getFlags(regexp) - )); + flags = toString(requireObjectCoercible(getRegExpFlags(regexp))); if (!~stringIndexOf(flags, 'g')) throw TypeError('`.matchAll` does not allow non-global regexes'); } if (WORKS_WITH_NON_GLOBAL_REGEX) return un$MatchAll(O, regexp); @@ -20118,7 +20734,7 @@ $({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { } }); -IS_PURE || MATCH_ALL in RegExpPrototype || redefine(RegExpPrototype, MATCH_ALL, $matchAll); +IS_PURE || MATCH_ALL in RegExpPrototype || defineBuiltIn(RegExpPrototype, MATCH_ALL, $matchAll); /***/ }), @@ -20234,332 +20850,12 @@ module.exports = /web0s(?!.*chrome)/i.test(userAgent); /***/ "a4d3": /***/ (function(module, exports, __webpack_require__) { -"use strict"; - -var $ = __webpack_require__("23e7"); -var global = __webpack_require__("da84"); -var getBuiltIn = __webpack_require__("d066"); -var apply = __webpack_require__("2ba4"); -var call = __webpack_require__("c65b"); -var uncurryThis = __webpack_require__("e330"); -var IS_PURE = __webpack_require__("c430"); -var DESCRIPTORS = __webpack_require__("83ab"); -var NATIVE_SYMBOL = __webpack_require__("4930"); -var fails = __webpack_require__("d039"); -var hasOwn = __webpack_require__("1a2d"); -var isArray = __webpack_require__("e8b5"); -var isCallable = __webpack_require__("1626"); -var isObject = __webpack_require__("861d"); -var isPrototypeOf = __webpack_require__("3a9b"); -var isSymbol = __webpack_require__("d9b5"); -var anObject = __webpack_require__("825a"); -var toObject = __webpack_require__("7b0b"); -var toIndexedObject = __webpack_require__("fc6a"); -var toPropertyKey = __webpack_require__("a04b"); -var $toString = __webpack_require__("577e"); -var createPropertyDescriptor = __webpack_require__("5c6c"); -var nativeObjectCreate = __webpack_require__("7c73"); -var objectKeys = __webpack_require__("df75"); -var getOwnPropertyNamesModule = __webpack_require__("241c"); -var getOwnPropertyNamesExternal = __webpack_require__("057f"); -var getOwnPropertySymbolsModule = __webpack_require__("7418"); -var getOwnPropertyDescriptorModule = __webpack_require__("06cf"); -var definePropertyModule = __webpack_require__("9bf2"); -var definePropertiesModule = __webpack_require__("37e8"); -var propertyIsEnumerableModule = __webpack_require__("d1e7"); -var arraySlice = __webpack_require__("f36a"); -var redefine = __webpack_require__("6eeb"); -var shared = __webpack_require__("5692"); -var sharedKey = __webpack_require__("f772"); -var hiddenKeys = __webpack_require__("d012"); -var uid = __webpack_require__("90e3"); -var wellKnownSymbol = __webpack_require__("b622"); -var wrappedWellKnownSymbolModule = __webpack_require__("e538"); -var defineWellKnownSymbol = __webpack_require__("746f"); -var setToStringTag = __webpack_require__("d44e"); -var InternalStateModule = __webpack_require__("69f3"); -var $forEach = __webpack_require__("b727").forEach; - -var HIDDEN = sharedKey('hidden'); -var SYMBOL = 'Symbol'; -var PROTOTYPE = 'prototype'; -var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); - -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(SYMBOL); - -var ObjectPrototype = Object[PROTOTYPE]; -var $Symbol = global.Symbol; -var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; -var TypeError = global.TypeError; -var QObject = global.QObject; -var $stringify = getBuiltIn('JSON', 'stringify'); -var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; -var nativeDefineProperty = definePropertyModule.f; -var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; -var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; -var push = uncurryThis([].push); - -var AllSymbols = shared('symbols'); -var ObjectPrototypeSymbols = shared('op-symbols'); -var StringToSymbolRegistry = shared('string-to-symbol-registry'); -var SymbolToStringRegistry = shared('symbol-to-string-registry'); -var WellKnownSymbolsStore = shared('wks'); - -// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 -var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; - -// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 -var setSymbolDescriptor = DESCRIPTORS && fails(function () { - return nativeObjectCreate(nativeDefineProperty({}, 'a', { - get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } - })).a != 7; -}) ? function (O, P, Attributes) { - var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); - if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; - nativeDefineProperty(O, P, Attributes); - if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { - nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); - } -} : nativeDefineProperty; - -var wrap = function (tag, description) { - var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); - setInternalState(symbol, { - type: SYMBOL, - tag: tag, - description: description - }); - if (!DESCRIPTORS) symbol.description = description; - return symbol; -}; - -var $defineProperty = function defineProperty(O, P, Attributes) { - if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); - anObject(O); - var key = toPropertyKey(P); - anObject(Attributes); - if (hasOwn(AllSymbols, key)) { - if (!Attributes.enumerable) { - if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); - O[HIDDEN][key] = true; - } else { - if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; - Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); - } return setSymbolDescriptor(O, key, Attributes); - } return nativeDefineProperty(O, key, Attributes); -}; - -var $defineProperties = function defineProperties(O, Properties) { - anObject(O); - var properties = toIndexedObject(Properties); - var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); - $forEach(keys, function (key) { - if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); - }); - return O; -}; - -var $create = function create(O, Properties) { - return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); -}; - -var $propertyIsEnumerable = function propertyIsEnumerable(V) { - var P = toPropertyKey(V); - var enumerable = call(nativePropertyIsEnumerable, this, P); - if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; - return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] - ? enumerable : true; -}; - -var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { - var it = toIndexedObject(O); - var key = toPropertyKey(P); - if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; - var descriptor = nativeGetOwnPropertyDescriptor(it, key); - if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { - descriptor.enumerable = true; - } - return descriptor; -}; - -var $getOwnPropertyNames = function getOwnPropertyNames(O) { - var names = nativeGetOwnPropertyNames(toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); - }); - return result; -}; - -var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { - var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; - var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { - push(result, AllSymbols[key]); - } - }); - return result; -}; - -// `Symbol` constructor -// https://tc39.es/ecma262/#sec-symbol-constructor -if (!NATIVE_SYMBOL) { - $Symbol = function Symbol() { - if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor'); - var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); - var tag = uid(description); - var setter = function (value) { - if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); - if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false; - setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); - }; - if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); - return wrap(tag, description); - }; - - SymbolPrototype = $Symbol[PROTOTYPE]; - - redefine(SymbolPrototype, 'toString', function toString() { - return getInternalState(this).tag; - }); - - redefine($Symbol, 'withoutSetter', function (description) { - return wrap(uid(description), description); - }); - - propertyIsEnumerableModule.f = $propertyIsEnumerable; - definePropertyModule.f = $defineProperty; - definePropertiesModule.f = $defineProperties; - getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; - getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; - getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; - - wrappedWellKnownSymbolModule.f = function (name) { - return wrap(wellKnownSymbol(name), name); - }; - - if (DESCRIPTORS) { - // https://github.com/tc39/proposal-Symbol-description - nativeDefineProperty(SymbolPrototype, 'description', { - configurable: true, - get: function description() { - return getInternalState(this).description; - } - }); - if (!IS_PURE) { - redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); - } - } -} - -$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { - Symbol: $Symbol -}); - -$forEach(objectKeys(WellKnownSymbolsStore), function (name) { - defineWellKnownSymbol(name); -}); - -$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { - // `Symbol.for` method - // https://tc39.es/ecma262/#sec-symbol.for - 'for': function (key) { - var string = $toString(key); - if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; - var symbol = $Symbol(string); - StringToSymbolRegistry[string] = symbol; - SymbolToStringRegistry[symbol] = string; - return symbol; - }, - // `Symbol.keyFor` method - // https://tc39.es/ecma262/#sec-symbol.keyfor - keyFor: function keyFor(sym) { - if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); - if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; - }, - useSetter: function () { USE_SETTER = true; }, - useSimple: function () { USE_SETTER = false; } -}); - -$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { - // `Object.create` method - // https://tc39.es/ecma262/#sec-object.create - create: $create, - // `Object.defineProperty` method - // https://tc39.es/ecma262/#sec-object.defineproperty - defineProperty: $defineProperty, - // `Object.defineProperties` method - // https://tc39.es/ecma262/#sec-object.defineproperties - defineProperties: $defineProperties, - // `Object.getOwnPropertyDescriptor` method - // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors - getOwnPropertyDescriptor: $getOwnPropertyDescriptor -}); - -$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { - // `Object.getOwnPropertyNames` method - // https://tc39.es/ecma262/#sec-object.getownpropertynames - getOwnPropertyNames: $getOwnPropertyNames, - // `Object.getOwnPropertySymbols` method - // https://tc39.es/ecma262/#sec-object.getownpropertysymbols - getOwnPropertySymbols: $getOwnPropertySymbols -}); - -// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives -// https://bugs.chromium.org/p/v8/issues/detail?id=3443 -$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, { - getOwnPropertySymbols: function getOwnPropertySymbols(it) { - return getOwnPropertySymbolsModule.f(toObject(it)); - } -}); - -// `JSON.stringify` method behavior with symbols -// https://tc39.es/ecma262/#sec-json.stringify -if ($stringify) { - var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { - var symbol = $Symbol(); - // MS Edge converts symbol values to JSON as {} - return $stringify([symbol]) != '[null]' - // WebKit converts symbol values to JSON as null - || $stringify({ a: symbol }) != '{}' - // V8 throws on boxed symbols - || $stringify(Object(symbol)) != '{}'; - }); - - $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { - // eslint-disable-next-line no-unused-vars -- required for `.length` - stringify: function stringify(it, replacer, space) { - var args = arraySlice(arguments); - var $replacer = replacer; - if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined - if (!isArray(replacer)) replacer = function (key, value) { - if (isCallable($replacer)) value = call($replacer, this, key, value); - if (!isSymbol(value)) return value; - }; - args[1] = replacer; - return apply($stringify, null, args); - } - }); -} - -// `Symbol.prototype[@@toPrimitive]` method -// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive -if (!SymbolPrototype[TO_PRIMITIVE]) { - var valueOf = SymbolPrototype.valueOf; - // eslint-disable-next-line no-unused-vars -- required for .length - redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) { - // TODO: improve hint logic - return call(valueOf, this); - }); -} -// `Symbol.prototype[@@toStringTag]` property -// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag -setToStringTag($Symbol, SYMBOL); - -hiddenKeys[HIDDEN] = true; +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__("d9f5"); +__webpack_require__("b4f8"); +__webpack_require__("c513"); +__webpack_require__("e9c4"); +__webpack_require__("5a47"); /***/ }), @@ -20594,7 +20890,7 @@ var from = __webpack_require__("4df4"); var checkCorrectnessOfIteration = __webpack_require__("1c7e"); var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { - // eslint-disable-next-line es/no-array-from -- required for testing + // eslint-disable-next-line es-x/no-array-from -- required for testing Array.from(iterable); }); @@ -20648,7 +20944,7 @@ exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { /***/ "a981": /***/ (function(module, exports) { -// eslint-disable-next-line es/no-typed-arrays -- safe +// eslint-disable-next-line es-x/no-typed-arrays -- safe module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; @@ -20663,7 +20959,7 @@ var DESCRIPTORS = __webpack_require__("83ab"); var global = __webpack_require__("da84"); var uncurryThis = __webpack_require__("e330"); var isForced = __webpack_require__("94ca"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var hasOwn = __webpack_require__("1a2d"); var inheritIfRequired = __webpack_require__("7156"); var isPrototypeOf = __webpack_require__("3a9b"); @@ -20744,7 +21040,7 @@ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumb } NumberWrapper.prototype = NumberPrototype; NumberPrototype.constructor = NumberWrapper; - redefine(global, NUMBER, NumberWrapper); + defineBuiltIn(global, NUMBER, NumberWrapper); } @@ -20766,7 +21062,7 @@ var nativeErrorToString = Error.prototype.toString; var INCORRECT_TO_STRING = fails(function () { if (DESCRIPTORS) { // Chrome 32- incorrectly call accessor - // eslint-disable-next-line es/no-object-defineproperty -- safe + // eslint-disable-next-line es-x/no-object-defineproperty -- safe var object = create(Object.defineProperty({}, 'name', { get: function () { return this === object; } })); @@ -21021,6 +21317,7 @@ var anObject = __webpack_require__("825a"); module.exports = function () { var that = anObject(this); var result = ''; + if (that.hasIndices) result += 'd'; if (that.global) result += 'g'; if (that.ignoreCase) result += 'i'; if (that.multiline) result += 'm'; @@ -21093,7 +21390,7 @@ var fails = __webpack_require__("d039"); var isCallable = __webpack_require__("1626"); var create = __webpack_require__("7c73"); var getPrototypeOf = __webpack_require__("e163"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var wellKnownSymbol = __webpack_require__("b622"); var IS_PURE = __webpack_require__("c430"); @@ -21104,7 +21401,7 @@ var BUGGY_SAFARI_ITERATORS = false; // https://tc39.es/ecma262/#sec-%iteratorprototype%-object var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; -/* eslint-disable es/no-array-prototype-keys -- safe */ +/* eslint-disable es-x/no-array-prototype-keys -- safe */ if ([].keys) { arrayIterator = [].keys(); // Safari 8 has buggy iterators w/o `next` @@ -21127,7 +21424,7 @@ else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); // `%IteratorPrototype%[@@iterator]()` method // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator if (!isCallable(IteratorPrototype[ITERATOR])) { - redefine(IteratorPrototype, ITERATOR, function () { + defineBuiltIn(IteratorPrototype, ITERATOR, function () { return this; }); } @@ -21138,6 +21435,22 @@ module.exports = { }; +/***/ }), + +/***/ "aeb0": +/***/ (function(module, exports, __webpack_require__) { + +var defineProperty = __webpack_require__("9bf2").f; + +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { return Source[key]; }, + set: function (it) { Source[key] = it; } + }); +}; + + /***/ }), /***/ "aed9": @@ -21149,7 +21462,7 @@ var fails = __webpack_require__("d039"); // V8 ~ Chrome 36- // https://bugs.chromium.org/p/v8/issues/detail?id=3334 module.exports = DESCRIPTORS && fails(function () { - // eslint-disable-next-line es/no-object-defineproperty -- required for testing + // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing return Object.defineProperty(function () { /* empty */ }, 'prototype', { value: 42, writable: false @@ -21263,6 +21576,35 @@ exportTypedArrayMethod('toLocaleString', function toLocaleString() { }, FORCED); +/***/ }), + +/***/ "b4f8": +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__("23e7"); +var getBuiltIn = __webpack_require__("d066"); +var hasOwn = __webpack_require__("1a2d"); +var toString = __webpack_require__("577e"); +var shared = __webpack_require__("5692"); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__("3d87"); + +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.for` method +// https://tc39.es/ecma262/#sec-symbol.for +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + 'for': function (key) { + var string = toString(key); + if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = getBuiltIn('Symbol')(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + } +}); + + /***/ }), /***/ "b575": @@ -21333,7 +21675,7 @@ if (!queueMicrotask) { // for other environments - macrotask based on: // - setImmediate // - MessageChannel - // - window.postMessag + // - window.postMessage // - onreadystatechange // - setTimeout } else { @@ -21843,7 +22185,7 @@ var createPropertyDescriptor = __webpack_require__("5c6c"); module.exports = !fails(function () { var error = Error('a'); if (!('stack' in error)) return true; - // eslint-disable-next-line es/no-object-defineproperty -- safe + // eslint-disable-next-line es-x/no-object-defineproperty -- safe Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); return error.stack !== 7; }); @@ -21859,7 +22201,7 @@ var lastIndexOf = __webpack_require__("e58c"); // `Array.prototype.lastIndexOf` method // https://tc39.es/ecma262/#sec-array.prototype.lastindexof -// eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing +// eslint-disable-next-line es-x/no-array-prototype-lastindexof -- required for testing $({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { lastIndexOf: lastIndexOf }); @@ -22917,7 +23259,7 @@ module.exports = QuantizePVT; var fails = __webpack_require__("d039"); module.exports = !fails(function () { - // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing + // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-preventextensions -- required for testing return Object.isExtensible(Object.preventExtensions({})); }); @@ -23614,6 +23956,7 @@ module.exports = function (input, pref) { /***/ "c0b6": /***/ (function(module, exports, __webpack_require__) { +// TODO: Remove from `core-js@4` var $ = __webpack_require__("23e7"); var bind = __webpack_require__("0538"); @@ -23711,6 +24054,30 @@ exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { module.exports = false; +/***/ }), + +/***/ "c513": +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__("23e7"); +var hasOwn = __webpack_require__("1a2d"); +var isSymbol = __webpack_require__("d9b5"); +var tryToString = __webpack_require__("0d51"); +var shared = __webpack_require__("5692"); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__("3d87"); + +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.keyFor` method +// https://tc39.es/ecma262/#sec-symbol.keyfor +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(tryToString(sym) + ' is not a symbol'); + if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + } +}); + + /***/ }), /***/ "c5d0": @@ -23740,7 +24107,7 @@ var global = __webpack_require__("da84"); var DESCRIPTORS = __webpack_require__("83ab"); var UNSUPPORTED_DOT_ALL = __webpack_require__("fce3"); var classof = __webpack_require__("c6b6"); -var defineProperty = __webpack_require__("9bf2").f; +var defineBuiltInAccessor = __webpack_require__("edd0"); var getInternalState = __webpack_require__("69f3").get; var RegExpPrototype = RegExp.prototype; @@ -23749,9 +24116,9 @@ var TypeError = global.TypeError; // `RegExp.prototype.dotAll` getter // https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) { - defineProperty(RegExpPrototype, 'dotAll', { + defineBuiltInAccessor(RegExpPrototype, 'dotAll', { configurable: true, - get: function () { + get: function dotAll() { if (this === RegExpPrototype) return undefined; // We can't use InternalStateModule.getterFor because // we don't add metadata for regexps created by a literal. @@ -23814,14 +24181,15 @@ module.exports = store; var uncurryThis = __webpack_require__("e330"); +var $Error = Error; var replace = uncurryThis(''.replace); -var TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd'); +var TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd'); var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); module.exports = function (stack, dropEntries) { - if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string') { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); } return stack; }; @@ -23883,7 +24251,7 @@ module.exports = function (METHOD_NAME) { "use strict"; -/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +/* eslint-disable es-x/no-array-prototype-indexof -- required for testing */ var $ = __webpack_require__("23e7"); var uncurryThis = __webpack_require__("e330"); var $IndexOf = __webpack_require__("4d64").indexOf; @@ -23977,11 +24345,17 @@ exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */ var $ = __webpack_require__("23e7"); var $includes = __webpack_require__("4d64").includes; +var fails = __webpack_require__("d039"); var addToUnscopables = __webpack_require__("44d2"); +// FF99+ bug +var BROKEN_ON_SPARSE = fails(function () { + return !Array(1).includes(); +}); + // `Array.prototype.includes` method // https://tc39.es/ecma262/#sec-array.prototype.includes -$({ target: 'Array', proto: true }, { +$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { includes: function includes(el /* , fromIndex = 0 */) { return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); } @@ -23991,6 +24365,38 @@ $({ target: 'Array', proto: true }, { addToUnscopables('includes'); +/***/ }), + +/***/ "cb2d": +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__("da84"); +var isCallable = __webpack_require__("1626"); +var createNonEnumerableProperty = __webpack_require__("9112"); +var makeBuiltIn = __webpack_require__("13d2"); +var setGlobal = __webpack_require__("ce4e"); + +module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + var name = options && options.name !== undefined ? options.name : key; + if (isCallable(value)) makeBuiltIn(value, name, options); + if (O === global) { + if (simple) O[key] = value; + else setGlobal(key, value); + return O; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) O[key] = value; + else createNonEnumerableProperty(O, key, value); + return O; +}; + + /***/ }), /***/ "cc12": @@ -24028,6 +24434,40 @@ $({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { }); +/***/ }), + +/***/ "cc98": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var IS_PURE = __webpack_require__("c430"); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__("4738").CONSTRUCTOR; +var NativePromiseConstructor = __webpack_require__("d256"); +var getBuiltIn = __webpack_require__("d066"); +var isCallable = __webpack_require__("1626"); +var defineBuiltIn = __webpack_require__("cb2d"); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// `Promise.prototype.catch` method +// https://tc39.es/ecma262/#sec-promise.prototype.catch +$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, { + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } +}); + +// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['catch']; + if (NativePromisePrototype['catch'] !== method) { + defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true }); + } +} + + /***/ }), /***/ "cd26": @@ -24083,7 +24523,7 @@ module.exports = function (C, x) { var global = __webpack_require__("da84"); -// eslint-disable-next-line es/no-object-defineproperty -- safe +// eslint-disable-next-line es-x/no-object-defineproperty -- safe var defineProperty = Object.defineProperty; module.exports = function (key, value) { @@ -24178,7 +24618,7 @@ exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { "use strict"; var $propertyIsEnumerable = {}.propertyIsEnumerable; -// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug @@ -24192,6 +24632,16 @@ exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { } : $propertyIsEnumerable; +/***/ }), + +/***/ "d256": +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__("da84"); + +module.exports = global.Promise; + + /***/ }), /***/ "d28b": @@ -24217,13 +24667,13 @@ var aPossiblePrototype = __webpack_require__("3bbe"); // `Object.setPrototypeOf` method // https://tc39.es/ecma262/#sec-object.setprototypeof // Works with __proto__ only. Old v8 can't work with null proto objects. -// eslint-disable-next-line es/no-object-setprototypeof -- safe +// eslint-disable-next-line es-x/no-object-setprototypeof -- safe module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { var CORRECT_SETTER = false; var test = {}; var setter; try { - // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); setter(test, []); CORRECT_SETTER = test instanceof Array; @@ -24244,13 +24694,13 @@ module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { /***/ (function(module, exports, __webpack_require__) { var TO_STRING_TAG_SUPPORT = __webpack_require__("00ee"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var toString = __webpack_require__("b041"); // `Object.prototype.toString` method // https://tc39.es/ecma262/#sec-object.prototype.tostring if (!TO_STRING_TAG_SUPPORT) { - redefine(Object.prototype, 'toString', toString, { unsafe: true }); + defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true }); } @@ -24259,7 +24709,7 @@ if (!TO_STRING_TAG_SUPPORT) { /***/ "d401": /***/ (function(module, exports, __webpack_require__) { -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var errorToString = __webpack_require__("aa1f"); var ErrorPrototype = Error.prototype; @@ -24267,7 +24717,7 @@ var ErrorPrototype = Error.prototype; // `Error.prototype.toString` method fix // https://tc39.es/ecma262/#sec-error.prototype.tostring if (ErrorPrototype.toString !== errorToString) { - redefine(ErrorPrototype, 'toString', errorToString); + defineBuiltIn(ErrorPrototype, 'toString', errorToString); } @@ -24396,7 +24846,7 @@ module.exports = function (passed, required) { // TODO: Remove from `core-js@4` since it's moved to entry points __webpack_require__("ac1f"); var uncurryThis = __webpack_require__("e330"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var regexpExec = __webpack_require__("9263"); var fails = __webpack_require__("d039"); var wellKnownSymbol = __webpack_require__("b622"); @@ -24460,8 +24910,8 @@ module.exports = function (KEY, exec, FORCED, SHAM) { return { done: false }; }); - redefine(String.prototype, KEY, methods[0]); - redefine(RegExpPrototype, SYMBOL, methods[1]); + defineBuiltIn(String.prototype, KEY, methods[0]); + defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]); } if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true); @@ -24502,7 +24952,7 @@ var fails = __webpack_require__("d039"); module.exports = fails(function () { if (typeof ArrayBuffer == 'function') { var buffer = new ArrayBuffer(8); - // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe + // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-defineproperty -- safe if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 }); } }); @@ -25740,14 +26190,14 @@ var FORCED = Error('e', { cause: 7 }).cause !== 7; var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { var O = {}; O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); - $({ global: true, forced: FORCED }, O); + $({ global: true, arity: 1, forced: FORCED }, O); }; var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { if (WebAssembly && WebAssembly[ERROR_NAME]) { var O = {}; O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); - $({ target: WEB_ASSEMBLY, stat: true, forced: FORCED }, O); + $({ target: WEB_ASSEMBLY, stat: true, arity: 1, forced: FORCED }, O); } }; @@ -25784,6 +26234,266 @@ exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { }); +/***/ }), + +/***/ "d9f5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var global = __webpack_require__("da84"); +var call = __webpack_require__("c65b"); +var uncurryThis = __webpack_require__("e330"); +var IS_PURE = __webpack_require__("c430"); +var DESCRIPTORS = __webpack_require__("83ab"); +var NATIVE_SYMBOL = __webpack_require__("4930"); +var fails = __webpack_require__("d039"); +var hasOwn = __webpack_require__("1a2d"); +var isPrototypeOf = __webpack_require__("3a9b"); +var anObject = __webpack_require__("825a"); +var toIndexedObject = __webpack_require__("fc6a"); +var toPropertyKey = __webpack_require__("a04b"); +var $toString = __webpack_require__("577e"); +var createPropertyDescriptor = __webpack_require__("5c6c"); +var nativeObjectCreate = __webpack_require__("7c73"); +var objectKeys = __webpack_require__("df75"); +var getOwnPropertyNamesModule = __webpack_require__("241c"); +var getOwnPropertyNamesExternal = __webpack_require__("057f"); +var getOwnPropertySymbolsModule = __webpack_require__("7418"); +var getOwnPropertyDescriptorModule = __webpack_require__("06cf"); +var definePropertyModule = __webpack_require__("9bf2"); +var definePropertiesModule = __webpack_require__("37e8"); +var propertyIsEnumerableModule = __webpack_require__("d1e7"); +var defineBuiltIn = __webpack_require__("cb2d"); +var shared = __webpack_require__("5692"); +var sharedKey = __webpack_require__("f772"); +var hiddenKeys = __webpack_require__("d012"); +var uid = __webpack_require__("90e3"); +var wellKnownSymbol = __webpack_require__("b622"); +var wrappedWellKnownSymbolModule = __webpack_require__("e538"); +var defineWellKnownSymbol = __webpack_require__("746f"); +var defineSymbolToPrimitive = __webpack_require__("57b9"); +var setToStringTag = __webpack_require__("d44e"); +var InternalStateModule = __webpack_require__("69f3"); +var $forEach = __webpack_require__("b727").forEach; + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); + +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = global.Symbol; +var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; +var TypeError = global.TypeError; +var QObject = global.QObject; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var push = uncurryThis([].push); + +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var WellKnownSymbolsStore = shared('wks'); + +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +} : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (hasOwn(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); + O[HIDDEN][key] = true; + } else { + if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPropertyKey(V); + var enumerable = call(nativePropertyIsEnumerable, this, P); + if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; + return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] + ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); + }); + return result; +}; + +var $getOwnPropertySymbols = function (O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { + push(result, AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); + if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + SymbolPrototype = $Symbol[PROTOTYPE]; + + defineBuiltIn(SymbolPrototype, 'toString', function toString() { + return getInternalState(this).tag; + }); + + defineBuiltIn($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + definePropertiesModule.f = $defineProperties; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + nativeDefineProperty(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames +}); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + + /***/ }), /***/ "da58": @@ -26776,7 +27486,7 @@ class Database { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 module.exports = - // eslint-disable-next-line es/no-global-this -- safe + // eslint-disable-next-line es-x/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe @@ -30471,7 +31181,7 @@ var enumBugKeys = __webpack_require__("7839"); // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys -// eslint-disable-next-line es/no-object-keys -- safe +// eslint-disable-next-line es-x/no-object-keys -- safe module.exports = Object.keys || function keys(O) { return internalObjectKeys(O, enumBugKeys); }; @@ -31575,7 +32285,7 @@ var fails = __webpack_require__("d039"); module.exports = !fails(function () { function F() { /* empty */ } F.prototype.constructor = null; - // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing return Object.getPrototypeOf(new F()) !== F.prototype; }); @@ -31649,19 +32359,6 @@ if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { } catch (error) { /* empty */ } -/***/ }), - -/***/ "e2cc": -/***/ (function(module, exports, __webpack_require__) { - -var redefine = __webpack_require__("6eeb"); - -module.exports = function (target, src, options) { - for (var key in src) redefine(target, key, src[key], options); - return target; -}; - - /***/ }), /***/ "e323": @@ -31679,7 +32376,7 @@ var stringSlice = uncurryThis(''.slice); var max = Math.max; var min = Math.min; -// eslint-disable-next-line unicorn/prefer-string-slice -- required for testing +// eslint-disable-next-line unicorn/prefer-string-slice, es-x/no-string-prototype-substr -- required for testing var FORCED = !''.substr || 'ab'.substr(-1) !== 'b'; // `String.prototype.substr` method @@ -31773,7 +32470,7 @@ exports.f = wellKnownSymbol; "use strict"; -/* eslint-disable es/no-array-prototype-lastindexof -- safe */ +/* eslint-disable es-x/no-array-prototype-lastindexof -- safe */ var apply = __webpack_require__("2ba4"); var toIndexedObject = __webpack_require__("fc6a"); var toIntegerOrInfinity = __webpack_require__("5926"); @@ -31814,14 +32511,17 @@ var createNonEnumerableProperty = __webpack_require__("9112"); var isPrototypeOf = __webpack_require__("3a9b"); var setPrototypeOf = __webpack_require__("d2bb"); var copyConstructorProperties = __webpack_require__("e893"); +var proxyAccessor = __webpack_require__("aeb0"); var inheritIfRequired = __webpack_require__("7156"); var normalizeStringArgument = __webpack_require__("e391"); var installErrorCause = __webpack_require__("ab36"); var clearErrorStack = __webpack_require__("c770"); var ERROR_STACK_INSTALLABLE = __webpack_require__("b980"); +var DESCRIPTORS = __webpack_require__("83ab"); var IS_PURE = __webpack_require__("c430"); module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; var path = FULL_NAME.split('.'); var ERROR_NAME = path[path.length - 1]; @@ -31853,6 +32553,9 @@ module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { if (ERROR_NAME !== 'Error') { if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError); else copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); } copyConstructorProperties(WrappedError, OriginalError); @@ -31888,409 +32591,13 @@ module.exports = function (exec) { /***/ "e6cf": /***/ (function(module, exports, __webpack_require__) { -"use strict"; - -var $ = __webpack_require__("23e7"); -var IS_PURE = __webpack_require__("c430"); -var global = __webpack_require__("da84"); -var getBuiltIn = __webpack_require__("d066"); -var call = __webpack_require__("c65b"); -var NativePromise = __webpack_require__("fea9"); -var redefine = __webpack_require__("6eeb"); -var redefineAll = __webpack_require__("e2cc"); -var setPrototypeOf = __webpack_require__("d2bb"); -var setToStringTag = __webpack_require__("d44e"); -var setSpecies = __webpack_require__("2626"); -var aCallable = __webpack_require__("59ed"); -var isCallable = __webpack_require__("1626"); -var isObject = __webpack_require__("861d"); -var anInstance = __webpack_require__("19aa"); -var inspectSource = __webpack_require__("8925"); -var iterate = __webpack_require__("2266"); -var checkCorrectnessOfIteration = __webpack_require__("1c7e"); -var speciesConstructor = __webpack_require__("4840"); -var task = __webpack_require__("2cf4").set; -var microtask = __webpack_require__("b575"); -var promiseResolve = __webpack_require__("cdf9"); -var hostReportErrors = __webpack_require__("44de"); -var newPromiseCapabilityModule = __webpack_require__("f069"); -var perform = __webpack_require__("e667"); -var Queue = __webpack_require__("01b4"); -var InternalStateModule = __webpack_require__("69f3"); -var isForced = __webpack_require__("94ca"); -var wellKnownSymbol = __webpack_require__("b622"); -var IS_BROWSER = __webpack_require__("6069"); -var IS_NODE = __webpack_require__("605d"); -var V8_VERSION = __webpack_require__("2d00"); - -var SPECIES = wellKnownSymbol('species'); -var PROMISE = 'Promise'; - -var getInternalState = InternalStateModule.getterFor(PROMISE); -var setInternalState = InternalStateModule.set; -var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); -var NativePromisePrototype = NativePromise && NativePromise.prototype; -var PromiseConstructor = NativePromise; -var PromisePrototype = NativePromisePrototype; -var TypeError = global.TypeError; -var document = global.document; -var process = global.process; -var newPromiseCapability = newPromiseCapabilityModule.f; -var newGenericPromiseCapability = newPromiseCapability; - -var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); -var NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent); -var UNHANDLED_REJECTION = 'unhandledrejection'; -var REJECTION_HANDLED = 'rejectionhandled'; -var PENDING = 0; -var FULFILLED = 1; -var REJECTED = 2; -var HANDLED = 1; -var UNHANDLED = 2; -var SUBCLASSING = false; - -var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; - -var FORCED = isForced(PROMISE, function () { - var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor); - var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor); - // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables - // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 - // We can't detect it synchronously, so just check versions - if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; - // We need Promise#finally in the pure version for preventing prototype pollution - if (IS_PURE && !PromisePrototype['finally']) return true; - // We can't use @@species feature detection in V8 since it causes - // deoptimization and performance degradation - // https://github.com/zloirock/core-js/issues/679 - if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false; - // Detect correctness of subclassing with @@species support - var promise = new PromiseConstructor(function (resolve) { resolve(1); }); - var FakePromise = function (exec) { - exec(function () { /* empty */ }, function () { /* empty */ }); - }; - var constructor = promise.constructor = {}; - constructor[SPECIES] = FakePromise; - SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; - if (!SUBCLASSING) return true; - // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT; -}); - -var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { - PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); -}); - -// helpers -var isThenable = function (it) { - var then; - return isObject(it) && isCallable(then = it.then) ? then : false; -}; - -var callReaction = function (reaction, state) { - var value = state.value; - var ok = state.state == FULFILLED; - var handler = ok ? reaction.ok : reaction.fail; - var resolve = reaction.resolve; - var reject = reaction.reject; - var domain = reaction.domain; - var result, then, exited; - try { - if (handler) { - if (!ok) { - if (state.rejection === UNHANDLED) onHandleUnhandled(state); - state.rejection = HANDLED; - } - if (handler === true) result = value; - else { - if (domain) domain.enter(); - result = handler(value); // can throw - if (domain) { - domain.exit(); - exited = true; - } - } - if (result === reaction.promise) { - reject(TypeError('Promise-chain cycle')); - } else if (then = isThenable(result)) { - call(then, result, resolve, reject); - } else resolve(result); - } else reject(value); - } catch (error) { - if (domain && !exited) domain.exit(); - reject(error); - } -}; - -var notify = function (state, isReject) { - if (state.notified) return; - state.notified = true; - microtask(function () { - var reactions = state.reactions; - var reaction; - while (reaction = reactions.get()) { - callReaction(reaction, state); - } - state.notified = false; - if (isReject && !state.rejection) onUnhandled(state); - }); -}; - -var dispatchEvent = function (name, promise, reason) { - var event, handler; - if (DISPATCH_EVENT) { - event = document.createEvent('Event'); - event.promise = promise; - event.reason = reason; - event.initEvent(name, false, true); - global.dispatchEvent(event); - } else event = { promise: promise, reason: reason }; - if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event); - else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); -}; - -var onUnhandled = function (state) { - call(task, global, function () { - var promise = state.facade; - var value = state.value; - var IS_UNHANDLED = isUnhandled(state); - var result; - if (IS_UNHANDLED) { - result = perform(function () { - if (IS_NODE) { - process.emit('unhandledRejection', value, promise); - } else dispatchEvent(UNHANDLED_REJECTION, promise, value); - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; - if (result.error) throw result.value; - } - }); -}; - -var isUnhandled = function (state) { - return state.rejection !== HANDLED && !state.parent; -}; - -var onHandleUnhandled = function (state) { - call(task, global, function () { - var promise = state.facade; - if (IS_NODE) { - process.emit('rejectionHandled', promise); - } else dispatchEvent(REJECTION_HANDLED, promise, state.value); - }); -}; - -var bind = function (fn, state, unwrap) { - return function (value) { - fn(state, value, unwrap); - }; -}; - -var internalReject = function (state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - state.value = value; - state.state = REJECTED; - notify(state, true); -}; - -var internalResolve = function (state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - try { - if (state.facade === value) throw TypeError("Promise can't be resolved itself"); - var then = isThenable(value); - if (then) { - microtask(function () { - var wrapper = { done: false }; - try { - call(then, value, - bind(internalResolve, wrapper, state), - bind(internalReject, wrapper, state) - ); - } catch (error) { - internalReject(wrapper, error, state); - } - }); - } else { - state.value = value; - state.state = FULFILLED; - notify(state, false); - } - } catch (error) { - internalReject({ done: false }, error, state); - } -}; - -// constructor polyfill -if (FORCED) { - // 25.4.3.1 Promise(executor) - PromiseConstructor = function Promise(executor) { - anInstance(this, PromisePrototype); - aCallable(executor); - call(Internal, this); - var state = getInternalState(this); - try { - executor(bind(internalResolve, state), bind(internalReject, state)); - } catch (error) { - internalReject(state, error); - } - }; - PromisePrototype = PromiseConstructor.prototype; - // eslint-disable-next-line no-unused-vars -- required for `.length` - Internal = function Promise(executor) { - setInternalState(this, { - type: PROMISE, - done: false, - notified: false, - parent: false, - reactions: new Queue(), - rejection: false, - state: PENDING, - value: undefined - }); - }; - Internal.prototype = redefineAll(PromisePrototype, { - // `Promise.prototype.then` method - // https://tc39.es/ecma262/#sec-promise.prototype.then - // eslint-disable-next-line unicorn/no-thenable -- safe - then: function then(onFulfilled, onRejected) { - var state = getInternalPromiseState(this); - var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); - state.parent = true; - reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; - reaction.fail = isCallable(onRejected) && onRejected; - reaction.domain = IS_NODE ? process.domain : undefined; - if (state.state == PENDING) state.reactions.add(reaction); - else microtask(function () { - callReaction(reaction, state); - }); - return reaction.promise; - }, - // `Promise.prototype.catch` method - // https://tc39.es/ecma262/#sec-promise.prototype.catch - 'catch': function (onRejected) { - return this.then(undefined, onRejected); - } - }); - OwnPromiseCapability = function () { - var promise = new Internal(); - var state = getInternalState(promise); - this.promise = promise; - this.resolve = bind(internalResolve, state); - this.reject = bind(internalReject, state); - }; - newPromiseCapabilityModule.f = newPromiseCapability = function (C) { - return C === PromiseConstructor || C === PromiseWrapper - ? new OwnPromiseCapability(C) - : newGenericPromiseCapability(C); - }; - - if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) { - nativeThen = NativePromisePrototype.then; - - if (!SUBCLASSING) { - // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs - redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { - var that = this; - return new PromiseConstructor(function (resolve, reject) { - call(nativeThen, that, resolve, reject); - }).then(onFulfilled, onRejected); - // https://github.com/zloirock/core-js/issues/640 - }, { unsafe: true }); - - // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` - redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true }); - } - - // make `.constructor === Promise` work for native promise-based APIs - try { - delete NativePromisePrototype.constructor; - } catch (error) { /* empty */ } - - // make `instanceof Promise` work for native promise-based APIs - if (setPrototypeOf) { - setPrototypeOf(NativePromisePrototype, PromisePrototype); - } - } -} - -$({ global: true, wrap: true, forced: FORCED }, { - Promise: PromiseConstructor -}); - -setToStringTag(PromiseConstructor, PROMISE, false, true); -setSpecies(PROMISE); - -PromiseWrapper = getBuiltIn(PROMISE); - -// statics -$({ target: PROMISE, stat: true, forced: FORCED }, { - // `Promise.reject` method - // https://tc39.es/ecma262/#sec-promise.reject - reject: function reject(r) { - var capability = newPromiseCapability(this); - call(capability.reject, undefined, r); - return capability.promise; - } -}); - -$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { - // `Promise.resolve` method - // https://tc39.es/ecma262/#sec-promise.resolve - resolve: function resolve(x) { - return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); - } -}); - -$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { - // `Promise.all` method - // https://tc39.es/ecma262/#sec-promise.all - all: function all(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aCallable(C.resolve); - var values = []; - var counter = 0; - var remaining = 1; - iterate(iterable, function (promise) { - var index = counter++; - var alreadyCalled = false; - remaining++; - call($promiseResolve, C, promise).then(function (value) { - if (alreadyCalled) return; - alreadyCalled = true; - values[index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if (result.error) reject(result.value); - return capability.promise; - }, - // `Promise.race` method - // https://tc39.es/ecma262/#sec-promise.race - race: function race(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aCallable(C.resolve); - iterate(iterable, function (promise) { - call($promiseResolve, C, promise).then(capability.resolve, reject); - }); - }); - if (result.error) reject(result.value); - return capability.promise; - } -}); +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__("5e7e"); +__webpack_require__("14e5"); +__webpack_require__("cc98"); +__webpack_require__("3529"); +__webpack_require__("f22b"); +__webpack_require__("7149"); /***/ }), @@ -32325,7 +32632,7 @@ var classof = __webpack_require__("c6b6"); // `IsArray` abstract operation // https://tc39.es/ecma262/#sec-isarray -// eslint-disable-next-line es/no-array-isarray -- safe +// eslint-disable-next-line es-x/no-array-isarray -- safe module.exports = Array.isArray || function isArray(argument) { return classof(argument) == 'Array'; }; @@ -32368,6 +32675,85 @@ module.exports = function (it) { }; +/***/ }), + +/***/ "e9c4": +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__("23e7"); +var getBuiltIn = __webpack_require__("d066"); +var apply = __webpack_require__("2ba4"); +var call = __webpack_require__("c65b"); +var uncurryThis = __webpack_require__("e330"); +var fails = __webpack_require__("d039"); +var isArray = __webpack_require__("e8b5"); +var isCallable = __webpack_require__("1626"); +var isObject = __webpack_require__("861d"); +var isSymbol = __webpack_require__("d9b5"); +var arraySlice = __webpack_require__("f36a"); +var NATIVE_SYMBOL = __webpack_require__("4930"); + +var $stringify = getBuiltIn('JSON', 'stringify'); +var exec = uncurryThis(/./.exec); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var replace = uncurryThis(''.replace); +var numberToString = uncurryThis(1.0.toString); + +var tester = /[\uD800-\uDFFF]/g; +var low = /^[\uD800-\uDBFF]$/; +var hi = /^[\uDC00-\uDFFF]$/; + +var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () { + var symbol = getBuiltIn('Symbol')(); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) != '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) != '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) != '{}'; +}); + +// https://github.com/tc39/proposal-well-formed-stringify +var ILL_FORMED_UNICODE = fails(function () { + return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify('\uDEAD') !== '"\\udead"'; +}); + +var stringifyWithSymbolsFix = function (it, replacer) { + var args = arraySlice(arguments); + var $replacer = replacer; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (isCallable($replacer)) value = call($replacer, this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return apply($stringify, null, args); +}; + +var fixIllFormed = function (match, offset, string) { + var prev = charAt(string, offset - 1); + var next = charAt(string, offset + 1); + if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) { + return '\\u' + numberToString(charCodeAt(match, 0), 16); + } return match; +}; + +if ($stringify) { + // `JSON.stringify` method + // https://tc39.es/ecma262/#sec-json.stringify + $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice(arguments); + var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args); + return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result; + } + }); +} + + /***/ }), /***/ "eac5": @@ -32379,7 +32765,7 @@ var floor = Math.floor; // `IsIntegralNumber` abstract operation // https://tc39.es/ecma262/#sec-isintegralnumber -// eslint-disable-next-line es/no-number-isinteger -- safe +// eslint-disable-next-line es-x/no-number-isinteger -- safe module.exports = Number.isInteger || function isInteger(it) { return !isObject(it) && isFinite(it) && floor(it) === it; }; @@ -32412,7 +32798,7 @@ var hasOwn = __webpack_require__("1a2d"); var classof = __webpack_require__("f5df"); var tryToString = __webpack_require__("0d51"); var createNonEnumerableProperty = __webpack_require__("9112"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var defineProperty = __webpack_require__("9bf2").f; var isPrototypeOf = __webpack_require__("3a9b"); var getPrototypeOf = __webpack_require__("e163"); @@ -32493,7 +32879,7 @@ var exportTypedArrayMethod = function (KEY, property, forced, options) { } } if (!TypedArrayPrototype[KEY] || forced) { - redefine(TypedArrayPrototype, KEY, forced ? property + defineBuiltIn(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); } }; @@ -32511,14 +32897,14 @@ var exportTypedArrayStaticMethod = function (KEY, property, forced) { if (!TypedArray[KEY] || forced) { // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable try { - return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); + return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); } catch (error) { /* empty */ } } else return; } for (ARRAY in TypedArrayConstructorsList) { TypedArrayConstructor = global[ARRAY]; if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { - redefine(TypedArrayConstructor, KEY, property); + defineBuiltIn(TypedArrayConstructor, KEY, property); } } }; @@ -32584,6 +32970,21 @@ module.exports = { }; +/***/ }), + +/***/ "edd0": +/***/ (function(module, exports, __webpack_require__) { + +var makeBuiltIn = __webpack_require__("13d2"); +var defineProperty = __webpack_require__("9bf2"); + +module.exports = function (target, name, descriptor) { + if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + + /***/ }), /***/ "f052": @@ -32719,6 +33120,29 @@ var meta = module.exports = { hiddenKeys[METADATA] = true; +/***/ }), + +/***/ "f22b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var call = __webpack_require__("c65b"); +var newPromiseCapabilityModule = __webpack_require__("f069"); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__("4738").CONSTRUCTOR; + +// `Promise.reject` method +// https://tc39.es/ecma262/#sec-promise.reject +$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + reject: function reject(r) { + var capability = newPromiseCapabilityModule.f(this); + call(capability.reject, undefined, r); + return capability.promise; + } +}); + + /***/ }), /***/ "f26d": @@ -34136,7 +34560,7 @@ if (typeof window !== 'undefined') { // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.define-property.js var es_object_define_property = __webpack_require__("7a82"); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/ChatWindow.vue?vue&type=template&id=1349ffc2& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/ChatWindow.vue?vue&type=template&id=1349ffc2& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-card-window",style:([{ height: _vm.height }, _vm.cssVars])},[_c('div',{staticClass:"vac-chat-container"},[(!_vm.singleRoom)?_c('rooms-list',{attrs:{"current-user-id":_vm.currentUserId,"rooms":_vm.orderedRooms,"loading-rooms":_vm.loadingRooms,"rooms-loaded":_vm.roomsLoaded,"room":_vm.room,"room-actions":_vm.roomActions,"text-messages":_vm.t,"show-search":_vm.showSearch,"show-add-room":_vm.showAddRoom,"show-rooms-list":_vm.showRoomsList,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"is-mobile":_vm.isMobile,"scroll-distance":_vm.scrollDistance},on:{"fetch-room":_vm.fetchRoom,"fetch-more-rooms":_vm.fetchMoreRooms,"loading-more-rooms":function($event){_vm.loadingMoreRooms = $event},"add-room":_vm.addRoom,"room-action-handler":_vm.roomActionHandler},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),_c('room',{attrs:{"current-user-id":_vm.currentUserId,"rooms":_vm.rooms,"room-id":_vm.room.roomId || '',"load-first-room":_vm.loadFirstRoom,"messages":_vm.messages,"room-message":_vm.roomMessage,"messages-loaded":_vm.messagesLoaded,"menu-actions":_vm.menuActions,"message-actions":_vm.messageActions,"message-selection-actions":_vm.messageSelectionActions,"auto-scroll":_vm.autoScroll,"show-send-icon":_vm.showSendIcon,"show-files":_vm.showFiles,"show-audio":_vm.showAudio,"audio-bit-rate":_vm.audioBitRate,"audio-sample-rate":_vm.audioSampleRate,"show-emojis":_vm.showEmojis,"show-reaction-emojis":_vm.showReactionEmojis,"show-new-messages-divider":_vm.showNewMessagesDivider,"show-footer":_vm.showFooter,"text-messages":_vm.t,"single-room":_vm.singleRoom,"show-rooms-list":_vm.showRoomsList,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"is-mobile":_vm.isMobile,"loading-rooms":_vm.loadingRooms,"room-info-enabled":_vm.roomInfoEnabled,"textarea-action-enabled":_vm.textareaActionEnabled,"user-tags-enabled":_vm.userTagsEnabled,"emojis-suggestion-enabled":_vm.emojisSuggestionEnabled,"scroll-distance":_vm.scrollDistance,"accepted-files":_vm.acceptedFiles,"templates-text":_vm.templatesText,"username-options":_vm.usernameOptions},on:{"toggle-rooms-list":_vm.toggleRoomsList,"room-info":_vm.roomInfo,"fetch-messages":_vm.fetchMessages,"send-message":_vm.sendMessage,"edit-message":_vm.editMessage,"delete-message":_vm.deleteMessage,"open-file":_vm.openFile,"open-user-tag":_vm.openUserTag,"open-failed-message":_vm.openFailedMessage,"menu-action-handler":_vm.menuActionHandler,"message-action-handler":_vm.messageActionHandler,"message-selection-action-handler":_vm.messageSelectionActionHandler,"send-message-reaction":_vm.sendMessageReaction,"typing-message":_vm.typingMessage,"textarea-action-handler":_vm.textareaActionHandler},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1),_c('transition',{attrs:{"name":"vac-fade-preview","appear":""}},[(_vm.showMediaPreview)?_c('media-preview',{attrs:{"file":_vm.previewFile},on:{"close-media-preview":function($event){_vm.showMediaPreview = false}}}):_vm._e()],1)],1)} var staticRenderFns = [] @@ -34242,7 +34666,7 @@ var es_array_find = __webpack_require__("7db0"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.entries.js var es_object_entries = __webpack_require__("4fad"); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomsList.vue?vue&type=template&id=e9cbf0d4& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomsList.vue?vue&type=template&id=e9cbf0d4& var RoomsListvue_type_template_id_e9cbf0d4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.showRoomsList),expression:"showRoomsList"}],staticClass:"vac-rooms-container",class:{ 'vac-rooms-container-full': _vm.isMobile, 'vac-app-border-r': !_vm.isMobile }},[_vm._t("rooms-header"),_vm._t("rooms-list-search",function(){return [_c('rooms-search',{attrs:{"rooms":_vm.rooms,"loading-rooms":_vm.loadingRooms,"text-messages":_vm.textMessages,"show-search":_vm.showSearch,"show-add-room":_vm.showAddRoom},on:{"search-room":_vm.searchRoom,"add-room":function($event){return _vm.$emit('add-room')}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})]}),_c('loader',{attrs:{"show":_vm.loadingRooms},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.loadingRooms && !_vm.rooms.length)?_c('div',{staticClass:"vac-rooms-empty"},[_vm._t("rooms-empty",function(){return [_vm._v(" "+_vm._s(_vm.textMessages.ROOMS_EMPTY)+" ")]})],2):_vm._e(),(!_vm.loadingRooms)?_c('div',{staticClass:"vac-room-list",attrs:{"id":"rooms-list"}},[_vm._l((_vm.filteredRooms),function(fRoom){return _c('div',{key:fRoom.roomId,staticClass:"vac-room-item",class:{ 'vac-room-selected': _vm.selectedRoomId === fRoom.roomId },attrs:{"id":fRoom.roomId},on:{"click":function($event){return _vm.openRoom(fRoom)}}},[_c('room-content',{attrs:{"current-user-id":_vm.currentUserId,"room":fRoom,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"text-messages":_vm.textMessages,"room-actions":_vm.roomActions},on:{"room-action-handler":function($event){return _vm.$emit('room-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_c('transition',{attrs:{"name":"vac-fade-message"}},[(_vm.rooms.length && !_vm.loadingRooms)?_c('div',{attrs:{"id":"infinite-loader-rooms"}},[_c('loader',{attrs:{"show":_vm.showLoader,"infinite":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e()])],2):_vm._e()],2)} var RoomsListvue_type_template_id_e9cbf0d4_staticRenderFns = [] @@ -34252,7 +34676,7 @@ var RoomsListvue_type_template_id_e9cbf0d4_staticRenderFns = [] // EXTERNAL MODULE: ./node_modules/core-js/modules/web.timers.js var web_timers = __webpack_require__("4795"); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Loader/Loader.vue?vue&type=template&id=2c0ab9be& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Loader/Loader.vue?vue&type=template&id=2c0ab9be& var Loadervue_type_template_id_2c0ab9be_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-fade-spinner","appear":""}},[(_vm.show)?_c('div',{staticClass:"vac-loader-wrapper",class:{ 'vac-container-center': !_vm.infinite, 'vac-container-top': _vm.infinite @@ -34415,7 +34839,7 @@ var component = normalizeComponent( ) /* harmony default export */ var Loader = (component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?vue&type=template&id=1fc42a9b& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?vue&type=template&id=1fc42a9b& var RoomsSearchvue_type_template_id_1fc42a9b_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'vac-box-search': _vm.showSearchBar, 'vac-box-empty': !_vm.showSearchBar @@ -34425,7 +34849,7 @@ var RoomsSearchvue_type_template_id_1fc42a9b_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?vue&type=template&id=1fc42a9b& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SvgIcon/SvgIcon.vue?vue&type=template&id=e01c0bf4& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SvgIcon/SvgIcon.vue?vue&type=template&id=e01c0bf4& var SvgIconvue_type_template_id_e01c0bf4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{"xmlns":"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","version":"1.1","width":"24","height":"24","viewBox":("0 0 " + _vm.size + " " + _vm.size)}},[_c('path',{attrs:{"id":_vm.svgId,"d":_vm.svgItem[_vm.name].path}}),(_vm.svgItem[_vm.name].path2)?_c('path',{attrs:{"id":_vm.svgId,"d":_vm.svgItem[_vm.name].path2}}):_vm._e()])} var SvgIconvue_type_template_id_e01c0bf4_staticRenderFns = [] @@ -34662,7 +35086,7 @@ var RoomsSearch_component = normalizeComponent( ) /* harmony default export */ var RoomsSearch = (RoomsSearch_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomContent/RoomContent.vue?vue&type=template&id=6888cbad& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomContent/RoomContent.vue?vue&type=template&id=6888cbad& var RoomContentvue_type_template_id_6888cbad_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-room-container"},[_vm._t("room-list-item",function(){return [_vm._t("room-list-avatar",function(){return [(_vm.room.avatar)?_c('div',{staticClass:"vac-avatar",style:({ 'background-image': ("url('" + (_vm.room.avatar) + "')") })}):_vm._e()]},null,{ room: _vm.room }),_c('div',{staticClass:"vac-name-container vac-text-ellipsis"},[_c('div',{staticClass:"vac-title-container"},[(_vm.userStatus)?_c('div',{staticClass:"vac-state-circle",class:{ 'vac-state-online': _vm.userStatus === 'online' }}):_vm._e(),_c('div',{staticClass:"vac-room-name vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.room.roomName)+" ")]),(_vm.room.lastMessage)?_c('div',{staticClass:"vac-text-date"},[_vm._v(" "+_vm._s(_vm.room.lastMessage.timestamp)+" ")]):_vm._e()]),_c('div',{staticClass:"vac-text-last",class:{ 'vac-message-new': _vm.room.lastMessage && _vm.room.lastMessage.new && !_vm.typingUsers @@ -34678,8 +35102,8 @@ var RoomContentvue_type_template_id_6888cbad_staticRenderFns = [] var v_click_outside_umd = __webpack_require__("c28b"); var v_click_outside_umd_default = /*#__PURE__*/__webpack_require__.n(v_click_outside_umd); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FormatMessage/FormatMessage.vue?vue&type=template&id=934b3d7e& -var FormatMessagevue_type_template_id_934b3d7e_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-format-message-wrapper",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:"vac-format-container"},[_c(message.url ? 'a' : 'span',{tag:"component",class:{ +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FormatMessage/FormatMessage.vue?vue&type=template&id=3a015d3f& +var FormatMessagevue_type_template_id_3a015d3f_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-format-message-wrapper",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:"vac-format-container"},[_c(message.url ? 'a' : 'span',{tag:"component",class:{ 'vac-text-ellipsis': _vm.singleLine, 'vac-text-bold': message.bold, 'vac-text-italic': _vm.deleted || message.italic, @@ -34691,11 +35115,11 @@ var FormatMessagevue_type_template_id_934b3d7e_render = function () {var _vm=thi },attrs:{"href":message.href,"target":message.href ? _vm.linkOptions.target : null,"rel":message.href ? _vm.linkOptions.rel : null},on:{"click":function($event){return _vm.openTag(message)}}},[_vm._t("deleted-icon",function(){return [(_vm.deleted)?_c('svg-icon',{staticClass:"vac-icon-deleted",attrs:{"name":"deleted"}}):_vm._e()]},null,{ deleted: _vm.deleted }),(message.url && message.image)?[_c('div',{staticClass:"vac-image-link-container"},[_c('div',{staticClass:"vac-image-link",style:({ 'background-image': ("url('" + (message.value) + "')"), height: message.height - })})]),_c('div',{staticClass:"vac-image-link-message"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',[_vm._v(_vm._s(message.value))])]],2)],1)}),0):_c('div',[_vm._v(" "+_vm._s(_vm.formattedContent)+" ")])])} -var FormatMessagevue_type_template_id_934b3d7e_staticRenderFns = [] + })})]),_c('div',{staticClass:"vac-image-link-message"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',{domProps:{"innerHTML":_vm._s(message.value)}},[_vm._v(" "+_vm._s(message.value)+" ")])]],2)],1)}),0):_c('div',{domProps:{"innerHTML":_vm._s(_vm.formattedContent)}})])} +var FormatMessagevue_type_template_id_3a015d3f_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/FormatMessage/FormatMessage.vue?vue&type=template&id=934b3d7e& +// CONCATENATED MODULE: ./src/components/FormatMessage/FormatMessage.vue?vue&type=template&id=3a015d3f& // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.is-array.js var es_array_is_array = __webpack_require__("277d"); @@ -35078,6 +35502,7 @@ var constants = __webpack_require__("c9d9"); + // @@ -35200,6 +35625,7 @@ var constants = __webpack_require__("c9d9"); m.multiline = _this.checkType(m, 'multiline-code'); m.tag = _this.checkType(m, 'tag'); m.image = _this.checkImageType(m); + m.value = _this.replaceEmojiByElement(m.value); }); return message; }, @@ -35262,6 +35688,25 @@ var constants = __webpack_require__("c9d9"); }); this.$emit('open-user-tag', user); } + }, + replaceEmojiByElement: function replaceEmojiByElement(value) { + var emojiSize; + + if (this.singleLine) { + emojiSize = 16; + } else { + var onlyEmojis = this.containsOnlyEmojis(); + emojiSize = onlyEmojis ? 28 : 20; + } + + return value.replaceAll(/(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFF]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])/g, function (v) { + return "").concat(v, ""); + }); + }, + containsOnlyEmojis: function containsOnlyEmojis() { + var onlyEmojis = this.content.replace(new RegExp("[\0-\u1EEFf]", 'g'), ''); + var visibleChars = this.content.replace(new RegExp('[\n\rs]+|( )+', 'g'), ''); + return onlyEmojis.length === visibleChars.length; } } }); @@ -35277,8 +35722,8 @@ var constants = __webpack_require__("c9d9"); var FormatMessage_component = normalizeComponent( FormatMessage_FormatMessagevue_type_script_lang_js_, - FormatMessagevue_type_template_id_934b3d7e_render, - FormatMessagevue_type_template_id_934b3d7e_staticRenderFns, + FormatMessagevue_type_template_id_3a015d3f_render, + FormatMessagevue_type_template_id_3a015d3f_staticRenderFns, false, null, null, @@ -35871,14 +36316,14 @@ var RoomsList_component = normalizeComponent( ) /* harmony default export */ var RoomsList = (RoomsList_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/Room.vue?vue&type=template&id=5c60aee1& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/Room.vue?vue&type=template&id=5c60aee1& var Roomvue_type_template_id_5c60aee1_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"show",rawName:"v-show",value:((_vm.isMobile && !_vm.showRoomsList) || !_vm.isMobile || _vm.singleRoom),expression:"(isMobile && !showRoomsList) || !isMobile || singleRoom"}],staticClass:"vac-col-messages",on:{"touchstart":_vm.touchStart}},[(_vm.showNoRoom)?_vm._t("no-room-selected",function(){return [_c('div',{staticClass:"vac-container-center vac-room-empty"},[_c('div',[_vm._v(_vm._s(_vm.textMessages.ROOM_EMPTY))])])]}):_c('room-header',{attrs:{"current-user-id":_vm.currentUserId,"text-messages":_vm.textMessages,"single-room":_vm.singleRoom,"show-rooms-list":_vm.showRoomsList,"is-mobile":_vm.isMobile,"room-info-enabled":_vm.roomInfoEnabled,"menu-actions":_vm.menuActions,"room":_vm.room,"message-selection-enabled":_vm.messageSelectionEnabled,"message-selection-actions":_vm.messageSelectionActions,"selected-messages-total":_vm.selectedMessages.length},on:{"toggle-rooms-list":function($event){return _vm.$emit('toggle-rooms-list')},"room-info":function($event){return _vm.$emit('room-info')},"menu-action-handler":function($event){return _vm.$emit('menu-action-handler', $event)},"message-selection-action-handler":_vm.messageSelectionActionHandler,"cancel-message-selection":function($event){_vm.messageSelectionEnabled = false}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{ref:"scrollContainer",staticClass:"vac-container-scroll",attrs:{"id":"messages-list"},on:{"scroll":_vm.onContainerScroll}},[_c('loader',{attrs:{"show":_vm.loadingMessages},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:"vac-messages-container"},[_c('div',{class:{ 'vac-messages-hidden': _vm.loadingMessages }},[_c('transition',{attrs:{"name":"vac-fade-message"}},[_c('div',[(_vm.showNoMessages)?_c('div',{staticClass:"vac-text-started"},[_vm._t("messages-empty",function(){return [_vm._v(" "+_vm._s(_vm.textMessages.MESSAGES_EMPTY)+" ")]})],2):_vm._e(),(_vm.showMessagesStarted)?_c('div',{staticClass:"vac-text-started"},[_vm._v(" "+_vm._s(_vm.textMessages.CONVERSATION_STARTED)+" "+_vm._s(_vm.messages[0].date)+" ")]):_vm._e()])]),(_vm.messages.length && !_vm.messagesLoaded)?_c('div',{attrs:{"id":"infinite-loader-messages"}},[_c('loader',{attrs:{"show":true,"infinite":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e(),_c('transition-group',{key:_vm.roomId,attrs:{"name":"vac-fade-message","tag":"span"}},_vm._l((_vm.messages),function(m,i){return _c('div',{key:m.indexId || m._id},[_c('room-message',{attrs:{"current-user-id":_vm.currentUserId,"message":m,"index":i,"messages":_vm.messages,"edited-message-id":_vm.editedMessageId,"message-actions":_vm.messageActions,"room-users":_vm.room.users,"text-messages":_vm.textMessages,"new-messages":_vm.newMessages,"show-reaction-emojis":_vm.showReactionEmojis,"show-new-messages-divider":_vm.showNewMessagesDivider,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"username-options":_vm.usernameOptions,"message-selection-enabled":_vm.messageSelectionEnabled,"selected-messages":_vm.selectedMessages},on:{"message-added":_vm.onMessageAdded,"message-action-handler":_vm.messageActionHandler,"open-file":_vm.openFile,"open-user-tag":_vm.openUserTag,"open-failed-message":function($event){return _vm.$emit('open-failed-message', $event)},"send-message-reaction":_vm.sendMessageReaction,"select-message":_vm.selectMessage,"unselect-message":_vm.unselectMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),0)],1)])],1),(!_vm.loadingMessages)?_c('div',[_c('transition',{attrs:{"name":"vac-bounce"}},[(_vm.scrollIcon)?_c('div',{staticClass:"vac-icon-scroll",on:{"click":_vm.scrollToBottom}},[_c('transition',{attrs:{"name":"vac-bounce"}},[(_vm.scrollMessagesCount)?_c('div',{staticClass:"vac-badge-counter vac-messages-count"},[_vm._v(" "+_vm._s(_vm.scrollMessagesCount)+" ")]):_vm._e()]),_vm._t("scroll-icon",function(){return [_c('svg-icon',{attrs:{"name":"dropdown","param":"scroll"}})]})],2):_vm._e()])],1):_vm._e(),_c('room-footer',{attrs:{"room":_vm.room,"room-id":_vm.roomId,"room-message":_vm.roomMessage,"text-messages":_vm.textMessages,"show-send-icon":_vm.showSendIcon,"show-files":_vm.showFiles,"show-audio":_vm.showAudio,"show-emojis":_vm.showEmojis,"show-footer":_vm.showFooter,"accepted-files":_vm.acceptedFiles,"textarea-action-enabled":_vm.textareaActionEnabled,"user-tags-enabled":_vm.userTagsEnabled,"emojis-suggestion-enabled":_vm.emojisSuggestionEnabled,"templates-text":_vm.templatesText,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"audio-bit-rate":_vm.audioBitRate,"audio-sample-rate":_vm.audioSampleRate,"init-reply-message":_vm.initReplyMessage,"init-edit-message":_vm.initEditMessage},on:{"update-edited-message-id":function($event){_vm.editedMessageId = $event},"edit-message":function($event){return _vm.$emit('edit-message', $event)},"send-message":function($event){return _vm.$emit('send-message', $event)},"typing-message":function($event){return _vm.$emit('typing-message', $event)},"textarea-action-handler":function($event){return _vm.$emit('textarea-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)} var Roomvue_type_template_id_5c60aee1_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/Room/Room.vue?vue&type=template&id=5c60aee1& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomHeader/RoomHeader.vue?vue&type=template&id=938fbc28& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomHeader/RoomHeader.vue?vue&type=template&id=938fbc28& var RoomHeadervue_type_template_id_938fbc28_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-room-header vac-app-border-b"},[_vm._t("room-header",function(){return [_c('div',{staticClass:"vac-room-wrapper"},[_c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.messageSelectionEnabled)?_c('div',{staticClass:"vac-room-selection"},[_vm._l((_vm.messageSelectionActions),function(action){return _c('div',{key:action.name,attrs:{"id":action.name}},[_c('div',{staticClass:"vac-selection-button",on:{"click":function($event){return _vm.messageSelectionActionHandler(action)}}},[_vm._v(" "+_vm._s(action.title)+" "),_c('span',{staticClass:"vac-selection-button-count"},[_vm._v(" "+_vm._s(_vm.selectedMessagesTotal)+" ")])])])}),_c('div',{staticClass:"vac-selection-cancel vac-item-clickable",on:{"click":function($event){return _vm.$emit('cancel-message-selection')}}},[_vm._v(" "+_vm._s(_vm.textMessages.CANCEL_SELECT_MESSAGE)+" ")])],2):_vm._e()]),(!_vm.messageSelectionEnabled && _vm.messageSelectionAnimationEnded)?[(!_vm.singleRoom)?_c('div',{staticClass:"vac-svg-button vac-toggle-button",class:{ 'vac-rotate-icon-init': !_vm.isMobile, 'vac-rotate-icon': !_vm.showRoomsList && !_vm.isMobile },on:{"click":function($event){return _vm.$emit('toggle-rooms-list')}}},[_vm._t("toggle-icon",function(){return [_c('svg-icon',{attrs:{"name":"toggle"}})]})],2):_vm._e(),_c('div',{staticClass:"vac-info-wrapper",class:{ 'vac-item-clickable': _vm.roomInfoEnabled },on:{"click":function($event){return _vm.$emit('room-info')}}},[_vm._t("room-header-avatar",function(){return [(_vm.room.avatar)?_c('div',{staticClass:"vac-avatar",style:({ 'background-image': ("url('" + (_vm.room.avatar) + "')") })}):_vm._e()]},null,{ room: _vm.room }),_vm._t("room-header-info",function(){return [_c('div',{staticClass:"vac-text-ellipsis"},[_c('div',{staticClass:"vac-room-name vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.room.roomName)+" ")]),(_vm.typingUsers)?_c('div',{staticClass:"vac-room-info vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.typingUsers)+" ")]):_c('div',{staticClass:"vac-room-info vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.userStatus)+" ")])])]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2),(_vm.room.roomId)?_vm._t("room-options",function(){return [(_vm.menuActions.length)?_c('div',{staticClass:"vac-svg-button vac-room-options",on:{"click":function($event){_vm.menuOpened = !_vm.menuOpened}}},[_vm._t("menu-icon",function(){return [_c('svg-icon',{attrs:{"name":"menu"}})]})],2):_vm._e(),(_vm.menuActions.length)?_c('transition',{attrs:{"name":"vac-slide-left"}},[(_vm.menuOpened)?_c('div',{directives:[{name:"click-outside",rawName:"v-click-outside",value:(_vm.closeMenu),expression:"closeMenu"}],staticClass:"vac-menu-options"},[_c('div',{staticClass:"vac-menu-list"},_vm._l((_vm.menuActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:"vac-menu-item",on:{"click":function($event){return _vm.menuActionHandler(action)}}},[_vm._v(" "+_vm._s(action.title)+" ")])])}),0)]):_vm._e()]):_vm._e()]}):_vm._e()]:_vm._e()],2)]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2)} var RoomHeadervue_type_template_id_938fbc28_staticRenderFns = [] @@ -36131,7 +36576,7 @@ var RoomHeader_component = normalizeComponent( ) /* harmony default export */ var RoomHeader = (RoomHeader_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFooter.vue?vue&type=template&id=457f6483& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFooter.vue?vue&type=template&id=457f6483& var RoomFootervue_type_template_id_457f6483_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"show",rawName:"v-show",value:(Object.keys(_vm.room).length && _vm.showFooter),expression:"Object.keys(room).length && showFooter"}],staticClass:"vac-room-footer",class:{ 'vac-app-box-shadow': _vm.shadowFooter },attrs:{"id":"room-footer"}},[_c('room-emojis',{attrs:{"filtered-emojis":_vm.filteredEmojis,"select-item":_vm.selectEmojiItem,"active-up-or-down":_vm.activeUpOrDownEmojis},on:{"select-emoji":function($event){return _vm.selectEmoji($event)},"activate-item":function($event){_vm.activeUpOrDownEmojis = 0}}}),_c('room-users-tag',{attrs:{"filtered-users-tag":_vm.filteredUsersTag,"select-item":_vm.selectUsersTagItem,"active-up-or-down":_vm.activeUpOrDownUsersTag},on:{"select-user-tag":function($event){return _vm.selectUserTag($event)},"activate-item":function($event){_vm.activeUpOrDownUsersTag = 0}}}),_c('room-templates-text',{attrs:{"filtered-templates-text":_vm.filteredTemplatesText,"select-item":_vm.selectTemplatesTextItem,"active-up-or-down":_vm.activeUpOrDownTemplatesText},on:{"select-template-text":function($event){return _vm.selectTemplateText($event)},"activate-item":function($event){_vm.activeUpOrDownTemplatesText = 0}}}),_c('room-message-reply',{attrs:{"room":_vm.room,"message-reply":_vm.messageReply,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions},on:{"reset-message":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('room-files',{attrs:{"files":_vm.files},on:{"remove-file":_vm.removeFile,"reset-message":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:"vac-box-footer",class:{ 'vac-box-footer-border': !_vm.files.length }},[(_vm.showAudio && !_vm.files.length)?_c('div',{staticClass:"vac-icon-textarea-left"},[(_vm.isRecording)?[_c('div',{staticClass:"vac-svg-button vac-icon-audio-stop",on:{"click":_vm.stopRecorder}},[_vm._t("audio-stop-icon",function(){return [_c('svg-icon',{attrs:{"name":"close-outline"}})]})],2),_c('div',{staticClass:"vac-dot-audio-record"}),_c('div',{staticClass:"vac-dot-audio-record-time"},[_vm._v(" "+_vm._s(_vm.recordedTime)+" ")]),_c('div',{staticClass:"vac-svg-button vac-icon-audio-confirm",on:{"click":function($event){return _vm.toggleRecorder(false)}}},[_vm._t("audio-stop-icon",function(){return [_c('svg-icon',{attrs:{"name":"checkmark"}})]})],2)]:_c('div',{staticClass:"vac-svg-button",on:{"click":function($event){return _vm.toggleRecorder(true)}}},[_vm._t("microphone-icon",function(){return [_c('svg-icon',{staticClass:"vac-icon-microphone",attrs:{"name":"microphone"}})]})],2)],2):_vm._e(),_c('textarea',{ref:"roomTextarea",staticClass:"vac-textarea",class:{ @@ -36219,17 +36664,17 @@ var database = __webpack_require__("da58"); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?vue&type=template&id=4b3cfd82& -var EmojiPickerContainervue_type_template_id_4b3cfd82_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-emoji-wrapper"},[_c('div',{staticClass:"vac-svg-button",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{"click":_vm.openEmoji}},[_vm._t("emoji-picker-icon",function(){return [_c('svg-icon',{attrs:{"name":"emoji","param":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{"name":"vac-slide-up","appear":""}},[_c('div',{staticClass:"vac-emoji-picker",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({ +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?vue&type=template&id=44125154& +var EmojiPickerContainervue_type_template_id_44125154_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-emoji-wrapper"},[_c('div',{staticClass:"vac-svg-button",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{"click":_vm.openEmoji}},[_vm._t("emoji-picker-icon",function(){return [_c('svg-icon',{attrs:{"name":"emoji","param":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{"name":"vac-slide-up","appear":""}},[_c('div',{staticClass:"vac-emoji-picker",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({ height: (_vm.emojiPickerHeight + "px"), top: _vm.positionTop ? _vm.emojiPickerHeight : (_vm.emojiPickerTop + "px"), right: _vm.emojiPickerRight, display: _vm.emojiPickerTop || !_vm.emojiReaction ? 'initial' : 'none' })},[(_vm.emojiOpened)?_c('emoji-picker',{ref:"emojiPicker"}):_vm._e()],1)])]:_vm._e()],2)} -var EmojiPickerContainervue_type_template_id_4b3cfd82_staticRenderFns = [] +var EmojiPickerContainervue_type_template_id_44125154_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?vue&type=template&id=4b3cfd82& +// CONCATENATED MODULE: ./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?vue&type=template&id=44125154& // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?vue&type=script&lang=js& @@ -36330,28 +36775,24 @@ var EmojiPickerContainervue_type_template_id_4b3cfd82_staticRenderFns = [] this.setEmojiPickerPosition(ev.clientY, ev.view.innerWidth, ev.view.innerHeight); }, setEmojiPickerPosition: function setEmojiPickerPosition(clientY, innerWidth, innerHeight) { - var _this2 = this; - - setTimeout(function () { - var mobileSize = innerWidth < 500 || innerHeight < 700; - var roomFooterRef = document.getElementById('room-footer'); + var mobileSize = innerWidth < 500 || innerHeight < 700; + var roomFooterRef = document.getElementById('room-footer'); - if (!roomFooterRef) { - if (mobileSize) _this2.emojiPickerRight = '-50px'; - return; - } + if (!roomFooterRef) { + if (mobileSize) this.emojiPickerRight = '-50px'; + return; + } - if (mobileSize) { - _this2.emojiPickerRight = innerWidth / 2 - 150 + 'px'; - _this2.emojiPickerTop = 100; - _this2.emojiPickerHeight = innerHeight - 200; - } else { - var roomFooterTop = roomFooterRef.getBoundingClientRect().top; - var pickerTopPosition = roomFooterTop - clientY > _this2.emojiPickerHeight - 50; - if (pickerTopPosition) _this2.emojiPickerTop = clientY + 10;else _this2.emojiPickerTop = clientY - _this2.emojiPickerHeight - 10; - _this2.emojiPickerRight = _this2.positionTop ? '-50px' : _this2.positionRight ? '60px' : ''; - } - }); + if (mobileSize) { + this.emojiPickerRight = innerWidth / 2 - (this.positionTop ? 200 : 150) + 'px'; + this.emojiPickerTop = 100; + this.emojiPickerHeight = innerHeight - 200; + } else { + var roomFooterTop = roomFooterRef.getBoundingClientRect().top; + var pickerTopPosition = roomFooterTop - clientY > this.emojiPickerHeight - 50; + if (pickerTopPosition) this.emojiPickerTop = clientY + 10;else this.emojiPickerTop = clientY - this.emojiPickerHeight - 10; + this.emojiPickerRight = this.positionTop ? '0px' : this.positionRight ? '60px' : ''; + } } } }); @@ -36367,8 +36808,8 @@ var EmojiPickerContainervue_type_template_id_4b3cfd82_staticRenderFns = [] var EmojiPickerContainer_component = normalizeComponent( EmojiPickerContainer_EmojiPickerContainervue_type_script_lang_js_, - EmojiPickerContainervue_type_template_id_4b3cfd82_render, - EmojiPickerContainervue_type_template_id_4b3cfd82_staticRenderFns, + EmojiPickerContainervue_type_template_id_44125154_render, + EmojiPickerContainervue_type_template_id_44125154_staticRenderFns, false, null, null, @@ -36377,14 +36818,14 @@ var EmojiPickerContainer_component = normalizeComponent( ) /* harmony default export */ var EmojiPickerContainer = (EmojiPickerContainer_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?vue&type=template&id=60413016& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?vue&type=template&id=60413016& var RoomFilesvue_type_template_id_60413016_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.files.length)?_c('div',{staticClass:"vac-room-files-container",style:({ bottom: (_vm.footerHeight + "px") })},[_c('div',{staticClass:"vac-files-box"},_vm._l((_vm.files),function(file,i){return _c('div',{key:i},[_c('room-file',{attrs:{"file":file,"index":i},on:{"remove-file":function($event){return _vm.$emit('remove-file', $event)}}})],1)}),0),_c('div',{staticClass:"vac-icon-close"},[_c('div',{staticClass:"vac-svg-button",on:{"click":function($event){return _vm.$emit('reset-message')}}},[_vm._t("reply-close-icon",function(){return [_c('svg-icon',{attrs:{"name":"close-outline"}})]})],2)])]):_vm._e()])} var RoomFilesvue_type_template_id_60413016_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?vue&type=template&id=60413016& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?vue&type=template&id=c0a62836& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?vue&type=template&id=c0a62836& var RoomFilevue_type_template_id_c0a62836_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-room-file-container"},[_c('loader',{attrs:{"show":_vm.file.loading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:"vac-svg-button vac-icon-remove",on:{"click":function($event){return _vm.$emit('remove-file', _vm.index)}}},[_vm._t("image-close-icon",function(){return [_c('svg-icon',{attrs:{"name":"close","param":"image"}})]})],2),(_vm.isImage)?_c('div',{staticClass:"vac-message-image",class:{ 'vac-blur-loading': _vm.file.loading },style:({ 'background-image': ("url('" + (_vm.file.localUrl || _vm.file.url) + "')") })}):(_vm.isVideo)?_c('video',{class:{ 'vac-blur-loading': _vm.file.loading },attrs:{"controls":""}},[_c('source',{attrs:{"src":_vm.file.localUrl || _vm.file.url}})]):_c('div',{staticClass:"vac-file-container",class:{ 'vac-blur-loading': _vm.file.loading }},[_c('div',[_vm._t("file-icon",function(){return [_c('svg-icon',{attrs:{"name":"file"}})]})],2),_c('div',{staticClass:"vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.file.name)+" ")]),(_vm.file.extension)?_c('div',{staticClass:"vac-text-ellipsis vac-text-extension"},[_vm._v(" "+_vm._s(_vm.file.extension)+" ")]):_vm._e()])],1)} @@ -36576,21 +37017,21 @@ var RoomFiles_component = normalizeComponent( ) /* harmony default export */ var RoomFiles = (RoomFiles_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?vue&type=template&id=86b41b08& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?vue&type=template&id=86b41b08& var RoomMessageReplyvue_type_template_id_86b41b08_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.messageReply)?_c('div',{staticClass:"vac-reply-container",style:({ bottom: (_vm.footerHeight + "px") })},[_c('div',{staticClass:"vac-reply-box"},[_c('div',{staticClass:"vac-reply-info"},[_c('div',{staticClass:"vac-reply-username"},[_vm._v(" "+_vm._s(_vm.messageReply.username)+" ")]),_c('div',{staticClass:"vac-reply-content"},[_c('format-message',{attrs:{"content":_vm.messageReply.content,"users":_vm.room.users,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"reply":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)]),(_vm.isImage)?_c('img',{staticClass:"vac-image-reply",attrs:{"src":_vm.firstFile.url}}):(_vm.isVideo)?_c('video',{staticClass:"vac-image-reply",attrs:{"controls":""}},[_c('source',{attrs:{"src":_vm.firstFile.url}})]):(_vm.isAudio)?_c('audio-player',{staticClass:"vac-audio-reply",attrs:{"src":_vm.firstFile.url},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:"vac-image-reply vac-file-container"},[_c('div',[_vm._t("file-icon",function(){return [_c('svg-icon',{attrs:{"name":"file"}})]})],2),_c('div',{staticClass:"vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.firstFile.name)+" ")]),(_vm.firstFile.extension)?_c('div',{staticClass:"vac-text-ellipsis vac-text-extension"},[_vm._v(" "+_vm._s(_vm.firstFile.extension)+" ")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:"vac-icon-reply"},[_c('div',{staticClass:"vac-svg-button",on:{"click":function($event){return _vm.$emit('reset-message')}}},[_vm._t("reply-close-icon",function(){return [_c('svg-icon',{attrs:{"name":"close-outline"}})]})],2)])]):_vm._e()])} var RoomMessageReplyvue_type_template_id_86b41b08_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?vue&type=template&id=86b41b08& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?vue&type=template&id=d8b85268& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?vue&type=template&id=d8b85268& var AudioPlayervue_type_template_id_d8b85268_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:"vac-audio-player"},[_c('div',{staticClass:"vac-svg-button",on:{"click":_vm.playback}},[(_vm.isPlaying)?_vm._t("audio-pause-icon",function(){return [_c('svg-icon',{attrs:{"name":"audio-pause"}})]}):_vm._t("audio-play-icon",function(){return [_c('svg-icon',{attrs:{"name":"audio-play"}})]})],2),_c('audio-control',{attrs:{"percentage":_vm.progress,"message-selection-enabled":_vm.messageSelectionEnabled},on:{"change-linehead":_vm.onUpdateProgress,"hover-audio-progress":function($event){return _vm.$emit('hover-audio-progress', $event)}}}),_c('audio',{attrs:{"id":_vm.playerUniqId,"src":_vm.audioSource}})],1)])} var AudioPlayervue_type_template_id_d8b85268_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?vue&type=template&id=d8b85268& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?vue&type=template&id=1721db79& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?vue&type=template&id=1721db79& var AudioControlvue_type_template_id_1721db79_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"progress",staticClass:"vac-player-bar",on:{"mousedown":_vm.onMouseDown,"mouseover":function($event){return _vm.$emit('hover-audio-progress', true)},"mouseout":function($event){return _vm.$emit('hover-audio-progress', false)}}},[_c('div',{staticClass:"vac-player-progress"},[_c('div',{staticClass:"vac-line-container"},[_c('div',{staticClass:"vac-line-progress",style:({ width: (_vm.percentage + "%") })}),_c('div',{staticClass:"vac-line-dot",class:{ 'vac-line-dot__active': _vm.isMouseDown },style:({ left: (_vm.percentage + "%") })})])])])} var AudioControlvue_type_template_id_1721db79_staticRenderFns = [] @@ -36988,7 +37429,7 @@ var RoomMessageReply_component = normalizeComponent( ) /* harmony default export */ var RoomMessageReply = (RoomMessageReply_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?vue&type=template&id=082c6732& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?vue&type=template&id=082c6732& var RoomUsersTagvue_type_template_id_082c6732_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.filteredUsersTag.length)?_c('div',{staticClass:"vac-tags-container",style:({ bottom: (_vm.footerHeight + "px") })},_vm._l((_vm.filteredUsersTag),function(user,index){return _c('div',{key:user._id,staticClass:"vac-tags-box",class:{ 'vac-tags-box-active': index === _vm.activeItem },on:{"mouseover":function($event){_vm.activeItem = index},"click":function($event){return _vm.$emit('select-user-tag', user)}}},[_c('div',{staticClass:"vac-tags-info"},[(user.avatar)?_c('div',{staticClass:"vac-avatar vac-tags-avatar",style:({ 'background-image': ("url('" + (user.avatar) + "')") })}):_vm._e(),_c('div',{staticClass:"vac-tags-username"},[_vm._v(" "+_vm._s(user.username)+" ")])])])}),0):_vm._e()])} var RoomUsersTagvue_type_template_id_082c6732_staticRenderFns = [] @@ -37098,7 +37539,7 @@ var RoomUsersTag_component = normalizeComponent( ) /* harmony default export */ var RoomUsersTag = (RoomUsersTag_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?vue&type=template&id=b6026542& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?vue&type=template&id=b6026542& var RoomEmojisvue_type_template_id_b6026542_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.filteredEmojis.length)?_c('div',{staticClass:"vac-emojis-container",style:({ bottom: (_vm.footerHeight + "px") })},_vm._l((_vm.filteredEmojis),function(emoji,index){return _c('div',{key:emoji,staticClass:"vac-emoji-element",class:{ 'vac-emoji-element-active': index === _vm.activeItem },on:{"mouseover":function($event){_vm.activeItem = index},"click":function($event){return _vm.$emit('select-emoji', emoji)}}},[_vm._v(" "+_vm._s(emoji)+" ")])}),0):_vm._e()])} var RoomEmojisvue_type_template_id_b6026542_staticRenderFns = [] @@ -37199,7 +37640,7 @@ var RoomEmojis_component = normalizeComponent( ) /* harmony default export */ var RoomEmojis = (RoomEmojis_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?vue&type=template&id=113f1c86& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?vue&type=template&id=113f1c86& var RoomTemplatesTextvue_type_template_id_113f1c86_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.filteredTemplatesText.length)?_c('div',{staticClass:"vac-template-container vac-app-box-shadow",style:({ bottom: (_vm.footerHeight + "px") })},_vm._l((_vm.filteredTemplatesText),function(template,index){return _c('div',{key:index,staticClass:"vac-template-box",class:{ 'vac-template-active': index === _vm.activeItem },on:{"mouseover":function($event){_vm.activeItem = index},"click":function($event){return _vm.$emit('select-template-text', template)}}},[_c('div',{staticClass:"vac-template-info"},[_c('div',{staticClass:"vac-template-tag"},[_vm._v(" /"+_vm._s(template.tag)+" ")]),_c('div',{staticClass:"vac-template-text"},[_vm._v(" "+_vm._s(template.text)+" ")])])])}),0):_vm._e()])} var RoomTemplatesTextvue_type_template_id_113f1c86_staticRenderFns = [] @@ -38647,7 +39088,7 @@ var RoomFooter_component = normalizeComponent( ) /* harmony default export */ var RoomFooter = (RoomFooter_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/RoomMessage.vue?vue&type=template&id=545cd2c3& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/RoomMessage.vue?vue&type=template&id=545cd2c3& var RoomMessagevue_type_template_id_545cd2c3_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"message",staticClass:"vac-message-wrapper",attrs:{"id":_vm.message._id}},[(_vm.showDate)?_c('div',{staticClass:"vac-card-info vac-card-date"},[_vm._v(" "+_vm._s(_vm.message.date)+" ")]):_vm._e(),(_vm.newMessage._id === _vm.message._id)?_c('div',{staticClass:"vac-line-new"},[_vm._v(" "+_vm._s(_vm.textMessages.NEW_MESSAGES)+" ")]):_vm._e(),(_vm.message.system)?_c('div',{staticClass:"vac-card-info vac-card-system"},[_c('format-message',{attrs:{"content":_vm.message.content,"users":_vm.roomUsers,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions},on:{"open-user-tag":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_c('div',{staticClass:"vac-message-box",class:{ 'vac-offset-current': _vm.message.senderId === _vm.currentUserId },on:{"click":_vm.selectMessage}},[_vm._t("message",function(){return [(_vm.message.avatar && _vm.message.senderId !== _vm.currentUserId)?_c('div',{staticClass:"vac-avatar",style:({ 'background-image': ("url('" + (_vm.message.avatar) + "')") })}):_vm._e(),(_vm.hasSenderUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:"vac-avatar-offset"}):_vm._e(),_c('div',{staticClass:"vac-message-container",class:{ 'vac-message-container-offset': _vm.messageOffset }},[_c('div',{staticClass:"vac-message-card",class:{ @@ -38670,7 +39111,7 @@ var RoomMessagevue_type_template_id_545cd2c3_staticRenderFns = [] // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js var es_array_reduce = __webpack_require__("13d5"); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?vue&type=template&id=514045b4& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?vue&type=template&id=514045b4& var MessageReplyvue_type_template_id_514045b4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-reply-message"},[_c('div',{staticClass:"vac-reply-username"},[_vm._v(" "+_vm._s(_vm.replyUsername)+" ")]),(_vm.isImage)?_c('div',{staticClass:"vac-image-reply-container"},[_c('div',{staticClass:"vac-message-image vac-message-image-reply",style:({ 'background-image': ("url('" + (_vm.firstFile.url) + "')") })})]):(_vm.isVideo)?_c('div',{staticClass:"vac-video-reply-container"},[_c('video',{attrs:{"width":"100%","height":"100%","controls":""}},[_c('source',{attrs:{"src":_vm.firstFile.url}})])]):(_vm.isAudio)?_c('audio-player',{attrs:{"src":_vm.firstFile.url},on:{"update-progress-time":function($event){_vm.progressTime = $event},"hover-audio-progress":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:"vac-file-container"},[_c('div',[_vm._t("file-icon",function(){return [_c('svg-icon',{attrs:{"name":"file"}})]})],2),_c('div',{staticClass:"vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.firstFile.name)+" ")]),(_vm.firstFile.extension)?_c('div',{staticClass:"vac-text-ellipsis vac-text-extension"},[_vm._v(" "+_vm._s(_vm.firstFile.extension)+" ")]):_vm._e()]):_vm._e(),_c('div',{staticClass:"vac-reply-content"},[_c('format-message',{attrs:{"content":_vm.message.replyMessage.content,"users":_vm.roomUsers,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"reply":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)],1)} @@ -38832,14 +39273,14 @@ var MessageReply_component = normalizeComponent( ) /* harmony default export */ var MessageReply = (MessageReply_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?vue&type=template&id=ebb72a26& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?vue&type=template&id=ebb72a26& var MessageFilesvue_type_template_id_ebb72a26_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-message-files-container"},[_vm._l((_vm.imageVideoFiles),function(file,idx){return _c('div',{key:idx + 'iv'},[_c('message-file',{attrs:{"file":file,"current-user-id":_vm.currentUserId,"message":_vm.message,"index":idx,"message-selection-enabled":_vm.messageSelectionEnabled},on:{"open-file":function($event){return _vm.$emit('open-file', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_vm._l((_vm.otherFiles),function(file,idx){return _c('div',{key:idx + 'a',staticClass:"vac-file-wrapper"},[(file.progress >= 0)?_c('progress-bar',{style:({ top: '44px' }),attrs:{"progress":file.progress}}):_vm._e(),_c('div',{staticClass:"vac-file-container",class:{ 'vac-file-container-progress': file.progress >= 0 },on:{"click":function($event){return _vm.openFile($event, file, 'download')}}},[_c('div',{staticClass:"vac-svg-button"},[_vm._t("document-icon",function(){return [_c('svg-icon',{attrs:{"name":"document"}})]})],2),_c('div',{staticClass:"vac-text-ellipsis"},[_vm._v(" "+_vm._s(file.name)+" ")]),(file.extension)?_c('div',{staticClass:"vac-text-ellipsis vac-text-extension"},[_vm._v(" "+_vm._s(file.extension)+" ")]):_vm._e()])],1)}),_c('format-message',{attrs:{"content":_vm.message.content,"users":_vm.roomUsers,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions},on:{"open-user-tag":function($event){return _vm.$emit('open-user-tag', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)} var MessageFilesvue_type_template_id_ebb72a26_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?vue&type=template&id=ebb72a26& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ProgressBar/ProgressBar.vue?vue&type=template&id=561521ed& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ProgressBar/ProgressBar.vue?vue&type=template&id=561521ed& var ProgressBarvue_type_template_id_561521ed_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-fade-spinner","appear":""}},[_c('div',{ref:"progress",staticClass:"vac-progress-wrapper"},[_c('svg',{attrs:{"height":_vm.radius * 2,"width":_vm.radius * 2}},[_c('circle',{style:({ strokeDashoffset: _vm.strokeDashoffset, strokeLinecap: 'round' @@ -38935,7 +39376,7 @@ var ProgressBar_component = normalizeComponent( ) /* harmony default export */ var ProgressBar = (ProgressBar_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?vue&type=template&id=442d693d& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?vue&type=template&id=442d693d& var MessageFilevue_type_template_id_442d693d_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-message-file-container"},[(_vm.isImage)?_c('div',{ref:'imageRef' + _vm.index,staticClass:"vac-message-image-container",on:{"mouseover":function($event){_vm.imageHover = true},"mouseleave":function($event){_vm.imageHover = false},"click":function($event){return _vm.openFile($event, 'preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{style:({ top: ((_vm.imageResponsive.loaderTop) + "px") }),attrs:{"progress":_vm.file.progress}}):_c('loader',{style:({ top: ((_vm.imageResponsive.loaderTop) + "px") }),attrs:{"show":_vm.isImageLoading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:"vac-message-image",class:{ 'vac-blur-loading': _vm.isImageLoading && _vm.message.senderId === _vm.currentUserId @@ -39299,7 +39740,7 @@ var MessageFiles_component = normalizeComponent( ) /* harmony default export */ var MessageFiles = (MessageFiles_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?vue&type=template&id=27f1a961& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?vue&type=template&id=27f1a961& var MessageActionsvue_type_template_id_27f1a961_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-message-actions-wrapper"},[_c('div',{staticClass:"vac-options-container",style:({ display: _vm.hoverAudioProgress ? 'none' : 'initial', width: @@ -39560,7 +40001,7 @@ var MessageActions_component = normalizeComponent( ) /* harmony default export */ var MessageActions = (MessageActions_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?vue&type=template&id=3fc44a38& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?vue&type=template&id=3fc44a38& var MessageReactionsvue_type_template_id_3fc44a38_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.message.deleted)?_c('transition-group',{attrs:{"name":"vac-slide-left","tag":"span"}},_vm._l((_vm.message.reactions),function(reaction,key){return _c('button',{directives:[{name:"show",rawName:"v-show",value:(reaction.length),expression:"reaction.length"}],key:key + 0,staticClass:"vac-button-reaction",class:{ 'vac-reaction-me': reaction.indexOf(_vm.currentUserId) !== -1 },style:({ @@ -40819,7 +41260,7 @@ var Room_component = normalizeComponent( ) /* harmony default export */ var Room = (Room_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/MediaPreview/MediaPreview.vue?vue&type=template&id=2d3ea15a& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/MediaPreview/MediaPreview.vue?vue&type=template&id=2d3ea15a& var MediaPreviewvue_type_template_id_2d3ea15a_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"modal",staticClass:"vac-media-preview",attrs:{"tabindex":"0"},on:{"click":function($event){$event.stopPropagation();return _vm.closeModal.apply(null, arguments)},"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }return _vm.closeModal.apply(null, arguments)}}},[_c('transition',{attrs:{"name":"vac-bounce-preview","appear":""}},[(_vm.isImage)?_c('div',{staticClass:"vac-media-preview-container"},[_c('div',{staticClass:"vac-image-preview",style:({ 'background-image': ("url('" + (_vm.file.url) + "')") })})]):(_vm.isVideo)?_c('div',{staticClass:"vac-media-preview-container"},[_c('video',{attrs:{"width":"100%","height":"100%","controls":"","autoplay":""}},[_c('source',{attrs:{"src":_vm.file.url}})])]):_vm._e()]),_c('div',{staticClass:"vac-svg-button"},[_vm._t("preview-close-icon",function(){return [_c('svg-icon',{attrs:{"name":"close-outline","param":"preview"}})]})],2)],1)} @@ -42130,7 +42571,7 @@ module.exports = { /***/ "fdbf": /***/ (function(module, exports, __webpack_require__) { -/* eslint-disable es/no-symbol -- required for testing */ +/* eslint-disable es-x/no-symbol -- required for testing */ var NATIVE_SYMBOL = __webpack_require__("4930"); module.exports = NATIVE_SYMBOL @@ -42138,16 +42579,6 @@ module.exports = NATIVE_SYMBOL && typeof Symbol.iterator == 'symbol'; -/***/ }), - -/***/ "fea9": -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__("da84"); - -module.exports = global.Promise; - - /***/ }), /***/ "ff81": diff --git a/dist/vue-advanced-chat.common.js.map b/dist/vue-advanced-chat.common.js.map index f8159d4c..5579fdf1 100644 --- a/dist/vue-advanced-chat.common.js.map +++ b/dist/vue-advanced-chat.common.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://vue-advanced-chat/webpack/bootstrap","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.test.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-string-tag-support.js","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?55f2","webpack://vue-advanced-chat/./node_modules/core-js/internals/queue.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/common.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-bind-context.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-ff-version.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-bind.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/length-of-array-like.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/CalcNoiseData.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-species-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-substitution.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-pad.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/ie8-dom-define.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.date.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-url.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/try-to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-repeat.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/same-value.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.reduce.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-copy-within.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-callable.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/state.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-offset.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/an-instance.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/has-own-property.js","webpack://vue-advanced-chat/./src/utils/mobile-detection.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/html.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-ios.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.define-properties.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/require-object-coercible.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterate.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.strike.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-absolute-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/export.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/VBRSeekInfo.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/PsyModel.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.includes.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/utils/class.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/set-species.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/IIISideInfo.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.is-array.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterator-close.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.url.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-apply.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.sticky.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.starts-with.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/task.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-v8-version.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/GainAnalysis.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/utils/options.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-user-agent.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-iterator-method.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-define-properties.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Presets.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/a-possible-prototype.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.set.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterators.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.map.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/this-number-value.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-bind-native.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/parser.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/path.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/indexed-object.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/add-to-unscopables.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/host-report-errors.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-regexp.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.some.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.match.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.timers.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/species-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.trim.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/CBRNewIterationLoop.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Encoder.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vue-advanced-chat/./src/utils/data-validation.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-includes.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-slice-simple.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.filter.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-from.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.sort.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.entries.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-is-extensible.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/a-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-length.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-webkit-version.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.replace.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/shared.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/own-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/whitespaces.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-trim.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Reservoir.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/a-callable.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/not-a-regexp.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.replace-all.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-property-descriptor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-name.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Tables.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.join.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-node.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.set.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-browser.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-assign.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.some.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/date-to-iso-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-multibyte.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/collection-strong.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-species-create.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/MPEGMode.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-constructor.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/BitStream.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/internal-state.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/collection.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.date.now.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/redefine.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-to-array.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/inherit-if-required.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/ReplayGain.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/CalcNoiseResult.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-constructor.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/index.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/tokens/text.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/ieee754.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/enum-bug-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.define-property.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-object.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-create.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.find.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/number-parse-float.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-weak-map.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/FFT.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-fill.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/an-object.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/descriptors.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-property.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.search.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-html.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-object.js","webpack://vue-advanced-chat/./node_modules/emoji-picker-element/picker.js","webpack://vue-advanced-chat/./node_modules/@soda/get-current-script/index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/inspect-source.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/advance-string-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.int16-array.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Version.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.at.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/uid.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-exec.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/LameGlobalFlags.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-forced.js","webpack://vue-advanced-chat/./node_modules/regenerator-runtime/runtime.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/L3Side.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.url-search-params.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.concat.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-define-property.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-property-key.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-from.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.join.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/III_psy_xmin.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.match-all.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/VBRQuantize.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.splice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.every.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.from.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-method-is-strict.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.every.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer-native.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.number.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/error-to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/install-error-cause.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/ATH.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.exec.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.date.to-iso-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.parse-float.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array-buffer.slice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-flags.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-sort.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterators-core.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-html-forced.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.function.name.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/microtask.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/well-known-symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.keys.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-species-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-iteration.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/scanner.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/error-stack-installable.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.last-index-of.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/QuantizePVT.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/freezing.js","webpack://vue-advanced-chat/./src/utils/media-file.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/LameInternalFlags.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-primitive.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.function.bind.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/NsPsy.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://vue-advanced-chat/./node_modules/v-click-outside/dist/v-click-outside.umd.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-pure.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.italics.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.dot-all.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-call.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/classof-raw.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/shared-store.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/clear-error-stack.js","webpack://vue-advanced-chat/(webpack)/buildin/global.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-trim-forced.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.index-of.js","webpack://vue-advanced-chat/./src/utils/constants.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-keys-internal.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.includes.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/document-create-element.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.bold.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/promise-resolve.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/set-global.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.float32-array.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/hidden-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/fails.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-built-in.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.find.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.error.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/set-to-string-tag.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-reduce.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/validate-arguments-length.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.map.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer-non-extensible.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-symbol.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Takehiro.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.error.cause.js","webpack://vue-advanced-chat/./node_modules/emoji-picker-element/database.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/global.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/index.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Quantize.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-method.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Lame.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.description.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/VBRTag.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/redefine-all.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.substr.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-uncurry-this.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/normalize-string-argument.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-last-index-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/perform.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-array.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-integral-number.js","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?28fb","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/MeanBits.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/new-promise-capability.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/internal-metadata.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/III_psy_ratio.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-slice.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/GrInfo.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/NewMDCT.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/classof.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/shared-key.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-positive-integer.js","webpack://vue-advanced-chat/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?77b5","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsList.vue?f4d9","webpack://vue-advanced-chat/./src/components/Loader/Loader.vue?2465","webpack://vue-advanced-chat/src/components/Loader/Loader.vue","webpack://vue-advanced-chat/./src/components/Loader/Loader.vue?11f3","webpack://vue-advanced-chat/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://vue-advanced-chat/./src/components/Loader/Loader.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?1e4b","webpack://vue-advanced-chat/./src/components/SvgIcon/SvgIcon.vue?4967","webpack://vue-advanced-chat/src/components/SvgIcon/SvgIcon.vue","webpack://vue-advanced-chat/./src/components/SvgIcon/SvgIcon.vue?007a","webpack://vue-advanced-chat/./src/components/SvgIcon/SvgIcon.vue","webpack://vue-advanced-chat/src/lib/RoomsList/RoomsSearch/RoomsSearch.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?6053","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomContent/RoomContent.vue?30e8","webpack://vue-advanced-chat/./src/components/FormatMessage/FormatMessage.vue?ada5","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://vue-advanced-chat/./src/utils/format-string.js","webpack://vue-advanced-chat/src/components/FormatMessage/FormatMessage.vue","webpack://vue-advanced-chat/./src/components/FormatMessage/FormatMessage.vue?dfa6","webpack://vue-advanced-chat/./src/components/FormatMessage/FormatMessage.vue","webpack://vue-advanced-chat/./src/utils/typing-text.js","webpack://vue-advanced-chat/src/lib/RoomsList/RoomContent/RoomContent.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomContent/RoomContent.vue?f460","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomContent/RoomContent.vue","webpack://vue-advanced-chat/./src/utils/filter-items.js","webpack://vue-advanced-chat/src/lib/RoomsList/RoomsList.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsList.vue?6ac2","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsList.vue","webpack://vue-advanced-chat/./src/lib/Room/Room.vue?c841","webpack://vue-advanced-chat/./src/lib/Room/RoomHeader/RoomHeader.vue?44d5","webpack://vue-advanced-chat/src/lib/Room/RoomHeader/RoomHeader.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomHeader/RoomHeader.vue?9884","webpack://vue-advanced-chat/./src/lib/Room/RoomHeader/RoomHeader.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFooter.vue?3566","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://vue-advanced-chat/./node_modules/emoji-picker-element/index.js","webpack://vue-advanced-chat/./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?8fd0","webpack://vue-advanced-chat/src/components/EmojiPickerContainer/EmojiPickerContainer.vue","webpack://vue-advanced-chat/./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?21ac","webpack://vue-advanced-chat/./src/components/EmojiPickerContainer/EmojiPickerContainer.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?1968","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?5562","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?f1d0","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?92f2","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?f750","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?8d9f","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?32c3","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?cd7b","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?a4f2","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?802c","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?b9ef","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?5acb","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?e410","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?1abd","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?89ff","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?b6ba","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://vue-advanced-chat/./src/utils/mp3-encoder.js","webpack://vue-advanced-chat/./src/utils/recorder.js","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomFooter.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFooter.vue?fee3","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFooter.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/RoomMessage.vue?2b50","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?fd8f","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageReply/MessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?500a","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?7bfb","webpack://vue-advanced-chat/./src/components/ProgressBar/ProgressBar.vue?9493","webpack://vue-advanced-chat/src/components/ProgressBar/ProgressBar.vue","webpack://vue-advanced-chat/./src/components/ProgressBar/ProgressBar.vue?109c","webpack://vue-advanced-chat/./src/components/ProgressBar/ProgressBar.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?e40c","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?2873","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?6a12","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?c432","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageActions/MessageActions.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?1688","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?2959","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?6d63","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/RoomMessage.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/RoomMessage.vue?c0d1","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/RoomMessage.vue","webpack://vue-advanced-chat/src/lib/Room/Room.vue","webpack://vue-advanced-chat/./src/lib/Room/Room.vue?a9c3","webpack://vue-advanced-chat/./src/lib/Room/Room.vue","webpack://vue-advanced-chat/./src/lib/MediaPreview/MediaPreview.vue?bbf9","webpack://vue-advanced-chat/src/lib/MediaPreview/MediaPreview.vue","webpack://vue-advanced-chat/./src/lib/MediaPreview/MediaPreview.vue?eea1","webpack://vue-advanced-chat/./src/lib/MediaPreview/MediaPreview.vue","webpack://vue-advanced-chat/./src/locales/index.js","webpack://vue-advanced-chat/./src/themes/index.js","webpack://vue-advanced-chat/src/lib/ChatWindow.vue","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?24ad","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue","webpack://vue-advanced-chat/./src/lib/index.js","webpack://vue-advanced-chat/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.slice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-indexed-object.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.int8-array.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/dom-iterables.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-promise-constructor.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/ScaleFac.js"],"names":["detectMobile","userAgent","getUserAgent","userAgentPart","substr","test","navigator","vendor","window","opera","Error","_typeof","obj","Symbol","iterator","constructor","prototype","roomsValidation","roomsValidate","key","type","validate","props","every","prop","validType","Array","isArray","find","t","checkObjectValid","partcipantsValidation","participantsValidate","messagesValidation","messagesValidate","Object","hasOwnProperty","call","undefined","checkMediaType","types","file","some","toLowerCase","includes","isImageFile","IMAGE_TYPES","isVideoFile","VIDEO_TYPES","isImageVideoFile","isAudioFile","AUDIO_TYPES","_defineProperty","value","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","name","show","infinite","param","data","svgItem","search","path","add","toggle","menu","close","paperclip","send","emoji","document","pencil","checkmark","eye","dropdown","deleted","microphone","size","path2","computed","svgId","components","SvgIcon","textMessages","required","showSearch","showAddRoom","rooms","loadingRooms","emits","showSearchBar","_arrayLikeToArray","arr","len","arr2","_arrayWithoutHoles","arrayLikeToArray","_iterableToArray","iter","from","_unsupportedIterableToArray","o","minLen","n","toString","slice","_nonIterableSpread","TypeError","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","linkify","require","text","doLinkify","textFormatting","typeMarkdown","bold","italic","strike","underline","multilineCode","inlineCode","pseudoMarkdown","end","allowed_chars","json","compileToJSON","html","compileToHTML","result","concat","linkifyResult","str","minIndexOf","minIndexOfKey","links","minIndexFromLink","indexOf","startingValue","io","strLeft","strLink","strRight","char","replace","match","RegExp","start","content","item","parseContent","iterateContent","it","removeDuplicates","items","Set","array","spaces","href","users","singleLine","reply","linkOptions","linkifiedMessage","message","m","formattedContent","methods","checkType","checkImageType","index","setImageSize","image","formatTags","usertags","initialContent","openTag","room","currentUserId","typingUsers","user","_id","status","state","IS_TYPING","map","username","join","FormatMessage","directives","clickOutside","roomActions","roomMenuOpened","getLastMessage","userStatus","isMessageCheckmarkVisible","formattedDuration","isAudio","roomActionHandler","action","roomId","closeRoomMenu","val","startsWith","v","formatString","string","normalize","Loader","RoomsSearch","RoomContent","showRoomsList","isMobile","roomsLoaded","scrollDistance","filteredRooms","observer","showLoader","loadingMoreRooms","selectedRoomId","watch","deep","handler","newVal","oldVal","setTimeout","immediate","initIntersectionObserver","root","rootMargin","threshold","options","searchRoom","ev","openRoom","loadMoreRooms","singleRoom","roomInfoEnabled","menuActions","messageSelectionEnabled","messageSelectionActions","selectedMessagesTotal","menuOpened","messageSelectionAnimationEnded","menuActionHandler","closeMenu","messageSelectionActionHandler","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","err","emojiOpened","emojiReaction","positionTop","positionRight","emojiPickerHeight","emojiPickerTop","emojiPickerRight","unicode","addCustomStyling","style","openEmoji","setEmojiPickerPosition","clientY","innerWidth","innerHeight","roomFooterTop","isImage","isVideo","RoomFile","files","footerHeight","percentage","isMouseDown","onMouseDown","onMouseUp","onMouseMove","calculateLineHeadPosition","element","pos","AudioControl","messageId","src","isPlaying","duration","playedTime","progress","playerUniqId","audioSource","mounted","convertTimeMMSS","seconds","playback","resetProgress","onTimeUpdate","onUpdateProgress","updateProgressTime","AudioPlayer","messageReply","firstFile","isOtherFile","filteredUsersTag","selectItem","activeUpOrDown","activeItem","filteredEmojis","filteredTemplatesText","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","lamejs","_","missing","Mp3Encoder","config","bitRate","sampleRate","dataBuffer","encoder","arrayBuffer","maxSamples","samples","_convertBuffer","remaining","left","subarray","buffer","encodeBuffer","Int8Array","flush","blob","Blob","id","Date","now","url","URL","createObjectURL","input","output","s","Math","max","min","Float32Array","out","Int16Array","_floatTo16BitPCM","beforeRecording","pauseRecording","afterRecording","micFailed","encoderOptions","bufferSize","records","isPause","isRecording","volume","_duration","constraints","video","audio","channelCount","echoCancellation","mediaDevices","getUserMedia","_micCaptured","bind","_micError","lameEncoder","stream","getTracks","track","stop","disconnect","processor","context","record","finish","AudioContext","webkitAudioContext","createMediaStreamSource","createScriptProcessor","onaudioprocess","sample","inputBuffer","getChannelData","sum","encode","parseFloat","currentTime","toFixed","sqrt","connect","destination","EmojiPickerContainer","RoomFiles","RoomMessageReply","RoomUsersTag","RoomEmojis","RoomTemplatesText","roomMessage","showSendIcon","showFiles","showAudio","showEmojis","showFooter","acceptedFiles","textareaActionEnabled","userTagsEnabled","emojisSuggestionEnabled","templatesText","audioBitRate","audioSampleRate","initReplyMessage","initEditMessage","editedMessage","cursorRangePosition","fileDialog","selectUsersTagItem","selectEmojiItem","selectTemplatesTextItem","format","activeUpOrDownEmojis","activeUpOrDownUsersTag","activeUpOrDownTemplatesText","emojisDB","keepKeyboardOpen","selectedUsersTag","recorder","isMessageEmpty","isFileLoading","recordedTime","shadowFooter","beforeDestroy","getTextareaRef","focusTextarea","disableMobileFocus","onChangeInput","resizeTextarea","getComputedStyle","el","getPropertyValue","escapeTextarea","onPasteImage","pasteEvent","updateActiveUpOrDown","direction","selectEmoji","selectTemplateText","template","space","position","addEmoji","launchFilePicker","onFileChange","fileURL","typeIndex","loading","extension","localUrl","fetch","blobFile","loadedFile","removeFile","toggleRecorder","recording","stopRecorder","textareaActionHandler","sendMessage","newContent","replyMessage","usersTag","editMessage","messageContent","firstTag","userId","secondTag","updateFooterLists","updateFooterList","tagChar","updateShowUsersTag","query","selectUserTag","updateShowTemplatesText","getCharPosition","endPosition","updateEmojis","emojis","resetFooterList","resetMessage","resetTextareaSize","preventKeyboardFromClosing","initRecorder","roomUsers","replyUsername","radius","stroke","normalizedRadius","circumference","strokeDashoffset","ProgressBar","imageResponsive","imageLoading","imageHover","isImageLoading","maxHeight","loaderTop","checkImgLoad","openFile","event","MessageFile","imageVideoFiles","otherFiles","messageActions","showReactionEmojis","messageHover","hoverMessageId","hoverAudioProgress","menuOptionsTop","optionsOpened","optionsClosing","isMessageActions","isMessageReactions","filteredMessageActions","openOptions","closeOptions","closeEmoji","updateMessageHover","messageActionHandler","sendMessageReaction","reaction","MessageReply","MessageFiles","MessageActions","MessageReactions","messages","editedMessageId","newMessages","showNewMessagesDivider","usernameOptions","selectedMessages","newMessage","progressTime","showUsername","showDate","messageOffset","isMessageHover","isCheckmarkVisible","hasCurrentUserAvatar","hasSenderUserAvatar","isMessageSelected","ref","onHoverMessage","canEditMessage","onLeaveMessage","resetMessageHover","openUserTag","remove","selectMessage","RoomHeader","RoomFooter","RoomMessage","loadFirstRoom","messagesLoaded","autoScroll","infiniteState","loadingMessages","loadingMoreMessages","scrollIcon","scrollMessagesCount","showNoMessages","showNoRoom","showMessagesStarted","preventTopScroll","top","touchStart","touchEvent","addEventListener","once","touchEnd","posXStart","posYStart","onRoomChanged","unwatch","resetMessageSelection","unselectMessage","onMessageAdded","onContainerScroll","e","loadMoreMessages","messageReaction","getBottomScroll","scrollToBottom","behavior","closeModal","ROOMS_EMPTY","ROOM_EMPTY","NEW_MESSAGES","MESSAGE_DELETED","MESSAGES_EMPTY","CONVERSATION_STARTED","TYPE_MESSAGE","SEARCH","IS_ONLINE","LAST_SEEN","CANCEL_SELECT_MESSAGE","defaultThemeStyles","light","general","color","colorButtonClear","colorButton","backgroundColorButton","backgroundInput","colorPlaceholder","colorCaret","colorSpinner","borderStyle","backgroundScrollIcon","container","border","borderRadius","boxShadow","header","background","colorRoomName","colorRoomInfo","footer","borderStyleInput","borderInputSelected","backgroundReply","backgroundTagActive","backgroundTag","sidemenu","backgroundHover","backgroundActive","colorActive","borderColorSearch","backgroundMe","colorStarted","backgroundDeleted","backgroundSelected","colorDeleted","colorUsername","colorTimestamp","backgroundDate","colorDate","backgroundSystem","colorSystem","backgroundMedia","colorReplyUsername","colorReply","colorTag","backgroundImage","colorNewMessages","backgroundScrollCounter","colorScrollCounter","backgroundReaction","borderStyleReaction","backgroundReactionHover","borderStyleReactionHover","colorReactionCounter","backgroundReactionMe","borderStyleReactionMe","backgroundReactionHoverMe","borderStyleReactionHoverMe","colorReactionCounterMe","backgroundAudioRecord","backgroundAudioLine","backgroundAudioProgress","backgroundAudioProgressSelector","colorFileExtension","markdown","colorMulti","colorMessage","colorStateOnline","colorStateOffline","backgroundCounterBadge","colorCounterBadge","icons","closeImage","closeOutline","closePreview","sendDisabled","checkmarkSeen","dropdownMessage","dropdownMessageBackground","dropdownRoom","dropdownScroll","audioPlay","audioPause","audioCancel","audioConfirm","dark","cssThemeVars","RoomsList","Room","MediaPreview","height","theme","styles","responsiveBreakpoint","roomsListOpened","roomsOrder","title","onlyMe","newAfterScrollUp","receive","disabled","rel","mediaPreviewEnabled","minUsers","currentUser","showMediaPreview","previewFile","locales","cssVars","customStyles","defaultStyles","orderedRooms","created","updateResponsive","toggleRoomsList","opened","fetchRoom","reset","fetchMoreRooms","roomInfo","addRoom","fetchMessages","deleteMessage","openFailedMessage","typingMessage","ChatWindow","Vue","component"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFa;AACb;AACA,mBAAO,CAAC,MAA2B;AACnC,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG,4DAA4D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnCD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;;AAEA;;AAEA;;;;;;;;ACPA,uC;;;;;;;ACAA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,KAAK;AACL,+BAA+B,aAAa;AAC5C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/JA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,kBAAkB,mBAAO,CAAC,MAAmC;;AAE7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,MAAgC;;AAExD;;AAEA;;;;;;;;;ACJa;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAAmC;;AAE7D;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA,cAAc,mBAAO,CAAC,MAA0B;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,2BAA2B,mBAAO,CAAC,MAA4C;AAC/E,iBAAiB,mBAAO,CAAC,MAAiC;;AAE1D;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,WAAW,mBAAO,CAAC,MAA4B;AAC/C,iCAAiC,mBAAO,CAAC,MAA4C;AACrF,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,aAAa,mBAAO,CAAC,MAA+B;AACpD,qBAAqB,mBAAO,CAAC,MAA6B;;AAE1D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;;;;;;;;ACrBA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACtBA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA,yCAAyC,IAAI;AAC7C,kDAAkD,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AC3CA;AACA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAA4B;AAClD,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;AAEA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,oBAAoB,mBAAO,CAAC,MAAsC;;AAElE;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,GAAG;AACH,CAAC;;;;;;;;ACVD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAuB;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACjBA,YAAY,mBAAO,CAAC,MAAoB;AACxC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACjCD,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACVA,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACVY;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM;AACd;AACA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,cAAc,mBAAO,CAAC,MAA2B;AACjD,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,cAAc,mBAAO,CAAC,MAA6B;;AAEnD;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,qEAAqE;AACxE;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnBD,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,mCAAmC,mBAAO,CAAC,MAA8C;;AAEzF;AACA;AACA;;;;;;;;;ACLa;AACb,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,wBAAwB,mBAAO,CAAC,MAAmC;;AAEnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AC7BA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,cAAc,mBAAO,CAAC,MAA0B;AAChD,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,4BAA4B,mBAAO,CAAC,MAAuC;AAC3E,cAAc,mBAAO,CAAC,MAA6B;AACnD,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAgB;;AAErC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;;AAEA;AACA;AACA;AACA,UAAU,YAAY;AACtB,UAAU,UAAU;AACpB;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA,UAAU,MAAM;AAChB;AACA,WAAW,MAAM;AACjB;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA,wBAAwB;AACxB,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,UAAU,MAAM;AAChB,UAAU,MAAM;AAChB,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB,UAAU,cAAc;AACxB,WAAW;AACX;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA,UAAU,UAAU;AACpB,UAAU,MAAM;AAChB,WAAW;AACX;AACA;AACA;AACA;A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;;;;;;ACXA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,eAAe,mBAAO,CAAC,MAAuB;AAC9C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtDA,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;;AAGA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,MAAU;AAC5B,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;;AAEA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD,oCAAoC,YAAY;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,sBAAsB;AAC9C,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sBAAsB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sBAAsB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,0BAA0B;AAClD,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA,2BAA2B,8BAA8B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;;AAEA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;;AAEA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA,+BAA+B,8BAA8B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,OAAO;AAClC;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA,gCAAgC;AAChC,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB,wBAAwB;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,YAAY;AAC5C,iCAAiC,iBAAiB;AAClD;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,iBAAiB;AAC9C;;AAEA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA,wCAAwC,YAAY;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wCAAwC,YAAY;AACpD;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;;AAEA;;AAEA,wBAAwB;AACxB,iCAAiC;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,WAAW;AAClC;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW;AAClC,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;;AAEA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,WAAW;AAClC,iCAAiC,kBAAkB;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,gCAAgC,sBAAsB;AACtD;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,UAAU,GAAG;AACtD;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACj1Fa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,eAAe,mBAAO,CAAC,MAAwB;AAC/C,2BAA2B,mBAAO,CAAC,MAAsC;;AAEzE;;AAEA;AACA;AACA,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACpBY;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;ACd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A;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG,4DAA4D;AAC/D;AACA,CAAC;;;;;;;;ACnhCD,kBAAkB,mBAAO,CAAC,MAAmC;;AAE7D;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,oBAAoB,mBAAO,CAAC,MAAoC;AAChE,cAAc,mBAAO,CAAC,MAA0B;AAChD,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,uBAAuB,mBAAO,CAAC,MAA6B;;AAE5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACzBa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,2BAA2B,mBAAO,CAAC,MAAsC;AACzE,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,uFAAuF;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnCD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAA6B;AACjD,WAAW,mBAAO,CAAC,MAAoC;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,aAAa,mBAAO,CAAC,MAA+B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,WAAW,mBAAO,CAAC,MAAmB;AACtC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAAsC;AAClE,8BAA8B,mBAAO,CAAC,MAAwC;AAC9E,aAAa,mBAAO,CAAC,MAA4B;AACjD,cAAc,mBAAO,CAAC,MAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,gBAAgB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACnHA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,gBAAgB,mBAAO,CAAC,MAAgC;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAuB;;AAE5C,eAAe,mBAAO,CAAC,MAAyB;;AAEhD;;AAEA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA,cAAc,mBAAO,CAAC,MAAuB;;AAE7C;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS,OAAO;AAChB,UAAU,MAAM;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,mBAAmB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4B;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,yDAAyD;AACzD;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;;AAEA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACviBa;;AAEb;;AAEA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,wBAAwB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;AC9Ha;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,YAAY,mBAAO,CAAC,MAA6B;AACjD,mBAAmB,mBAAO,CAAC,MAAkC;;AAE7D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACbD,iBAAiB,mBAAO,CAAC,MAA2B;;AAEpD;;;;;;;;ACFA,cAAc,mBAAO,CAAC,MAAsB;AAC5C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,8BAA8B,mBAAO,CAAC,MAAsC;AAC5E,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACtea;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,iBAAiB,mBAAO,CAAC,MAA8B;;AAEvD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D,+BAA+B;;;;;;;;ACF/B,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAwB;AACtD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;AC3CY;AACb,aAAa,mBAAO,CAAC,MAA+B;AACpD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,qBAAqB,mBAAO,CAAC,MAA8B;;AAE3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;AC7BD;;;;;;;;;ACAa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,WAAW,mBAAO,CAAC,MAA8B;AACjD,mCAAmC,mBAAO,CAAC,MAA8C;;AAEzF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;ACdD,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;;;;;;;ACJA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA,2BAA2B,cAAc;AACzC;AACA;AACA,CAAC;;;;;;;;;ACNY;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAS;;AAE9B,aAAa,mBAAO,CAAC,MAAgB;;AAErC;;AAEA,YAAY,mBAAO,CAAC,MAAe;;AAEnC,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,2BAA2B;AAC3B,mCAAmC;AACnC,yCAAyC;AACzC,2BAA2B;AAC3B,+BAA+B;AAC/B,kCAAkC;AAClC,8BAA8B;AAC9B,uCAAuC;AACvC,kCAAkC;AAClC,sCAAsC;AACtC,kCAAkC;AAClC,oCAAoC;AACpC,yCAAyC;AACzC,kCAAkC;AAClC,8CAA8C,qBAAqB;AACnE,gDAAgD;AAChD,qDAAqD;AACrD,8CAA8C;AAC9C,uCAAuC;AACvC,yCAAyC;AACzC,8CAA8C;AAC9C,uCAAuC;AACvC,iCAAiC;AACjC,qCAAqC;AACrC,sCAAsC;AACtC,gCAAgC;AAChC,2CAA2C;AAC3C,mDAAmD;AACnD,+CAA+C;AAC/C,8BAA8B;AAC9B,iCAAiC;AACjC,kCAAkC;AAClC,gCAAgC;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AA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C,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA0B;AAC9C,6BAA6B,mBAAO,CAAC,MAAiC;;AAEtE;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,MAAe;AACtC,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;AAClC,wBAAwB,mBAAO,CAAC,MAAwB;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,kBAAkB;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;;;;;;;;AC3FA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,mBAAO,CAAC,MAAc;AACxC,wBAAwB,mBAAO,CAAC,MAAoB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,aAAa;AACb,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA,gDAAgD;AAChD;AACA,mDAAmD;AACnD;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA,iBAAiB;AACjB,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mCAAmC;AACjE;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,kBAAkB;;AAE1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,wBAAwB,uBAAuB;AAC/C;AACA,2BAA2B,eAAe;AAC1C;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrpBe,SAASU,OAAT,CAAiBC,GAAjB,EAAsB;AACnC;;AAEA,SAAOD,OAAO,GAAG,cAAc,OAAOE,MAArB,IAA+B,YAAY,OAAOA,MAAM,CAACC,QAAzD,GAAoE,UAAUF,GAAV,EAAe;AAClG,WAAO,OAAOA,GAAd;AACD,GAFgB,GAEb,UAAUA,GAAV,EAAe;AACjB,WAAOA,GAAG,IAAI,cAAc,OAAOC,MAA5B,IAAsCD,GAAG,CAACG,WAAJ,KAAoBF,MAA1D,IAAoED,GAAG,KAAKC,MAAM,CAACG,SAAnF,GAA+F,QAA/F,GAA0G,OAAOJ,GAAxH;AACD,GAJM,EAIJD,OAAO,CAACC,GAAD,CAJV;AAKD,C;;;;;;;;;;;;;;;;;;;;;;;;ACRM,SAASK,eAAT,CAAyBL,GAAzB,EAA8B;AACpC,MAAMM,aAAa,GAAG,CACrB;AAAEC,OAAG,EAAE,QAAP;AAAiBC,QAAI,EAAE,CAAC,QAAD,EAAW,QAAX;AAAvB,GADqB,EAErB;AAAED,OAAG,EAAE,UAAP;AAAmBC,QAAI,EAAE,CAAC,QAAD;AAAzB,GAFqB,EAGrB;AAAED,OAAG,EAAE,OAAP;AAAgBC,QAAI,EAAE,CAAC,OAAD;AAAtB,GAHqB,CAAtB;;AAMA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACT,GAAD,EAAMU,KAAN,EAAgB;AAChC,WAAOA,KAAK,CAACC,KAAN,CAAY,UAAAC,IAAI,EAAI;AAC1B,UAAIC,SAAS,GAAG,KAAhB;;AAEA,UAAID,IAAI,CAACJ,IAAL,CAAU,CAAV,MAAiB,OAAjB,IAA4BM,KAAK,CAACC,OAAN,CAAcf,GAAG,CAACY,IAAI,CAACL,GAAN,CAAjB,CAAhC,EAA8D;AAC7DM,iBAAS,GAAG,IAAZ;AACA,OAFD,MAEO,IAAID,IAAI,CAACJ,IAAL,CAAUQ,IAAV,CAAe,UAAAC,CAAC;AAAA,eAAIA,CAAC,KAAK,QAAOjB,GAAG,CAACY,IAAI,CAACL,GAAN,CAAf,CAAL;AAAA,OAAhB,CAAJ,EAAqD;AAC3DM,iBAAS,GAAG,IAAZ;AACA;;AAED,aAAOA,SAAS,IAAIK,gBAAgB,CAAClB,GAAD,EAAMY,IAAI,CAACL,GAAX,CAApC;AACA,KAVM,CAAP;AAWA,GAZD;;AAcA,MAAI,CAACE,QAAQ,CAACT,GAAD,EAAMM,aAAN,CAAb,EAAmC;AAClC,UAAM,IAAIR,KAAJ,CACL,mGADK,CAAN;AAGA;AACD;AAEM,SAASqB,qBAAT,CAA+BnB,GAA/B,EAAoC;AAC1C,MAAMoB,oBAAoB,GAAG,CAC5B;AAAEb,OAAG,EAAE,KAAP;AAAcC,QAAI,EAAE,CAAC,QAAD,EAAW,QAAX;AAApB,GAD4B,EAE5B;AAAED,OAAG,EAAE,UAAP;AAAmBC,QAAI,EAAE,CAAC,QAAD;AAAzB,GAF4B,CAA7B;;AAKA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACT,GAAD,EAAMU,KAAN,EAAgB;AAChC,WAAOA,KAAK,CAACC,KAAN,CAAY,UAAAC,IAAI,EAAI;AAC1B,UAAMC,SAAS,GAAGD,IAAI,CAACJ,IAAL,CAAUQ,IAAV,CAAe,UAAAC,CAAC;AAAA,eAAIA,CAAC,KAAK,QAAOjB,GAAG,CAACY,IAAI,CAACL,GAAN,CAAf,CAAL;AAAA,OAAhB,CAAlB;AACA,aAAOM,SAAS,IAAIK,gBAAgB,CAAClB,GAAD,EAAMY,IAAI,CAACL,GAAX,CAApC;AACA,KAHM,CAAP;AAIA,GALD;;AAOA,MAAI,CAACE,QAAQ,CAACT,GAAD,EAAMoB,oBAAN,CAAb,EAA0C;AACzC,UAAM,IAAItB,KAAJ,CACL,yFADK,CAAN;AAGA;AACD;AAEM,SAASuB,kBAAT,CAA4BrB,GAA5B,EAAiC;AACvC,MAAMsB,gBAAgB,GAAG,CACxB;AAAEf,OAAG,EAAE,KAAP;AAAcC,QAAI,EAAE,CAAC,QAAD,EAAW,QAAX;AAApB,GADwB,EAExB;AAAED,OAAG,EAAE,SAAP;AAAkBC,QAAI,EAAE,CAAC,QAAD,EAAW,QAAX;AAAxB,GAFwB,EAGxB;AAAED,OAAG,EAAE,UAAP;AAAmBC,QAAI,EAAE,CAAC,QAAD,EAAW,QAAX;AAAzB,GAHwB,CAAzB;;AAMA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACT,GAAD,EAAMU,KAAN,EAAgB;AAChC,WAAOA,KAAK,CAACC,KAAN,CAAY,UAAAC,IAAI,EAAI;AAC1B,UAAMC,SAAS,GAAGD,IAAI,CAACJ,IAAL,CAAUQ,IAAV,CAAe,UAAAC,CAAC;AAAA,eAAIA,CAAC,KAAK,QAAOjB,GAAG,CAACY,IAAI,CAACL,GAAN,CAAf,CAAL;AAAA,OAAhB,CAAlB;AACA,aAAOM,SAAS,IAAIK,gBAAgB,CAAClB,GAAD,EAAMY,IAAI,CAACL,GAAX,CAApC;AACA,KAHM,CAAP;AAIA,GALD;;AAOA,MAAI,CAACE,QAAQ,CAACT,GAAD,EAAMsB,gBAAN,CAAb,EAAsC;AACrC,UAAM,IAAIxB,KAAJ,CACL,sHADK,CAAN;AAGA;AACD;;AAED,SAASoB,gBAAT,CAA0BlB,GAA1B,EAA+BO,GAA/B,EAAoC;AACnC,SACCgB,MAAM,CAACnB,SAAP,CAAiBoB,cAAjB,CAAgCC,IAAhC,CAAqCzB,GAArC,EAA0CO,GAA1C,KACAP,GAAG,CAACO,GAAD,CAAH,KAAa,IADb,IAEAP,GAAG,CAACO,GAAD,CAAH,KAAamB,SAHd;AAKA,C;;;;;;;AC3ED,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,wBAAwB,mBAAO,CAAC,MAAkC;AAClE,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,oBAAoB,mBAAO,CAAC,MAAoC;AAChE,eAAe,mBAAO,CAAC,MAAuB;AAC9C,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAA+B;AACpD,2BAA2B,mBAAO,CAAC,MAA6B;AAChE,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,0BAA0B,mBAAO,CAAC,MAAyC;AAC3E,sBAAsB,mBAAO,CAAC,MAAqC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK,gBAAgB;;AAErB;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,0BAA0B,EAAE;AACpD,0BAA0B,wBAAwB;AAClD,KAAK;AACL;;AAEA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACtMA,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,wBAAwB,mBAAO,CAAC,MAAmC;;AAEnE,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/BA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,qBAAqB,mBAAO,CAAC,MAA8B;;AAE3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;;;;;;;;;AChBa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,cAAc,mBAAO,CAAC,MAA8B;AACpD,mCAAmC,mBAAO,CAAC,MAA+C;;AAE1F;;AAEA;AACA;AACA;AACA,GAAG,6DAA6D;AAChE;AACA;AACA;AACA,CAAC;;;;;;;;;ACdY;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAAoC;AACvD,WAAW,mBAAO,CAAC,MAA4B;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,4BAA4B,mBAAO,CAAC,MAAuC;AAC3E,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,wBAAwB,mBAAO,CAAC,MAAkC;;AAElE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,oCAAoC;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ca;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,YAAY,mBAAO,CAAC,MAAoB;AACxC,mBAAmB,mBAAO,CAAC,MAAyB;AACpD,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,SAAS,mBAAO,CAAC,MAAgC;AACjD,iBAAiB,mBAAO,CAAC,MAAmC;AAC5D,SAAS,mBAAO,CAAC,MAAgC;AACjD,aAAa,mBAAO,CAAC,MAAoC;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,WAAW;AAC5B;;AAEA;AACA,oDAAoD;AACpD,kCAAkC;AAClC;AACA;;AAEA,mBAAmB,YAAY;AAC/B,iBAAiB,2BAA2B;AAC5C;AACA;;AAEA,6BAA6B,kBAAkB,EAAE;;AAEjD,iBAAiB,qBAAqB;AACtC;AACA;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,+CAA+C;AAClD;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;;;;;;;ACxGD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,eAAe,mBAAO,CAAC,MAA8B;;AAErD;AACA;AACA,GAAG,+BAA+B;AAClC;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,YAAY,mBAAO,CAAC,MAAoB;AACxC,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAA0B;AAChD,kCAAkC,mBAAO,CAAC,MAA0C;;AAEpF;AACA;AACA,6CAA6C,kBAAkB,EAAE;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACfD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;;AAEA;AACA;AACA;AACA,iFAAiF;AACjF;;;;;;;;ACRA,gBAAgB,mBAAO,CAAC,MAAgC;;AAExD;;AAEA;;;;;;;;;ACJa;AACb,YAAY,mBAAO,CAAC,MAA6B;AACjD,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,oCAAoC,mBAAO,CAAC,MAAiD;AAC7F,YAAY,mBAAO,CAAC,MAAoB;AACxC,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,sBAAsB,mBAAO,CAAC,MAA+B;AAC7D,iBAAiB,mBAAO,CAAC,MAAmC;AAC5D,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,oBAAoB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvID,cAAc,mBAAO,CAAC,MAAsB;AAC5C,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gCAAgC,mBAAO,CAAC,MAA4C;AACpF,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;;;;;;;;ACRA;AACA;AACA;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;AACA;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxSA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACTa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,sBAAsB,mBAAO,CAAC,MAA+B;AAC7D,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,gCAAgC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC3ED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAA+B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,cAAc;AAC5D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACjgBa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACZY;AACb;AACA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mCAAmC;AACnC,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,OAAO;AACP,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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CA;AACA;AACA,iBAAiB,WAAW;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uEAAuE,iBAAiB;AACxF;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACtPa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,YAAY,mBAAO,CAAC,MAA8B;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACXY;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,eAAe,mBAAO,CAAC,MAAyB;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACxCD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnCa;AACb,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,aAAa,mBAAO,CAAC,MAA4B;AACjD,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,WAAW,mBAAO,CAAC,MAAoC;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,cAAc,mBAAO,CAAC,MAAgC;AACtD,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,iEAAiE,iCAAiC;AAClG,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;;AAEA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,SAAS,WAAW,YAAY,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL,SAAS,WAAW;AACpB;AACA;AACA;AACA;AACA;;;;;;;;AC3MA,8BAA8B,mBAAO,CAAC,MAAwC;;AAE9E;AACA;AACA;AACA;AACA;;;;;;;;ACNA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD,wBAAwB;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,eAAe,EAAE;AAC1D;AACA,CAAC;;;;;;;;ACnDD,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,MAAe;AACtC,aAAa,mBAAO,CAAC,MAAa;AAClC,cAAc,mBAAO,CAAC,MAAc;AACpC,wBAAwB,mBAAO,CAAC,MAAwB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;AACA;;AAEA,cAAc,oBAAoB;AAClC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB,uBAAuB;AAC/C;AACA,8BAA8B,UAAU;AACxC;AACA;AACA;;AAEA,wBAAwB,QAAQ;AAChC,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iDAAiD,OAAO;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,QAAQ;AAChC,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,0BAA0B,mBAAmB;AAC7C;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,sCAAsC;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AA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A,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC7CD,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,4BAA4B,mBAAO,CAAC,MAA4C;;AAEhF;AACA;;AAEA,YAAY,kBAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjBA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAO,CAAC,MAAmB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC1DA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;AACb,6BAA6B,mBAAO,CAAC,MAAqC;AAC1E,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;AACA;;AAEA,uBAAuB,sBAAsB,EAAE,EAAE;AACjD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;ACrBa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,WAAW,mBAAO,CAAC,MAA4B;AAC/C,YAAY,mBAAO,CAAC,MAAyB;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnBD;AACA;;;;;;;;ACDA,WAAW,mBAAO,CAAC,MAAmB;AACtC,aAAa,mBAAO,CAAC,MAA+B;AACpD,mCAAmC,mBAAO,CAAC,MAAwC;AACnF,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA,+CAA+C;AAC/C;AACA;AACA,GAAG;AACH;;;;;;;;;ACVa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,kDAAkD,mBAAO,CAAC,MAAwD;AAClH,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,wBAAwB,mBAAO,CAAC,MAA2B;AAC3D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,uBAAuB,mBAAO,CAAC,MAAiC;AAChE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,aAAa,mBAAO,CAAC,MAA+B;AACpD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA4B;AACjD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,cAAc,mBAAO,CAAC,MAA8B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,wBAAwB,mBAAO,CAAC,MAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,mEAAmE;AACxE;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC,oCAAoC;;;;;;;;ACjPrC,iBAAiB,mBAAO,CAAC,MAAe;;;;;;;;;ACA3B;;AAEb;AACA;;AAEA,wBAAwB,mBAAO,CAAC,MAAsB;;AAEtD,aAAa,mBAAO,CAAC,MAAmB;;AAExC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,WAAW;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC;AAChC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8B;;;;;;;AC3MA;AACA,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA,4BAA4B,mBAAO,CAAC,MAAsC;;AAE1E;AACA;;AAEA;;;;;;;;ACNA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA;AACA;AACA,GAAG,qGAAqG;AACxG;AACA,CAAC;;;;;;;;ACTD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,WAAW,mBAAO,CAAC,MAAmB;AACtC,4BAA4B,mBAAO,CAAC,MAAsC;AAC1E,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;ACjFa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA8B;AAClD,uBAAuB,mBAAO,CAAC,MAAiC;;AAEhE;AACA;;AAEA;AACA,4CAA4C,qBAAqB,EAAE;;AAEnE;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;;ACpBa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA4B;AAC/C,cAAc,mBAAO,CAAC,MAAsB;AAC5C,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,eAAe,mBAAO,CAAC,MAAuB;AAC9C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,4CAA4C;AACrF,6CAA6C,4CAA4C;AACzF,+CAA+C,4CAA4C;AAC3F,KAAK,qBAAqB,sCAAsC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,qBAAqB;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA,2CAA2C,mCAAmC;AAC9E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,qFAAqF;AACnG;;AAEA;AACA;AACA,4DAA4D,gBAAgB;AAC5E;AACA;;AAEA;AACA;;;;;;;;AClGA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,WAAW,mBAAO,CAAC,MAA0B;AAC7C,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gCAAgC,EAAE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACrBD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;;AAEA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;;AAEA,uBAAuB,2BAA2B;AAClD;AACA;;AAEA;;AAEA;;AAEA;;;;;;;;;ACrPa;AACb,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,wBAAwB,mBAAO,CAAC,MAAmC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACVa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,gBAAgB,mBAAO,CAAC,MAA6B;;AAErD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA,iCAAiC,MAAM,mBAAmB,UAAU,EAAE,EAAE;AACxE,CAAC;;;;;;;;;ACNY;AACb,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,WAAW,mBAAO,CAAC,MAA4B;AAC/C,oCAAoC,mBAAO,CAAC,MAAiD;AAC7F,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACpCD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6FAA6F;AAC7F;AACA;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;;;;;;;;;ACJA;AAAA;AAAqC;;AAErC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+CAA+C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;;AAEjD;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,YAAY;AAClC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,kDAAkD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,OAAO,aAAa;;AAEpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,uBAAuB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,+BAA+B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY,+BAA+B;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,gBAAgB;AACtB,MAAM,OAAO;AACb,MAAM,WAAW;AACjB,MAAM,cAAc;AACpB,MAAM,wBAAwB;;AAE9B;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,aAAa;AACb;AACA,kDAAkD;AAClD;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,8BAA8B;AAC9B;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,4BAA4B;AAC5B,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD,wCAAwC;AAC3F;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAuB;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD;AACzD,uCAAuC;AACvC;AACA,GAAG;AACH;;AAEA;AACA;AACA,iEAAiE,SAAS;AAC1E;;AAEA;AACA,iDAAiD;AACjD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB,UAAU;AACnC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,cAAc;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD,4BAA4B;AAC5B,GAAG;AACH;;AAEA;AACA;AACA,SAAS,SAAS;;AAElB;AACA;AACA;;AAEA;AACA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS;;AAElB;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,iCAAiC,WAAW;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,gBAAgB;;AAEzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C,MAAM;AACN;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,kBAAkB,iB;AAClB,yBAAyB,oB;AACzB,qBAAqB,gBAAgB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uEAAuE,SAAS;AAChF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uKAAuK;AACvK;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mJAAmJ;;AAEnJ;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,4BAA4B,gBAAgB;AAC5C,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,KAAsC,EAAE,EAK3C;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sCAAsC;AACrD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2EAA2E,mBAAmB;AAC9F;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE,OAAO;AACP,OAAO;AACP;AACA,KAAK;AACL,oEAAoE;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,SAAS;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;AC9ED,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACba;AACb,aAAa,mBAAO,CAAC,MAA+B;;AAEpD;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,gCAAgC,mBAAO,CAAC,MAAqC;;AAE7E;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;;;;;;;ACrBD,kCAAkC,mBAAO,CAAC,MAAsC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACzFa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AChBD,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACRA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;ACTa;AACb;AACA;AACA,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,oBAAoB,mBAAO,CAAC,MAAoC;AAChE,aAAa,mBAAO,CAAC,MAAqB;AAC1C,aAAa,mBAAO,CAAC,MAA4B;AACjD,uBAAuB,mBAAO,CAAC,MAA6B;AAC5D,0BAA0B,mBAAO,CAAC,MAAyC;AAC3E,sBAAsB,mBAAO,CAAC,MAAqC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACpHA,eAAe,mBAAO,CAAC,MAAe;;AAEtC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5QA,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,SAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACjvBA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;;AAGA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACVa;AACb;AACA,mBAAO,CAAC,MAA8B;AACtC,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,qBAAqB,mBAAO,CAAC,MAAyB;AACtD,eAAe,mBAAO,CAAC,MAAuB;AAC9C,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,aAAa,mBAAO,CAAC,MAA+B;AACpD,WAAW,mBAAO,CAAC,MAAoC;AACvD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,aAAa,mBAAO,CAAC,MAA4B;AACjD,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,wBAAwB,mBAAO,CAAC,MAAkC;AAClE,8BAA8B,mBAAO,CAAC,MAAwC;AAC9E,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+EAA+E,EAAE,EAAE,cAAc;AACjG;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,8DAA8D;AAC1F;AACA,KAAK;AACL,0BAA0B,0CAA0C;AACpE;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gDAAgD;AACzE;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA,gFAAgF,kBAAkB;;AAElG;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;;AAEA,GAAG,wCAAwC;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA,OAAO,+CAA+C;AACtD;AACA,0FAA0F;AAC1F;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,8FAA8F;AAC9F;;AAEA;AACA;;AAEA,OAAO,6BAA6B;AACpC;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;AC9Xa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAAC,MAAuB;AAC7C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,C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G;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA,KAAK;AACL;AACA,mDAAmD,iDAAiD;AACpG,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,kCAAkC;AAChH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gFAAgF,eAAe;AAC/F;AACA;AACA;;AAEA,GAAG,yEAAyE;AAC5E;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,GAAG,qDAAqD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,mBAAmB,EAAE;AAC/C,0BAA0B,oBAAoB;AAC9C,CAAC;;AAED,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,0DAA0D,kCAAkC,EAAE,GAAG;AACpG;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY,QAAQ;AACzC;AACA,0CAA0C;AAC1C,GAAG;;AAEH,KAAK,4DAA4D;AACjE;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;;ACpUa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAA8B;AACnD,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;;AAEA;AACA;AACA,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA,CAAC;;;;;;;;ACbD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAAyB;AAC5C,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,2DAA2D;AAC9D;AACA,CAAC;;;;;;;;;ACbY;AACb,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA,+CAA+C,UAAU,EAAE;AAC3D,GAAG;AACH;;;;;;;;;ACTa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,aAAa,mBAAO,CAAC,MAA8B;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD;AACA;;;;;;;;;ACDa;AACb,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAuB;AAC9C,aAAa,mBAAO,CAAC,MAA+B;AACpD,wBAAwB,mBAAO,CAAC,MAAkC;AAClE,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,YAAY,mBAAO,CAAC,MAAoB;AACxC,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,WAAW,mBAAO,CAAC,MAA0B;;AAE7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,wBAAwB,EAAE;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvFa;AACb,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA4B;AACjD,8BAA8B,mBAAO,CAAC,MAAwC;;AAE9E;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,WAAW;AAC3D;AACA,KAAK,EAAE;AACP;AACA;AACA;AACA,mCAAmC,sBAAsB;AACzD;AACA,kCAAkC;AAClC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC7BD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,iBAAiB;AACtB,GAAG;AACH;;;;;;;;ACdA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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A0B;AACnD,YAAY,mBAAO,CAAC,MAAoB;;AAExC,6CAA6C,eAAe,EAAE;;AAE9D;AACA;AACA,GAAG,4DAA4D;AAC/D;AACA;AACA;AACA,CAAC;;;;;;;;;ACbY;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAA4B;AAClD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe;AACf,CAAC;;AAED;AACA;AACA,GAAG,gDAAgD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnID,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,yBAAyB,mBAAO,CAAC,MAAkC;;AAEnE;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,WAAW,mBAAO,CAAC,MAAoC;AACvD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,yBAAyB,mBAAO,CAAC,MAAmC;;AAEpE;;AAEA,qBAAqB,mEAAmE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B,+BAA+B;AAC/B,sCAAsC;AACtC,SAAS;AACT,+BAA+B;AAC/B,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACxEa;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAS;;AAE9B,YAAY,mBAAO,CAAC,MAAe;;AAEnC;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q,onUAAonU;;AAEpnU;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2EAA2E;;AAE3E,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;;AAEA;AACA,4QAA4Q,yJAAyJ,uMAAuM;;AAE5mB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,4CAA4C;;AAE5C;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE;;AAEzE;;AAEA;AACA,gBAAgB,0BAA0B;AAC1C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS,OAAO;AAChB,UAAU,MAAM;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,iBAAiB;;AAEjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sB;;;;;;;ACnLA,YAAY,mBAAO,CAAC,MAAoB;AACxC,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAkC;;AAE5D;AACA;AACA;AACA,GAAG,uEAAuE;AAC1E;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;AACpC,eAAe,mBAAO,CAAC,MAAe;AACtC,wBAAwB,mBAAO,CAAC,MAAwB;;AAExD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,uBAAuB,kBAAkB;AACzC;;AAEA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;;AAEA,uBAAuB,WAAW;AAClC;AACA,uBAAuB,qBAAqB;AAC5C;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;;AAEA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;;AAEA,8BAA8B,uBAAuB;AACrD;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sBAAsB,0BAA0B;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,wBAAwB;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yCAAyC,uBAAuB;AAChE;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC5gCA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA,wDAAwD;AACxD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLD;;AAEA,SAASC,cAAT,CAAwBC,KAAxB,EAA+BC,IAA/B,EAAqC;AACpC,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACrB,IAAnB,EAAyB;AACzB,SAAOoB,KAAK,CAACE,IAAN,CAAW,UAAAb,CAAC;AAAA,WAAIY,IAAI,CAACrB,IAAL,CAAUuB,WAAV,GAAwBC,QAAxB,CAAiCf,CAAjC,CAAJ;AAAA,GAAZ,CAAP;AACA;;AAEM,SAASgB,WAAT,CAAqBJ,IAArB,EAA2B;AACjC,SAAOF,cAAc,CAACO,8DAAD,EAAcL,IAAd,CAArB;AACA;AAEM,SAASM,WAAT,CAAqBN,IAArB,EAA2B;AACjC,SAAOF,cAAc,CAACS,8DAAD,EAAcP,IAAd,CAArB;AACA;AAEM,SAASQ,gBAAT,CAA0BR,IAA1B,EAAgC;AACtC,SAAOF,cAAc,CAACO,8DAAD,EAAcL,IAAd,CAAd,IAAqCF,cAAc,CAACS,8DAAD,EAAcP,IAAd,CAA1D;AACA;AAEM,SAASS,WAAT,CAAqBT,IAArB,EAA2B;AACjC,SAAOF,cAAc,CAACY,8DAAD,EAAcV,IAAd,CAArB;AACA,C;;;;;;;ACrBD,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,YAAY,mBAAO,CAAC,MAAY;AAChC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;;;AAGlC;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;;AAEA;;AAEA;;;;;;;;;ACrYa;;AAEb;AACA;;AAEA,wBAAwB,mBAAO,CAAC,MAAsB;;AAEtD,aAAa,mBAAO,CAAC,MAAmB;;AAExC,YAAY,mBAAO,CAAC,MAAQ;;AAE5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,wFAAwF,eAAe;;AAEvG;AACA;AACA;AACA;AACA;AACA,sFAAsF,aAAa;;AAEnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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ACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB,eAAe;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,cAAc;AACtC;AACA;;AAEA,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,QAAQ;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,cAAc,0BAA0B;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB,kCAAkC;AACzD,4CAA4C,gCAAgC;AAC5E;AACA;AACA;AACA;AACA;AACA,gDAAgD,gCAAgC;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,UAAU;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;;AAEA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,uBAAuB;AACjD;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;;AAEA;AACA;AACA,kCAAkC,uBAAuB;AACzD;AACA;AACA;AACA;;AAEA,qBAAqB,0BAA0B;AAC/C;AACA;;AAEA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA,wCAAwC,eAAe;AACvD;AACA,2BAA2B,YAAY;AACvC,oCAAoC,YAAY;AAChD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wCAAwC,eAAe;AACvD;AACA,2BAA2B,YAAY;AACvC;AACA;AACA;AACA;;AAEA,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,eAAe;AAC9C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;;AAEA;;AAEA,gDAAgD;AAChD;AACA;;AAEA;AACA,oDAAoD;AACpD;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtpCA;AACA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAA6B;AACjD,oCAAoC,mBAAO,CAAC,MAAgD;;AAE5F;AACA;;AAEA,yBAAyB,WAAW;;AAEpC;AACA;AACA;AACA,KAAK,+BAA+B;AACpC;;AAEA;AACA;AACA;AACA;AACA,OAAO,mDAAmD;AAC1D;AACA;;AAEA;AACA;AACA,kCAAkC,qCAAqC;AACvE,CAAC;AACD;AACA,sCAAsC,qCAAqC;AAC3E,CAAC;AACD;AACA,uCAAuC,qCAAqC;AAC5E,CAAC;AACD;AACA,2CAA2C,qCAAqC;AAChF,CAAC;AACD;AACA,wCAAwC,qCAAqC;AAC7E,CAAC;AACD;AACA,sCAAsC,qCAAqC;AAC3E,CAAC;AACD;AACA,qCAAqC,qCAAqC;AAC1E,CAAC;AACD;AACA,yCAAyC,qCAAqC;AAC9E,CAAC;AACD;AACA,sCAAsC,qCAAqC;AAC3E,CAAC;AACD;AACA,yCAAyC,qCAAqC;AAC9E,CAAC;;;;;;;;;ACvDD;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,UAAU;AAC9C;AACA;AACA;AACA,+CAA+C,aAAa;AAC5D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gEAAgE,wBAAwB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,8EAA8E;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mCAAmC;AACrE;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,iBAAiB;AAC7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,8EAA8E,KAAK;AACnG;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK,OAAO;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB;AACA,6BAA6B;AAC7B,KAAK,cAAc;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAE+B;;;;;;;;AC38B/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa,EAAE;;;;;;;;;ACb/B,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,mBAAO,CAAC,MAAW;AAC1B,UAAU,mBAAO,CAAC,MAAc;AAChC,eAAe,mBAAO,CAAC,MAAmB;AAC1C,cAAc,mBAAO,CAAC,MAAkB;AACxC,WAAW,mBAAO,CAAC,MAAe;AAClC,WAAW,mBAAO,CAAC,MAAe;AAClC,YAAY,mBAAO,CAAC,MAAgB;AACpC,WAAW,mBAAO,CAAC,MAAe;AAClC,YAAY,mBAAO,CAAC,MAAgB;AACpC,cAAc,mBAAO,CAAC,MAAc;AACpC,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,sBAAsB,mBAAO,CAAC,MAAsB;AACpD,oBAAoB,mBAAO,CAAC,MAAoB;AAChD,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;AAClC,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,qBAAqB;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+CAA+C,oBAAoB;AACnE;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,+BAA+B,WAAW;AAC1C;AACA,mDAAmD,oBAAoB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA,oCAAoC,YAAY;AAChD,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,EAAE;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;;AAEA,4BAA4B,YAAY;AACxC;AACA;;AAEA,kDAAkD,0BAA0B;AAC5E;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,uBAAuB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,0BAA0B;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA,iCAAiC,mBAAmB;AACpD;AACA;;AAEA;AACA,+CAA+C,uBAAuB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,kBAAkB;AACtC;AACA,wBAAwB,uBAAuB;AAC/C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;ACz9CA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,cAAc,mBAAO,CAAC,MAAuB;AAC7C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,qBAAqB,mBAAO,CAAC,MAA8B;;AAE3D;AACA;AACA,GAAG,mDAAmD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvBD,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,4BAA4B,mBAAO,CAAC,MAAuC;AAC3E,2BAA2B,mBAAO,CAAC,MAA8B;AACjE,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACrCA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,MAAe;AACtC,sBAAsB,mBAAO,CAAC,MAAsB;AACpD,wBAAwB,mBAAO,CAAC,MAAwB;AACxD,UAAU,mBAAO,CAAC,MAAU;AAC5B,iBAAiB,mBAAO,CAAC,MAAiB;AAC1C,0BAA0B,mBAAO,CAAC,MAA0B;AAC5D,gBAAgB,mBAAO,CAAC,MAAgB;AACxC,aAAa,mBAAO,CAAC,MAAa;AAClC,cAAc,mBAAO,CAAC,MAAc;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8BAA8B,YAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,YAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB,yBAAyB;AAChD;;AAEA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,yBAAyB;AAChD;;AAEA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;;AAEA;AACA;;AAEA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,2BAA2B,eAAe;AAC1C;AACA;AACA,2BAA2B,eAAe;AAC1C;AACA;AACA;AACA;;AAEA;;AAEA,2DAA2D;AAC3D;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,aAAa;AACpC;;AAEA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC30DA,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA,wBAAwB,mBAAO,CAAC,MAAmC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACRA;AACA;AACa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,aAAa,mBAAO,CAAC,MAA+B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,gCAAgC,mBAAO,CAAC,MAA0C;;AAElF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,KAAK,6BAA6B;AAClC;AACA,GAAG;AACH;;;;;;;;AC1DA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,UAAU;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB,kBAAkB;AACzC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B,mBAAmB;AAC9C;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;ACz8BA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,aAAa,mBAAO,CAAC,MAA+B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,+BAA+B,mBAAO,CAAC,MAAuC;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACpBA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA,gBAAgB;AAChB;AACA;AACA;AACA,CAAC;;;;;;;;;ACPY;AACb,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,uBAAuB,mBAAO,CAAC,MAAiC;AAChE,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,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ACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,GAAG,eAAe;;AAEzB;AACA,4EAA4E,eAAe;AAC3F;;AAEA;AACA;AACA;AACA,KAAK,gBAAgB;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG,2CAA2C;AAC9C;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA,GAAG,8CAA8C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,yDAAyD;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,2DAA2D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;ACjZD,aAAa,mBAAO,CAAC,MAA+B;AACpD,cAAc,mBAAO,CAAC,MAAuB;AAC7C,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,2BAA2B,mBAAO,CAAC,MAAqC;;AAExE;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA,cAAc,mBAAO,CAAC,MAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAA6B;;AAEpD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,gBAAgB,mBAAO,CAAC,MAAwB;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACTA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTA;AAAA;AAAA;;;;;;;;;ACAa;AACb,0BAA0B,mBAAO,CAAC,MAAkC;AACpE,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,eAAe,mBAAO,CAAC,MAAuB;AAC9C,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,UAAU,mBAAO,CAAC,MAAkB;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO,iBAAiB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;AACtD;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnLA;AACA;AACA;;AAEA;;;;;;;;;ACJa;AACb,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AClBA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,gCAAgC,mBAAO,CAAC,MAA4C;AACpF,wCAAwC,mBAAO,CAAC,MAAqD;AACrG,mBAAmB,mBAAO,CAAC,OAAmC;AAC9D,UAAU,mBAAO,CAAC,MAAkB;AACpC,eAAe,mBAAO,CAAC,MAAuB;;AAE9C;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,gBAAgB;AAChB,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,OAAO,6CAA6C;AACpD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxFA;;AAEA,mBAAmB,mBAAO,CAAC,MAAmB;;AAE9C;AACA;AACA;AACA;;AAEA;;;;;;;;ACTA,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;;;;;;;;ACFA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,aAAa;AACrD,8CAA8C,aAAa;AAC3D,kDAAkD,YAAY;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,YAAY;AACtE,4DAA4D,aAAa;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,aAAa;AACzD,8CAA8C,aAAa;AAC3D;;AAEA,sEAAsE;AACtE,0CAA0C,aAAa;AACvD;AACA;AACA;;AAEA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;;AAGpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3oCA,aA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AAe,mBAAO,CAAC,MAA0B;;AAEjD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,6DAA6D;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;ACjDD;AACA,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;;;;;;;ACNA,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,kCAAkC,mBAAO,CAAC,MAAsC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA,oBAAoB,mBAAO,CAAC,MAA4B;;AAExD;AACA;AACA;;;;;;;;ACLA,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;;;;;;;ACFA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA","file":"vue-advanced-chat.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar DELEGATES_TO_EXEC = function () {\n var execCalled = false;\n var re = /[ac]/;\n re.exec = function () {\n execCalled = true;\n return /./.exec.apply(this, arguments);\n };\n return re.test('abc') === true && execCalled;\n}();\n\nvar Error = global.Error;\nvar un$Test = uncurryThis(/./.test);\n\n// `RegExp.prototype.test` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.test\n$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {\n test: function (str) {\n var exec = this.exec;\n if (!isCallable(exec)) return un$Test(this, str);\n var result = call(exec, this, str);\n if (result !== null && !isObject(result)) {\n throw new Error('RegExp exec method returned something other than an Object or null');\n }\n return !!result;\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","// extracted by mini-css-extract-plugin","var Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","function new_byte(count) {\n return new Int8Array(count);\n}\n\nfunction new_short(count) {\n return new Int16Array(count);\n}\n\nfunction new_int(count) {\n return new Int32Array(count);\n}\n\nfunction new_float(count) {\n return new Float32Array(count);\n}\n\nfunction new_double(count) {\n return new Float64Array(count);\n}\n\nfunction new_float_n(args) {\n if (args.length == 1) {\n return new_float(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_float_n(args));\n }\n return A;\n}\nfunction new_int_n(args) {\n if (args.length == 1) {\n return new_int(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_int_n(args));\n }\n return A;\n}\n\nfunction new_short_n(args) {\n if (args.length == 1) {\n return new_short(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_short_n(args));\n }\n return A;\n}\n\nfunction new_array_n(args) {\n if (args.length == 1) {\n return new Array(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_array_n(args));\n }\n return A;\n}\n\n\nvar Arrays = {};\n\nArrays.fill = function (a, fromIndex, toIndex, val) {\n if (arguments.length == 2) {\n for (var i = 0; i < a.length; i++) {\n a[i] = arguments[1];\n }\n } else {\n for (var i = fromIndex; i < toIndex; i++) {\n a[i] = val;\n }\n }\n};\n\nvar System = {};\n\nSystem.arraycopy = function (src, srcPos, dest, destPos, length) {\n var srcEnd = srcPos + length;\n while (srcPos < srcEnd)\n dest[destPos++] = src[srcPos++];\n};\n\n\nvar Util = {};\nUtil.SQRT2 = 1.41421356237309504880;\nUtil.FAST_LOG10 = function (x) {\n return Math.log10(x);\n};\n\nUtil.FAST_LOG10_X = function (x, y) {\n return Math.log10(x) * y;\n};\n\nfunction ShortBlock(ordinal) {\n this.ordinal = ordinal;\n}\n/**\n * LAME may use them, even different block types for L/R.\n */\nShortBlock.short_block_allowed = new ShortBlock(0);\n/**\n * LAME may use them, but always same block types in L/R.\n */\nShortBlock.short_block_coupled = new ShortBlock(1);\n/**\n * LAME will not use short blocks, long blocks only.\n */\nShortBlock.short_block_dispensed = new ShortBlock(2);\n/**\n * LAME will not use long blocks, short blocks only.\n */\nShortBlock.short_block_forced = new ShortBlock(3);\n\nvar Float = {};\nFloat.MAX_VALUE = 3.4028235e+38;\n\nfunction VbrMode(ordinal) {\n this.ordinal = ordinal;\n}\nVbrMode.vbr_off = new VbrMode(0);\nVbrMode.vbr_mt = new VbrMode(1);\nVbrMode.vbr_rh = new VbrMode(2);\nVbrMode.vbr_abr = new VbrMode(3);\nVbrMode.vbr_mtrh = new VbrMode(4);\nVbrMode.vbr_default = VbrMode.vbr_mtrh;\n\nvar assert = function (x) {\n //console.assert(x);\n};\n\nmodule.exports = {\n \"System\": System,\n \"VbrMode\": VbrMode,\n \"Float\": Float,\n \"ShortBlock\": ShortBlock,\n \"Util\": Util,\n \"Arrays\": Arrays,\n \"new_array_n\": new_array_n,\n \"new_byte\": new_byte,\n \"new_double\": new_double,\n \"new_float\": new_float,\n \"new_float_n\": new_float_n,\n \"new_int\": new_int,\n \"new_int_n\": new_int_n,\n \"new_short\": new_short,\n \"new_short_n\": new_short_n,\n \"assert\": assert\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar Function = global.Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = NATIVE_BIND ? Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\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 arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\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 = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var common = require('./common.js');\nvar new_float = common.new_float;\nvar new_int = common.new_int;\nvar assert = common.assert;\n\nfunction CalcNoiseData() {\n this.global_gain = 0;\n this.sfb_count1 = 0;\n this.step = new_int(39);\n this.noise = new_float(39);\n this.noise_log = new_float(39);\n}\n\nmodule.exports = CalcNoiseData;\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar RangeError = global.RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (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 C === undefined ? Array : C;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\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(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 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 ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar redefine = require('../internals/redefine');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar un$DateToString = uncurryThis(DatePrototype[TO_STRING]);\nvar getTime = uncurryThis(DatePrototype.getTime);\n\n// `Date.prototype.toString` method\n// https://tc39.es/ecma262/#sec-date.prototype.tostring\nif (String(new Date(NaN)) != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime(this);\n // eslint-disable-next-line no-self-compare -- NaN check\n return value === value ? un$DateToString(this) : INVALID_DATE;\n });\n}\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar RangeError = global.RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar TypeError = global.TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.stateify = exports.TokenState = exports.CharacterState = undefined;\n\nvar _class = require('../utils/class');\n\nfunction createStateClass() {\n\treturn function (tClass) {\n\t\tthis.j = [];\n\t\tthis.T = tClass || null;\n\t};\n}\n\n/**\n\tA simple state machine that can emit token classes\n\n\tThe `j` property in this class refers to state jumps. It's a\n\tmultidimensional array where for each element:\n\n\t* index [0] is a symbol or class of symbols to transition to.\n\t* index [1] is a State instance which matches\n\n\tThe type of symbol will depend on the target implementation for this class.\n\tIn Linkify, we have a two-stage scanner. Each stage uses this state machine\n\tbut with a slighly different (polymorphic) implementation.\n\n\tThe `T` property refers to the token class.\n\n\tTODO: Can the `on` and `next` methods be combined?\n\n\t@class BaseState\n*/\nvar BaseState = createStateClass();\nBaseState.prototype = {\n\tdefaultTransition: false,\n\n\t/**\n \t@method constructor\n \t@param {Class} tClass Pass in the kind of token to emit if there are\n \t\tno jumps after this state and the state is accepting.\n */\n\n\t/**\n \tOn the given symbol(s), this machine should go to the given state\n \t\t@method on\n \t@param {Array|Mixed} symbol\n \t@param {BaseState} state Note that the type of this state should be the\n \t\tsame as the current instance (i.e., don't pass in a different\n \t\tsubclass)\n */\n\ton: function on(symbol, state) {\n\t\tif (symbol instanceof Array) {\n\t\t\tfor (var i = 0; i < symbol.length; i++) {\n\t\t\t\tthis.j.push([symbol[i], state]);\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tthis.j.push([symbol, state]);\n\t\treturn this;\n\t},\n\n\n\t/**\n \tGiven the next item, returns next state for that item\n \t@method next\n \t@param {Mixed} item Should be an instance of the symbols handled by\n \t\tthis particular machine.\n \t@return {State} state Returns false if no jumps are available\n */\n\tnext: function next(item) {\n\t\tfor (var i = 0; i < this.j.length; i++) {\n\t\t\tvar jump = this.j[i];\n\t\t\tvar symbol = jump[0]; // Next item to check for\n\t\t\tvar state = jump[1]; // State to jump to if items match\n\n\t\t\t// compare item with symbol\n\t\t\tif (this.test(item, symbol)) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\n\t\t// Nowhere left to jump!\n\t\treturn this.defaultTransition;\n\t},\n\n\n\t/**\n \tDoes this state accept?\n \t`true` only of `this.T` exists\n \t\t@method accepts\n \t@return {Boolean}\n */\n\taccepts: function accepts() {\n\t\treturn !!this.T;\n\t},\n\n\n\t/**\n \tDetermine whether a given item \"symbolizes\" the symbol, where symbol is\n \ta class of items handled by this state machine.\n \t\tThis method should be overriden in extended classes.\n \t\t@method test\n \t@param {Mixed} item Does this item match the given symbol?\n \t@param {Mixed} symbol\n \t@return {Boolean}\n */\n\ttest: function test(item, symbol) {\n\t\treturn item === symbol;\n\t},\n\n\n\t/**\n \tEmit the token for this State (just return it in this case)\n \tIf this emits a token, this instance is an accepting state\n \t@method emit\n \t@return {Class} T\n */\n\temit: function emit() {\n\t\treturn this.T;\n\t}\n};\n\n/**\n\tState machine for string-based input\n\n\t@class CharacterState\n\t@extends BaseState\n*/\nvar CharacterState = (0, _class.inherits)(BaseState, createStateClass(), {\n\t/**\n \tDoes the given character match the given character or regular\n \texpression?\n \t\t@method test\n \t@param {String} char\n \t@param {String|RegExp} charOrRegExp\n \t@return {Boolean}\n */\n\ttest: function test(character, charOrRegExp) {\n\t\treturn character === charOrRegExp || charOrRegExp instanceof RegExp && charOrRegExp.test(character);\n\t}\n});\n\n/**\n\tState machine for input in the form of TextTokens\n\n\t@class TokenState\n\t@extends BaseState\n*/\nvar TokenState = (0, _class.inherits)(BaseState, createStateClass(), {\n\n\t/**\n * Similar to `on`, but returns the state the results in the transition from\n * the given item\n * @method jump\n * @param {Mixed} item\n * @param {Token} [token]\n * @return state\n */\n\tjump: function jump(token) {\n\t\tvar tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\t\tvar state = this.next(new token('')); // dummy temp token\n\t\tif (state === this.defaultTransition) {\n\t\t\t// Make a new state!\n\t\t\tstate = new this.constructor(tClass);\n\t\t\tthis.on(token, state);\n\t\t} else if (tClass) {\n\t\t\tstate.T = tClass;\n\t\t}\n\t\treturn state;\n\t},\n\n\n\t/**\n \tIs the given token an instance of the given token class?\n \t\t@method test\n \t@param {TextToken} token\n \t@param {Class} tokenClass\n \t@return {Boolean}\n */\n\ttest: function test(token, tokenClass) {\n\t\treturn token instanceof tokenClass;\n\t}\n});\n\n/**\n\tGiven a non-empty target string, generates states (if required) for each\n\tconsecutive substring of characters in str starting from the beginning of\n\tthe string. The final state will have a special value, as specified in\n\toptions. All other \"in between\" substrings will have a default end state.\n\n\tThis turns the state machine into a Trie-like data structure (rather than a\n\tintelligently-designed DFA).\n\n\tNote that I haven't really tried these with any strings other than\n\tDOMAIN.\n\n\t@param {String} str\n\t@param {CharacterState} start State to jump from the first character\n\t@param {Class} endToken Token class to emit when the given string has been\n\t\tmatched and no more jumps exist.\n\t@param {Class} defaultToken \"Filler token\", or which token type to emit when\n\t\twe don't have a full match\n\t@return {Array} list of newly-created states\n*/\nfunction stateify(str, start, endToken, defaultToken) {\n\tvar i = 0,\n\t len = str.length,\n\t state = start,\n\t newStates = [],\n\t nextState = void 0;\n\n\t// Find the next state without a jump to the next character\n\twhile (i < len && (nextState = state.next(str[i]))) {\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tif (i >= len) {\n\t\treturn [];\n\t} // no new tokens were added\n\n\twhile (i < len - 1) {\n\t\tnextState = new CharacterState(defaultToken);\n\t\tnewStates.push(nextState);\n\t\tstate.on(str[i], nextState);\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tnextState = new CharacterState(endToken);\n\tnewStates.push(nextState);\n\tstate.on(str[len - 1], nextState);\n\n\treturn newStates;\n}\n\nexports.CharacterState = CharacterState;\nexports.TokenState = TokenState;\nexports.stateify = stateify;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var global = require('../internals/global');\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","export function detectMobile() {\n\tvar userAgent = getUserAgent()\n\n\tvar userAgentPart = userAgent.substr(0, 4)\n\n\treturn (\n\t\t/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(\n\t\t\tuserAgent\n\t\t) ||\n\t\t/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(\n\t\t\tuserAgentPart\n\t\t)\n\t)\n}\n\nfunction getUserAgent() {\n\tvar userAgent =\n\t\tnavigator.userAgent || navigator.vendor || window.opera || null\n\n\tif (!userAgent) throw new Error('Failed to look for user agent information.')\n\n\treturn userAgent\n}\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\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 userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\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","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 global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar Array = global.Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n un$Sort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return un$Sort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\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);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\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 (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.strike` method\n// https://tc39.es/ecma262/#sec-string.prototype.strike\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, {\n strike: function strike() {\n return createHTML(this, 'strike', '', '');\n }\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\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 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","//package mp3;\n\nfunction VBRSeekInfo() {\n /**\n * What we have seen so far.\n */\n this.sum = 0;\n /**\n * How many frames we have seen in this chunk.\n */\n this.seen = 0;\n /**\n * How many frames we want to collect into one chunk.\n */\n this.want = 0;\n /**\n * Actual position in our bag.\n */\n this.pos = 0;\n /**\n * Size of our bag.\n */\n this.size = 0;\n /**\n * Pointer to our bag.\n */\n this.bag = null;\n this.nVbrNumFrames = 0;\n this.nBytesWritten = 0;\n /* VBR tag data */\n this.TotalFrameSize = 0;\n}\n\nmodule.exports = VBRSeekInfo;\n","/*\n * psymodel.c\n *\n * Copyright (c) 1999-2000 Mark Taylor\n * Copyright (c) 2001-2002 Naoki Shibata\n * Copyright (c) 2000-2003 Takehiro Tominaga\n * Copyright (c) 2000-2008 Robert Hegemann\n * Copyright (c) 2000-2005 Gabriel Bouvigne\n * Copyright (c) 2000-2005 Alexander Leidinger\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */\n\n/* $Id: PsyModel.java,v 1.27 2011/05/24 20:48:06 kenchis Exp $ */\n\n\n/*\n PSYCHO ACOUSTICS\n\n\n This routine computes the psycho acoustics, delayed by one granule.\n\n Input: buffer of PCM data (1024 samples).\n\n This window should be centered over the 576 sample granule window.\n The routine will compute the psycho acoustics for\n this granule, but return the psycho acoustics computed\n for the *previous* granule. This is because the block\n type of the previous granule can only be determined\n after we have computed the psycho acoustics for the following\n granule.\n\n Output: maskings and energies for each scalefactor band.\n block type, PE, and some correlation measures.\n The PE is used by CBR modes to determine if extra bits\n from the bit reservoir should be used. The correlation\n measures are used to determine mid/side or regular stereo.\n */\n/*\n Notation:\n\n barks: a non-linear frequency scale. Mapping from frequency to\n barks is given by freq2bark()\n\n scalefactor bands: The spectrum (frequencies) are broken into\n SBMAX \"scalefactor bands\". Thes bands\n are determined by the MPEG ISO spec. In\n the noise shaping/quantization code, we allocate\n bits among the partition bands to achieve the\n best possible quality\n\n partition bands: The spectrum is also broken into about\n 64 \"partition bands\". Each partition\n band is about .34 barks wide. There are about 2-5\n partition bands for each scalefactor band.\n\n LAME computes all psycho acoustic information for each partition\n band. Then at the end of the computations, this information\n is mapped to scalefactor bands. The energy in each scalefactor\n band is taken as the sum of the energy in all partition bands\n which overlap the scalefactor band. The maskings can be computed\n in the same way (and thus represent the average masking in that band)\n or by taking the minmum value multiplied by the number of\n partition bands used (which represents a minimum masking in that band).\n */\n/*\n The general outline is as follows:\n\n 1. compute the energy in each partition band\n 2. compute the tonality in each partition band\n 3. compute the strength of each partion band \"masker\"\n 4. compute the masking (via the spreading function applied to each masker)\n 5. Modifications for mid/side masking.\n\n Each partition band is considiered a \"masker\". The strength\n of the i'th masker in band j is given by:\n\n s3(bark(i)-bark(j))*strength(i)\n\n The strength of the masker is a function of the energy and tonality.\n The more tonal, the less masking. LAME uses a simple linear formula\n (controlled by NMT and TMN) which says the strength is given by the\n energy divided by a linear function of the tonality.\n */\n/*\n s3() is the \"spreading function\". It is given by a formula\n determined via listening tests.\n\n The total masking in the j'th partition band is the sum over\n all maskings i. It is thus given by the convolution of\n the strength with s3(), the \"spreading function.\"\n\n masking(j) = sum_over_i s3(i-j)*strength(i) = s3 o strength\n\n where \"o\" = convolution operator. s3 is given by a formula determined\n via listening tests. It is normalized so that s3 o 1 = 1.\n\n Note: instead of a simple convolution, LAME also has the\n option of using \"additive masking\"\n\n The most critical part is step 2, computing the tonality of each\n partition band. LAME has two tonality estimators. The first\n is based on the ISO spec, and measures how predictiable the\n signal is over time. The more predictable, the more tonal.\n The second measure is based on looking at the spectrum of\n a single granule. The more peaky the spectrum, the more\n tonal. By most indications, the latter approach is better.\n\n Finally, in step 5, the maskings for the mid and side\n channel are possibly increased. Under certain circumstances,\n noise in the mid & side channels is assumed to also\n be masked by strong maskers in the L or R channels.\n\n\n Other data computed by the psy-model:\n\n ms_ratio side-channel / mid-channel masking ratio (for previous granule)\n ms_ratio_next side-channel / mid-channel masking ratio for this granule\n\n percep_entropy[2] L and R values (prev granule) of PE - A measure of how\n much pre-echo is in the previous granule\n percep_entropy_MS[2] mid and side channel values (prev granule) of percep_entropy\n energy[4] L,R,M,S energy in each channel, prev granule\n blocktype_d[2] block type to use for previous granule\n */\n//package mp3;\n\n//import java.util.Arrays;\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar FFT = require(\"./FFT.js\");\nvar Encoder = require(\"./Encoder.js\");\n\nfunction PsyModel() {\n\n var fft = new FFT();\n\n var LOG10 = 2.30258509299404568402;\n\n var rpelev = 2;\n var rpelev2 = 16;\n var rpelev_s = 2;\n var rpelev2_s = 16;\n\n /* size of each partition band, in barks: */\n var DELBARK = .34;\n\n /* tuned for output level (sensitive to energy scale) */\n var VO_SCALE = (1. / (14752 * 14752) / (Encoder.BLKSIZE / 2));\n\n var temporalmask_sustain_sec = 0.01;\n\n var NS_PREECHO_ATT0 = 0.8;\n var NS_PREECHO_ATT1 = 0.6;\n var NS_PREECHO_ATT2 = 0.3;\n\n var NS_MSFIX = 3.5;\n\n var NSATTACKTHRE = 4.4;\n var NSATTACKTHRE_S = 25;\n\n var NSFIRLEN = 21;\n\n /* size of each partition band, in barks: */\n var LN_TO_LOG10 = 0.2302585093;\n\n function NON_LINEAR_SCALE_ENERGY(x) {\n return x;\n }\n\n /**\n *
\n     *       L3psycho_anal.  Compute psycho acoustics.\n     *\n     *       Data returned to the calling program must be delayed by one\n     *       granule.\n     *\n     *       This is done in two places.\n     *       If we do not need to know the blocktype, the copying\n     *       can be done here at the top of the program: we copy the data for\n     *       the last granule (computed during the last call) before it is\n     *       overwritten with the new data.  It looks like this:\n     *\n     *       0. static psymodel_data\n     *       1. calling_program_data = psymodel_data\n     *       2. compute psymodel_data\n     *\n     *       For data which needs to know the blocktype, the copying must be\n     *       done at the end of this loop, and the old values must be saved:\n     *\n     *       0. static psymodel_data_old\n     *       1. compute psymodel_data\n     *       2. compute possible block type of this granule\n     *       3. compute final block type of previous granule based on #2.\n     *       4. calling_program_data = psymodel_data_old\n     *       5. psymodel_data_old = psymodel_data\n     *     psycho_loudness_approx\n     *       jd - 2001 mar 12\n     *    in:  energy   - BLKSIZE/2 elements of frequency magnitudes ^ 2\n     *         gfp      - uses out_samplerate, ATHtype (also needed for ATHformula)\n     *    returns: loudness^2 approximation, a positive value roughly tuned for a value\n     *             of 1.0 for signals near clipping.\n     *    notes:   When calibrated, feeding this function binary white noise at sample\n     *             values +32767 or -32768 should return values that approach 3.\n     *             ATHformula is used to approximate an equal loudness curve.\n     *    future:  Data indicates that the shape of the equal loudness curve varies\n     *             with intensity.  This function might be improved by using an equal\n     *             loudness curve shaped for typical playback levels (instead of the\n     *             ATH, that is shaped for the threshold).  A flexible realization might\n     *             simply bend the existing ATH curve to achieve the desired shape.\n     *             However, the potential gain may not be enough to justify an effort.\n     * 
\n */\n function psycho_loudness_approx(energy, gfc) {\n var loudness_power = 0.0;\n /* apply weights to power in freq. bands */\n for (var i = 0; i < Encoder.BLKSIZE / 2; ++i)\n loudness_power += energy[i] * gfc.ATH.eql_w[i];\n loudness_power *= VO_SCALE;\n\n return loudness_power;\n }\n\n function compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, wsamp_lPos, wsamp_s, wsamp_sPos, gr_out, chn, buffer, bufPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n /* FFT data for mid and side channel is derived from L & R */\n else if (chn == 2) {\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n for (var b = 2; b >= 0; --b) {\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][b][j];\n var r = wsamp_s[wsamp_sPos + 1][b][j];\n wsamp_s[wsamp_sPos + 0][b][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][b][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 - j];\n var im = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n for (var b = 2; b >= 0; --b) {\n fftenergy_s[b][0] = (wsamp_s[wsamp_sPos + 0])[b][0];\n fftenergy_s[b][0] *= fftenergy_s[b][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 - j];\n var im = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 + j];\n fftenergy_s[b][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n\n /*********************************************************************\n * compute loudness approximation (used for ATH auto-level adjustment)\n *********************************************************************/\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n /* mask_add optimization */\n /* init the limit values used to avoid computing log in mask_add when it is not necessary */\n\n /**\n *
\n     *  For example, with i = 10*log10(m2/m1)/10*16         (= log10(m2/m1)*16)\n     *\n     * abs(i)>8 is equivalent (as i is an integer) to\n     * abs(i)>=9\n     * i>=9 || i<=-9\n     * equivalent to (as i is the biggest integer smaller than log10(m2/m1)*16\n     * or the smallest integer bigger than log10(m2/m1)*16 depending on the sign of log10(m2/m1)*16)\n     * log10(m2/m1)>=9/16 || log10(m2/m1)<=-9/16\n     * exp10 is strictly increasing thus this is equivalent to\n     * m2/m1 >= 10^(9/16) || m2/m1<=10^(-9/16) which are comparisons to constants\n     * 
\n */\n\n /**\n * as in if(i>8)\n */\n var I1LIMIT = 8;\n /**\n * as in if(i>24) . changed 23\n */\n var I2LIMIT = 23;\n /**\n * as in if(m<15)\n */\n var MLIMIT = 15;\n\n var ma_max_i1;\n var ma_max_i2;\n var ma_max_m;\n\n /**\n * This is the masking table:
\n * According to tonality, values are going from 0dB (TMN) to 9.3dB (NMT).
\n * After additive masking computation, 8dB are added, so final values are\n * going from 8dB to 17.3dB\n *\n * pow(10, -0.0..-0.6)\n */\n var tab = [1.0, 0.79433, 0.63096, 0.63096,\n 0.63096, 0.63096, 0.63096, 0.25119, 0.11749];\n\n function init_mask_add_max_values() {\n ma_max_i1 = Math.pow(10, (I1LIMIT + 1) / 16.0);\n ma_max_i2 = Math.pow(10, (I2LIMIT + 1) / 16.0);\n ma_max_m = Math.pow(10, (MLIMIT) / 10.0);\n }\n\n var table1 = [3.3246 * 3.3246,\n 3.23837 * 3.23837, 3.15437 * 3.15437, 3.00412 * 3.00412,\n 2.86103 * 2.86103, 2.65407 * 2.65407, 2.46209 * 2.46209,\n 2.284 * 2.284, 2.11879 * 2.11879, 1.96552 * 1.96552,\n 1.82335 * 1.82335, 1.69146 * 1.69146, 1.56911 * 1.56911,\n 1.46658 * 1.46658, 1.37074 * 1.37074, 1.31036 * 1.31036,\n 1.25264 * 1.25264, 1.20648 * 1.20648, 1.16203 * 1.16203,\n 1.12765 * 1.12765, 1.09428 * 1.09428, 1.0659 * 1.0659,\n 1.03826 * 1.03826, 1.01895 * 1.01895, 1];\n\n var table2 = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n var table3 = [2.35364 * 2.35364,\n 2.29259 * 2.29259, 2.23313 * 2.23313, 2.12675 * 2.12675,\n 2.02545 * 2.02545, 1.87894 * 1.87894, 1.74303 * 1.74303,\n 1.61695 * 1.61695, 1.49999 * 1.49999, 1.39148 * 1.39148,\n 1.29083 * 1.29083, 1.19746 * 1.19746, 1.11084 * 1.11084,\n 1.03826 * 1.03826];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function mask_add(m1, m2, kk, b, gfc, shortblock) {\n var ratio;\n\n if (m2 > m1) {\n if (m2 < (m1 * ma_max_i2))\n ratio = m2 / m1;\n else\n return (m1 + m2);\n } else {\n if (m1 >= (m2 * ma_max_i2))\n return (m1 + m2);\n ratio = m1 / m2;\n }\n\n /* Should always be true, just checking */\n assert(m1 >= 0);\n assert(m2 >= 0);\n\n m1 += m2;\n //if (((long)(b + 3) & 0xffffffff) <= 3 + 3) {\n if ((b + 3) <= 3 + 3) {\n /* approximately, 1 bark = 3 partitions */\n /* 65% of the cases */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n /* 43% of the total */\n return m1;\n }\n\n /* 22% of the total */\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return m1 * table2[i];\n }\n\n /**\n *
\n         * m<15 equ log10((m1+m2)/gfc.ATH.cb[k])<1.5\n         * equ (m1+m2)/gfc.ATH.cb[k]<10^1.5\n         * equ (m1+m2)<10^1.5 * gfc.ATH.cb[k]\n         * 
\n */\n var i = 0 | Util.FAST_LOG10_X(ratio, 16.0);\n if (shortblock != 0) {\n m2 = gfc.ATH.cb_s[kk] * gfc.ATH.adjust;\n } else {\n m2 = gfc.ATH.cb_l[kk] * gfc.ATH.adjust;\n }\n assert(m2 >= 0);\n if (m1 < ma_max_m * m2) {\n /* 3% of the total */\n /* Originally if (m > 0) { */\n if (m1 > m2) {\n var f, r;\n\n f = 1.0;\n if (i <= 13)\n f = table3[i];\n\n r = Util.FAST_LOG10_X(m1 / m2, 10.0 / 15.0);\n return m1 * ((table1[i] - f) * r + f);\n }\n\n if (i > 13)\n return m1;\n\n return m1 * table3[i];\n }\n\n /* 10% of total */\n return m1 * table1[i];\n }\n\n var table2_ = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function vbrpsy_mask_add(m1, m2, b) {\n var ratio;\n\n if (m1 < 0) {\n m1 = 0;\n }\n if (m2 < 0) {\n m2 = 0;\n }\n if (m1 <= 0) {\n return m2;\n }\n if (m2 <= 0) {\n return m1;\n }\n if (m2 > m1) {\n ratio = m2 / m1;\n } else {\n ratio = m1 / m2;\n }\n if (-2 <= b && b <= 2) {\n /* approximately, 1 bark = 3 partitions */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n return m1 + m2;\n } else {\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return (m1 + m2) * table2_[i];\n }\n }\n if (ratio < ma_max_i2) {\n return m1 + m2;\n }\n if (m1 < m2) {\n m1 = m2;\n }\n return m1;\n }\n\n /**\n * compute interchannel masking effects\n */\n function calc_interchannel_masking(gfp, ratio) {\n var gfc = gfp.internal_flags;\n if (gfc.channels_out > 1) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var l = gfc.thm[0].l[sb];\n var r = gfc.thm[1].l[sb];\n gfc.thm[0].l[sb] += r * ratio;\n gfc.thm[1].l[sb] += l * ratio;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var l = gfc.thm[0].s[sb][sblock];\n var r = gfc.thm[1].s[sb][sblock];\n gfc.thm[0].s[sb][sblock] += r * ratio;\n gfc.thm[1].s[sb][sblock] += l * ratio;\n }\n }\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function msfix1(gfc) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n /* use this fix if L & R masking differs by 2db or less */\n /* if db = 10*log10(x2/x1) < 2 */\n /* if (x2 < 1.58*x1) { */\n if (gfc.thm[0].l[sb] > 1.58 * gfc.thm[1].l[sb]\n || gfc.thm[1].l[sb] > 1.58 * gfc.thm[0].l[sb])\n continue;\n var mld = gfc.mld_l[sb] * gfc.en[3].l[sb];\n var rmid = Math.max(gfc.thm[2].l[sb],\n Math.min(gfc.thm[3].l[sb], mld));\n\n mld = gfc.mld_l[sb] * gfc.en[2].l[sb];\n var rside = Math.max(gfc.thm[3].l[sb],\n Math.min(gfc.thm[2].l[sb], mld));\n gfc.thm[2].l[sb] = rmid;\n gfc.thm[3].l[sb] = rside;\n }\n\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n if (gfc.thm[0].s[sb][sblock] > 1.58 * gfc.thm[1].s[sb][sblock]\n || gfc.thm[1].s[sb][sblock] > 1.58 * gfc.thm[0].s[sb][sblock])\n continue;\n var mld = gfc.mld_s[sb] * gfc.en[3].s[sb][sblock];\n var rmid = Math.max(gfc.thm[2].s[sb][sblock],\n Math.min(gfc.thm[3].s[sb][sblock], mld));\n\n mld = gfc.mld_s[sb] * gfc.en[2].s[sb][sblock];\n var rside = Math.max(gfc.thm[3].s[sb][sblock],\n Math.min(gfc.thm[2].s[sb][sblock], mld));\n\n gfc.thm[2].s[sb][sblock] = rmid;\n gfc.thm[3].s[sb][sblock] = rside;\n }\n }\n }\n\n /**\n * Adjust M/S maskings if user set \"msfix\"\n *\n * Naoki Shibata 2000\n */\n function ns_msfix(gfc, msfix, athadjust) {\n var msfix2 = msfix;\n var athlower = Math.pow(10, athadjust);\n\n msfix *= 2.0;\n msfix2 *= 2.0;\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_l[gfc.bm_l[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].l[sb], ath),\n Math.max(gfc.thm[1].l[sb], ath));\n thmM = Math.max(gfc.thm[2].l[sb], ath);\n thmS = Math.max(gfc.thm[3].l[sb], ath);\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix2 / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].l[sb] = Math.min(thmM, gfc.thm[2].l[sb]);\n gfc.thm[3].l[sb] = Math.min(thmS, gfc.thm[3].l[sb]);\n }\n\n athlower *= ( Encoder.BLKSIZE_s / Encoder.BLKSIZE);\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_s[gfc.bm_s[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].s[sb][sblock], ath),\n Math.max(gfc.thm[1].s[sb][sblock], ath));\n thmM = Math.max(gfc.thm[2].s[sb][sblock], ath);\n thmS = Math.max(gfc.thm[3].s[sb][sblock], ath);\n\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].s[sb][sblock] = Math.min(gfc.thm[2].s[sb][sblock],\n thmM);\n gfc.thm[3].s[sb][sblock] = Math.min(gfc.thm[3].s[sb][sblock],\n thmS);\n }\n }\n }\n\n /**\n * short block threshold calculation (part 2)\n *\n * partition band bo_s[sfb] is at the transition from scalefactor band sfb\n * to the next one sfb+1; enn and thmm have to be split between them\n */\n function convert_partition2scalefac_s(gfc, eb, thr, chn, sblock) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_s; ++b, ++sb) {\n var bo_s_sb = gfc.bo_s[sb];\n var npart_s = gfc.npart_s;\n var b_lim = bo_s_sb < npart_s ? bo_s_sb : npart_s;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].s[sb][sblock] = enn;\n gfc.thm[chn].s[sb][sblock] = thmm;\n\n if (b >= npart_s) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_s_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].s[sb][sblock] += enn;\n gfc.thm[chn].s[sb][sblock] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_s; ++sb) {\n gfc.en[chn].s[sb][sblock] = 0;\n gfc.thm[chn].s[sb][sblock] = 0;\n }\n }\n\n /**\n * longblock threshold calculation (part 2)\n */\n function convert_partition2scalefac_l(gfc, eb, thr, chn) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_l; ++b, ++sb) {\n var bo_l_sb = gfc.bo_l[sb];\n var npart_l = gfc.npart_l;\n var b_lim = bo_l_sb < npart_l ? bo_l_sb : npart_l;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].l[sb] = enn;\n gfc.thm[chn].l[sb] = thmm;\n\n if (b >= npart_l) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_l_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].l[sb] += enn;\n gfc.thm[chn].l[sb] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_l; ++sb) {\n gfc.en[chn].l[sb] = 0;\n gfc.thm[chn].l[sb] = 0;\n }\n }\n\n function compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var j, b;\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (var i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var ecb = gfc.s3_ss[j++] * eb[kk];\n ++kk;\n while (kk <= gfc.s3ind_s[b][1]) {\n ecb += gfc.s3_ss[j] * eb[kk];\n ++j;\n ++kk;\n }\n\n { /* limit calculated threshold by previous granule */\n var x = rpelev_s * gfc.nb_s1[chn][b];\n thr[b] = Math.min(ecb, x);\n }\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE) {\n /* limit calculated threshold by even older granule */\n var x = rpelev2_s * gfc.nb_s2[chn][b];\n var y = thr[b];\n thr[b] = Math.min(x, y);\n }\n\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n assert(thr[b] >= 0);\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function block_type_set(gfp, uselongblock, blocktype_d, blocktype) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n blocktype[chn] = Encoder.NORM_TYPE;\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed)\n uselongblock[chn] = 1;\n if (gfp.short_blocks == ShortBlock.short_block_forced)\n uselongblock[chn] = 0;\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype[chn] = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype[chn] = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype[chn];\n // save for next call to l3psy_anal\n }\n }\n\n function NS_INTERP(x, y, r) {\n /* was pow((x),(r))*pow((y),1-(r)) */\n if (r >= 1.0) {\n /* 99.7% of the time */\n return x;\n }\n if (r <= 0.0)\n return y;\n if (y > 0.0) {\n /* rest of the time */\n return (Math.pow(x / y, r) * y);\n }\n /* never happens */\n return 0.0;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_s = [11.8, 13.6, 17.2, 32, 46.5,\n 51.3, 57.5, 67.1, 71.5, 84.6, 97.6, 130,\n /* 255.8 */\n ];\n\n function pecalc_s(mr, masking_lower) {\n var pe_s = 1236.28 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_s - 1; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thm = mr.thm.s[sb][sblock];\n assert(sb < regcoef_s.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.s[sb][sblock];\n if (en > x) {\n if (en > x * 1e10) {\n pe_s += regcoef_s[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_s += regcoef_s[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n }\n\n return pe_s;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_l = [6.8, 5.8, 5.8, 6.4, 6.5, 9.9,\n 12.1, 14.4, 15, 18.9, 21.6, 26.9, 34.2, 40.2, 46.8, 56.5,\n 60.7, 73.9, 85.7, 93.4, 126.1,\n /* 241.3 */\n ];\n\n function pecalc_l(mr, masking_lower) {\n var pe_l = 1124.23 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_l - 1; sb++) {\n var thm = mr.thm.l[sb];\n assert(sb < regcoef_l.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.l[sb];\n if (en > x) {\n if (en > x * 1e10) {\n pe_l += regcoef_l[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_l += regcoef_l[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n return pe_l;\n }\n\n function calc_energy(gfc, fftenergy, eb, max, avg) {\n var b, j;\n\n for (b = j = 0; b < gfc.npart_l; ++b) {\n var ebb = 0, m = 0;\n var i;\n for (i = 0; i < gfc.numlines_l[b]; ++i, ++j) {\n var el = fftenergy[j];\n assert(el >= 0);\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n max[b] = m;\n avg[b] = ebb * gfc.rnumlines_l[b];\n assert(gfc.rnumlines_l[b] >= 0);\n assert(ebb >= 0);\n assert(eb[b] >= 0);\n assert(max[b] >= 0);\n assert(avg[b] >= 0);\n }\n }\n\n function calc_mask_index_l(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_l - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b]\n + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_l - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_l - 1));\n }\n\n var fircoef = [\n -8.65163e-18 * 2, -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2, 0.0931738 * 2,\n -5.52212e-17 * 2, -0.313819 * 2\n ];\n\n this.L3psycho_anal_ns = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n /*\n * to get a good cache performance, one has to think about the sequence,\n * in which the variables are used.\n */\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n\n /* convolution */\n var eb_l = new_float(Encoder.CBANDS + 1);\n var eb_s = new_float(Encoder.CBANDS + 1);\n var thr = new_float(Encoder.CBANDS + 2);\n\n /* block type */\n var blocktype = new_int(2), uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n var numchn, chn;\n var b, i, j, k;\n var sb, sblock;\n\n /* variables used for --nspsytune */\n var ns_hpfsmpl = new_float_n([2, 576]);\n var pcfact;\n var mask_idx_l = new_int(Encoder.CBANDS + 2), mask_idx_s = new_int(Encoder.CBANDS + 2);\n\n Arrays.fill(mask_idx_s, 0);\n\n numchn = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n if (gfp.mode == MPEGMode.JOINT_STEREO)\n numchn = 4;\n\n if (gfp.VBR == VbrMode.vbr_off)\n pcfact = gfc.ResvMax == 0 ? 0 : ( gfc.ResvSize)\n / gfc.ResvMax * 0.5;\n else if (gfp.VBR == VbrMode.vbr_rh || gfp.VBR == VbrMode.vbr_mtrh\n || gfp.VBR == VbrMode.vbr_mt) {\n pcfact = 0.6;\n } else\n pcfact = 1.0;\n\n /**********************************************************************\n * Apply HPF of fs/4 to the input signal. This is used for attack\n * detection / handling.\n **********************************************************************/\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (chn = 0; chn < gfc.channels_out; chn++) {\n /* apply high pass filter of fs/4 */\n var firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef.length == ((NSFIRLEN - 1) / 2));\n for (i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (numchn > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n\n for (chn = 0; chn < numchn; chn++) {\n var wsamp_l;\n var wsamp_s;\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var attack_intensity = new_float(12);\n var ns_uselongblock = 1;\n var attackThreshold;\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var ns_attacks = [0, 0, 0, 0];\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n\n /*\n * rh 20040301: the following loops do access one off the limits so\n * I increase the array dimensions by one and initialize the\n * accessed values to zero\n */\n assert(gfc.npart_s <= Encoder.CBANDS);\n assert(gfc.npart_l <= Encoder.CBANDS);\n\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n if (chn == 2) {\n for (i = 0; i < 576; i++) {\n var l, r;\n l = ns_hpfsmpl[0][i];\n r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n {\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n for (i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else\n p = 0.0;\n attack_intensity[i + 3] = p;\n }\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (i = 1; i < 12; i++)\n if (x < attack_intensity[i])\n x = attack_intensity[i];\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n for (i = 0; i < 12; i++)\n if (0 == ns_attacks[i / 3]\n && attack_intensity[i] > attackThreshold)\n ns_attacks[i / 3] = (i % 3) + 1;\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n for (i = 1; i < 4; i++) {\n var ratio;\n if (en_short[i - 1] > en_short[i]) {\n assert(en_short[i] > 0);\n ratio = en_short[i - 1] / en_short[i];\n } else {\n assert(en_short[i - 1] > 0);\n ratio = en_short[i] / en_short[i - 1];\n }\n if (ratio < 1.7) {\n ns_attacks[i] = 0;\n if (i == 1)\n ns_attacks[0] = 0;\n }\n }\n\n if (ns_attacks[0] != 0 && gfc.nsPsy.lastAttacks[chn] != 0)\n ns_attacks[0] = 0;\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[0] + ns_attacks[1] + ns_attacks[2] + ns_attacks[3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[1] != 0 && ns_attacks[0] != 0)\n ns_attacks[1] = 0;\n if (ns_attacks[2] != 0 && ns_attacks[1] != 0)\n ns_attacks[2] = 0;\n if (ns_attacks[3] != 0 && ns_attacks[2] != 0)\n ns_attacks[3] = 0;\n }\n\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n\n /*********************************************************************\n * compute FFTs\n *********************************************************************/\n wsamp_s = wsamp_S;\n wsamp_l = wsamp_L;\n compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, (chn & 1),\n wsamp_s, (chn & 1), gr_out, chn, buffer, bufPos);\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n /* compute masking thresholds for short blocks */\n for (sblock = 0; sblock < 3; sblock++) {\n var enn, thmm;\n compute_masking_s(gfp, fftenergy_s, eb_s, thr, chn, sblock);\n convert_partition2scalefac_s(gfc, eb_s, thr, chn, sblock);\n /**** short block pre-echo control ****/\n for (sb = 0; sb < Encoder.SBMAX_s; sb++) {\n thmm = gfc.thm[chn].s[sb][sblock];\n\n thmm *= NS_PREECHO_ATT0;\n if (ns_attacks[sblock] >= 2 || ns_attacks[sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n if (ns_attacks[sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n enn = en_subshort[sblock * 3 + 3]\n + en_subshort[sblock * 3 + 4]\n + en_subshort[sblock * 3 + 5];\n if (en_subshort[sblock * 3 + 5] * 6 < enn) {\n thmm *= 0.5;\n if (en_subshort[sblock * 3 + 4] * 6 < enn)\n thmm *= 0.5;\n }\n\n gfc.thm[chn].s[sb][sblock] = thmm;\n }\n }\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[2];\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n k = 0;\n {\n for (b = 0; b < gfc.npart_l; b++) {\n /*\n * convolve the partitioned energy with the spreading\n * function\n */\n var kk = gfc.s3ind[b][0];\n var eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n var ecb = gfc.s3_ll[k++] * eb2;\n while (++kk <= gfc.s3ind[b][1]) {\n eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n ecb = mask_add(ecb, gfc.s3_ll[k++] * eb2, kk, kk - b,\n gfc, 0);\n }\n ecb *= 0.158489319246111;\n /* pow(10,-0.8) */\n\n /**** long block pre-echo control ****/\n /**\n *
\n                     * dont use long block pre-echo control if previous granule was\n                     * a short block.  This is to avoid the situation:\n                     * frame0:  quiet (very low masking)\n                     * frame1:  surge  (triggers short blocks)\n                     * frame2:  regular frame.  looks like pre-echo when compared to\n                     *          frame0, but all pre-echo was in frame1.\n                     * 
\n */\n /*\n * chn=0,1 L and R channels\n *\n * chn=2,3 S and M channels.\n */\n\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE)\n thr[b] = ecb;\n else\n thr[b] = NS_INTERP(\n Math.min(ecb, Math.min(rpelev\n * gfc.nb_1[chn][b], rpelev2\n * gfc.nb_2[chn][b])), ecb, pcfact);\n\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n }\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n /* compute masking thresholds for long blocks */\n convert_partition2scalefac_l(gfc, eb_l, thr, chn);\n }\n /* end loop over chn */\n\n if (gfp.mode == MPEGMode.STEREO || gfp.mode == MPEGMode.JOINT_STEREO) {\n if (gfp.interChRatio > 0.0) {\n calc_interchannel_masking(gfp, gfp.interChRatio);\n }\n }\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n var msfix;\n msfix1(gfc);\n msfix = gfp.msfix;\n if (Math.abs(msfix) > 0.0)\n ns_msfix(gfc, msfix, gfp.ATHlower * gfc.ATH.adjust);\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n block_type_set(gfp, uselongblock, blocktype_d, blocktype);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (chn = 0; chn < numchn; chn++) {\n var ppe;\n var ppePos = 0;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE)\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n else\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n\n if (gfp.analysis)\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n\n }\n return 0;\n }\n\n function vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out, fftenergy, wsamp_l, wsamp_lPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n } else if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 - j];\n var im = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n }\n\n function vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock, fftenergy_s, wsamp_s, wsamp_sPos) {\n var gfc = gfp.internal_flags;\n\n if (sblock == 0 && chn < 2) {\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][sblock][j];\n var r = wsamp_s[wsamp_sPos + 1][sblock][j];\n wsamp_s[wsamp_sPos + 0][sblock][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][sblock][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy_s[sblock][0] = wsamp_s[wsamp_sPos + 0][sblock][0];\n fftenergy_s[sblock][0] *= fftenergy_s[sblock][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 - j];\n var im = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 + j];\n fftenergy_s[sblock][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n\n /**\n * compute loudness approximation (used for ATH auto-level adjustment)\n */\n function vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn, fftenergy) {\n var gfc = gfp.internal_flags;\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n var fircoef_ = [-8.65163e-18 * 2,\n -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2,\n 0.0931738 * 2, -5.52212e-17 * 2, -0.313819 * 2];\n\n /**\n * Apply HPF of fs/4 to the input signal. This is used for attack detection\n * / handling.\n */\n function vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, energy, sub_short_factor, ns_attacks, uselongblock) {\n var ns_hpfsmpl = new_float_n([2, 576]);\n var gfc = gfp.internal_flags;\n var n_chn_out = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4 : n_chn_out;\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (var chn = 0; chn < n_chn_out; chn++) {\n /* apply high pass filter of fs/4 */\n firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef_.length == ((NSFIRLEN - 1) / 2));\n for (var i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (var j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef_[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef_[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (n_chn_psy > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var attack_intensity = new_float(12);\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n var attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n var ns_uselongblock = 1;\n\n if (chn == 2) {\n for (var i = 0, j = 576; j > 0; ++i, --j) {\n var l = ns_hpfsmpl[0][i];\n var r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (var i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n for (var i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else {\n p = 0.0;\n }\n attack_intensity[i + 3] = p;\n }\n /* pulse like signal detection for fatboy.wav and so on */\n for (var i = 0; i < 3; ++i) {\n var enn = en_subshort[i * 3 + 3]\n + en_subshort[i * 3 + 4] + en_subshort[i * 3 + 5];\n var factor = 1.;\n if (en_subshort[i * 3 + 5] * 6 < enn) {\n factor *= 0.5;\n if (en_subshort[i * 3 + 4] * 6 < enn) {\n factor *= 0.5;\n }\n }\n sub_short_factor[chn][i] = factor;\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (var i = 1; i < 12; i++) {\n if (x < attack_intensity[i]) {\n x = attack_intensity[i];\n }\n }\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n for (var i = 0; i < 12; i++) {\n if (0 == ns_attacks[chn][i / 3]\n && attack_intensity[i] > attackThreshold) {\n ns_attacks[chn][i / 3] = (i % 3) + 1;\n }\n }\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n /* Good samples to show the effect are Trumpet test songs */\n /*\n * GB: tuned (1) to avoid too many short blocks for test sample\n * TRUMPET\n */\n /*\n * RH: tuned (2) to let enough short blocks through for test sample\n * FSOL and SNAPS\n */\n for (var i = 1; i < 4; i++) {\n var u = en_short[i - 1];\n var v = en_short[i];\n var m = Math.max(u, v);\n if (m < 40000) { /* (2) */\n if (u < 1.7 * v && v < 1.7 * u) { /* (1) */\n if (i == 1 && ns_attacks[chn][0] <= ns_attacks[chn][i]) {\n ns_attacks[chn][0] = 0;\n }\n ns_attacks[chn][i] = 0;\n }\n }\n }\n\n if (ns_attacks[chn][0] <= gfc.nsPsy.lastAttacks[chn]) {\n ns_attacks[chn][0] = 0;\n }\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[chn][0] + ns_attacks[chn][1]\n + ns_attacks[chn][2] + ns_attacks[chn][3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[chn][1] != 0 && ns_attacks[chn][0] != 0) {\n ns_attacks[chn][1] = 0;\n }\n if (ns_attacks[chn][2] != 0 && ns_attacks[chn][1] != 0) {\n ns_attacks[chn][2] = 0;\n }\n if (ns_attacks[chn][3] != 0 && ns_attacks[chn][2] != 0) {\n ns_attacks[chn][3] = 0;\n }\n }\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n }\n }\n\n function vbrpsy_skip_masking_s(gfc, chn, sblock) {\n if (sblock == 0) {\n for (var b = 0; b < gfc.npart_s; b++) {\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = 0;\n }\n }\n }\n\n function vbrpsy_skip_masking_l(gfc, chn) {\n for (var b = 0; b < gfc.npart_l; b++) {\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = 0;\n }\n }\n\n function psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_s - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(b + 1 < gfc.npart_s);\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b]\n + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_s - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_s - 1));\n }\n\n function vbrpsy_compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var max = new float[Encoder.CBANDS], avg = new_float(Encoder.CBANDS);\n var i, j, b;\n var mask_idx_s = new int[Encoder.CBANDS];\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n assert(ebb >= 0);\n max[b] = m;\n assert(n > 0);\n avg[b] = ebb / n;\n assert(avg[b] >= 0);\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (; b < Encoder.CBANDS; ++b) {\n max[b] = 0;\n avg[b] = 0;\n }\n psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx_s);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var last = gfc.s3ind_s[b][1];\n var dd, dd_n;\n var x, ecb, avg_mask;\n dd = mask_idx_s[kk];\n dd_n = 1;\n ecb = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ++j;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_s[kk];\n dd_n += 1;\n x = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ecb = vbrpsy_mask_add(ecb, x, kk - b);\n ++j;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n thr[b] = ecb;\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_s[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb[b]) {\n thr[b] = eb[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_masking_l(gfc, fftenergy, eb_l, thr, chn) {\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var mask_idx_l = new_int(Encoder.CBANDS + 2);\n var b;\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n var k = 0;\n for (b = 0; b < gfc.npart_l; b++) {\n var x, ecb, avg_mask, t;\n /* convolve the partitioned energy with the spreading function */\n var kk = gfc.s3ind[b][0];\n var last = gfc.s3ind[b][1];\n var dd = 0, dd_n = 0;\n dd = mask_idx_l[kk];\n dd_n += 1;\n ecb = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n ++k;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_l[kk];\n dd_n += 1;\n x = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n t = vbrpsy_mask_add(ecb, x, kk - b);\n ecb = t;\n ++k;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n\n /**** long block pre-echo control ****/\n /**\n *
\n             * dont use long block pre-echo control if previous granule was\n             * a short block.  This is to avoid the situation:\n             * frame0:  quiet (very low masking)\n             * frame1:  surge  (triggers short blocks)\n             * frame2:  regular frame.  looks like pre-echo when compared to\n             *          frame0, but all pre-echo was in frame1.\n             * 
\n */\n /*\n * chn=0,1 L and R channels chn=2,3 S and M channels.\n */\n if (gfc.blocktype_old[chn & 0x01] == Encoder.SHORT_TYPE) {\n var ecb_limit = rpelev * gfc.nb_1[chn][b];\n if (ecb_limit > 0) {\n thr[b] = Math.min(ecb, ecb_limit);\n } else {\n /**\n *
\n                     * Robert 071209:\n                     * Because we don't calculate long block psy when we know a granule\n                     * should be of short blocks, we don't have any clue how the granule\n                     * before would have looked like as a long block. So we have to guess\n                     * a little bit for this END_TYPE block.\n                     * Most of the time we get away with this sloppyness. (fingers crossed :)\n                     * The speed increase is worth it.\n                     * 
\n */\n thr[b] = Math.min(ecb, eb_l[b] * NS_PREECHO_ATT2);\n }\n } else {\n var ecb_limit_2 = rpelev2 * gfc.nb_2[chn][b];\n var ecb_limit_1 = rpelev * gfc.nb_1[chn][b];\n var ecb_limit;\n if (ecb_limit_2 <= 0) {\n ecb_limit_2 = ecb;\n }\n if (ecb_limit_1 <= 0) {\n ecb_limit_1 = ecb;\n }\n if (gfc.blocktype_old[chn & 0x01] == Encoder.NORM_TYPE) {\n ecb_limit = Math.min(ecb_limit_1, ecb_limit_2);\n } else {\n ecb_limit = ecb_limit_1;\n }\n thr[b] = Math.min(ecb, ecb_limit);\n }\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_l[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb_l[b]) {\n thr[b] = eb_l[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_block_type(gfp, uselongblock) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed) {\n uselongblock[chn] = 1;\n }\n if (gfp.short_blocks == ShortBlock.short_block_forced) {\n uselongblock[chn] = 0;\n }\n }\n }\n\n function vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n var blocktype = Encoder.NORM_TYPE;\n /* disable short blocks */\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype;\n // save for next call to l3psy_anal\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function vbrpsy_compute_MS_thresholds(eb, thr, cb_mld, ath_cb, athadjust, msfix, n) {\n var msfix2 = msfix * 2;\n var athlower = msfix > 0 ? Math.pow(10, athadjust) : 1;\n var rside, rmid;\n for (var b = 0; b < n; ++b) {\n var ebM = eb[2][b];\n var ebS = eb[3][b];\n var thmL = thr[0][b];\n var thmR = thr[1][b];\n var thmM = thr[2][b];\n var thmS = thr[3][b];\n\n /* use this fix if L & R masking differs by 2db or less */\n if (thmL <= 1.58 * thmR && thmR <= 1.58 * thmL) {\n var mld_m = cb_mld[b] * ebS;\n var mld_s = cb_mld[b] * ebM;\n rmid = Math.max(thmM, Math.min(thmS, mld_m));\n rside = Math.max(thmS, Math.min(thmM, mld_s));\n } else {\n rmid = thmM;\n rside = thmS;\n }\n if (msfix > 0) {\n /***************************************************************/\n /* Adjust M/S maskings if user set \"msfix\" */\n /***************************************************************/\n /* Naoki Shibata 2000 */\n var thmLR, thmMS;\n var ath = ath_cb[b] * athlower;\n thmLR = Math.min(Math.max(thmL, ath), Math.max(thmR, ath));\n thmM = Math.max(rmid, ath);\n thmS = Math.max(rside, ath);\n thmMS = thmM + thmS;\n if (thmMS > 0 && (thmLR * msfix2) < thmMS) {\n var f = thmLR * msfix2 / thmMS;\n thmM *= f;\n thmS *= f;\n assert(thmMS > 0);\n }\n rmid = Math.min(thmM, rmid);\n rside = Math.min(thmS, rside);\n }\n if (rmid > ebM) {\n rmid = ebM;\n }\n if (rside > ebS) {\n rside = ebS;\n }\n thr[2][b] = rmid;\n thr[3][b] = rside;\n }\n }\n\n this.L3psycho_anal_vbr = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_l;\n var wsamp_s;\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n var eb = new_float_n([4, Encoder.CBANDS]), thr = new_float_n([4, Encoder.CBANDS]);\n var sub_short_factor = new_float_n([4, 3]);\n var pcfact = 0.6;\n\n /* block type */\n var ns_attacks = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],\n [0, 0, 0, 0]];\n var uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4\n : gfc.channels_out;\n\n vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio,\n masking_MS_ratio, energy, sub_short_factor, ns_attacks,\n uselongblock);\n\n vbrpsy_compute_block_type(gfp, uselongblock);\n\n /* LONG BLOCK CASE */\n {\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n wsamp_l = wsamp_L;\n vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out,\n fftenergy, wsamp_l, ch01);\n\n vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn,\n fftenergy);\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_compute_masking_l(gfc, fftenergy, eb[chn], thr[chn],\n chn);\n } else {\n vbrpsy_skip_masking_l(gfc, chn);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 2) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_l,\n gfc.ATH.cb_l, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_l);\n }\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) {\n convert_partition2scalefac_l(gfc, eb[chn], thr[chn], chn);\n }\n }\n }\n\n /* SHORT BLOCKS CASE */\n {\n for (var sblock = 0; sblock < 3; sblock++) {\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_skip_masking_s(gfc, chn, sblock);\n } else {\n /* compute masking thresholds for short blocks */\n wsamp_s = wsamp_S;\n vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock,\n fftenergy_s, wsamp_s, ch01);\n vbrpsy_compute_masking_s(gfp, fftenergy_s, eb[chn],\n thr[chn], chn, sblock);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 0) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_s,\n gfc.ATH.cb_s, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_s);\n }\n /* L/R channel */\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n if (0 == uselongblock[ch01]) {\n convert_partition2scalefac_s(gfc, eb[chn], thr[chn],\n chn, sblock);\n }\n }\n }\n\n /**** short block pre-echo control ****/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n continue;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n var new_thmm = new_float(3);\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmm = gfc.thm[chn].s[sb][sblock];\n thmm *= NS_PREECHO_ATT0;\n\n if (ns_attacks[chn][sblock] >= 2\n || ns_attacks[chn][sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (ns_attacks[chn][sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[chn][sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n thmm *= sub_short_factor[chn][sblock];\n\n new_thmm[sblock] = thmm;\n }\n for (var sblock = 0; sblock < 3; sblock++) {\n gfc.thm[chn].s[sb][sblock] = new_thmm[sblock];\n }\n }\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[chn][2];\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ppe;\n var ppePos;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE) {\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n } else {\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n }\n\n if (gfp.analysis) {\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n }\n }\n return 0;\n }\n\n function s3_func_x(bark, hf_slope) {\n var tempx = bark, tempy;\n\n if (tempx >= 0) {\n tempy = -tempx * 27;\n } else {\n tempy = tempx * hf_slope;\n }\n if (tempy <= -72.0) {\n return 0;\n }\n return Math.exp(tempy * LN_TO_LOG10);\n }\n\n function norm_s3_func_x(hf_slope) {\n var lim_a = 0, lim_b = 0;\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x -= 1)\n ;\n l = x;\n h = 0;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n h = x;\n } else {\n l = x;\n }\n }\n lim_a = l;\n }\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x += 1)\n ;\n l = 0;\n h = x;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n l = x;\n } else {\n h = x;\n }\n }\n lim_b = h;\n }\n {\n var sum = 0;\n var m = 1000;\n var i;\n for (i = 0; i <= m; ++i) {\n var x = lim_a + i * (lim_b - lim_a) / m;\n var y = s3_func_x(x, hf_slope);\n sum += y;\n }\n {\n var norm = (m + 1) / (sum * (lim_b - lim_a));\n /* printf( \"norm = %lf\\n\",norm); */\n return norm;\n }\n }\n }\n\n /**\n * The spreading function. Values returned in units of energy\n */\n function s3_func(bark) {\n var tempx, x, tempy, temp;\n tempx = bark;\n if (tempx >= 0)\n tempx *= 3;\n else\n tempx *= 1.5;\n\n if (tempx >= 0.5 && tempx <= 2.5) {\n temp = tempx - 0.5;\n x = 8.0 * (temp * temp - 2.0 * temp);\n } else\n x = 0.0;\n tempx += 0.474;\n tempy = 15.811389 + 7.5 * tempx - 17.5\n * Math.sqrt(1.0 + tempx * tempx);\n\n if (tempy <= -60.0)\n return 0.0;\n\n tempx = Math.exp((x + tempy) * LN_TO_LOG10);\n\n /**\n *
\n         * Normalization.  The spreading function should be normalized so that:\n         * +inf\n         * /\n         * |  s3 [ bark ]  d(bark)   =  1\n         * /\n         * -inf\n         * 
\n */\n tempx /= .6609193;\n return tempx;\n }\n\n /**\n * see for example \"Zwicker: Psychoakustik, 1982; ISBN 3-540-11401-7\n */\n function freq2bark(freq) {\n /* input: freq in hz output: barks */\n if (freq < 0)\n freq = 0;\n freq = freq * 0.001;\n return 13.0 * Math.atan(.76 * freq) + 3.5\n * Math.atan(freq * freq / (7.5 * 7.5));\n }\n\n function init_numline(numlines, bo, bm, bval, bval_width, mld, bo_w, sfreq, blksize, scalepos, deltafreq, sbmax) {\n var b_frq = new_float(Encoder.CBANDS + 1);\n var sample_freq_frac = sfreq / (sbmax > 15 ? 2 * 576 : 2 * 192);\n var partition = new_int(Encoder.HBLKSIZE);\n var i;\n sfreq /= blksize;\n var j = 0;\n var ni = 0;\n /* compute numlines, the number of spectral lines in each partition band */\n /* each partition band should be about DELBARK wide. */\n for (i = 0; i < Encoder.CBANDS; i++) {\n var bark1;\n var j2;\n bark1 = freq2bark(sfreq * j);\n\n b_frq[i] = sfreq * j;\n\n for (j2 = j; freq2bark(sfreq * j2) - bark1 < DELBARK\n && j2 <= blksize / 2; j2++)\n ;\n\n numlines[i] = j2 - j;\n ni = i + 1;\n\n while (j < j2) {\n assert(j < Encoder.HBLKSIZE);\n partition[j++] = i;\n }\n if (j > blksize / 2) {\n j = blksize / 2;\n ++i;\n break;\n }\n }\n assert(i < Encoder.CBANDS);\n b_frq[i] = sfreq * j;\n\n for (var sfb = 0; sfb < sbmax; sfb++) {\n var i1, i2, start, end;\n var arg;\n start = scalepos[sfb];\n end = scalepos[sfb + 1];\n\n i1 = 0 | Math.floor(.5 + deltafreq * (start - .5));\n if (i1 < 0)\n i1 = 0;\n i2 = 0 | Math.floor(.5 + deltafreq * (end - .5));\n\n if (i2 > blksize / 2)\n i2 = blksize / 2;\n\n bm[sfb] = (partition[i1] + partition[i2]) / 2;\n bo[sfb] = partition[i2];\n var f_tmp = sample_freq_frac * end;\n /*\n * calculate how much of this band belongs to current scalefactor\n * band\n */\n bo_w[sfb] = (f_tmp - b_frq[bo[sfb]])\n / (b_frq[bo[sfb] + 1] - b_frq[bo[sfb]]);\n if (bo_w[sfb] < 0) {\n bo_w[sfb] = 0;\n } else {\n if (bo_w[sfb] > 1) {\n bo_w[sfb] = 1;\n }\n }\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n arg = freq2bark(sfreq * scalepos[sfb] * deltafreq);\n arg = ( Math.min(arg, 15.5) / 15.5);\n\n mld[sfb] = Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /* compute bark values of each critical band */\n j = 0;\n for (var k = 0; k < ni; k++) {\n var w = numlines[k];\n var bark1, bark2;\n\n bark1 = freq2bark(sfreq * (j));\n bark2 = freq2bark(sfreq * (j + w - 1));\n bval[k] = .5 * (bark1 + bark2);\n\n bark1 = freq2bark(sfreq * (j - .5));\n bark2 = freq2bark(sfreq * (j + w - .5));\n bval_width[k] = bark2 - bark1;\n j += w;\n }\n\n return ni;\n }\n\n function init_s3_values(s3ind, npart, bval, bval_width, norm, use_old_s3) {\n var s3 = new_float_n([Encoder.CBANDS, Encoder.CBANDS]);\n /*\n * The s3 array is not linear in the bark scale.\n *\n * bval[x] should be used to get the bark value.\n */\n var j;\n var numberOfNoneZero = 0;\n\n /**\n *
\n         * s[i][j], the value of the spreading function,\n         * centered at band j (masker), for band i (maskee)\n         *\n         * i.e.: sum over j to spread into signal barkval=i\n         * NOTE: i and j are used opposite as in the ISO docs\n         * 
\n */\n if (use_old_s3) {\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n var v = s3_func(bval[i] - bval[j]) * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n } else {\n for (j = 0; j < npart; j++) {\n var hf_slope = 15 + Math.min(21 / bval[j], 12);\n var s3_x_norm = norm_s3_func_x(hf_slope);\n for (var i = 0; i < npart; i++) {\n var v = s3_x_norm\n * s3_func_x(bval[i] - bval[j], hf_slope)\n * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n }\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][0] = j;\n\n for (j = npart - 1; j > 0; j--) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][1] = j;\n numberOfNoneZero += (s3ind[i][1] - s3ind[i][0] + 1);\n }\n\n var p = new_float(numberOfNoneZero);\n var k = 0;\n for (var i = 0; i < npart; i++)\n for (j = s3ind[i][0]; j <= s3ind[i][1]; j++)\n p[k++] = s3[i][j];\n\n return p;\n }\n\n function stereo_demask(f) {\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n var arg = freq2bark(f);\n arg = (Math.min(arg, 15.5) / 15.5);\n\n return Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /**\n * NOTE: the bitrate reduction from the inter-channel masking effect is low\n * compared to the chance of getting annyoing artefacts. L3psycho_anal_vbr\n * does not use this feature. (Robert 071216)\n */\n this.psymodel_init = function (gfp) {\n var gfc = gfp.internal_flags;\n var i;\n var useOldS3 = true;\n var bvl_a = 13, bvl_b = 24;\n var snr_l_a = 0, snr_l_b = 0;\n var snr_s_a = -8.25, snr_s_b = -4.5;\n var bval = new_float(Encoder.CBANDS);\n var bval_width = new_float(Encoder.CBANDS);\n var norm = new_float(Encoder.CBANDS);\n var sfreq = gfp.out_samplerate;\n\n switch (gfp.experimentalZ) {\n default:\n case 0:\n useOldS3 = true;\n break;\n case 1:\n useOldS3 = (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) ? false\n : true;\n break;\n case 2:\n useOldS3 = false;\n break;\n case 3:\n bvl_a = 8;\n snr_l_a = -1.75;\n snr_l_b = -0.0125;\n snr_s_a = -8.25;\n snr_s_b = -2.25;\n break;\n }\n gfc.ms_ener_ratio_old = .25;\n gfc.blocktype_old[0] = gfc.blocktype_old[1] = Encoder.NORM_TYPE;\n // the vbr header is long blocks\n\n for (i = 0; i < 4; ++i) {\n for (var j = 0; j < Encoder.CBANDS; ++j) {\n gfc.nb_1[i][j] = 1e20;\n gfc.nb_2[i][j] = 1e20;\n gfc.nb_s1[i][j] = gfc.nb_s2[i][j] = 1.0;\n }\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n gfc.en[i].l[sb] = 1e20;\n gfc.thm[i].l[sb] = 1e20;\n }\n for (var j = 0; j < 3; ++j) {\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n gfc.en[i].s[sb][j] = 1e20;\n gfc.thm[i].s[sb][j] = 1e20;\n }\n gfc.nsPsy.lastAttacks[i] = 0;\n }\n for (var j = 0; j < 9; j++)\n gfc.nsPsy.last_en_subshort[i][j] = 10.;\n }\n\n /* init. for loudness approx. -jd 2001 mar 27 */\n gfc.loudness_sq_save[0] = gfc.loudness_sq_save[1] = 0.0;\n\n /*************************************************************************\n * now compute the psychoacoustic model specific constants\n ************************************************************************/\n /* compute numlines, bo, bm, bval, bval_width, mld */\n\n gfc.npart_l = init_numline(gfc.numlines_l, gfc.bo_l, gfc.bm_l, bval,\n bval_width, gfc.mld_l, gfc.PSY.bo_l_weight, sfreq,\n Encoder.BLKSIZE, gfc.scalefac_band.l, Encoder.BLKSIZE\n / (2.0 * 576), Encoder.SBMAX_l);\n assert(gfc.npart_l < Encoder.CBANDS);\n /* compute the spreading function */\n for (i = 0; i < gfc.npart_l; i++) {\n var snr = snr_l_a;\n if (bval[i] >= bvl_a) {\n snr = snr_l_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_l_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n if (gfc.numlines_l[i] > 0) {\n gfc.rnumlines_l[i] = 1.0 / gfc.numlines_l[i];\n } else {\n gfc.rnumlines_l[i] = 0;\n }\n }\n gfc.s3_ll = init_s3_values(gfc.s3ind, gfc.npart_l, bval, bval_width,\n norm, useOldS3);\n\n /* compute long block specific values, ATH and MINVAL */\n var j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var x;\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_l[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE);\n var level;\n /*\n * ATH below 100 Hz constant, not further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_l[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_l[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n /*\n * FIXME: it does work to reduce low-freq problems in S53-Wind-Sax\n * and lead-voice samples, but introduces some 3 kbps bit bloat too.\n * TODO: Further refinement of the shape of this hack.\n */\n x = -20 + bval[i] * 20 / 10;\n if (x > 6) {\n x = 100;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8.;\n gfc.minval_l[i] = (Math.pow(10.0, x / 10.) * gfc.numlines_l[i]);\n }\n\n /************************************************************************\n * do the same things for short blocks\n ************************************************************************/\n gfc.npart_s = init_numline(gfc.numlines_s, gfc.bo_s, gfc.bm_s, bval,\n bval_width, gfc.mld_s, gfc.PSY.bo_s_weight, sfreq,\n Encoder.BLKSIZE_s, gfc.scalefac_band.s, Encoder.BLKSIZE_s\n / (2.0 * 192), Encoder.SBMAX_s);\n assert(gfc.npart_s < Encoder.CBANDS);\n\n /* SNR formula. short block is normalized by SNR. is it still right ? */\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var x;\n var snr = snr_s_a;\n if (bval[i] >= bvl_a) {\n snr = snr_s_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_s_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_s[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE_s);\n var level;\n /* freq = Min(.1,freq); */\n /*\n * ATH below 100 Hz constant, not\n * further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_s[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_s[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n x = (-7.0 + bval[i] * 7.0 / 12.0);\n if (bval[i] > 12) {\n x *= 1 + Math.log(1 + x) * 3.1;\n }\n if (bval[i] < 12) {\n x *= 1 + Math.log(1 - x) * 2.3;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8;\n gfc.minval_s[i] = Math.pow(10.0, x / 10)\n * gfc.numlines_s[i];\n }\n\n gfc.s3_ss = init_s3_values(gfc.s3ind_s, gfc.npart_s, bval, bval_width,\n norm, useOldS3);\n\n init_mask_add_max_values();\n fft.init_fft(gfc);\n\n /* setup temporal masking */\n gfc.decay = Math.exp(-1.0 * LOG10\n / (temporalmask_sustain_sec * sfreq / 192.0));\n\n {\n var msfix;\n msfix = NS_MSFIX;\n if ((gfp.exp_nspsytune & 2) != 0)\n msfix = 1.0;\n if (Math.abs(gfp.msfix) > 0.0)\n msfix = gfp.msfix;\n gfp.msfix = msfix;\n\n /*\n * spread only from npart_l bands. Normally, we use the spreading\n * function to convolve from npart_l down to npart_l bands\n */\n for (var b = 0; b < gfc.npart_l; b++)\n if (gfc.s3ind[b][1] > gfc.npart_l - 1)\n gfc.s3ind[b][1] = gfc.npart_l - 1;\n }\n\n /*\n * prepare for ATH auto adjustment: we want to decrease the ATH by 12 dB\n * per second\n */\n var frame_duration = (576. * gfc.mode_gr / sfreq);\n gfc.ATH.decay = Math.pow(10., -12. / 10. * frame_duration);\n gfc.ATH.adjust = 0.01;\n /* minimum, for leading low loudness */\n gfc.ATH.adjustLimit = 1.0;\n /* on lead, allow adjust up to maximum */\n\n assert(gfc.bo_l[Encoder.SBMAX_l - 1] <= gfc.npart_l);\n assert(gfc.bo_s[Encoder.SBMAX_s - 1] <= gfc.npart_s);\n\n if (gfp.ATHtype != -1) {\n /* compute equal loudness weights (eql_w) */\n var freq;\n var freq_inc = gfp.out_samplerate\n / (Encoder.BLKSIZE);\n var eql_balance = 0.0;\n freq = 0.0;\n for (i = 0; i < Encoder.BLKSIZE / 2; ++i) {\n /* convert ATH dB to relative power (not dB) */\n /* to determine eql_w */\n freq += freq_inc;\n gfc.ATH.eql_w[i] = 1. / Math.pow(10, this.ATHformula(freq, gfp) / 10);\n eql_balance += gfc.ATH.eql_w[i];\n }\n eql_balance = 1.0 / eql_balance;\n for (i = Encoder.BLKSIZE / 2; --i >= 0;) { /* scale weights */\n gfc.ATH.eql_w[i] *= eql_balance;\n }\n }\n {\n for (var b = j = 0; b < gfc.npart_s; ++b) {\n for (i = 0; i < gfc.numlines_s[b]; ++i) {\n ++j;\n }\n }\n assert(j == 129);\n for (var b = j = 0; b < gfc.npart_l; ++b) {\n for (i = 0; i < gfc.numlines_l[b]; ++i) {\n ++j;\n }\n }\n assert(j == 513);\n }\n j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var freq = sfreq * (j + gfc.numlines_l[i] / 2) / (1.0 * Encoder.BLKSIZE);\n gfc.mld_cb_l[i] = stereo_demask(freq);\n j += gfc.numlines_l[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_l[i] = 1;\n }\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var freq = sfreq * (j + gfc.numlines_s[i] / 2) / (1.0 * Encoder.BLKSIZE_s);\n gfc.mld_cb_s[i] = stereo_demask(freq);\n j += gfc.numlines_s[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_s[i] = 1;\n }\n return 0;\n }\n\n /**\n * Those ATH formulas are returning their minimum value for input = -1\n */\n function ATHformula_GB(f, value) {\n /**\n *
\n         *  from Painter & Spanias\n         *           modified by Gabriel Bouvigne to better fit the reality\n         *           ath =    3.640 * pow(f,-0.8)\n         *           - 6.800 * exp(-0.6*pow(f-3.4,2.0))\n         *           + 6.000 * exp(-0.15*pow(f-8.7,2.0))\n         *           + 0.6* 0.001 * pow(f,4.0);\n         *\n         *\n         *           In the past LAME was using the Painter &Spanias formula.\n         *           But we had some recurrent problems with HF content.\n         *           We measured real ATH values, and found the older formula\n         *           to be inaccurate in the higher part. So we made this new\n         *           formula and this solved most of HF problematic test cases.\n         *           The tradeoff is that in VBR mode it increases a lot the\n         *           bitrate.\n         * 
\n */\n\n /*\n * This curve can be adjusted according to the VBR scale: it adjusts\n * from something close to Painter & Spanias on V9 up to Bouvigne's\n * formula for V0. This way the VBR bitrate is more balanced according\n * to the -V value.\n */\n\n // the following Hack allows to ask for the lowest value\n if (f < -.3)\n f = 3410;\n\n // convert to khz\n f /= 1000;\n f = Math.max(0.1, f);\n var ath = 3.640 * Math.pow(f, -0.8) - 6.800\n * Math.exp(-0.6 * Math.pow(f - 3.4, 2.0)) + 6.000\n * Math.exp(-0.15 * Math.pow(f - 8.7, 2.0))\n + (0.6 + 0.04 * value) * 0.001 * Math.pow(f, 4.0);\n return ath;\n }\n\n this.ATHformula = function (f, gfp) {\n var ath;\n switch (gfp.ATHtype) {\n case 0:\n ath = ATHformula_GB(f, 9);\n break;\n case 1:\n // over sensitive, should probably be removed\n ath = ATHformula_GB(f, -1);\n break;\n case 2:\n ath = ATHformula_GB(f, 0);\n break;\n case 3:\n // modification of GB formula by Roel\n ath = ATHformula_GB(f, 1) + 6;\n break;\n case 4:\n ath = ATHformula_GB(f, gfp.ATHcurve);\n break;\n default:\n ath = ATHformula_GB(f, 0);\n break;\n }\n return ath;\n }\n\n}\n\nmodule.exports = PsyModel;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","\"use strict\";\n\nexports.__esModule = true;\nexports.inherits = inherits;\nfunction inherits(parent, child) {\n\tvar props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar extended = Object.create(parent.prototype);\n\tfor (var p in props) {\n\t\textended[p] = props[p];\n\t}\n\textended.constructor = child;\n\tchild.prototype = extended;\n\treturn child;\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\nvar getFlags = uncurryThis(regExpFlags);\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\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","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GrInfo = require('./GrInfo.js');\n\nfunction IIISideInfo() {\n this.tt = [[null, null], [null, null]];\n this.main_data_begin = 0;\n this.private_bits = 0;\n this.resvDrain_pre = 0;\n this.resvDrain_post = 0;\n this.scfsi = [new_int(4), new_int(4)];\n\n for (var gr = 0; gr < 2; gr++) {\n for (var ch = 0; ch < 2; ch++) {\n this.tt[gr][ch] = new GrInfo();\n }\n }\n}\n\nmodule.exports = IIISideInfo;\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineProperties = require('../internals/object-define-properties').f;\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice-simple');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) == '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() == ':') {\n if (charAt(input, 1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n } return join(result, '.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length == 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += toLowerCase(chr);\n } else if (chr == ':') {\n if (stateOverride && (\n (url.isSpecial() != hasOwn(specialSchemes, buffer)) ||\n (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) == '[') {\n if (charAt(input, input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme == 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username != '' || this.password != '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port == '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search == '') {\n this.query = null;\n } else {\n if ('?' == charAt(search, 0)) search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash == '') {\n this.fragment = null;\n return;\n }\n if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor('serialize', 'setHref'),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor('getOrigin'),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor('getProtocol', 'setProtocol'),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor('getUsername', 'setUsername'),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor('getPassword', 'setPassword'),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor('getHost', 'setHost'),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor('getHostname', 'setHostname'),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor('getPort', 'setPort'),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor('getPathname', 'setPathname'),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor('getSearch', 'setSearch'),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor('getSearchParams'),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor('getHash', 'setHash')\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar MISSED_STICKY = require('../internals/regexp-sticky-helpers').MISSED_STICKY;\nvar classof = require('../internals/classof-raw');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getInternalState = require('../internals/internal-state').get;\n\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\n\n// `RegExp.prototype.sticky` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky\nif (DESCRIPTORS && MISSED_STICKY) {\n defineProperty(RegExpPrototype, 'sticky', {\n configurable: true,\n get: function () {\n if (this === RegExpPrototype) return undefined;\n // We can't use InternalStateModule.getterFor because\n // we don't add metadata for regexps created by a literal.\n if (classof(this) === 'RegExp') {\n return !!getInternalState(this).sticky;\n }\n throw TypeError('Incompatible receiver, RegExp required');\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar un$StartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return un$StartsWith\n ? un$StartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, 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(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, 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);\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 isCallable(global.postMessage) &&\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 global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","'use strict';\n\nexports.__esModule = true;\nexports.tokenize = exports.test = exports.scanner = exports.parser = exports.options = exports.inherits = exports.find = undefined;\n\nvar _class = require('./linkify/utils/class');\n\nvar _options = require('./linkify/utils/options');\n\nvar options = _interopRequireWildcard(_options);\n\nvar _scanner = require('./linkify/core/scanner');\n\nvar scanner = _interopRequireWildcard(_scanner);\n\nvar _parser = require('./linkify/core/parser');\n\nvar parser = _interopRequireWildcard(_parser);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nif (!Array.isArray) {\n\tArray.isArray = function (arg) {\n\t\treturn Object.prototype.toString.call(arg) === '[object Array]';\n\t};\n}\n\n/**\n\tConverts a string into tokens that represent linkable and non-linkable bits\n\t@method tokenize\n\t@param {String} str\n\t@return {Array} tokens\n*/\nvar tokenize = function tokenize(str) {\n\treturn parser.run(scanner.run(str));\n};\n\n/**\n\tReturns a list of linkable items in the given string.\n*/\nvar find = function find(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\tvar filtered = [];\n\n\tfor (var i = 0; i < tokens.length; i++) {\n\t\tvar token = tokens[i];\n\t\tif (token.isLink && (!type || token.type === type)) {\n\t\t\tfiltered.push(token.toObject());\n\t\t}\n\t}\n\n\treturn filtered;\n};\n\n/**\n\tIs the given string valid linkable text of some sort\n\tNote that this does not trim the text for you.\n\n\tOptionally pass in a second `type` param, which is the type of link to test\n\tfor.\n\n\tFor example,\n\n\t\ttest(str, 'email');\n\n\tWill return `true` if str is a valid email.\n*/\nvar test = function test(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\treturn tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].type === type);\n};\n\n// Scanner and parser provide states and tokens for the lexicographic stage\n// (will be used to add additional link types)\nexports.find = find;\nexports.inherits = _class.inherits;\nexports.options = options;\nexports.parser = parser;\nexports.scanner = scanner;\nexports.test = test;\nexports.tokenize = tokenize;","/*\n * ReplayGainAnalysis - analyzes input samples and give the recommended dB change\n * Copyright (C) 2001 David Robinson and Glen Sawyer\n * Improvements and optimizations added by Frank Klemm, and by Marcel Muller \n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * concept and filter values by David Robinson (David@Robinson.org)\n * -- blame him if you think the idea is flawed\n * original coding by Glen Sawyer (mp3gain@hotmail.com)\n * -- blame him if you think this runs too slowly, or the coding is otherwise flawed\n *\n * lots of code improvements by Frank Klemm ( http://www.uni-jena.de/~pfk/mpp/ )\n * -- credit him for all the _good_ programming ;)\n *\n *\n * For an explanation of the concepts and the basic algorithms involved, go to:\n * http://www.replaygain.org/\n */\n\n/*\n * Here's the deal. Call\n *\n * InitGainAnalysis ( long samplefreq );\n *\n * to initialize everything. Call\n *\n * AnalyzeSamples ( var Float_t* left_samples,\n * var Float_t* right_samples,\n * size_t num_samples,\n * int num_channels );\n *\n * as many times as you want, with as many or as few samples as you want.\n * If mono, pass the sample buffer in through left_samples, leave\n * right_samples NULL, and make sure num_channels = 1.\n *\n * GetTitleGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * SINCE THE LAST TIME you called GetTitleGain() OR InitGainAnalysis().\n *\n * GetAlbumGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * since InitGainAnalysis() was called and finalized with GetTitleGain().\n *\n * Pseudo-code to process an album:\n *\n * Float_t l_samples [4096];\n * Float_t r_samples [4096];\n * size_t num_samples;\n * unsigned int num_songs;\n * unsigned int i;\n *\n * InitGainAnalysis ( 44100 );\n * for ( i = 1; i <= num_songs; i++ ) {\n * while ( ( num_samples = getSongSamples ( song[i], left_samples, right_samples ) ) > 0 )\n * AnalyzeSamples ( left_samples, right_samples, num_samples, 2 );\n * fprintf (\"Recommended dB change for song %2d: %+6.2 dB\\n\", i, GetTitleGain() );\n * }\n * fprintf (\"Recommended dB change for whole album: %+6.2 dB\\n\", GetAlbumGain() );\n */\n\n/*\n * So here's the main source of potential code confusion:\n *\n * The filters applied to the incoming samples are IIR filters,\n * meaning they rely on up to number of previous samples\n * AND up to number of previous filtered samples.\n *\n * I set up the AnalyzeSamples routine to minimize memory usage and interface\n * complexity. The speed isn't compromised too much (I don't think), but the\n * internal complexity is higher than it should be for such a relatively\n * simple routine.\n *\n * Optimization/clarity suggestions are welcome.\n */\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\n/**\n * Table entries per dB\n */\nGainAnalysis.STEPS_per_dB = 100.;\n/**\n * Table entries for 0...MAX_dB (normal max. values are 70...80 dB)\n */\nGainAnalysis.MAX_dB = 120.;\nGainAnalysis.GAIN_NOT_ENOUGH_SAMPLES = -24601;\nGainAnalysis.GAIN_ANALYSIS_ERROR = 0;\nGainAnalysis.GAIN_ANALYSIS_OK = 1;\nGainAnalysis.INIT_GAIN_ANALYSIS_ERROR = 0;\nGainAnalysis.INIT_GAIN_ANALYSIS_OK = 1;\n\nGainAnalysis.YULE_ORDER = 10;\nGainAnalysis.MAX_ORDER = GainAnalysis.YULE_ORDER;\n\nGainAnalysis.MAX_SAMP_FREQ = 48000;\nGainAnalysis.RMS_WINDOW_TIME_NUMERATOR = 1;\nGainAnalysis.RMS_WINDOW_TIME_DENOMINATOR = 20;\nGainAnalysis.MAX_SAMPLES_PER_WINDOW = ((GainAnalysis.MAX_SAMP_FREQ * GainAnalysis.RMS_WINDOW_TIME_NUMERATOR) / GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR + 1);\n\nfunction GainAnalysis() {\n /**\n * calibration value for 89dB\n */\n var PINK_REF = 64.82;\n\n var YULE_ORDER = GainAnalysis.YULE_ORDER;\n /**\n * percentile which is louder than the proposed level\n */\n var RMS_PERCENTILE = 0.95;\n /**\n * maximum allowed sample frequency [Hz]\n */\n var MAX_SAMP_FREQ = GainAnalysis.MAX_SAMP_FREQ;\n var RMS_WINDOW_TIME_NUMERATOR = GainAnalysis.RMS_WINDOW_TIME_NUMERATOR;\n /**\n * numerator / denominator = time slice size [s]\n */\n var RMS_WINDOW_TIME_DENOMINATOR = GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR;\n /**\n * max. Samples per Time slice\n */\n var MAX_SAMPLES_PER_WINDOW = GainAnalysis.MAX_SAMPLES_PER_WINDOW;\n\n\n var ABYule = [\n [0.03857599435200, -3.84664617118067, -0.02160367184185,\n 7.81501653005538, -0.00123395316851, -11.34170355132042,\n -0.00009291677959, 13.05504219327545, -0.01655260341619,\n -12.28759895145294, 0.02161526843274, 9.48293806319790,\n -0.02074045215285, -5.87257861775999, 0.00594298065125,\n 2.75465861874613, 0.00306428023191, -0.86984376593551,\n 0.00012025322027, 0.13919314567432, 0.00288463683916],\n [0.05418656406430, -3.47845948550071, -0.02911007808948,\n 6.36317777566148, -0.00848709379851, -8.54751527471874,\n -0.00851165645469, 9.47693607801280, -0.00834990904936,\n -8.81498681370155, 0.02245293253339, 6.85401540936998,\n -0.02596338512915, -4.39470996079559, 0.01624864962975,\n 2.19611684890774, -0.00240879051584, -0.75104302451432,\n 0.00674613682247, 0.13149317958808, -0.00187763777362],\n [0.15457299681924, -2.37898834973084, -0.09331049056315,\n 2.84868151156327, -0.06247880153653, -2.64577170229825,\n 0.02163541888798, 2.23697657451713, -0.05588393329856,\n -1.67148153367602, 0.04781476674921, 1.00595954808547,\n 0.00222312597743, -0.45953458054983, 0.03174092540049,\n 0.16378164858596, -0.01390589421898, -0.05032077717131,\n 0.00651420667831, 0.02347897407020, -0.00881362733839],\n [0.30296907319327, -1.61273165137247, -0.22613988682123,\n 1.07977492259970, -0.08587323730772, -0.25656257754070,\n 0.03282930172664, -0.16276719120440, -0.00915702933434,\n -0.22638893773906, -0.02364141202522, 0.39120800788284,\n -0.00584456039913, -0.22138138954925, 0.06276101321749,\n 0.04500235387352, -0.00000828086748, 0.02005851806501,\n 0.00205861885564, 0.00302439095741, -0.02950134983287],\n [0.33642304856132, -1.49858979367799, -0.25572241425570,\n 0.87350271418188, -0.11828570177555, 0.12205022308084,\n 0.11921148675203, -0.80774944671438, -0.07834489609479,\n 0.47854794562326, -0.00469977914380, -0.12453458140019,\n -0.00589500224440, -0.04067510197014, 0.05724228140351,\n 0.08333755284107, 0.00832043980773, -0.04237348025746,\n -0.01635381384540, 0.02977207319925, -0.01760176568150],\n [0.44915256608450, -0.62820619233671, -0.14351757464547,\n 0.29661783706366, -0.22784394429749, -0.37256372942400,\n -0.01419140100551, 0.00213767857124, 0.04078262797139,\n -0.42029820170918, -0.12398163381748, 0.22199650564824,\n 0.04097565135648, 0.00613424350682, 0.10478503600251,\n 0.06747620744683, -0.01863887810927, 0.05784820375801,\n -0.03193428438915, 0.03222754072173, 0.00541907748707],\n [0.56619470757641, -1.04800335126349, -0.75464456939302,\n 0.29156311971249, 0.16242137742230, -0.26806001042947,\n 0.16744243493672, 0.00819999645858, -0.18901604199609,\n 0.45054734505008, 0.30931782841830, -0.33032403314006,\n -0.27562961986224, 0.06739368333110, 0.00647310677246,\n -0.04784254229033, 0.08647503780351, 0.01639907836189,\n -0.03788984554840, 0.01807364323573, -0.00588215443421],\n [0.58100494960553, -0.51035327095184, -0.53174909058578,\n -0.31863563325245, -0.14289799034253, -0.20256413484477,\n 0.17520704835522, 0.14728154134330, 0.02377945217615,\n 0.38952639978999, 0.15558449135573, -0.23313271880868,\n -0.25344790059353, -0.05246019024463, 0.01628462406333,\n -0.02505961724053, 0.06920467763959, 0.02442357316099,\n -0.03721611395801, 0.01818801111503, -0.00749618797172],\n [0.53648789255105, -0.25049871956020, -0.42163034350696,\n -0.43193942311114, -0.00275953611929, -0.03424681017675,\n 0.04267842219415, -0.04678328784242, -0.10214864179676,\n 0.26408300200955, 0.14590772289388, 0.15113130533216,\n -0.02459864859345, -0.17556493366449, -0.11202315195388,\n -0.18823009262115, -0.04060034127000, 0.05477720428674,\n 0.04788665548180, 0.04704409688120, -0.02217936801134]];\n\n var ABButter = [\n [0.98621192462708, -1.97223372919527, -1.97242384925416,\n 0.97261396931306, 0.98621192462708],\n [0.98500175787242, -1.96977855582618, -1.97000351574484,\n 0.97022847566350, 0.98500175787242],\n [0.97938932735214, -1.95835380975398, -1.95877865470428,\n 0.95920349965459, 0.97938932735214],\n [0.97531843204928, -1.95002759149878, -1.95063686409857,\n 0.95124613669835, 0.97531843204928],\n [0.97316523498161, -1.94561023566527, -1.94633046996323,\n 0.94705070426118, 0.97316523498161],\n [0.96454515552826, -1.92783286977036, -1.92909031105652,\n 0.93034775234268, 0.96454515552826],\n [0.96009142950541, -1.91858953033784, -1.92018285901082,\n 0.92177618768381, 0.96009142950541],\n [0.95856916599601, -1.91542108074780, -1.91713833199203,\n 0.91885558323625, 0.95856916599601],\n [0.94597685600279, -1.88903307939452, -1.89195371200558,\n 0.89487434461664, 0.94597685600279]];\n\n\n /**\n * When calling this procedure, make sure that ip[-order] and op[-order]\n * point to real data\n */\n //private void filterYule(final float[] input, int inputPos, float[] output,\n //int outputPos, int nSamples, final float[] kernel) {\n function filterYule(input, inputPos, output, outputPos, nSamples, kernel) {\n\n while ((nSamples--) != 0) {\n /* 1e-10 is a hack to avoid slowdown because of denormals */\n output[outputPos] = 1e-10 + input[inputPos + 0] * kernel[0]\n - output[outputPos - 1] * kernel[1] + input[inputPos - 1]\n * kernel[2] - output[outputPos - 2] * kernel[3]\n + input[inputPos - 2] * kernel[4] - output[outputPos - 3]\n * kernel[5] + input[inputPos - 3] * kernel[6]\n - output[outputPos - 4] * kernel[7] + input[inputPos - 4]\n * kernel[8] - output[outputPos - 5] * kernel[9]\n + input[inputPos - 5] * kernel[10] - output[outputPos - 6]\n * kernel[11] + input[inputPos - 6] * kernel[12]\n - output[outputPos - 7] * kernel[13] + input[inputPos - 7]\n * kernel[14] - output[outputPos - 8] * kernel[15]\n + input[inputPos - 8] * kernel[16] - output[outputPos - 9]\n * kernel[17] + input[inputPos - 9] * kernel[18]\n - output[outputPos - 10] * kernel[19]\n + input[inputPos - 10] * kernel[20];\n ++outputPos;\n ++inputPos;\n }\n }\n\n//private void filterButter(final float[] input, int inputPos,\n// float[] output, int outputPos, int nSamples, final float[] kernel) {\n function filterButter(input, inputPos, output, outputPos, nSamples, kernel) {\n\n while ((nSamples--) != 0) {\n output[outputPos] = input[inputPos + 0] * kernel[0]\n - output[outputPos - 1] * kernel[1] + input[inputPos - 1]\n * kernel[2] - output[outputPos - 2] * kernel[3]\n + input[inputPos - 2] * kernel[4];\n ++outputPos;\n ++inputPos;\n }\n }\n\n /**\n * @return INIT_GAIN_ANALYSIS_OK if successful, INIT_GAIN_ANALYSIS_ERROR if\n * not\n */\n function ResetSampleFrequency(rgData, samplefreq) {\n /* zero out initial values */\n for (var i = 0; i < MAX_ORDER; i++)\n rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n\n switch (0 | (samplefreq)) {\n case 48000:\n rgData.reqindex = 0;\n break;\n case 44100:\n rgData.reqindex = 1;\n break;\n case 32000:\n rgData.reqindex = 2;\n break;\n case 24000:\n rgData.reqindex = 3;\n break;\n case 22050:\n rgData.reqindex = 4;\n break;\n case 16000:\n rgData.reqindex = 5;\n break;\n case 12000:\n rgData.reqindex = 6;\n break;\n case 11025:\n rgData.reqindex = 7;\n break;\n case 8000:\n rgData.reqindex = 8;\n break;\n default:\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n\n rgData.sampleWindow = 0 | ((samplefreq * RMS_WINDOW_TIME_NUMERATOR\n + RMS_WINDOW_TIME_DENOMINATOR - 1) / RMS_WINDOW_TIME_DENOMINATOR);\n\n rgData.lsum = 0.;\n rgData.rsum = 0.;\n rgData.totsamp = 0;\n\n Arrays.ill(rgData.A, 0);\n\n return INIT_GAIN_ANALYSIS_OK;\n }\n\n this.InitGainAnalysis = function (rgData, samplefreq) {\n if (ResetSampleFrequency(rgData, samplefreq) != INIT_GAIN_ANALYSIS_OK) {\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n\n rgData.linpre = MAX_ORDER;\n rgData.rinpre = MAX_ORDER;\n rgData.lstep = MAX_ORDER;\n rgData.rstep = MAX_ORDER;\n rgData.lout = MAX_ORDER;\n rgData.rout = MAX_ORDER;\n\n Arrays.fill(rgData.B, 0);\n\n return INIT_GAIN_ANALYSIS_OK;\n };\n\n /**\n * square\n */\n function fsqr(d) {\n return d * d;\n }\n\n this.AnalyzeSamples = function (rgData, left_samples, left_samplesPos, right_samples, right_samplesPos, num_samples,\n num_channels) {\n var curleft;\n var curleftBase;\n var curright;\n var currightBase;\n var batchsamples;\n var cursamples;\n var cursamplepos;\n\n if (num_samples == 0)\n return GAIN_ANALYSIS_OK;\n\n cursamplepos = 0;\n batchsamples = num_samples;\n\n switch (num_channels) {\n case 1:\n right_samples = left_samples;\n right_samplesPos = left_samplesPos;\n break;\n case 2:\n break;\n default:\n return GAIN_ANALYSIS_ERROR;\n }\n\n if (num_samples < MAX_ORDER) {\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER, num_samples);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER, num_samples);\n } else {\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER, MAX_ORDER);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER, MAX_ORDER);\n }\n\n while (batchsamples > 0) {\n cursamples = batchsamples > rgData.sampleWindow - rgData.totsamp ? rgData.sampleWindow\n - rgData.totsamp\n : batchsamples;\n if (cursamplepos < MAX_ORDER) {\n curleft = rgData.linpre + cursamplepos;\n curleftBase = rgData.linprebuf;\n curright = rgData.rinpre + cursamplepos;\n currightBase = rgData.rinprebuf;\n if (cursamples > MAX_ORDER - cursamplepos)\n cursamples = MAX_ORDER - cursamplepos;\n } else {\n curleft = left_samplesPos + cursamplepos;\n curleftBase = left_samples;\n curright = right_samplesPos + cursamplepos;\n currightBase = right_samples;\n }\n\n filterYule(curleftBase, curleft, rgData.lstepbuf, rgData.lstep\n + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n filterYule(currightBase, curright, rgData.rstepbuf, rgData.rstep\n + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n\n filterButter(rgData.lstepbuf, rgData.lstep + rgData.totsamp,\n rgData.loutbuf, rgData.lout + rgData.totsamp, cursamples,\n ABButter[rgData.reqindex]);\n filterButter(rgData.rstepbuf, rgData.rstep + rgData.totsamp,\n rgData.routbuf, rgData.rout + rgData.totsamp, cursamples,\n ABButter[rgData.reqindex]);\n\n curleft = rgData.lout + rgData.totsamp;\n /* Get the squared values */\n curleftBase = rgData.loutbuf;\n curright = rgData.rout + rgData.totsamp;\n currightBase = rgData.routbuf;\n\n var i = cursamples % 8;\n while ((i--) != 0) {\n rgData.lsum += fsqr(curleftBase[curleft++]);\n rgData.rsum += fsqr(currightBase[curright++]);\n }\n i = cursamples / 8;\n while ((i--) != 0) {\n rgData.lsum += fsqr(curleftBase[curleft + 0])\n + fsqr(curleftBase[curleft + 1])\n + fsqr(curleftBase[curleft + 2])\n + fsqr(curleftBase[curleft + 3])\n + fsqr(curleftBase[curleft + 4])\n + fsqr(curleftBase[curleft + 5])\n + fsqr(curleftBase[curleft + 6])\n + fsqr(curleftBase[curleft + 7]);\n curleft += 8;\n rgData.rsum += fsqr(currightBase[curright + 0])\n + fsqr(currightBase[curright + 1])\n + fsqr(currightBase[curright + 2])\n + fsqr(currightBase[curright + 3])\n + fsqr(currightBase[curright + 4])\n + fsqr(currightBase[curright + 5])\n + fsqr(currightBase[curright + 6])\n + fsqr(currightBase[curright + 7]);\n curright += 8;\n }\n\n batchsamples -= cursamples;\n cursamplepos += cursamples;\n rgData.totsamp += cursamples;\n if (rgData.totsamp == rgData.sampleWindow) {\n /* Get the Root Mean Square (RMS) for this set of samples */\n var val = GainAnalysis.STEPS_per_dB\n * 10.\n * Math.log10((rgData.lsum + rgData.rsum)\n / rgData.totsamp * 0.5 + 1.e-37);\n var ival = (val <= 0) ? 0 : 0 | val;\n if (ival >= rgData.A.length)\n ival = rgData.A.length - 1;\n rgData.A[ival]++;\n rgData.lsum = rgData.rsum = 0.;\n\n System.arraycopy(rgData.loutbuf, rgData.totsamp,\n rgData.loutbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.routbuf, rgData.totsamp,\n rgData.routbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.lstepbuf, rgData.totsamp,\n rgData.lstepbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.rstepbuf, rgData.totsamp,\n rgData.rstepbuf, 0, MAX_ORDER);\n rgData.totsamp = 0;\n }\n if (rgData.totsamp > rgData.sampleWindow) {\n /*\n * somehow I really screwed up: Error in programming! Contact\n * author about totsamp > sampleWindow\n */\n return GAIN_ANALYSIS_ERROR;\n }\n }\n if (num_samples < MAX_ORDER) {\n System.arraycopy(rgData.linprebuf, num_samples, rgData.linprebuf,\n 0, MAX_ORDER - num_samples);\n System.arraycopy(rgData.rinprebuf, num_samples, rgData.rinprebuf,\n 0, MAX_ORDER - num_samples);\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER - num_samples, num_samples);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER - num_samples, num_samples);\n } else {\n System.arraycopy(left_samples, left_samplesPos + num_samples\n - MAX_ORDER, rgData.linprebuf, 0, MAX_ORDER);\n System.arraycopy(right_samples, right_samplesPos + num_samples\n - MAX_ORDER, rgData.rinprebuf, 0, MAX_ORDER);\n }\n\n return GAIN_ANALYSIS_OK;\n };\n\n function analyzeResult(Array, len) {\n var i;\n\n var elems = 0;\n for (i = 0; i < len; i++)\n elems += Array[i];\n if (elems == 0)\n return GAIN_NOT_ENOUGH_SAMPLES;\n\n var upper = 0 | Math.ceil(elems * (1. - RMS_PERCENTILE));\n for (i = len; i-- > 0;) {\n if ((upper -= Array[i]) <= 0)\n break;\n }\n\n //return (float) ((float) PINK_REF - (float) i / (float) STEPS_per_dB);\n return (PINK_REF - i / GainAnalysis.STEPS_per_dB);\n }\n\n this.GetTitleGain = function (rgData) {\n var retval = analyzeResult(rgData.A, rgData.A.length);\n\n for (var i = 0; i < rgData.A.length; i++) {\n rgData.B[i] += rgData.A[i];\n rgData.A[i] = 0;\n }\n\n for (var i = 0; i < MAX_ORDER; i++)\n rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n\n rgData.totsamp = 0;\n rgData.lsum = rgData.rsum = 0.;\n return retval;\n }\n\n}\n\nmodule.exports = GainAnalysis;\n","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar defaults = {\n\tdefaultProtocol: 'http',\n\tevents: null,\n\tformat: noop,\n\tformatHref: noop,\n\tnl2br: false,\n\ttagName: 'a',\n\ttarget: typeToTarget,\n\tvalidate: true,\n\tignoreTags: [],\n\tattributes: null,\n\tclassName: 'linkified' // Deprecated value - no default class will be provided in the future\n};\n\nexports.defaults = defaults;\nexports.Options = Options;\nexports.contains = contains;\n\n\nfunction Options(opts) {\n\topts = opts || {};\n\n\tthis.defaultProtocol = opts.hasOwnProperty('defaultProtocol') ? opts.defaultProtocol : defaults.defaultProtocol;\n\tthis.events = opts.hasOwnProperty('events') ? opts.events : defaults.events;\n\tthis.format = opts.hasOwnProperty('format') ? opts.format : defaults.format;\n\tthis.formatHref = opts.hasOwnProperty('formatHref') ? opts.formatHref : defaults.formatHref;\n\tthis.nl2br = opts.hasOwnProperty('nl2br') ? opts.nl2br : defaults.nl2br;\n\tthis.tagName = opts.hasOwnProperty('tagName') ? opts.tagName : defaults.tagName;\n\tthis.target = opts.hasOwnProperty('target') ? opts.target : defaults.target;\n\tthis.validate = opts.hasOwnProperty('validate') ? opts.validate : defaults.validate;\n\tthis.ignoreTags = [];\n\n\t// linkAttributes and linkClass is deprecated\n\tthis.attributes = opts.attributes || opts.linkAttributes || defaults.attributes;\n\tthis.className = opts.hasOwnProperty('className') ? opts.className : opts.linkClass || defaults.className;\n\n\t// Make all tags names upper case\n\tvar ignoredTags = opts.hasOwnProperty('ignoreTags') ? opts.ignoreTags : defaults.ignoreTags;\n\tfor (var i = 0; i < ignoredTags.length; i++) {\n\t\tthis.ignoreTags.push(ignoredTags[i].toUpperCase());\n\t}\n}\n\nOptions.prototype = {\n\t/**\n * Given the token, return all options for how it should be displayed\n */\n\tresolve: function resolve(token) {\n\t\tvar href = token.toHref(this.defaultProtocol);\n\t\treturn {\n\t\t\tformatted: this.get('format', token.toString(), token),\n\t\t\tformattedHref: this.get('formatHref', href, token),\n\t\t\ttagName: this.get('tagName', href, token),\n\t\t\tclassName: this.get('className', href, token),\n\t\t\ttarget: this.get('target', href, token),\n\t\t\tevents: this.getObject('events', href, token),\n\t\t\tattributes: this.getObject('attributes', href, token)\n\t\t};\n\t},\n\n\n\t/**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options. By default,\n */\n\tcheck: function check(token) {\n\t\treturn this.get('validate', token.toString(), token);\n\t},\n\n\n\t// Private methods\n\n\t/**\n * Resolve an option's value based on the value of the option and the given\n * params.\n * @param {String} key Name of option to use\n * @param operator will be passed to the target option if it's method\n * @param {MultiToken} token The token from linkify.tokenize\n */\n\tget: function get(key, operator, token) {\n\t\tvar optionValue = void 0,\n\t\t option = this[key];\n\t\tif (!option) {\n\t\t\treturn option;\n\t\t}\n\n\t\tswitch (typeof option === 'undefined' ? 'undefined' : _typeof(option)) {\n\t\t\tcase 'function':\n\t\t\t\treturn option(operator, token.type);\n\t\t\tcase 'object':\n\t\t\t\toptionValue = option.hasOwnProperty(token.type) ? option[token.type] : defaults[key];\n\t\t\t\treturn typeof optionValue === 'function' ? optionValue(operator, token.type) : optionValue;\n\t\t}\n\n\t\treturn option;\n\t},\n\tgetObject: function getObject(key, operator, token) {\n\t\tvar option = this[key];\n\t\treturn typeof option === 'function' ? option(operator, token.type) : option;\n\t}\n};\n\n/**\n * Quick indexOf replacement for checking the ignoreTags option\n */\nfunction contains(arr, value) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (arr[i] === value) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction noop(val) {\n\treturn val;\n}\n\nfunction typeToTarget(href, type) {\n\treturn type === 'url' ? '_blank' : null;\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\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 getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-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\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\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++], props[key]);\n return O;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nfunction Presets() {\n function VBRPresets(qual, comp, compS,\n y, shThreshold, shThresholdS,\n adj, adjShort, lower,\n curve, sens, inter,\n joint, mod, fix) {\n this.vbr_q = qual;\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.expY = y;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.masking_adj = adj;\n this.masking_adj_short = adjShort;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.ath_sensitivity = sens;\n this.interch = inter;\n this.safejoint = joint;\n this.sfb21mod = mod;\n this.msfix = fix;\n }\n\n function ABRPresets(kbps, comp, compS,\n joint, fix, shThreshold,\n shThresholdS, bass, sc,\n mask, lower, curve,\n interCh, sfScale) {\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.safejoint = joint;\n this.nsmsfix = fix;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.nsbass = bass;\n this.scale = sc;\n this.masking_adj = mask;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.interch = interCh;\n this.sfscale = sfScale;\n }\n\n var lame;\n\n this.setModules = function (_lame) {\n lame = _lame;\n };\n\n /**\n *
\n     * Switch mappings for VBR mode VBR_RH\n     *             vbr_q  qcomp_l  qcomp_s  expY  st_lrm   st_s  mask adj_l  adj_s  ath_lower  ath_curve  ath_sens  interChR  safejoint sfb21mod  msfix\n     * 
\n */\n var vbr_old_switch_map = [\n new VBRPresets(0, 9, 9, 0, 5.20, 125.0, -4.2, -6.3, 4.8, 1, 0, 0, 2, 21, 0.97),\n new VBRPresets(1, 9, 9, 0, 5.30, 125.0, -3.6, -5.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 5.60, 125.0, -2.2, -3.5, 2.8, 2, 0, 0, 2, 21, 1.49),\n new VBRPresets(3, 9, 9, 1, 5.80, 130.0, -1.8, -2.8, 2.6, 3, -4, 0, 2, 20, 1.64),\n new VBRPresets(4, 9, 9, 1, 6.00, 135.0, -0.7, -1.1, 1.1, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 6.40, 140.0, 0.5, 0.4, -7.5, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 6.60, 145.0, 0.67, 0.65, -14.7, 6.5, -19, 0.0004, 0, 0, 2.30),\n new VBRPresets(7, 9, 9, 1, 6.60, 145.0, 0.8, 0.75, -19.7, 8, -22, 0.0006, 0, 0, 2.70),\n new VBRPresets(8, 9, 9, 1, 6.60, 145.0, 1.2, 1.15, -27.5, 10, -23, 0.0007, 0, 0, 0),\n new VBRPresets(9, 9, 9, 1, 6.60, 145.0, 1.6, 1.6, -36, 11, -25, 0.0008, 0, 0, 0),\n new VBRPresets(10, 9, 9, 1, 6.60, 145.0, 2.0, 2.0, -36, 12, -25, 0.0008, 0, 0, 0)\n ];\n\n /**\n *
\n     *                 vbr_q  qcomp_l  qcomp_s  expY  st_lrm   st_s  mask adj_l  adj_s  ath_lower  ath_curve  ath_sens  interChR  safejoint sfb21mod  msfix\n     * 
\n */\n var vbr_psy_switch_map = [\n new VBRPresets(0, 9, 9, 0, 4.20, 25.0, -7.0, -4.0, 7.5, 1, 0, 0, 2, 26, 0.97),\n new VBRPresets(1, 9, 9, 0, 4.20, 25.0, -5.6, -3.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 4.20, 25.0, -4.4, -1.8, 2, 2, 0, 0, 2, 18, 1.49),\n new VBRPresets(3, 9, 9, 1, 4.20, 25.0, -3.4, -1.25, 1.1, 3, -4, 0, 2, 15, 1.64),\n new VBRPresets(4, 9, 9, 1, 4.20, 25.0, -2.2, 0.1, 0, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 4.20, 25.0, -1.0, 1.65, -7.7, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 4.20, 25.0, -0.0, 2.47, -7.7, 6.5, -19, 0.0004, 0, 0, 2),\n new VBRPresets(7, 9, 9, 1, 4.20, 25.0, 0.5, 2.0, -14.5, 8, -22, 0.0006, 0, 0, 2),\n new VBRPresets(8, 9, 9, 1, 4.20, 25.0, 1.0, 2.4, -22.0, 10, -23, 0.0007, 0, 0, 2),\n new VBRPresets(9, 9, 9, 1, 4.20, 25.0, 1.5, 2.95, -30.0, 11, -25, 0.0008, 0, 0, 2),\n new VBRPresets(10, 9, 9, 1, 4.20, 25.0, 2.0, 2.95, -36.0, 12, -30, 0.0008, 0, 0, 2)\n ];\n\n function apply_vbr_preset(gfp, a, enforce) {\n var vbr_preset = gfp.VBR == VbrMode.vbr_rh ? vbr_old_switch_map\n : vbr_psy_switch_map;\n\n var x = gfp.VBR_q_frac;\n var p = vbr_preset[a];\n var q = vbr_preset[a + 1];\n var set = p;\n\n // NOOP(vbr_q);\n // NOOP(quant_comp);\n // NOOP(quant_comp_s);\n // NOOP(expY);\n p.st_lrm = p.st_lrm + x * (q.st_lrm - p.st_lrm);\n // LERP(st_lrm);\n p.st_s = p.st_s + x * (q.st_s - p.st_s);\n // LERP(st_s);\n p.masking_adj = p.masking_adj + x * (q.masking_adj - p.masking_adj);\n // LERP(masking_adj);\n p.masking_adj_short = p.masking_adj_short + x\n * (q.masking_adj_short - p.masking_adj_short);\n // LERP(masking_adj_short);\n p.ath_lower = p.ath_lower + x * (q.ath_lower - p.ath_lower);\n // LERP(ath_lower);\n p.ath_curve = p.ath_curve + x * (q.ath_curve - p.ath_curve);\n // LERP(ath_curve);\n p.ath_sensitivity = p.ath_sensitivity + x\n * (q.ath_sensitivity - p.ath_sensitivity);\n // LERP(ath_sensitivity);\n p.interch = p.interch + x * (q.interch - p.interch);\n // LERP(interch);\n // NOOP(safejoint);\n // NOOP(sfb21mod);\n p.msfix = p.msfix + x * (q.msfix - p.msfix);\n // LERP(msfix);\n\n lame_set_VBR_q(gfp, set.vbr_q);\n\n if (enforce != 0)\n gfp.quant_comp = set.quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0))\n gfp.quant_comp = set.quant_comp;\n // SET_OPTION(quant_comp, set.quant_comp, -1);\n if (enforce != 0)\n gfp.quant_comp_short = set.quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0))\n gfp.quant_comp_short = set.quant_comp_s;\n // SET_OPTION(quant_comp_short, set.quant_comp_s, -1);\n if (set.expY != 0) {\n gfp.experimentalY = set.expY != 0;\n }\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n // SET_OPTION(short_threshold_lrm, set.st_lrm, -1);\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n // SET_OPTION(short_threshold_s, set.st_s, -1);\n if (enforce != 0)\n gfp.maskingadjust = set.masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0))\n gfp.maskingadjust = set.masking_adj;\n // SET_OPTION(maskingadjust, set.masking_adj, 0);\n if (enforce != 0)\n gfp.maskingadjust_short = set.masking_adj_short;\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = set.masking_adj_short;\n // SET_OPTION(maskingadjust_short, set.masking_adj_short, 0);\n if (enforce != 0)\n gfp.ATHlower = -set.ath_lower / 10.0;\n else if (!(Math.abs((-gfp.ATHlower * 10.0) - 0) > 0))\n gfp.ATHlower = -set.ath_lower / 10.0;\n // SET_OPTION(ATHlower, set.ath_lower, 0);\n if (enforce != 0)\n gfp.ATHcurve = set.ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0))\n gfp.ATHcurve = set.ath_curve;\n // SET_OPTION(ATHcurve, set.ath_curve, -1);\n if (enforce != 0)\n gfp.athaa_sensitivity = set.ath_sensitivity;\n else if (!(Math.abs(gfp.athaa_sensitivity - -1) > 0))\n gfp.athaa_sensitivity = set.ath_sensitivity;\n // SET_OPTION(athaa_sensitivity, set.ath_sensitivity, 0);\n if (set.interch > 0) {\n if (enforce != 0)\n gfp.interChRatio = set.interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0))\n gfp.interChRatio = set.interch;\n // SET_OPTION(interChRatio, set.interch, -1);\n }\n\n /* parameters for which there is no proper set/get interface */\n if (set.safejoint > 0) {\n gfp.exp_nspsytune = gfp.exp_nspsytune | set.safejoint;\n }\n if (set.sfb21mod > 0) {\n gfp.exp_nspsytune = gfp.exp_nspsytune | (set.sfb21mod << 20);\n }\n if (enforce != 0)\n gfp.msfix = set.msfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0))\n gfp.msfix = set.msfix;\n // SET_OPTION(msfix, set.msfix, -1);\n\n if (enforce == 0) {\n gfp.VBR_q = a;\n gfp.VBR_q_frac = x;\n }\n }\n\n /**\n *
\n     *  Switch mappings for ABR mode\n     *\n     *              kbps  quant q_s safejoint nsmsfix st_lrm  st_s  ns-bass scale   msk ath_lwr ath_curve  interch , sfscale\n     * 
\n */\n var abr_switch_map = [\n new ABRPresets(8, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -30.0, 11, 0.0012, 1), /* 8, impossible to use in stereo */\n new ABRPresets(16, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -25.0, 11, 0.0010, 1), /* 16 */\n new ABRPresets(24, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -20.0, 11, 0.0010, 1), /* 24 */\n new ABRPresets(32, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -15.0, 11, 0.0010, 1), /* 32 */\n new ABRPresets(40, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10.0, 11, 0.0009, 1), /* 40 */\n new ABRPresets(48, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10.0, 11, 0.0009, 1), /* 48 */\n new ABRPresets(56, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -6.0, 11, 0.0008, 1), /* 56 */\n new ABRPresets(64, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -2.0, 11, 0.0008, 1), /* 64 */\n new ABRPresets(80, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, .0, 8, 0.0007, 1), /* 80 */\n new ABRPresets(96, 9, 9, 0, 2.50, 6.60, 145, 0, 0.95, 0, 1.0, 5.5, 0.0006, 1), /* 96 */\n new ABRPresets(112, 9, 9, 0, 2.25, 6.60, 145, 0, 0.95, 0, 2.0, 4.5, 0.0005, 1), /* 112 */\n new ABRPresets(128, 9, 9, 0, 1.95, 6.40, 140, 0, 0.95, 0, 3.0, 4, 0.0002, 1), /* 128 */\n new ABRPresets(160, 9, 9, 1, 1.79, 6.00, 135, 0, 0.95, -2, 5.0, 3.5, 0, 1), /* 160 */\n new ABRPresets(192, 9, 9, 1, 1.49, 5.60, 125, 0, 0.97, -4, 7.0, 3, 0, 0), /* 192 */\n new ABRPresets(224, 9, 9, 1, 1.25, 5.20, 125, 0, 0.98, -6, 9.0, 2, 0, 0), /* 224 */\n new ABRPresets(256, 9, 9, 1, 0.97, 5.20, 125, 0, 1.00, -8, 10.0, 1, 0, 0), /* 256 */\n new ABRPresets(320, 9, 9, 1, 0.90, 5.20, 125, 0, 1.00, -10, 12.0, 0, 0, 0) /* 320 */\n ];\n\n function apply_abr_preset(gfp, preset, enforce) {\n /* Variables for the ABR stuff */\n var actual_bitrate = preset;\n\n var r = lame.nearestBitrateFullIndex(preset);\n\n gfp.VBR = VbrMode.vbr_abr;\n gfp.VBR_mean_bitrate_kbps = actual_bitrate;\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 320);\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 8);\n gfp.brate = gfp.VBR_mean_bitrate_kbps;\n if (gfp.VBR_mean_bitrate_kbps > 320) {\n gfp.disable_reservoir = true;\n }\n\n /* parameters for which there is no proper set/get interface */\n if (abr_switch_map[r].safejoint > 0)\n gfp.exp_nspsytune = gfp.exp_nspsytune | 2;\n /* safejoint */\n\n if (abr_switch_map[r].sfscale > 0) {\n gfp.internal_flags.noise_shaping = 2;\n }\n /* ns-bass tweaks */\n if (Math.abs(abr_switch_map[r].nsbass) > 0) {\n var k = (int)(abr_switch_map[r].nsbass * 4);\n if (k < 0)\n k += 64;\n gfp.exp_nspsytune = gfp.exp_nspsytune | (k << 2);\n }\n\n if (enforce != 0)\n gfp.quant_comp = abr_switch_map[r].quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0))\n gfp.quant_comp = abr_switch_map[r].quant_comp;\n // SET_OPTION(quant_comp, abr_switch_map[r].quant_comp, -1);\n if (enforce != 0)\n gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0))\n gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n // SET_OPTION(quant_comp_short, abr_switch_map[r].quant_comp_s, -1);\n\n if (enforce != 0)\n gfp.msfix = abr_switch_map[r].nsmsfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0))\n gfp.msfix = abr_switch_map[r].nsmsfix;\n // SET_OPTION(msfix, abr_switch_map[r].nsmsfix, -1);\n\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n // SET_OPTION(short_threshold_lrm, abr_switch_map[r].st_lrm, -1);\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n // SET_OPTION(short_threshold_s, abr_switch_map[r].st_s, -1);\n\n /*\n * ABR seems to have big problems with clipping, especially at low\n * bitrates\n */\n /*\n * so we compensate for that here by using a scale value depending on\n * bitrate\n */\n if (enforce != 0)\n gfp.scale = abr_switch_map[r].scale;\n else if (!(Math.abs(gfp.scale - -1) > 0))\n gfp.scale = abr_switch_map[r].scale;\n // SET_OPTION(scale, abr_switch_map[r].scale, -1);\n\n if (enforce != 0)\n gfp.maskingadjust = abr_switch_map[r].masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0))\n gfp.maskingadjust = abr_switch_map[r].masking_adj;\n // SET_OPTION(maskingadjust, abr_switch_map[r].masking_adj, 0);\n if (abr_switch_map[r].masking_adj > 0) {\n if (enforce != 0)\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * .9);\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * .9);\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // .9, 0);\n } else {\n if (enforce != 0)\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * 1.1);\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * 1.1);\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // 1.1, 0);\n }\n\n if (enforce != 0)\n gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n else if (!(Math.abs((-gfp.ATHlower * 10.) - 0) > 0))\n gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n // SET_OPTION(ATHlower, abr_switch_map[r].ath_lower, 0);\n if (enforce != 0)\n gfp.ATHcurve = abr_switch_map[r].ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0))\n gfp.ATHcurve = abr_switch_map[r].ath_curve;\n // SET_OPTION(ATHcurve, abr_switch_map[r].ath_curve, -1);\n\n if (enforce != 0)\n gfp.interChRatio = abr_switch_map[r].interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0))\n gfp.interChRatio = abr_switch_map[r].interch;\n // SET_OPTION(interChRatio, abr_switch_map[r].interch, -1);\n\n return preset;\n }\n\n this.apply_preset = function(gfp, preset, enforce) {\n /* translate legacy presets */\n switch (preset) {\n case Lame.R3MIX:\n {\n preset = Lame.V3;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.MEDIUM:\n {\n preset = Lame.V4;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.MEDIUM_FAST:\n {\n preset = Lame.V4;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.STANDARD:\n {\n preset = Lame.V2;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.STANDARD_FAST:\n {\n preset = Lame.V2;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.EXTREME:\n {\n preset = Lame.V0;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.EXTREME_FAST:\n {\n preset = Lame.V0;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.INSANE:\n {\n preset = 320;\n gfp.preset = preset;\n apply_abr_preset(gfp, preset, enforce);\n gfp.VBR = VbrMode.vbr_off;\n return preset;\n }\n }\n\n gfp.preset = preset;\n {\n switch (preset) {\n case Lame.V9:\n apply_vbr_preset(gfp, 9, enforce);\n return preset;\n case Lame.V8:\n apply_vbr_preset(gfp, 8, enforce);\n return preset;\n case Lame.V7:\n apply_vbr_preset(gfp, 7, enforce);\n return preset;\n case Lame.V6:\n apply_vbr_preset(gfp, 6, enforce);\n return preset;\n case Lame.V5:\n apply_vbr_preset(gfp, 5, enforce);\n return preset;\n case Lame.V4:\n apply_vbr_preset(gfp, 4, enforce);\n return preset;\n case Lame.V3:\n apply_vbr_preset(gfp, 3, enforce);\n return preset;\n case Lame.V2:\n apply_vbr_preset(gfp, 2, enforce);\n return preset;\n case Lame.V1:\n apply_vbr_preset(gfp, 1, enforce);\n return preset;\n case Lame.V0:\n apply_vbr_preset(gfp, 0, enforce);\n return preset;\n default:\n break;\n }\n }\n if (8 <= preset && preset <= 320) {\n return apply_abr_preset(gfp, preset, enforce);\n }\n\n /* no corresponding preset found */\n gfp.preset = 0;\n return preset;\n }\n\n // Rest from getset.c:\n\n /**\n * VBR quality level.
\n * 0 = highest
\n * 9 = lowest\n */\n function lame_set_VBR_q(gfp, VBR_q) {\n var ret = 0;\n\n if (0 > VBR_q) {\n /* Unknown VBR quality level! */\n ret = -1;\n VBR_q = 0;\n }\n if (9 < VBR_q) {\n ret = -1;\n VBR_q = 9;\n }\n\n gfp.VBR_q = VBR_q;\n gfp.VBR_q_frac = 0;\n return ret;\n }\n\n}\n\nmodule.exports = Presets;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\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: toString(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","module.exports = {};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _multi = require('./tokens/multi');\n\nvar MULTI_TOKENS = _interopRequireWildcard(_multi);\n\nvar _text = require('./tokens/text');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/Email_address (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main parser\n*/\n\nvar makeState = function makeState(tokenClass) {\n\treturn new _state.TokenState(tokenClass);\n};\n\n// The universal starting state.\nvar S_START = makeState();\n\n// Intermediate states for URLs. Note that domains that begin with a protocol\n// are treated slighly differently from those that don't.\nvar S_PROTOCOL = makeState(); // e.g., 'http:'\nvar S_MAILTO = makeState(); // 'mailto:'\nvar S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''\nvar S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'\nvar S_DOMAIN = makeState(); // parsed string ends with a potential domain name (A)\nvar S_DOMAIN_DOT = makeState(); // (A) domain followed by DOT\nvar S_TLD = makeState(_multi.URL); // (A) Simplest possible URL with no query string\nvar S_TLD_COLON = makeState(); // (A) URL followed by colon (potential port number here)\nvar S_TLD_PORT = makeState(_multi.URL); // TLD followed by a port number\nvar S_URL = makeState(_multi.URL); // Long URL with optional port and maybe query string\nvar S_URL_NON_ACCEPTING = makeState(); // URL followed by some symbols (will not be part of the final URL)\nvar S_URL_OPENBRACE = makeState(); // URL followed by {\nvar S_URL_OPENBRACKET = makeState(); // URL followed by [\nvar S_URL_OPENANGLEBRACKET = makeState(); // URL followed by <\nvar S_URL_OPENPAREN = makeState(); // URL followed by (\nvar S_URL_OPENBRACE_Q = makeState(_multi.URL); // URL followed by { and some symbols that the URL can end it\nvar S_URL_OPENBRACKET_Q = makeState(_multi.URL); // URL followed by [ and some symbols that the URL can end it\nvar S_URL_OPENANGLEBRACKET_Q = makeState(_multi.URL); // URL followed by < and some symbols that the URL can end it\nvar S_URL_OPENPAREN_Q = makeState(_multi.URL); // URL followed by ( and some symbols that the URL can end it\nvar S_URL_OPENBRACE_SYMS = makeState(); // S_URL_OPENBRACE_Q followed by some symbols it cannot end it\nvar S_URL_OPENBRACKET_SYMS = makeState(); // S_URL_OPENBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENANGLEBRACKET_SYMS = makeState(); // S_URL_OPENANGLEBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENPAREN_SYMS = makeState(); // S_URL_OPENPAREN_Q followed by some symbols it cannot end it\nvar S_EMAIL_DOMAIN = makeState(); // parsed string starts with local email info + @ with a potential domain name (C)\nvar S_EMAIL_DOMAIN_DOT = makeState(); // (C) domain followed by DOT\nvar S_EMAIL = makeState(_multi.EMAIL); // (C) Possible email address (could have more tlds)\nvar S_EMAIL_COLON = makeState(); // (C) URL followed by colon (potential port number here)\nvar S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port\nvar S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)\nvar S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars\nvar S_LOCALPART = makeState(); // Local part of the email address\nvar S_LOCALPART_AT = makeState(); // Local part of the email address plus @\nvar S_LOCALPART_DOT = makeState(); // Local part of the email address plus '.' (localpart cannot end in .)\nvar S_NL = makeState(_multi.NL); // single new line\n\n// Make path from start to protocol (with '//')\nS_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);\n\nS_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL_SLASH.on(_text.SLASH, S_PROTOCOL_SLASH_SLASH);\n\n// The very first potential domain name\nS_START.on(_text.TLD, S_DOMAIN).on(_text.DOMAIN, S_DOMAIN).on(_text.LOCALHOST, S_TLD).on(_text.NUM, S_DOMAIN);\n\n// Force URL for protocol followed by anything sane\nS_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL);\n\n// Account for dots and hyphens\n// hyphens are usually parts of domain names\nS_DOMAIN.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL_DOMAIN.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Hyphen can jump back to a domain name\n\n// After the first domain and a dot, we can find either a URL or another domain\nS_DOMAIN_DOT.on(_text.TLD, S_TLD).on(_text.DOMAIN, S_DOMAIN).on(_text.NUM, S_DOMAIN).on(_text.LOCALHOST, S_DOMAIN);\n\nS_EMAIL_DOMAIN_DOT.on(_text.TLD, S_EMAIL).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.NUM, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL_DOMAIN);\n\n// S_TLD accepts! But the URL could be longer, try to find a match greedily\n// The `run` function should be able to \"rollback\" to the accepting state\nS_TLD.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Become real URLs after `SLASH` or `COLON NUM SLASH`\n// Here PSS and non-PSS converge\nS_TLD.on(_text.COLON, S_TLD_COLON).on(_text.SLASH, S_URL);\nS_TLD_COLON.on(_text.NUM, S_TLD_PORT);\nS_TLD_PORT.on(_text.SLASH, S_URL);\nS_EMAIL.on(_text.COLON, S_EMAIL_COLON);\nS_EMAIL_COLON.on(_text.NUM, S_EMAIL_PORT);\n\n// Types of characters the URL can definitely end in\nvar qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND];\n\n// Types of tokens that can follow a URL and be part of the query string\n// but cannot be the very last characters\n// Characters that cannot appear in the URL at all should be excluded\nvar qsNonAccepting = [_text.COLON, _text.DOT, _text.QUERY, _text.PUNCTUATION, _text.CLOSEBRACE, _text.CLOSEBRACKET, _text.CLOSEANGLEBRACKET, _text.CLOSEPAREN, _text.OPENBRACE, _text.OPENBRACKET, _text.OPENANGLEBRACKET, _text.OPENPAREN];\n\n// These states are responsible primarily for determining whether or not to\n// include the final round bracket.\n\n// URL, followed by an opening bracket\nS_URL.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// URL with extra symbols at the end, followed by an opening bracket\nS_URL_NON_ACCEPTING.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// Closing bracket component. This character WILL be included in the URL\nS_URL_OPENBRACE.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_Q.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_Q.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_Q.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_Q.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_SYMS.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_SYMS.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_SYMS.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_SYMS.on(_text.CLOSEPAREN, S_URL);\n\n// URL that beings with an opening bracket, followed by a symbols.\n// Note that the final state can still be `S_URL_OPENBRACE_Q` (if the URL only\n// has a single opening bracket for some reason).\nS_URL_OPENBRACE.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// URL that begins with an opening bracket, followed by some symbols\nS_URL_OPENBRACE_Q.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_Q.on(qsNonAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsNonAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsNonAccepting, S_URL_OPENPAREN_Q);\n\nS_URL_OPENBRACE_SYMS.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_SYMS.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_SYMS.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN_SYMS.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// Account for the query string\nS_URL.on(qsAccepting, S_URL);\nS_URL_NON_ACCEPTING.on(qsAccepting, S_URL);\n\nS_URL.on(qsNonAccepting, S_URL_NON_ACCEPTING);\nS_URL_NON_ACCEPTING.on(qsNonAccepting, S_URL_NON_ACCEPTING);\n\n// Email address-specific state definitions\n// Note: We are not allowing '/' in email addresses since this would interfere\n// with real URLs\n\n// For addresses with the mailto prefix\n// 'mailto:' followed by anything sane is a valid email\nS_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL);\n\n// Greedily get more potential valid email values\nS_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\nS_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\n\n// For addresses without the mailto prefix\n// Tokens allowed in the localpart of the email\nvar localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD];\n\n// Some of the tokens in `localpartAccepting` are already accounted for here and\n// will not be overwritten (don't worry)\nS_DOMAIN.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_TLD.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_DOMAIN_DOT.on(localpartAccepting, S_LOCALPART);\n\n// Okay we're on a localpart. Now what?\n// TODO: IP addresses and what if the email starts with numbers?\nS_LOCALPART.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT) // close to an email address now\n.on(_text.DOT, S_LOCALPART_DOT);\nS_LOCALPART_DOT.on(localpartAccepting, S_LOCALPART);\nS_LOCALPART_AT.on(_text.TLD, S_EMAIL_DOMAIN).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL);\n// States following `@` defined above\n\nvar run = function run(tokens) {\n\tvar len = tokens.length;\n\tvar cursor = 0;\n\tvar multis = [];\n\tvar textTokens = [];\n\n\twhile (cursor < len) {\n\t\tvar state = S_START;\n\t\tvar secondState = null;\n\t\tvar nextState = null;\n\t\tvar multiLength = 0;\n\t\tvar latestAccepting = null;\n\t\tvar sinceAccepts = -1;\n\n\t\twhile (cursor < len && !(secondState = state.next(tokens[cursor]))) {\n\t\t\t// Starting tokens with nowhere to jump to.\n\t\t\t// Consider these to be just plain text\n\t\t\ttextTokens.push(tokens[cursor++]);\n\t\t}\n\n\t\twhile (cursor < len && (nextState = secondState || state.next(tokens[cursor]))) {\n\n\t\t\t// Get the next state\n\t\t\tsecondState = null;\n\t\t\tstate = nextState;\n\n\t\t\t// Keep track of the latest accepting state\n\t\t\tif (state.accepts()) {\n\t\t\t\tsinceAccepts = 0;\n\t\t\t\tlatestAccepting = state;\n\t\t\t} else if (sinceAccepts >= 0) {\n\t\t\t\tsinceAccepts++;\n\t\t\t}\n\n\t\t\tcursor++;\n\t\t\tmultiLength++;\n\t\t}\n\n\t\tif (sinceAccepts < 0) {\n\n\t\t\t// No accepting state was found, part of a regular text token\n\t\t\t// Add all the tokens we looked at to the text tokens array\n\t\t\tfor (var i = cursor - multiLength; i < cursor; i++) {\n\t\t\t\ttextTokens.push(tokens[i]);\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Accepting state!\n\n\t\t\t// First close off the textTokens (if available)\n\t\t\tif (textTokens.length > 0) {\n\t\t\t\tmultis.push(new _multi.TEXT(textTokens));\n\t\t\t\ttextTokens = [];\n\t\t\t}\n\n\t\t\t// Roll back to the latest accepting state\n\t\t\tcursor -= sinceAccepts;\n\t\t\tmultiLength -= sinceAccepts;\n\n\t\t\t// Create a new multitoken\n\t\t\tvar MULTI = latestAccepting.emit();\n\t\t\tmultis.push(new MULTI(tokens.slice(cursor - multiLength, cursor)));\n\t\t}\n\t}\n\n\t// Finally close off the textTokens (if available)\n\tif (textTokens.length > 0) {\n\t\tmultis.push(new _multi.TEXT(textTokens));\n\t}\n\n\treturn multis;\n};\n\nexports.State = _state.TokenState;\nexports.TOKENS = MULTI_TOKENS;\nexports.run = run;\nexports.start = S_START;","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.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(it, '') : Object(it);\n} : Object;\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","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","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","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\n\n// `Array.prototype.some` method\n// https://tc39.es/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","\"use strict\";\n\nexports.__esModule = true;\nfunction createTokenClass() {\n\treturn function (value) {\n\t\tif (value) {\n\t\t\tthis.v = value;\n\t\t}\n\t};\n}\n\nexports.createTokenClass = createTokenClass;","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar isCallable = require('../internals/is-callable');\nvar userAgent = require('../internals/engine-user-agent');\nvar arraySlice = require('../internals/array-slice');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar Function = global.Function;\n\nvar wrap = function (scheduler) {\n return function (handler, timeout /* , ...arguments */) {\n var boundArgs = validateArgumentsLength(arguments.length, 1) > 2;\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = boundArgs ? arraySlice(arguments, 2) : undefined;\n return scheduler(boundArgs ? function () {\n apply(fn, this, args);\n } : fn, timeout);\n };\n};\n\n// ie9- setTimeout & setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\n$({ global: true, bind: true, forced: MSIE }, {\n // `setTimeout` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n setTimeout: wrap(global.setTimeout),\n // `setInterval` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n setInterval: wrap(global.setInterval)\n});\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\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 : aConstructor(S);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\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","'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","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar MeanBits = require('./MeanBits.js');\nvar Encoder = require('./Encoder.js');\nvar L3Side = require('./L3Side.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nfunction CBRNewIterationLoop(_quantize) {\n var quantize = _quantize;\n this.quantize = quantize;\n\tthis.iteration_loop = function(gfp, pe, ms_ener_ratio, ratio) {\n\t\tvar gfc = gfp.internal_flags;\n var l3_xmin = new_float(L3Side.SFBMAX);\n\t\tvar xrpow = new_float(576);\n\t\tvar targ_bits = new_int(2);\n\t\tvar mean_bits = 0, max_bits;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tvar mb = new MeanBits(mean_bits);\n\t\tthis.quantize.rv.ResvFrameBegin(gfp, mb);\n\t\tmean_bits = mb.bits;\n\n\t\t/* quantize! */\n\t\tfor (var gr = 0; gr < gfc.mode_gr; gr++) {\n\n\t\t\t/*\n\t\t\t * calculate needed bits\n\t\t\t */\n\t\t\tmax_bits = this.quantize.qupvt.on_pe(gfp, pe, targ_bits, mean_bits,\n\t\t\t\t\tgr, gr);\n\n\t\t\tif (gfc.mode_ext == Encoder.MPG_MD_MS_LR) {\n\t\t\t\tthis.quantize.ms_convert(gfc.l3_side, gr);\n\t\t\t\tthis.quantize.qupvt.reduce_side(targ_bits, ms_ener_ratio[gr],\n\t\t\t\t\t\tmean_bits, max_bits);\n\t\t\t}\n\n\t\t\tfor (var ch = 0; ch < gfc.channels_out; ch++) {\n\t\t\t\tvar adjust, masking_lower_db;\n\t\t\t\tvar cod_info = l3_side.tt[gr][ch];\n\n\t\t\t\tif (cod_info.block_type != Encoder.SHORT_TYPE) {\n\t\t\t\t\t// NORM, START or STOP type\n\t\t\t\t\tadjust = 0;\n\t\t\t\t\tmasking_lower_db = gfc.PSY.mask_adjust - adjust;\n\t\t\t\t} else {\n\t\t\t\t\tadjust = 0;\n\t\t\t\t\tmasking_lower_db = gfc.PSY.mask_adjust_short - adjust;\n\t\t\t\t}\n\t\t\t\tgfc.masking_lower = Math.pow(10.0,\n\t\t\t\t\t\tmasking_lower_db * 0.1);\n\n\t\t\t\t/*\n\t\t\t\t * init_outer_loop sets up cod_info, scalefac and xrpow\n\t\t\t\t */\n\t\t\t\tthis.quantize.init_outer_loop(gfc, cod_info);\n\t\t\t\tif (this.quantize.init_xrpow(gfc, cod_info, xrpow)) {\n\t\t\t\t\t/*\n\t\t\t\t\t * xr contains energy we will have to encode calculate the\n\t\t\t\t\t * masking abilities find some good quantization in\n\t\t\t\t\t * outer_loop\n\t\t\t\t\t */\n\t\t\t\t\tthis.quantize.qupvt.calc_xmin(gfp, ratio[gr][ch], cod_info,\n\t\t\t\t\t\t\tl3_xmin);\n\t\t\t\t\tthis.quantize.outer_loop(gfp, cod_info, l3_xmin, xrpow, ch,\n\t\t\t\t\t\t\ttarg_bits[ch]);\n\t\t\t\t}\n\n\t\t\t\tthis.quantize.iteration_finish_one(gfc, gr, ch);\n\t\t\t\tassert (cod_info.part2_3_length <= LameInternalFlags.MAX_BITS_PER_CHANNEL);\n\t\t\t\tassert (cod_info.part2_3_length <= targ_bits[ch]);\n\t\t\t} /* for ch */\n\t\t} /* for gr */\n\n\t\tthis.quantize.rv.ResvFrameEnd(gfc, mean_bits);\n\t}\n}\nmodule.exports = CBRNewIterationLoop;\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\n/**\n * ENCDELAY The encoder delay.\n *\n * Minimum allowed is MDCTDELAY (see below)\n *\n * The first 96 samples will be attenuated, so using a value less than 96\n * will result in corrupt data for the first 96-ENCDELAY samples.\n *\n * suggested: 576 set to 1160 to sync with FhG.\n */\nEncoder.ENCDELAY = 576;\n/**\n * make sure there is at least one complete frame after the last frame\n * containing real data\n *\n * Using a value of 288 would be sufficient for a a very sophisticated\n * decoder that can decode granule-by-granule instead of frame by frame. But\n * lets not assume this, and assume the decoder will not decode frame N\n * unless it also has data for frame N+1\n */\nEncoder.POSTDELAY = 1152;\n\n/**\n * delay of the MDCT used in mdct.c original ISO routines had a delay of\n * 528! Takehiro's routines:\n */\nEncoder.MDCTDELAY = 48;\nEncoder.FFTOFFSET = (224 + Encoder.MDCTDELAY);\n\n/**\n * Most decoders, including the one we use, have a delay of 528 samples.\n */\nEncoder.DECDELAY = 528;\n\n/**\n * number of subbands\n */\nEncoder.SBLIMIT = 32;\n\n/**\n * parition bands bands\n */\nEncoder.CBANDS = 64;\n\n/**\n * number of critical bands/scale factor bands where masking is computed\n */\nEncoder.SBPSY_l = 21;\nEncoder.SBPSY_s = 12;\n\n/**\n * total number of scalefactor bands encoded\n */\nEncoder.SBMAX_l = 22;\nEncoder.SBMAX_s = 13;\nEncoder.PSFB21 = 6;\nEncoder.PSFB12 = 6;\n\n/**\n * FFT sizes\n */\nEncoder.BLKSIZE = 1024;\nEncoder.HBLKSIZE = (Encoder.BLKSIZE / 2 + 1);\nEncoder.BLKSIZE_s = 256;\nEncoder.HBLKSIZE_s = (Encoder.BLKSIZE_s / 2 + 1);\n\nEncoder.NORM_TYPE = 0;\nEncoder.START_TYPE = 1;\nEncoder.SHORT_TYPE = 2;\nEncoder.STOP_TYPE = 3;\n\n/**\n *
\n * Mode Extention:\n * When we are in stereo mode, there are 4 possible methods to store these\n * two channels. The stereo modes -m? are using a subset of them.\n *\n *  -ms: MPG_MD_LR_LR\n *  -mj: MPG_MD_LR_LR and MPG_MD_MS_LR\n *  -mf: MPG_MD_MS_LR\n *  -mi: all\n * 
\n */\nEncoder.MPG_MD_LR_LR = 0;\nEncoder.MPG_MD_LR_I = 1;\nEncoder.MPG_MD_MS_LR = 2;\nEncoder.MPG_MD_MS_I = 3;\n\nEncoder.fircoef = [-0.0207887 * 5, -0.0378413 * 5,\n -0.0432472 * 5, -0.031183 * 5, 7.79609e-18 * 5, 0.0467745 * 5,\n 0.10091 * 5, 0.151365 * 5, 0.187098 * 5];\n\nfunction Encoder() {\n var NewMDCT = require('./NewMDCT.js');\n var III_psy_ratio = require('./III_psy_ratio.js');\n\n var FFTOFFSET = Encoder.FFTOFFSET;\n var MPG_MD_MS_LR = Encoder.MPG_MD_MS_LR;\n //BitStream bs;\n //PsyModel psy;\n //VBRTag vbr;\n //QuantizePVT qupvt;\n var bs = null;\n this.psy = null;\n var psy = null;\n var vbr = null;\n var qupvt = null;\n\n //public final void setModules(BitStream bs, PsyModel psy, QuantizePVT qupvt,\n // VBRTag vbr) {\n this.setModules = function (_bs, _psy, _qupvt, _vbr) {\n bs = _bs;\n this.psy = _psy;\n psy = _psy;\n vbr = _vbr;\n qupvt = _qupvt;\n };\n\n var newMDCT = new NewMDCT();\n\n /***********************************************************************\n *\n * encoder and decoder delays\n *\n ***********************************************************************/\n\n /**\n *
\n     * layer III enc->dec delay:  1056 (1057?)   (observed)\n     * layer  II enc->dec delay:   480  (481?)   (observed)\n     *\n     * polyphase 256-16             (dec or enc)        = 240\n     * mdct      256+32  (9*32)     (dec or enc)        = 288\n     * total:    512+16\n     *\n     * My guess is that delay of polyphase filterbank is actualy 240.5\n     * (there are technical reasons for this, see postings in mp3encoder).\n     * So total Encode+Decode delay = ENCDELAY + 528 + 1\n     * 
\n */\n\n\n /**\n * auto-adjust of ATH, useful for low volume Gabriel Bouvigne 3 feb 2001\n *\n * modifies some values in gfp.internal_flags.ATH (gfc.ATH)\n */\n//private void adjust_ATH(final LameInternalFlags gfc) {\n function adjust_ATH(gfc) {\n var gr2_max, max_pow;\n\n if (gfc.ATH.useAdjust == 0) {\n gfc.ATH.adjust = 1.0;\n /* no adjustment */\n return;\n }\n\n /* jd - 2001 mar 12, 27, jun 30 */\n /* loudness based on equal loudness curve; */\n /* use granule with maximum combined loudness */\n max_pow = gfc.loudness_sq[0][0];\n gr2_max = gfc.loudness_sq[1][0];\n if (gfc.channels_out == 2) {\n max_pow += gfc.loudness_sq[0][1];\n gr2_max += gfc.loudness_sq[1][1];\n } else {\n max_pow += max_pow;\n gr2_max += gr2_max;\n }\n if (gfc.mode_gr == 2) {\n max_pow = Math.max(max_pow, gr2_max);\n }\n max_pow *= 0.5;\n /* max_pow approaches 1.0 for full band noise */\n\n /* jd - 2001 mar 31, jun 30 */\n /* user tuning of ATH adjustment region */\n max_pow *= gfc.ATH.aaSensitivityP;\n\n /*\n * adjust ATH depending on range of maximum value\n */\n\n /* jd - 2001 feb27, mar12,20, jun30, jul22 */\n /* continuous curves based on approximation */\n /* to GB's original values. */\n /* For an increase in approximate loudness, */\n /* set ATH adjust to adjust_limit immediately */\n /* after a delay of one frame. */\n /* For a loudness decrease, reduce ATH adjust */\n /* towards adjust_limit gradually. */\n /* max_pow is a loudness squared or a power. */\n if (max_pow > 0.03125) { /* ((1 - 0.000625)/ 31.98) from curve below */\n if (gfc.ATH.adjust >= 1.0) {\n gfc.ATH.adjust = 1.0;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n /* in case there is leading low volume */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n gfc.ATH.adjustLimit = 1.0;\n } else { /* adjustment curve */\n /* about 32 dB maximum adjust (0.000625) */\n var adj_lim_new = 31.98 * max_pow + 0.000625;\n if (gfc.ATH.adjust >= adj_lim_new) { /* descend gradually */\n gfc.ATH.adjust *= adj_lim_new * 0.075 + 0.925;\n if (gfc.ATH.adjust < adj_lim_new) { /* stop descent */\n gfc.ATH.adjust = adj_lim_new;\n }\n } else { /* ascend */\n if (gfc.ATH.adjustLimit >= adj_lim_new) {\n gfc.ATH.adjust = adj_lim_new;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n }\n gfc.ATH.adjustLimit = adj_lim_new;\n }\n }\n\n /**\n *
\n     *  some simple statistics\n     *\n     *  bitrate index 0: free bitrate . not allowed in VBR mode\n     *  : bitrates, kbps depending on MPEG version\n     *  bitrate index 15: forbidden\n     *\n     *  mode_ext:\n     *  0:  LR\n     *  1:  LR-i\n     *  2:  MS\n     *  3:  MS-i\n     * 
\n */\n function updateStats(gfc) {\n var gr, ch;\n assert(0 <= gfc.bitrate_index && gfc.bitrate_index < 16);\n assert(0 <= gfc.mode_ext && gfc.mode_ext < 4);\n\n /* count bitrate indices */\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][4]++;\n gfc.bitrate_stereoMode_Hist[15][4]++;\n\n /* count 'em for every mode extension in case of 2 channel encoding */\n if (gfc.channels_out == 2) {\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][gfc.mode_ext]++;\n gfc.bitrate_stereoMode_Hist[15][gfc.mode_ext]++;\n }\n for (gr = 0; gr < gfc.mode_gr; ++gr) {\n for (ch = 0; ch < gfc.channels_out; ++ch) {\n var bt = gfc.l3_side.tt[gr][ch].block_type | 0;\n if (gfc.l3_side.tt[gr][ch].mixed_block_flag != 0)\n bt = 4;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][bt]++;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][5]++;\n gfc.bitrate_blockType_Hist[15][bt]++;\n gfc.bitrate_blockType_Hist[15][5]++;\n }\n }\n }\n\n function lame_encode_frame_init(gfp, inbuf) {\n var gfc = gfp.internal_flags;\n\n var ch, gr;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* prime the MDCT/polyphase filterbank with a short block */\n var i, j;\n var primebuff0 = new_float(286 + 1152 + 576);\n var primebuff1 = new_float(286 + 1152 + 576);\n gfc.lame_encode_frame_init = 1;\n for (i = 0, j = 0; i < 286 + 576 * (1 + gfc.mode_gr); ++i) {\n if (i < 576 * gfc.mode_gr) {\n primebuff0[i] = 0;\n if (gfc.channels_out == 2)\n primebuff1[i] = 0;\n } else {\n primebuff0[i] = inbuf[0][j];\n if (gfc.channels_out == 2)\n primebuff1[i] = inbuf[1][j];\n ++j;\n }\n }\n /* polyphase filtering / mdct */\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.SHORT_TYPE;\n }\n }\n newMDCT.mdct_sub48(gfc, primebuff0, primebuff1);\n\n /* check FFT will not use a negative starting offset */\n assert(576 >= Encoder.FFTOFFSET);\n /* check if we have enough data for FFT */\n assert(gfc.mf_size >= (Encoder.BLKSIZE + gfp.framesize - Encoder.FFTOFFSET));\n /* check if we have enough data for polyphase filterbank */\n assert(gfc.mf_size >= (512 + gfp.framesize - 32));\n }\n\n }\n\n /**\n *
\n     * encodeframe()           Layer 3\n     *\n     * encode a single frame\n     *\n     *\n     *    lame_encode_frame()\n     *\n     *\n     *                           gr 0            gr 1\n     *    inbuf:           |--------------|--------------|--------------|\n     *\n     *\n     *    Polyphase (18 windows, each shifted 32)\n     *    gr 0:\n     *    window1          <----512---.\n     *    window18                 <----512---.\n     *\n     *    gr 1:\n     *    window1                         <----512---.\n     *    window18                                <----512---.\n     *\n     *\n     *\n     *    MDCT output:  |--------------|--------------|--------------|\n     *\n     *    FFT's                    <---------1024---------.\n     *                                             <---------1024-------.\n     *\n     *\n     *\n     *        inbuf = buffer of PCM data size=MP3 framesize\n     *        encoder acts on inbuf[ch][0], but output is delayed by MDCTDELAY\n     *        so the MDCT coefficints are from inbuf[ch][-MDCTDELAY]\n     *\n     *        psy-model FFT has a 1 granule delay, so we feed it data for the\n     *        next granule.\n     *        FFT is centered over granule:  224+576+224\n     *        So FFT starts at:   576-224-MDCTDELAY\n     *\n     *        MPEG2:  FFT ends at:  BLKSIZE+576-224-MDCTDELAY      (1328)\n     *        MPEG1:  FFT ends at:  BLKSIZE+2*576-224-MDCTDELAY    (1904)\n     *\n     *        MPEG2:  polyphase first window:  [0..511]\n     *                          18th window:   [544..1055]          (1056)\n     *        MPEG1:            36th window:   [1120..1631]         (1632)\n     *                data needed:  512+framesize-32\n     *\n     *        A close look newmdct.c shows that the polyphase filterbank\n     *        only uses data from [0..510] for each window.  Perhaps because the window\n     *        used by the filterbank is zero for the last point, so Takehiro's\n     *        code doesn't bother to compute with it.\n     *\n     *        FFT starts at 576-224-MDCTDELAY (304)  = 576-FFTOFFSET\n     *\n     * 
\n */\n\n\n this.lame_encode_mp3_frame = function (gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size) {\n var mp3count;\n var masking_LR = new_array_n([2, 2]);\n /*\n * LR masking &\n * energy\n */\n masking_LR[0][0] = new III_psy_ratio();\n masking_LR[0][1] = new III_psy_ratio();\n masking_LR[1][0] = new III_psy_ratio();\n masking_LR[1][1] = new III_psy_ratio();\n var masking_MS = new_array_n([2, 2]);\n /* MS masking & energy */\n masking_MS[0][0] = new III_psy_ratio();\n masking_MS[0][1] = new III_psy_ratio();\n masking_MS[1][0] = new III_psy_ratio();\n masking_MS[1][1] = new III_psy_ratio();\n //III_psy_ratio masking[][];\n var masking;\n /* pointer to selected maskings */\n var inbuf = [null, null];\n var gfc = gfp.internal_flags;\n\n var tot_ener = new_float_n([2, 4]);\n var ms_ener_ratio = [.5, .5];\n var pe = [[0., 0.], [0., 0.]];\n var pe_MS = [[0., 0.], [0., 0.]];\n\n//float[][] pe_use;\n var pe_use;\n\n var ch, gr;\n\n inbuf[0] = inbuf_l;\n inbuf[1] = inbuf_r;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* first run? */\n lame_encode_frame_init(gfp, inbuf);\n\n }\n\n /********************** padding *****************************/\n /**\n *
\n         * padding method as described in\n         * \"MPEG-Layer3 / Bitstream Syntax and Decoding\"\n         * by Martin Sieler, Ralph Sperschneider\n         *\n         * note: there is no padding for the very first frame\n         *\n         * Robert Hegemann 2000-06-22\n         * 
\n */\n gfc.padding = 0;\n if ((gfc.slot_lag -= gfc.frac_SpF) < 0) {\n gfc.slot_lag += gfp.out_samplerate;\n gfc.padding = 1;\n }\n\n /****************************************\n * Stage 1: psychoacoustic model *\n ****************************************/\n\n if (gfc.psymodel != 0) {\n /*\n * psychoacoustic model psy model has a 1 granule (576) delay that\n * we must compensate for (mt 6/99).\n */\n var ret;\n var bufp = [null, null];\n /* address of beginning of left & right granule */\n var bufpPos = 0;\n /* address of beginning of left & right granule */\n var blocktype = new_int(2);\n\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n bufp[ch] = inbuf[ch];\n bufpPos = 576 + gr * 576 - Encoder.FFTOFFSET;\n }\n if (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) {\n ret = psy.L3psycho_anal_vbr(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n } else {\n ret = psy.L3psycho_anal_ns(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n }\n if (ret != 0)\n return -4;\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n ms_ener_ratio[gr] = tot_ener[gr][2] + tot_ener[gr][3];\n if (ms_ener_ratio[gr] > 0)\n ms_ener_ratio[gr] = tot_ener[gr][3] / ms_ener_ratio[gr];\n }\n\n /* block type flags */\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var cod_info = gfc.l3_side.tt[gr][ch];\n cod_info.block_type = blocktype[ch];\n cod_info.mixed_block_flag = 0;\n }\n }\n } else {\n /* no psy model */\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.NORM_TYPE;\n gfc.l3_side.tt[gr][ch].mixed_block_flag = 0;\n pe_MS[gr][ch] = pe[gr][ch] = 700;\n }\n }\n\n /* auto-adjust of ATH, useful for low volume */\n adjust_ATH(gfc);\n\n /****************************************\n * Stage 2: MDCT *\n ****************************************/\n\n /* polyphase filtering / mdct */\n newMDCT.mdct_sub48(gfc, inbuf[0], inbuf[1]);\n\n /****************************************\n * Stage 3: MS/LR decision *\n ****************************************/\n\n /* Here will be selected MS or LR coding of the 2 stereo channels */\n gfc.mode_ext = Encoder.MPG_MD_LR_LR;\n\n if (gfp.force_ms) {\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n } else if (gfp.mode == MPEGMode.JOINT_STEREO) {\n /*\n * ms_ratio = is scaled, for historical reasons, to look like a\n * ratio of side_channel / total. 0 = signal is 100% mono .5 = L & R\n * uncorrelated\n */\n\n /**\n *
\n             * [0] and [1] are the results for the two granules in MPEG-1,\n             * in MPEG-2 it's only a faked averaging of the same value\n             * _prev is the value of the last granule of the previous frame\n             * _next is the value of the first granule of the next frame\n             * 
\n */\n\n var sum_pe_MS = 0.;\n var sum_pe_LR = 0.;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n sum_pe_MS += pe_MS[gr][ch];\n sum_pe_LR += pe[gr][ch];\n }\n }\n\n /* based on PE: M/S coding would not use much more bits than L/R */\n if (sum_pe_MS <= 1.00 * sum_pe_LR) {\n\n var gi0 = gfc.l3_side.tt[0];\n var gi1 = gfc.l3_side.tt[gfc.mode_gr - 1];\n\n if (gi0[0].block_type == gi0[1].block_type\n && gi1[0].block_type == gi1[1].block_type) {\n\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n }\n }\n }\n\n /* bit and noise allocation */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n masking = masking_MS;\n /* use MS masking */\n pe_use = pe_MS;\n } else {\n masking = masking_LR;\n /* use LR masking */\n pe_use = pe;\n }\n\n /* copy data for MP3 frame analyzer */\n if (gfp.analysis && gfc.pinfo != null) {\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.pinfo.ms_ratio[gr] = gfc.ms_ratio[gr];\n gfc.pinfo.ms_ener_ratio[gr] = ms_ener_ratio[gr];\n gfc.pinfo.blocktype[gr][ch] = gfc.l3_side.tt[gr][ch].block_type;\n gfc.pinfo.pe[gr][ch] = pe_use[gr][ch];\n System.arraycopy(gfc.l3_side.tt[gr][ch].xr, 0,\n gfc.pinfo.xr[gr][ch], 0, 576);\n /*\n * in psymodel, LR and MS data was stored in pinfo. switch\n * to MS data:\n */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n gfc.pinfo.ers[gr][ch] = gfc.pinfo.ers[gr][ch + 2];\n System.arraycopy(gfc.pinfo.energy[gr][ch + 2], 0,\n gfc.pinfo.energy[gr][ch], 0,\n gfc.pinfo.energy[gr][ch].length);\n }\n }\n }\n }\n\n /****************************************\n * Stage 4: quantization loop *\n ****************************************/\n\n if (gfp.VBR == VbrMode.vbr_off || gfp.VBR == VbrMode.vbr_abr) {\n\n var i;\n var f;\n\n for (i = 0; i < 18; i++)\n gfc.nsPsy.pefirbuf[i] = gfc.nsPsy.pefirbuf[i + 1];\n\n f = 0.0;\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++)\n f += pe_use[gr][ch];\n gfc.nsPsy.pefirbuf[18] = f;\n\n f = gfc.nsPsy.pefirbuf[9];\n for (i = 0; i < 9; i++)\n f += (gfc.nsPsy.pefirbuf[i] + gfc.nsPsy.pefirbuf[18 - i])\n * Encoder.fircoef[i];\n\n f = (670 * 5 * gfc.mode_gr * gfc.channels_out) / f;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n pe_use[gr][ch] *= f;\n }\n }\n }\n gfc.iteration_loop.iteration_loop(gfp, pe_use, ms_ener_ratio, masking);\n\n /****************************************\n * Stage 5: bitstream formatting *\n ****************************************/\n\n /* write the frame to the bitstream */\n bs.format_bitstream(gfp);\n\n /* copy mp3 bit buffer into array */\n mp3count = bs.copy_buffer(gfc, mp3buf, mp3bufPos, mp3buf_size, 1);\n\n if (gfp.bWriteVbrTag)\n vbr.addVbrFrame(gfp);\n\n if (gfp.analysis && gfc.pinfo != null) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var j;\n for (j = 0; j < FFTOFFSET; j++)\n gfc.pinfo.pcmdata[ch][j] = gfc.pinfo.pcmdata[ch][j\n + gfp.framesize];\n for (j = FFTOFFSET; j < 1600; j++) {\n gfc.pinfo.pcmdata[ch][j] = inbuf[ch][j - FFTOFFSET];\n }\n }\n qupvt.set_frame_pinfo(gfp, masking);\n }\n\n updateStats(gfc);\n\n return mp3count;\n }\n}\n\n\nmodule.exports = Encoder;\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export function roomsValidation(obj) {\n\tconst roomsValidate = [\n\t\t{ key: 'roomId', type: ['string', 'number'] },\n\t\t{ key: 'roomName', type: ['string'] },\n\t\t{ key: 'users', type: ['array'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tlet validType = false\n\n\t\t\tif (prop.type[0] === 'array' && Array.isArray(obj[prop.key])) {\n\t\t\t\tvalidType = true\n\t\t\t} else if (prop.type.find(t => t === typeof obj[prop.key])) {\n\t\t\t\tvalidType = true\n\t\t\t}\n\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, roomsValidate)) {\n\t\tthrow new Error(\n\t\t\t'Rooms object is not valid! Must contain roomId[String, Number], roomName[String] and users[Array]'\n\t\t)\n\t}\n}\n\nexport function partcipantsValidation(obj) {\n\tconst participantsValidate = [\n\t\t{ key: '_id', type: ['string', 'number'] },\n\t\t{ key: 'username', type: ['string'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tconst validType = prop.type.find(t => t === typeof obj[prop.key])\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, participantsValidate)) {\n\t\tthrow new Error(\n\t\t\t'Participants object is not valid! Must contain _id[String, Number] and username[String]'\n\t\t)\n\t}\n}\n\nexport function messagesValidation(obj) {\n\tconst messagesValidate = [\n\t\t{ key: '_id', type: ['string', 'number'] },\n\t\t{ key: 'content', type: ['string', 'number'] },\n\t\t{ key: 'senderId', type: ['string', 'number'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tconst validType = prop.type.find(t => t === typeof obj[prop.key])\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, messagesValidate)) {\n\t\tthrow new Error(\n\t\t\t'Messages object is not valid! Must contain _id[String, Number], content[String, Number] and senderId[String, Number]'\n\t\t)\n\t}\n}\n\nfunction checkObjectValid(obj, key) {\n\treturn (\n\t\tObject.prototype.hasOwnProperty.call(obj, key) &&\n\t\tobj[key] !== null &&\n\t\tobj[key] !== undefined\n\t)\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar regExpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = global.SyntaxError;\nvar getFlags = uncurryThis(regExpFlags);\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr = chr + charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxy(keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\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\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\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$
') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\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 : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(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 push(results, result);\n if (!global) break;\n\n var matchStr = toString(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 = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(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++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n var replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\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.21.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\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\nvar concat = uncurryThis([].concat);\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 ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\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 uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\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 = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, 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","/*\n * bit reservoir source file\n *\n * Copyright (c) 1999-2000 Mark Taylor\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */\n\n/* $Id: Reservoir.java,v 1.9 2011/05/24 20:48:06 kenchis Exp $ */\n\n//package mp3;\n\n/**\n * ResvFrameBegin:
\n * Called (repeatedly) at the beginning of a frame. Updates the maximum size of\n * the reservoir, and checks to make sure main_data_begin was set properly by\n * the formatter
\n * Background information:\n * \n * This is the original text from the ISO standard. Because of sooo many bugs\n * and irritations correcting comments are added in brackets []. A '^W' means\n * you should remove the last word.\n * \n *
\n *  1. The following rule can be used to calculate the maximum\n *     number of bits used for one granule [^W frame]:
\n * At the highest possible bitrate of Layer III (320 kbps\n * per stereo signal [^W^W^W], 48 kHz) the frames must be of\n * [^W^W^W are designed to have] constant length, i.e.\n * one buffer [^W^W the frame] length is:
\n * \n * 320 kbps * 1152/48 kHz = 7680 bit = 960 byte\n * \n * This value is used as the maximum buffer per channel [^W^W] at\n * lower bitrates [than 320 kbps]. At 64 kbps mono or 128 kbps\n * stereo the main granule length is 64 kbps * 576/48 kHz = 768 bit\n * [per granule and channel] at 48 kHz sampling frequency.\n * This means that there is a maximum deviation (short time buffer\n * [= reservoir]) of 7680 - 2*2*768 = 4608 bits is allowed at 64 kbps.\n * The actual deviation is equal to the number of bytes [with the\n * meaning of octets] denoted by the main_data_end offset pointer.\n * The actual maximum deviation is (2^9-1)*8 bit = 4088 bits\n * [for MPEG-1 and (2^8-1)*8 bit for MPEG-2, both are hard limits].\n * ... The xchange of buffer bits between the left and right channel\n * is allowed without restrictions [exception: dual channel].\n * Because of the [constructed] constraint on the buffer size\n * main_data_end is always set to 0 in the case of bit_rate_index==14,\n * i.e. data rate 320 kbps per stereo signal [^W^W^W]. In this case\n * all data are allocated between adjacent header [^W sync] words\n * [, i.e. there is no buffering at all].\n *
\n */\n\nvar common = require('./common.js');\nvar assert = common.assert;\n\nfunction Reservoir() {\n\tvar bs;\n\n\tthis.setModules = function(_bs) {\n\t\tbs = _bs;\n\t}\n\n\tthis.ResvFrameBegin = function(gfp, mean_bits) {\n\t\tvar gfc = gfp.internal_flags;\n\t\tvar maxmp3buf;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tvar frameLength = bs.getframebits(gfp);\n\t\tmean_bits.bits = (frameLength - gfc.sideinfo_len * 8) / gfc.mode_gr;\n\n\t\t/**\n\t\t *
\n\t\t *  Meaning of the variables:\n\t\t *      resvLimit: (0, 8, ..., 8*255 (MPEG-2), 8*511 (MPEG-1))\n\t\t *          Number of bits can be stored in previous frame(s) due to\n\t\t *          counter size constaints\n\t\t *      maxmp3buf: ( ??? ... 8*1951 (MPEG-1 and 2), 8*2047 (MPEG-2.5))\n\t\t *          Number of bits allowed to encode one frame (you can take 8*511 bit\n\t\t *          from the bit reservoir and at most 8*1440 bit from the current\n\t\t *          frame (320 kbps, 32 kHz), so 8*1951 bit is the largest possible\n\t\t *          value for MPEG-1 and -2)\n\t\t * \n\t\t *          maximum allowed granule/channel size times 4 = 8*2047 bits.,\n\t\t *          so this is the absolute maximum supported by the format.\n\t\t * \n\t\t * \n\t\t *      fullFrameBits:  maximum number of bits available for encoding\n\t\t *                      the current frame.\n\t\t * \n\t\t *      mean_bits:      target number of bits per granule.\n\t\t * \n\t\t *      frameLength:\n\t\t * \n\t\t *      gfc.ResvMax:   maximum allowed reservoir\n\t\t * \n\t\t *      gfc.ResvSize:  current reservoir size\n\t\t * \n\t\t *      l3_side.resvDrain_pre:\n\t\t *         ancillary data to be added to previous frame:\n\t\t *         (only usefull in VBR modes if it is possible to have\n\t\t *         maxmp3buf < fullFrameBits)).  Currently disabled,\n\t\t *         see #define NEW_DRAIN\n\t\t *         2010-02-13: RH now enabled, it seems to be needed for CBR too,\n\t\t *                     as there exists one example, where the FhG decoder\n\t\t *                     can't decode a -b320 CBR file anymore.\n\t\t * \n\t\t *      l3_side.resvDrain_post:\n\t\t *         ancillary data to be added to this frame:\n\t\t * \n\t\t * 
\n\t\t */\n\n\t\t/* main_data_begin has 9 bits in MPEG-1, 8 bits MPEG-2 */\n\t\tvar resvLimit = (8 * 256) * gfc.mode_gr - 8;\n\n\t\t/*\n\t\t * maximum allowed frame size. dont use more than this number of bits,\n\t\t * even if the frame has the space for them:\n\t\t */\n\t\tif (gfp.brate > 320) {\n\t\t\t/* in freeformat the buffer is constant */\n\t\t\tmaxmp3buf = 8 * ((int) ((gfp.brate * 1000)\n\t\t\t\t\t/ (gfp.out_samplerate / 1152) / 8 + .5));\n\t\t} else {\n\t\t\t/*\n\t\t\t * all mp3 decoders should have enough buffer to handle this value:\n\t\t\t * size of a 320kbps 32kHz frame\n\t\t\t */\n\t\t\tmaxmp3buf = 8 * 1440;\n\n\t\t\t/*\n\t\t\t * Bouvigne suggests this more lax interpretation of the ISO doc\n\t\t\t * instead of using 8*960.\n\t\t\t */\n\n\t\t\tif (gfp.strict_ISO) {\n\t\t\t\tmaxmp3buf = 8 * ((int) (320000 / (gfp.out_samplerate / 1152) / 8 + .5));\n\t\t\t}\n\t\t}\n\n\t\tgfc.ResvMax = maxmp3buf - frameLength;\n\t\tif (gfc.ResvMax > resvLimit)\n\t\t\tgfc.ResvMax = resvLimit;\n\t\tif (gfc.ResvMax < 0 || gfp.disable_reservoir)\n\t\t\tgfc.ResvMax = 0;\n\n\t\tvar fullFrameBits = mean_bits.bits * gfc.mode_gr\n\t\t\t\t+ Math.min(gfc.ResvSize, gfc.ResvMax);\n\n\t\tif (fullFrameBits > maxmp3buf)\n\t\t\tfullFrameBits = maxmp3buf;\n\n\t\tassert (0 == gfc.ResvMax % 8);\n\t\tassert (gfc.ResvMax >= 0);\n\n\t\tl3_side.resvDrain_pre = 0;\n\n\t\t// frame analyzer code\n\t\tif (gfc.pinfo != null) {\n\t\t\t/*\n\t\t\t * expected bits per channel per granule [is this also right for\n\t\t\t * mono/stereo, MPEG-1/2 ?]\n\t\t\t */\n\t\t\tgfc.pinfo.mean_bits = mean_bits.bits / 2;\n\t\t\tgfc.pinfo.resvsize = gfc.ResvSize;\n\t\t}\n\n\t\treturn fullFrameBits;\n\t}\n\n\t/**\n\t * returns targ_bits: target number of bits to use for 1 granule
\n\t * extra_bits: amount extra available from reservoir
\n\t * Mark Taylor 4/99\n\t */\n\tthis.ResvMaxBits = function(gfp, mean_bits, targ_bits, cbr) {\n\t\tvar gfc = gfp.internal_flags;\n\t\tvar add_bits;\n var ResvSize = gfc.ResvSize, ResvMax = gfc.ResvMax;\n\n\t\t/* compensate the saved bits used in the 1st granule */\n\t\tif (cbr != 0)\n\t\t\tResvSize += mean_bits;\n\n\t\tif ((gfc.substep_shaping & 1) != 0)\n\t\t\tResvMax *= 0.9;\n\n\t\ttarg_bits.bits = mean_bits;\n\n\t\t/* extra bits if the reservoir is almost full */\n\t\tif (ResvSize * 10 > ResvMax * 9) {\n\t\t\tadd_bits = ResvSize - (ResvMax * 9) / 10;\n\t\t\ttarg_bits.bits += add_bits;\n\t\t\tgfc.substep_shaping |= 0x80;\n\t\t} else {\n\t\t\tadd_bits = 0;\n\t\t\tgfc.substep_shaping &= 0x7f;\n\t\t\t/*\n\t\t\t * build up reservoir. this builds the reservoir a little slower\n\t\t\t * than FhG. It could simple be mean_bits/15, but this was rigged to\n\t\t\t * always produce 100 (the old value) at 128kbs\n\t\t\t */\n\t\t\tif (!gfp.disable_reservoir && 0 == (gfc.substep_shaping & 1))\n\t\t\t\ttarg_bits.bits -= .1 * mean_bits;\n\t\t}\n\n\t\t/* amount from the reservoir we are allowed to use. ISO says 6/10 */\n\t\tvar extra_bits = (ResvSize < (gfc.ResvMax * 6) / 10 ? ResvSize\n\t\t\t\t: (gfc.ResvMax * 6) / 10);\n\t\textra_bits -= add_bits;\n\n\t\tif (extra_bits < 0)\n\t\t\textra_bits = 0;\n\t\treturn extra_bits;\n\t}\n\n\t/**\n\t * Called after a granule's bit allocation. Readjusts the size of the\n\t * reservoir to reflect the granule's usage.\n\t */\n\tthis.ResvAdjust = function(gfc, gi) {\n\t\tgfc.ResvSize -= gi.part2_3_length + gi.part2_length;\n\t}\n\n\t/**\n\t * Called after all granules in a frame have been allocated. Makes sure that\n\t * the reservoir size is within limits, possibly by adding stuffing bits.\n\t */\n\tthis.ResvFrameEnd = function(gfc, mean_bits) {\n\t\tvar over_bits;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tgfc.ResvSize += mean_bits * gfc.mode_gr;\n\t\tvar stuffingBits = 0;\n\t\tl3_side.resvDrain_post = 0;\n\t\tl3_side.resvDrain_pre = 0;\n\n\t\t/* we must be byte aligned */\n\t\tif ((over_bits = gfc.ResvSize % 8) != 0)\n\t\t\tstuffingBits += over_bits;\n\n\t\tover_bits = (gfc.ResvSize - stuffingBits) - gfc.ResvMax;\n\t\tif (over_bits > 0) {\n\t\t\tassert (0 == over_bits % 8);\n\t\t\tassert (over_bits >= 0);\n\t\t\tstuffingBits += over_bits;\n\t\t}\n\n\t\t/*\n\t\t * NOTE: enabling the NEW_DRAIN code fixes some problems with FhG\n\t\t * decoder shipped with MS Windows operating systems. Using this, it is\n\t\t * even possible to use Gabriel's lax buffer consideration again, which\n\t\t * assumes, any decoder should have a buffer large enough for a 320 kbps\n\t\t * frame at 32 kHz sample rate.\n\t\t * \n\t\t * old drain code: lame -b320 BlackBird.wav --. does not play with\n\t\t * GraphEdit.exe using FhG decoder V1.5 Build 50\n\t\t * \n\t\t * new drain code: lame -b320 BlackBird.wav --. plays fine with\n\t\t * GraphEdit.exe using FhG decoder V1.5 Build 50\n\t\t * \n\t\t * Robert Hegemann, 2010-02-13.\n\t\t */\n\t\t/*\n\t\t * drain as many bits as possible into previous frame ancillary data In\n\t\t * particular, in VBR mode ResvMax may have changed, and we have to make\n\t\t * sure main_data_begin does not create a reservoir bigger than ResvMax\n\t\t * mt 4/00\n\t\t */\n\t\t{\n\t\t\tvar mdb_bytes = Math.min(l3_side.main_data_begin * 8, stuffingBits) / 8;\n\t\t\tl3_side.resvDrain_pre += 8 * mdb_bytes;\n\t\t\tstuffingBits -= 8 * mdb_bytes;\n\t\t\tgfc.ResvSize -= 8 * mdb_bytes;\n\t\t\tl3_side.main_data_begin -= mdb_bytes;\n\t\t}\n\t\t/* drain the rest into this frames ancillary data */\n\t\tl3_side.resvDrain_post += stuffingBits;\n\t\tgfc.ResvSize -= stuffingBits;\n\t}\n}\n\nmodule.exports = Reservoir;\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isRegExp = require('../internals/is-regexp');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpFlags = require('../internals/regexp-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\nvar getFlags = uncurryThis(regExpFlags);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible('flags' in RegExpPrototype\n ? searchValue.flags\n : getFlags(searchValue)\n ));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","function HuffCodeTab(len, max, tab, hl) {\n this.xlen = len;\n this.linmax = max;\n this.table = tab;\n this.hlen = hl;\n}\n\nvar Tables = {};\n\n\nTables.t1HB = [\n 1, 1,\n 1, 0\n];\n\nTables.t2HB = [\n 1, 2, 1,\n 3, 1, 1,\n 3, 2, 0\n];\n\nTables.t3HB = [\n 3, 2, 1,\n 1, 1, 1,\n 3, 2, 0\n];\n\nTables.t5HB = [\n 1, 2, 6, 5,\n 3, 1, 4, 4,\n 7, 5, 7, 1,\n 6, 1, 1, 0\n];\n\nTables.t6HB = [\n 7, 3, 5, 1,\n 6, 2, 3, 2,\n 5, 4, 4, 1,\n 3, 3, 2, 0\n];\n\nTables.t7HB = [\n 1, 2, 10, 19, 16, 10,\n 3, 3, 7, 10, 5, 3,\n 11, 4, 13, 17, 8, 4,\n 12, 11, 18, 15, 11, 2,\n 7, 6, 9, 14, 3, 1,\n 6, 4, 5, 3, 2, 0\n];\n\nTables.t8HB = [\n 3, 4, 6, 18, 12, 5,\n 5, 1, 2, 16, 9, 3,\n 7, 3, 5, 14, 7, 3,\n 19, 17, 15, 13, 10, 4,\n 13, 5, 8, 11, 5, 1,\n 12, 4, 4, 1, 1, 0\n];\n\nTables.t9HB = [\n 7, 5, 9, 14, 15, 7,\n 6, 4, 5, 5, 6, 7,\n 7, 6, 8, 8, 8, 5,\n 15, 6, 9, 10, 5, 1,\n 11, 7, 9, 6, 4, 1,\n 14, 4, 6, 2, 6, 0\n];\n\nTables.t10HB = [\n 1, 2, 10, 23, 35, 30, 12, 17,\n 3, 3, 8, 12, 18, 21, 12, 7,\n 11, 9, 15, 21, 32, 40, 19, 6,\n 14, 13, 22, 34, 46, 23, 18, 7,\n 20, 19, 33, 47, 27, 22, 9, 3,\n 31, 22, 41, 26, 21, 20, 5, 3,\n 14, 13, 10, 11, 16, 6, 5, 1,\n 9, 8, 7, 8, 4, 4, 2, 0\n];\n\nTables.t11HB = [\n 3, 4, 10, 24, 34, 33, 21, 15,\n 5, 3, 4, 10, 32, 17, 11, 10,\n 11, 7, 13, 18, 30, 31, 20, 5,\n 25, 11, 19, 59, 27, 18, 12, 5,\n 35, 33, 31, 58, 30, 16, 7, 5,\n 28, 26, 32, 19, 17, 15, 8, 14,\n 14, 12, 9, 13, 14, 9, 4, 1,\n 11, 4, 6, 6, 6, 3, 2, 0\n];\n\nTables.t12HB = [\n 9, 6, 16, 33, 41, 39, 38, 26,\n 7, 5, 6, 9, 23, 16, 26, 11,\n 17, 7, 11, 14, 21, 30, 10, 7,\n 17, 10, 15, 12, 18, 28, 14, 5,\n 32, 13, 22, 19, 18, 16, 9, 5,\n 40, 17, 31, 29, 17, 13, 4, 2,\n 27, 12, 11, 15, 10, 7, 4, 1,\n 27, 12, 8, 12, 6, 3, 1, 0\n];\n\nTables.t13HB = [\n 1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19,\n 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14,\n 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16,\n 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14,\n 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24,\n 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17,\n 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15,\n 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42,\n 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16,\n 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11,\n 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22,\n 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7,\n 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5,\n 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3,\n 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2,\n 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1\n];\n\nTables.t15HB = [\n 7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63,\n 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36,\n 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33,\n 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29,\n 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27,\n 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38,\n 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30,\n 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25,\n 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20,\n 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15,\n 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9,\n 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11,\n 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7,\n 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3,\n 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1,\n 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0\n];\n\nTables.t16HB = [\n 1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17,\n 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9,\n 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16,\n 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26,\n 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9,\n 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16,\n 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10,\n 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8,\n 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7,\n 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11,\n 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4,\n 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6,\n 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4,\n 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2,\n 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0,\n 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3\n];\n\nTables.t24HB = [\n 15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88,\n 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42,\n 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18,\n 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16,\n 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14,\n 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12,\n 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10,\n 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17,\n 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16,\n 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11,\n 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10,\n 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6,\n 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4,\n 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2,\n 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0,\n 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3\n];\n\nTables.t32HB = [\n 1 << 0, 5 << 1, 4 << 1, 5 << 2, 6 << 1, 5 << 2, 4 << 2, 4 << 3,\n 7 << 1, 3 << 2, 6 << 2, 0 << 3, 7 << 2, 2 << 3, 3 << 3, 1 << 4\n];\n\nTables.t33HB = [\n 15 << 0, 14 << 1, 13 << 1, 12 << 2, 11 << 1, 10 << 2, 9 << 2, 8 << 3,\n 7 << 1, 6 << 2, 5 << 2, 4 << 3, 3 << 2, 2 << 3, 1 << 3, 0 << 4\n];\n\nTables.t1l = [\n 1, 4,\n 3, 5\n];\n\nTables.t2l = [\n 1, 4, 7,\n 4, 5, 7,\n 6, 7, 8\n];\n\nTables.t3l = [\n 2, 3, 7,\n 4, 4, 7,\n 6, 7, 8\n];\n\nTables.t5l = [\n 1, 4, 7, 8,\n 4, 5, 8, 9,\n 7, 8, 9, 10,\n 8, 8, 9, 10\n];\n\nTables.t6l = [\n 3, 4, 6, 8,\n 4, 4, 6, 7,\n 5, 6, 7, 8,\n 7, 7, 8, 9\n];\n\nTables.t7l = [\n 1, 4, 7, 9, 9, 10,\n 4, 6, 8, 9, 9, 10,\n 7, 7, 9, 10, 10, 11,\n 8, 9, 10, 11, 11, 11,\n 8, 9, 10, 11, 11, 12,\n 9, 10, 11, 12, 12, 12\n];\n\nTables.t8l = [\n 2, 4, 7, 9, 9, 10,\n 4, 4, 6, 10, 10, 10,\n 7, 6, 8, 10, 10, 11,\n 9, 10, 10, 11, 11, 12,\n 9, 9, 10, 11, 12, 12,\n 10, 10, 11, 11, 13, 13\n];\n\nTables.t9l = [\n 3, 4, 6, 7, 9, 10,\n 4, 5, 6, 7, 8, 10,\n 5, 6, 7, 8, 9, 10,\n 7, 7, 8, 9, 9, 10,\n 8, 8, 9, 9, 10, 11,\n 9, 9, 10, 10, 11, 11\n];\n\nTables.t10l = [\n 1, 4, 7, 9, 10, 10, 10, 11,\n 4, 6, 8, 9, 10, 11, 10, 10,\n 7, 8, 9, 10, 11, 12, 11, 11,\n 8, 9, 10, 11, 12, 12, 11, 12,\n 9, 10, 11, 12, 12, 12, 12, 12,\n 10, 11, 12, 12, 13, 13, 12, 13,\n 9, 10, 11, 12, 12, 12, 13, 13,\n 10, 10, 11, 12, 12, 13, 13, 13\n];\n\nTables.t11l = [\n 2, 4, 6, 8, 9, 10, 9, 10,\n 4, 5, 6, 8, 10, 10, 9, 10,\n 6, 7, 8, 9, 10, 11, 10, 10,\n 8, 8, 9, 11, 10, 12, 10, 11,\n 9, 10, 10, 11, 11, 12, 11, 12,\n 9, 10, 11, 12, 12, 13, 12, 13,\n 9, 9, 9, 10, 11, 12, 12, 12,\n 9, 9, 10, 11, 12, 12, 12, 12\n];\n\nTables.t12l = [\n 4, 4, 6, 8, 9, 10, 10, 10,\n 4, 5, 6, 7, 9, 9, 10, 10,\n 6, 6, 7, 8, 9, 10, 9, 10,\n 7, 7, 8, 8, 9, 10, 10, 10,\n 8, 8, 9, 9, 10, 10, 10, 11,\n 9, 9, 10, 10, 10, 11, 10, 11,\n 9, 9, 9, 10, 10, 11, 11, 12,\n 10, 10, 10, 11, 11, 11, 11, 12\n];\n\nTables.t13l = [\n 1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14,\n 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14,\n 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15,\n 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15,\n 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16,\n 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16,\n 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16,\n 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18,\n 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17,\n 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17,\n 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19,\n 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18,\n 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18,\n 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18,\n 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18,\n 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18\n];\n\nTables.t15l = [\n 3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14,\n 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13,\n 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13,\n 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14,\n 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14,\n 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15,\n 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15,\n 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15,\n 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15,\n 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15\n];\n\nTables.t16_5l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14,\n 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12\n];\n\nTables.t16l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13,\n 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10\n];\n\nTables.t24l = [\n 4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10,\n 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10,\n 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9,\n 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9,\n 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9,\n 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9,\n 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9,\n 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10,\n 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10,\n 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10,\n 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6\n];\n\nTables.t32l = [\n 1 + 0, 4 + 1, 4 + 1, 5 + 2, 4 + 1, 6 + 2, 5 + 2, 6 + 3,\n 4 + 1, 5 + 2, 5 + 2, 6 + 3, 5 + 2, 6 + 3, 6 + 3, 6 + 4\n];\n\nTables.t33l = [\n 4 + 0, 4 + 1, 4 + 1, 4 + 2, 4 + 1, 4 + 2, 4 + 2, 4 + 3,\n 4 + 1, 4 + 2, 4 + 2, 4 + 3, 4 + 2, 4 + 3, 4 + 3, 4 + 4\n];\n\nTables.ht = [\n /* xlen, linmax, table, hlen */\n new HuffCodeTab(0, 0, null, null),\n new HuffCodeTab(2, 0, Tables.t1HB, Tables.t1l),\n new HuffCodeTab(3, 0, Tables.t2HB, Tables.t2l),\n new HuffCodeTab(3, 0, Tables.t3HB, Tables.t3l),\n new HuffCodeTab(0, 0, null, null), /* Apparently not used */\n new HuffCodeTab(4, 0, Tables.t5HB, Tables.t5l),\n new HuffCodeTab(4, 0, Tables.t6HB, Tables.t6l),\n new HuffCodeTab(6, 0, Tables.t7HB, Tables.t7l),\n new HuffCodeTab(6, 0, Tables.t8HB, Tables.t8l),\n new HuffCodeTab(6, 0, Tables.t9HB, Tables.t9l),\n new HuffCodeTab(8, 0, Tables.t10HB, Tables.t10l),\n new HuffCodeTab(8, 0, Tables.t11HB, Tables.t11l),\n new HuffCodeTab(8, 0, Tables.t12HB, Tables.t12l),\n new HuffCodeTab(16, 0, Tables.t13HB, Tables.t13l),\n new HuffCodeTab(0, 0, null, Tables.t16_5l), /* Apparently not used */\n new HuffCodeTab(16, 0, Tables.t15HB, Tables.t15l),\n\n new HuffCodeTab(1, 1, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(2, 3, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(3, 7, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(4, 15, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(6, 63, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(8, 255, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(10, 1023, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(13, 8191, Tables.t16HB, Tables.t16l),\n\n new HuffCodeTab(4, 15, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(5, 31, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(6, 63, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(7, 127, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(8, 255, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(9, 511, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(11, 2047, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(13, 8191, Tables.t24HB, Tables.t24l),\n\n new HuffCodeTab(0, 0, Tables.t32HB, Tables.t32l),\n new HuffCodeTab(0, 0, Tables.t33HB, Tables.t33l),\n];\n\n/**\n * \n * for (i = 0; i < 16*16; i++) [\n * largetbl[i] = ((ht[16].hlen[i]) << 16) + ht[24].hlen[i];\n * ]\n * \n *\n */\nTables.largetbl = [\n 0x010004, 0x050005, 0x070007, 0x090008, 0x0a0009, 0x0a000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000c, 0x0c000c, 0x0d000c, 0x0d000c, 0x0d000c, 0x0e000d, 0x0a000a,\n 0x040005, 0x060006, 0x080007, 0x090008, 0x0a0009, 0x0b000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000b, 0x0c000c, 0x0d000c, 0x0e000c, 0x0d000c, 0x0e000c, 0x0a000a,\n 0x070007, 0x080007, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0c000b, 0x0d000b, 0x0d000c, 0x0d000c, 0x0e000c, 0x0e000d, 0x0b0009,\n 0x090008, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0c0009,\n 0x0a0009, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000a, 0x0d000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000d, 0x0b0009,\n 0x0a000a, 0x0a0009, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0e000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0c0009,\n 0x0b000a, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0d000b, 0x0d000b,\n 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000d, 0x0c0009,\n 0x0b000b, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b,\n 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x11000d, 0x11000d, 0x0c000a,\n 0x0b000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b,\n 0x0f000b, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000d, 0x10000d, 0x0c000a,\n 0x0c000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b, 0x0f000c,\n 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0f000d, 0x10000d, 0x0f000d, 0x0d000a,\n 0x0c000c, 0x0d000b, 0x0c000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c,\n 0x0f000c, 0x10000c, 0x10000c, 0x10000d, 0x11000d, 0x11000d, 0x10000d, 0x0c000a,\n 0x0d000c, 0x0d000c, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x10000c,\n 0x10000c, 0x10000c, 0x10000c, 0x10000d, 0x10000d, 0x0f000d, 0x10000d, 0x0d000a,\n 0x0d000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c,\n 0x0f000c, 0x11000c, 0x10000d, 0x10000d, 0x10000d, 0x10000d, 0x12000d, 0x0d000a,\n 0x0f000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000c,\n 0x10000d, 0x12000d, 0x11000d, 0x11000d, 0x11000d, 0x13000d, 0x11000d, 0x0d000a,\n 0x0e000d, 0x0f000c, 0x0d000c, 0x0e000c, 0x10000c, 0x10000c, 0x0f000c, 0x10000d,\n 0x10000d, 0x11000d, 0x12000d, 0x11000d, 0x13000d, 0x11000d, 0x10000d, 0x0d000a,\n 0x0a0009, 0x0a0009, 0x0a0009, 0x0b0009, 0x0b0009, 0x0c0009, 0x0c0009, 0x0c0009,\n 0x0d0009, 0x0d0009, 0x0d0009, 0x0d000a, 0x0d000a, 0x0d000a, 0x0d000a, 0x0a0006\n];\n/**\n * \n * for (i = 0; i < 3*3; i++) [\n * table23[i] = ((ht[2].hlen[i]) << 16) + ht[3].hlen[i];\n * ]\n * \n *\n */\nTables.table23 = [\n 0x010002, 0x040003, 0x070007,\n 0x040004, 0x050004, 0x070007,\n 0x060006, 0x070007, 0x080008\n];\n\n/**\n * \n * for (i = 0; i < 4*4; i++) [\n * table56[i] = ((ht[5].hlen[i]) << 16) + ht[6].hlen[i];\n * ]\n * \n *\n */\nTables.table56 = [\n 0x010003, 0x040004, 0x070006, 0x080008, 0x040004, 0x050004, 0x080006, 0x090007,\n 0x070005, 0x080006, 0x090007, 0x0a0008, 0x080007, 0x080007, 0x090008, 0x0a0009\n];\n\nTables.bitrate_table = [\n [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], /* MPEG 2 */\n [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], /* MPEG 1 */\n [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1], /* MPEG 2.5 */\n];\n\n/**\n * MPEG 2, MPEG 1, MPEG 2.5.\n */\nTables.samplerate_table = [\n [22050, 24000, 16000, -1],\n [44100, 48000, 32000, -1],\n [11025, 12000, 8000, -1],\n];\n\n/**\n * This is the scfsi_band table from 2.4.2.7 of the IS.\n */\nTables.scfsi_band = [0, 6, 11, 16, 21];\n\nmodule.exports = Tables;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar RangeError = global.RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","module.exports = typeof window == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar padStart = require('../internals/string-pad').start;\n\nvar RangeError = global.RangeError;\nvar abs = Math.abs;\nvar DatePrototype = Date.prototype;\nvar n$DateToISOString = DatePrototype.toISOString;\nvar getTime = uncurryThis(DatePrototype.getTime);\nvar getUTCDate = uncurryThis(DatePrototype.getUTCDate);\nvar getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear);\nvar getUTCHours = uncurryThis(DatePrototype.getUTCHours);\nvar getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds);\nvar getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes);\nvar getUTCMonth = uncurryThis(DatePrototype.getUTCMonth);\nvar getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds);\n\n// `Date.prototype.toISOString` method implementation\n// https://tc39.es/ecma262/#sec-date.prototype.toisostring\n// PhantomJS / old WebKit fails here:\nmodule.exports = (fails(function () {\n return n$DateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n n$DateToISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime(this))) throw RangeError('Invalid time value');\n var date = this;\n var year = getUTCFullYear(date);\n var milliseconds = getUTCMilliseconds(date);\n var sign = year < 0 ? '-' : year > 9999 ? '+' : '';\n return sign + padStart(abs(year), sign ? 6 : 4, 0) +\n '-' + padStart(getUTCMonth(date) + 1, 2, 0) +\n '-' + padStart(getUTCDate(date), 2, 0) +\n 'T' + padStart(getUTCHours(date), 2, 0) +\n ':' + padStart(getUTCMinutes(date), 2, 0) +\n ':' + padStart(getUTCSeconds(date), 2, 0) +\n '.' + padStart(milliseconds, 3, 0) +\n 'Z';\n} : n$DateToISOString;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (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 defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","//package mp3;\n\n/* MPEG modes */\nfunction MPEGMode(ordinal) {\n var _ordinal = ordinal;\n this.ordinal = function () {\n return _ordinal;\n }\n}\n\nMPEGMode.STEREO = new MPEGMode(0);\nMPEGMode.JOINT_STEREO = new MPEGMode(1);\nMPEGMode.DUAL_CHANNEL = new MPEGMode(2);\nMPEGMode.MONO = new MPEGMode(3);\nMPEGMode.NOT_SET = new MPEGMode(4);\n\nmodule.exports = MPEGMode;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Takehiro = require('./Takehiro.js');\nvar Tables = require('./Tables.js');\nvar Encoder = require('./Encoder.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nBitStream.EQ = function (a, b) {\n return (Math.abs(a) > Math.abs(b)) ? (Math.abs((a) - (b)) <= (Math\n .abs(a) * 1e-6))\n : (Math.abs((a) - (b)) <= (Math.abs(b) * 1e-6));\n};\n\nBitStream.NEQ = function (a, b) {\n return !BitStream.EQ(a, b);\n};\n\nfunction BitStream() {\n var self = this;\n var CRC16_POLYNOMIAL = 0x8005;\n\n /*\n * we work with ints, so when doing bit manipulation, we limit ourselves to\n * MAX_LENGTH-2 just to be on the safe side\n */\n var MAX_LENGTH = 32;\n\n //GainAnalysis ga;\n //MPGLib mpg;\n //Version ver;\n //VBRTag vbr;\n var ga = null;\n var mpg = null;\n var ver = null;\n var vbr = null;\n\n //public final void setModules(GainAnalysis ga, MPGLib mpg, Version ver,\n //\tVBRTag vbr) {\n\n this.setModules = function (_ga, _mpg, _ver, _vbr) {\n ga = _ga;\n mpg = _mpg;\n ver = _ver;\n vbr = _vbr;\n };\n\n /**\n * Bit stream buffer.\n */\n //private byte[] buf;\n var buf = null;\n /**\n * Bit counter of bit stream.\n */\n var totbit = 0;\n /**\n * Pointer to top byte in buffer.\n */\n var bufByteIdx = 0;\n /**\n * Pointer to top bit of top byte in buffer.\n */\n var bufBitIdx = 0;\n\n /**\n * compute bitsperframe and mean_bits for a layer III frame\n */\n this.getframebits = function (gfp) {\n var gfc = gfp.internal_flags;\n var bit_rate;\n\n /* get bitrate in kbps [?] */\n if (gfc.bitrate_index != 0)\n bit_rate = Tables.bitrate_table[gfp.version][gfc.bitrate_index];\n else\n bit_rate = gfp.brate;\n assert(8 <= bit_rate && bit_rate <= 640);\n\n /* main encoding routine toggles padding on and off */\n /* one Layer3 Slot consists of 8 bits */\n var bytes = 0 | (gfp.version + 1) * 72000 * bit_rate / gfp.out_samplerate + gfc.padding;\n return 8 * bytes;\n };\n\n function putheader_bits(gfc) {\n System.arraycopy(gfc.header[gfc.w_ptr].buf, 0, buf, bufByteIdx, gfc.sideinfo_len);\n bufByteIdx += gfc.sideinfo_len;\n totbit += gfc.sideinfo_len * 8;\n gfc.w_ptr = (gfc.w_ptr + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n }\n\n /**\n * write j bits into the bit stream\n */\n function putbits2(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n assert(gfc.header[gfc.w_ptr].write_timing >= totbit);\n if (gfc.header[gfc.w_ptr].write_timing == totbit) {\n putheader_bits(gfc);\n }\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * write j bits into the bit stream, ignoring frame headers\n */\n function putbits_noheaders(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * Some combinations of bitrate, Fs, and stereo make it impossible to stuff\n * out a frame using just main_data, due to the limited number of bits to\n * indicate main_data_length. In these situations, we put stuffing bits into\n * the ancillary data...\n */\n function drain_into_ancillary(gfp, remainingBits) {\n var gfc = gfp.internal_flags;\n var i;\n assert(remainingBits >= 0);\n\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4c, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x41, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4d, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x45, 8);\n remainingBits -= 8;\n }\n\n if (remainingBits >= 32) {\n var version = ver.getLameShortVersion();\n if (remainingBits >= 32)\n for (i = 0; i < version.length && remainingBits >= 8; ++i) {\n remainingBits -= 8;\n putbits2(gfc, version.charAt(i), 8);\n }\n }\n\n for (; remainingBits >= 1; remainingBits -= 1) {\n putbits2(gfc, gfc.ancillary_flag, 1);\n gfc.ancillary_flag ^= (!gfp.disable_reservoir ? 1 : 0);\n }\n\n assert(remainingBits == 0);\n\n }\n\n /**\n * write N bits into the header\n */\n function writeheader(gfc, val, j) {\n var ptr = gfc.header[gfc.h_ptr].ptr;\n\n while (j > 0) {\n var k = Math.min(j, 8 - (ptr & 7));\n j -= k;\n assert(j < MAX_LENGTH);\n /* >> 32 too large for 32 bit machines */\n\n gfc.header[gfc.h_ptr].buf[ptr >> 3] |= ((val >> j)) << (8 - (ptr & 7) - k);\n ptr += k;\n }\n gfc.header[gfc.h_ptr].ptr = ptr;\n }\n\n function CRC_update(value, crc) {\n value <<= 8;\n for (var i = 0; i < 8; i++) {\n value <<= 1;\n crc <<= 1;\n\n if ((((crc ^ value) & 0x10000) != 0))\n crc ^= CRC16_POLYNOMIAL;\n }\n return crc;\n }\n\n this.CRC_writeheader = function (gfc, header) {\n var crc = 0xffff;\n /* (jo) init crc16 for error_protection */\n\n crc = CRC_update(header[2] & 0xff, crc);\n crc = CRC_update(header[3] & 0xff, crc);\n for (var i = 6; i < gfc.sideinfo_len; i++) {\n crc = CRC_update(header[i] & 0xff, crc);\n }\n\n header[4] = (byte)(crc >> 8);\n header[5] = (byte)(crc & 255);\n };\n\n function encodeSideInfo2(gfp, bitsPerFrame) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var gr, ch;\n\n l3_side = gfc.l3_side;\n gfc.header[gfc.h_ptr].ptr = 0;\n Arrays.fill(gfc.header[gfc.h_ptr].buf, 0, gfc.sideinfo_len, 0);\n if (gfp.out_samplerate < 16000)\n writeheader(gfc, 0xffe, 12);\n else\n writeheader(gfc, 0xfff, 12);\n writeheader(gfc, (gfp.version), 1);\n writeheader(gfc, 4 - 3, 2);\n writeheader(gfc, (!gfp.error_protection ? 1 : 0), 1);\n writeheader(gfc, (gfc.bitrate_index), 4);\n writeheader(gfc, (gfc.samplerate_index), 2);\n writeheader(gfc, (gfc.padding), 1);\n writeheader(gfc, (gfp.extension), 1);\n writeheader(gfc, (gfp.mode.ordinal()), 2);\n writeheader(gfc, (gfc.mode_ext), 2);\n writeheader(gfc, (gfp.copyright), 1);\n writeheader(gfc, (gfp.original), 1);\n writeheader(gfc, (gfp.emphasis), 2);\n if (gfp.error_protection) {\n writeheader(gfc, 0, 16);\n /* dummy */\n }\n\n if (gfp.version == 1) {\n /* MPEG1 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 9);\n\n if (gfc.channels_out == 2)\n writeheader(gfc, l3_side.private_bits, 3);\n else\n writeheader(gfc, l3_side.private_bits, 5);\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var band;\n for (band = 0; band < 4; band++) {\n writeheader(gfc, l3_side.scfsi[ch][band], 1);\n }\n }\n\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 4);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.preflag, 1);\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n } else {\n /* MPEG2 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 8);\n writeheader(gfc, l3_side.private_bits, gfc.channels_out);\n\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 9);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n\n if (gfp.error_protection) {\n /* (jo) error_protection: add crc16 information to header */\n CRC_writeheader(gfc, gfc.header[gfc.h_ptr].buf);\n }\n\n {\n var old = gfc.h_ptr;\n assert(gfc.header[old].ptr == gfc.sideinfo_len * 8);\n\n gfc.h_ptr = (old + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n gfc.header[gfc.h_ptr].write_timing = gfc.header[old].write_timing\n + bitsPerFrame;\n\n if (gfc.h_ptr == gfc.w_ptr) {\n /* yikes! we are out of header buffer space */\n System.err\n .println(\"Error: MAX_HEADER_BUF too small in bitstream.c \\n\");\n }\n\n }\n }\n\n function huffman_coder_count1(gfc, gi) {\n /* Write count1 area */\n var h = Tables.ht[gi.count1table_select + 32];\n var i, bits = 0;\n\n var ix = gi.big_values;\n var xr = gi.big_values;\n assert(gi.count1table_select < 2);\n\n for (i = (gi.count1 - gi.big_values) / 4; i > 0; --i) {\n var huffbits = 0;\n var p = 0, v;\n\n v = gi.l3_enc[ix + 0];\n if (v != 0) {\n p += 8;\n if (gi.xr[xr + 0] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 1];\n if (v != 0) {\n p += 4;\n huffbits *= 2;\n if (gi.xr[xr + 1] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 2];\n if (v != 0) {\n p += 2;\n huffbits *= 2;\n if (gi.xr[xr + 2] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 3];\n if (v != 0) {\n p++;\n huffbits *= 2;\n if (gi.xr[xr + 3] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n ix += 4;\n xr += 4;\n putbits2(gfc, huffbits + h.table[p], h.hlen[p]);\n bits += h.hlen[p];\n }\n return bits;\n }\n\n /**\n * Implements the pseudocode of page 98 of the IS\n */\n function Huffmancode(gfc, tableindex, start, end, gi) {\n var h = Tables.ht[tableindex];\n var bits = 0;\n\n assert(tableindex < 32);\n if (0 == tableindex)\n return bits;\n\n for (var i = start; i < end; i += 2) {\n var cbits = 0;\n var xbits = 0;\n var linbits = h.xlen;\n var xlen = h.xlen;\n var ext = 0;\n var x1 = gi.l3_enc[i];\n var x2 = gi.l3_enc[i + 1];\n\n if (x1 != 0) {\n if (gi.xr[i] < 0)\n ext++;\n cbits--;\n }\n\n if (tableindex > 15) {\n /* use ESC-words */\n if (x1 > 14) {\n var linbits_x1 = x1 - 15;\n assert(linbits_x1 <= h.linmax);\n ext |= linbits_x1 << 1;\n xbits = linbits;\n x1 = 15;\n }\n\n if (x2 > 14) {\n var linbits_x2 = x2 - 15;\n assert(linbits_x2 <= h.linmax);\n ext <<= linbits;\n ext |= linbits_x2;\n xbits += linbits;\n x2 = 15;\n }\n xlen = 16;\n }\n\n if (x2 != 0) {\n ext <<= 1;\n if (gi.xr[i + 1] < 0)\n ext++;\n cbits--;\n }\n\n assert((x1 | x2) < 16);\n\n x1 = x1 * xlen + x2;\n xbits -= cbits;\n cbits += h.hlen[x1];\n\n assert(cbits <= MAX_LENGTH);\n assert(xbits <= MAX_LENGTH);\n\n putbits2(gfc, h.table[x1], cbits);\n putbits2(gfc, ext, xbits);\n bits += cbits + xbits;\n }\n return bits;\n }\n\n /**\n * Note the discussion of huffmancodebits() on pages 28 and 29 of the IS, as\n * well as the definitions of the side information on pages 26 and 27.\n */\n function ShortHuffmancodebits(gfc, gi) {\n var region1Start = 3 * gfc.scalefac_band.s[3];\n if (region1Start > gi.big_values)\n region1Start = gi.big_values;\n\n /* short blocks do not have a region2 */\n var bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n gi.big_values, gi);\n return bits;\n }\n\n function LongHuffmancodebits(gfc, gi) {\n var bigvalues, bits;\n var region1Start, region2Start;\n\n bigvalues = gi.big_values;\n assert(0 <= bigvalues && bigvalues <= 576);\n\n var i = gi.region0_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region1Start = gfc.scalefac_band.l[i];\n i += gi.region1_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region2Start = gfc.scalefac_band.l[i];\n\n if (region1Start > bigvalues)\n region1Start = bigvalues;\n\n if (region2Start > bigvalues)\n region2Start = bigvalues;\n\n bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n region2Start, gi);\n bits += Huffmancode(gfc, gi.table_select[2], region2Start, bigvalues,\n gi);\n return bits;\n }\n\n function writeMainData(gfp) {\n var gr, ch, sfb, data_bits, tot_bits = 0;\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n\n if (gfp.version == 1) {\n /* MPEG 1 */\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var slen1 = Takehiro.slen1_tab[gi.scalefac_compress];\n var slen2 = Takehiro.slen2_tab[gi.scalefac_compress];\n data_bits = 0;\n for (sfb = 0; sfb < gi.sfbdivide; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen1);\n data_bits += slen1;\n }\n for (; sfb < gi.sfbmax; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen2);\n data_bits += slen2;\n }\n assert(data_bits == gi.part2_length);\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length + gi.part2_length);\n tot_bits += data_bits;\n }\n /* for ch */\n }\n /* for gr */\n } else {\n /* MPEG 2 */\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var i, sfb_partition, scale_bits = 0;\n assert(gi.sfb_partition_table != null);\n data_bits = 0;\n sfb = 0;\n sfb_partition = 0;\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition] / 3;\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 0], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 1], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 2], 0), slen);\n scale_bits += 3 * slen;\n }\n }\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition];\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc, Math.max(gi.scalefac[sfb], 0), slen);\n scale_bits += slen;\n }\n }\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length);\n assert(scale_bits == gi.part2_length);\n tot_bits += scale_bits + data_bits;\n }\n /* for ch */\n }\n /* for gf */\n return tot_bits;\n }\n\n /* main_data */\n\n function TotalBytes() {\n this.total = 0;\n }\n\n /*\n * compute the number of bits required to flush all mp3 frames currently in\n * the buffer. This should be the same as the reservoir size. Only call this\n * routine between frames - i.e. only after all headers and data have been\n * added to the buffer by format_bitstream().\n *\n * Also compute total_bits_output = size of mp3 buffer (including frame\n * headers which may not have yet been send to the mp3 buffer) + number of\n * bits needed to flush all mp3 frames.\n *\n * total_bytes_output is the size of the mp3 output buffer if\n * lame_encode_flush_nogap() was called right now.\n */\n function compute_flushbits(gfp, total_bytes_output) {\n var gfc = gfp.internal_flags;\n var flushbits, remaining_headers;\n var bitsPerFrame;\n var last_ptr, first_ptr;\n first_ptr = gfc.w_ptr;\n /* first header to add to bitstream */\n last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n\n /* add this many bits to bitstream so we can flush all headers */\n flushbits = gfc.header[last_ptr].write_timing - totbit;\n total_bytes_output.total = flushbits;\n\n if (flushbits >= 0) {\n /* if flushbits >= 0, some headers have not yet been written */\n /* reduce flushbits by the size of the headers */\n remaining_headers = 1 + last_ptr - first_ptr;\n if (last_ptr < first_ptr)\n remaining_headers = 1 + last_ptr - first_ptr\n + LameInternalFlags.MAX_HEADER_BUF;\n flushbits -= remaining_headers * 8 * gfc.sideinfo_len;\n }\n\n /*\n * finally, add some bits so that the last frame is complete these bits\n * are not necessary to decode the last frame, but some decoders will\n * ignore last frame if these bits are missing\n */\n bitsPerFrame = self.getframebits(gfp);\n flushbits += bitsPerFrame;\n total_bytes_output.total += bitsPerFrame;\n /* round up: */\n if ((total_bytes_output.total % 8) != 0)\n total_bytes_output.total = 1 + (total_bytes_output.total / 8);\n else\n total_bytes_output.total = (total_bytes_output.total / 8);\n total_bytes_output.total += bufByteIdx + 1;\n\n if (flushbits < 0) {\n System.err.println(\"strange error flushing buffer ... \\n\");\n }\n return flushbits;\n }\n\n this.flush_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var flushbits;\n var last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n l3_side = gfc.l3_side;\n\n if ((flushbits = compute_flushbits(gfp, new TotalBytes())) < 0)\n return;\n drain_into_ancillary(gfp, flushbits);\n\n /* check that the 100% of the last frame has been written to bitstream */\n assert(gfc.header[last_ptr].write_timing + this.getframebits(gfp) == totbit);\n\n /*\n * we have padded out all frames with ancillary data, which is the same\n * as filling the bitreservoir with ancillary data, so :\n */\n gfc.ResvSize = 0;\n l3_side.main_data_begin = 0;\n\n /* save the ReplayGain value */\n if (gfc.findReplayGain) {\n var RadioGain = ga.GetTitleGain(gfc.rgdata);\n assert(NEQ(RadioGain, GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES));\n gfc.RadioGain = Math.floor(RadioGain * 10.0 + 0.5) | 0;\n /* round to nearest */\n }\n\n /* find the gain and scale change required for no clipping */\n if (gfc.findPeakSample) {\n gfc.noclipGainChange = Math.ceil(Math\n .log10(gfc.PeakSample / 32767.0) * 20.0 * 10.0) | 0;\n /* round up */\n\n if (gfc.noclipGainChange > 0) {\n /* clipping occurs */\n if (EQ(gfp.scale, 1.0) || EQ(gfp.scale, 0.0))\n gfc.noclipScale = (Math\n .floor((32767.0 / gfc.PeakSample) * 100.0) / 100.0);\n /* round down */\n else {\n /*\n * the user specified his own scaling factor. We could\n * suggest the scaling factor of\n * (32767.0/gfp.PeakSample)*(gfp.scale) but it's usually\n * very inaccurate. So we'd rather not advice him on the\n * scaling factor.\n */\n gfc.noclipScale = -1;\n }\n } else\n /* no clipping */\n gfc.noclipScale = -1;\n }\n };\n\n this.add_dummy_byte = function (gfp, val, n) {\n var gfc = gfp.internal_flags;\n var i;\n\n while (n-- > 0) {\n putbits_noheaders(gfc, val, 8);\n\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing += 8;\n }\n };\n\n /**\n * This is called after a frame of audio has been quantized and coded. It\n * will write the encoded audio to the bitstream. Note that from a layer3\n * encoder's perspective the bit stream is primarily a series of main_data()\n * blocks, with header and side information inserted at the proper locations\n * to maintain framing. (See Figure A.7 in the IS).\n */\n this.format_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n l3_side = gfc.l3_side;\n\n var bitsPerFrame = this.getframebits(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_pre);\n\n encodeSideInfo2(gfp, bitsPerFrame);\n var bits = 8 * gfc.sideinfo_len;\n bits += writeMainData(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_post);\n bits += l3_side.resvDrain_post;\n\n l3_side.main_data_begin += (bitsPerFrame - bits) / 8;\n\n /*\n * compare number of bits needed to clear all buffered mp3 frames with\n * what we think the resvsize is:\n */\n if (compute_flushbits(gfp, new TotalBytes()) != gfc.ResvSize) {\n System.err.println(\"Internal buffer inconsistency. flushbits <> ResvSize\");\n }\n\n /*\n * compare main_data_begin for the next frame with what we think the\n * resvsize is:\n */\n if ((l3_side.main_data_begin * 8) != gfc.ResvSize) {\n System.err.printf(\"bit reservoir error: \\n\"\n + \"l3_side.main_data_begin: %d \\n\"\n + \"Resvoir size: %d \\n\"\n + \"resv drain (post) %d \\n\"\n + \"resv drain (pre) %d \\n\"\n + \"header and sideinfo: %d \\n\"\n + \"data bits: %d \\n\"\n + \"total bits: %d (remainder: %d) \\n\"\n + \"bitsperframe: %d \\n\",\n 8 * l3_side.main_data_begin, gfc.ResvSize,\n l3_side.resvDrain_post, l3_side.resvDrain_pre,\n 8 * gfc.sideinfo_len, bits - l3_side.resvDrain_post - 8\n * gfc.sideinfo_len, bits, bits % 8, bitsPerFrame);\n\n System.err.println(\"This is a fatal error. It has several possible causes:\");\n System.err.println(\"90%% LAME compiled with buggy version of gcc using advanced optimizations\");\n System.err.println(\" 9%% Your system is overclocked\");\n System.err.println(\" 1%% bug in LAME encoding library\");\n\n gfc.ResvSize = l3_side.main_data_begin * 8;\n }\n //;\n assert(totbit % 8 == 0);\n\n if (totbit > 1000000000) {\n /*\n * to avoid totbit overflow, (at 8h encoding at 128kbs) lets reset\n * bit counter\n */\n var i;\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing -= totbit;\n totbit = 0;\n }\n\n return 0;\n };\n\n /**\n *
\n     * copy data out of the internal MP3 bit buffer into a user supplied\n     *       unsigned char buffer.\n     *\n     *       mp3data=0      indicates data in buffer is an id3tags and VBR tags\n     *       mp3data=1      data is real mp3 frame data.\n     * 
\n */\n this.copy_buffer = function (gfc, buffer, bufferPos, size, mp3data) {\n var minimum = bufByteIdx + 1;\n if (minimum <= 0)\n return 0;\n if (size != 0 && minimum > size) {\n /* buffer is too small */\n return -1;\n }\n System.arraycopy(buf, 0, buffer, bufferPos, minimum);\n bufByteIdx = -1;\n bufBitIdx = 0;\n\n if (mp3data != 0) {\n var crc = new_int(1);\n crc[0] = gfc.nMusicCRC;\n vbr.updateMusicCRC(crc, buffer, bufferPos, minimum);\n gfc.nMusicCRC = crc[0];\n\n /**\n * sum number of bytes belonging to the mp3 stream this info will be\n * written into the Xing/LAME header for seeking\n */\n if (minimum > 0) {\n gfc.VBR_seek_table.nBytesWritten += minimum;\n }\n\n if (gfc.decode_on_the_fly) { /* decode the frame */\n var pcm_buf = new_float_n([2, 1152]);\n var mp3_in = minimum;\n var samples_out = -1;\n var i;\n\n /* re-synthesis to pcm. Repeat until we get a samples_out=0 */\n while (samples_out != 0) {\n\n samples_out = mpg.hip_decode1_unclipped(gfc.hip, buffer,\n bufferPos, mp3_in, pcm_buf[0], pcm_buf[1]);\n /*\n * samples_out = 0: need more data to decode samples_out =\n * -1: error. Lets assume 0 pcm output samples_out = number\n * of samples output\n */\n\n /*\n * set the lenght of the mp3 input buffer to zero, so that\n * in the next iteration of the loop we will be querying\n * mpglib about buffered data\n */\n mp3_in = 0;\n\n if (samples_out == -1) {\n /*\n * error decoding. Not fatal, but might screw up the\n * ReplayGain tag. What should we do? Ignore for now\n */\n samples_out = 0;\n }\n if (samples_out > 0) {\n /* process the PCM data */\n\n /*\n * this should not be possible, and indicates we have\n * overflown the pcm_buf buffer\n */\n assert(samples_out <= 1152);\n\n if (gfc.findPeakSample) {\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[0][i];\n else if (-pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[0][i];\n }\n if (gfc.channels_out > 1)\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[1][i];\n else if (-pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[1][i];\n }\n }\n\n if (gfc.findReplayGain)\n if (ga.AnalyzeSamples(gfc.rgdata, pcm_buf[0], 0,\n pcm_buf[1], 0, samples_out,\n gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR)\n return -6;\n\n }\n /* if (samples_out>0) */\n }\n /* while (samples_out!=0) */\n }\n /* if (gfc.decode_on_the_fly) */\n\n }\n /* if (mp3data) */\n return minimum;\n };\n\n this.init_bit_stream_w = function (gfc) {\n buf = new_byte(Lame.LAME_MAXMP3BUFFER);\n\n gfc.h_ptr = gfc.w_ptr = 0;\n gfc.header[gfc.h_ptr].write_timing = 0;\n bufByteIdx = -1;\n bufBitIdx = 0;\n totbit = 0;\n };\n\n // From machine.h\n\n\n}\n\nmodule.exports = BitStream;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\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 TypeError = global.TypeError;\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 = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(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 hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Date = global.Date;\nvar getTime = uncurryThis(Date.prototype.getTime);\n\n// `Date.now` method\n// https://tc39.es/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return getTime(new Date());\n }\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\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 name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\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 isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GainAnalysis = require('./GainAnalysis.js');\n\nfunction ReplayGain() {\n this.linprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * left input samples, with pre-buffer\n */\n this.linpre = 0;\n this.lstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"first step\" (i.e. post first filter) samples\n */\n this.lstep = 0;\n this.loutbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"out\" (i.e. post second filter) samples\n */\n this.lout = 0;\n this.rinprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * right input samples ...\n */\n this.rinpre = 0;\n this.rstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rstep = 0;\n this.routbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rout = 0;\n /**\n * number of samples required to reach number of milliseconds required\n * for RMS window\n */\n this.sampleWindow = 0;\n this.totsamp = 0;\n this.lsum = 0.;\n this.rsum = 0.;\n this.freqindex = 0;\n this.first = 0;\n this.A = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n this.B = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n\n}\n\nmodule.exports = ReplayGain;\n","//package mp3;\n\nfunction CalcNoiseResult() {\n /**\n * sum of quantization noise > masking\n */\n this.over_noise = 0.;\n /**\n * sum of all quantization noise\n */\n this.tot_noise = 0.;\n /**\n * max quantization noise\n */\n this.max_noise = 0.;\n /**\n * number of quantization noise > masking\n */\n this.over_count = 0;\n /**\n * SSD-like cost of distorted bands\n */\n this.over_SSD = 0;\n this.bits = 0;\n}\n\nmodule.exports = CalcNoiseResult;\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\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 (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","module.exports = require('./lib/linkify');\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n\ttoString: function toString() {\n\t\treturn this.v + '';\n\t}\n};\n\nfunction inheritsToken(value) {\n\tvar props = value ? { v: value } : {};\n\treturn (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\nvar DOMAIN = inheritsToken();\n\n/**\n\t@class AT\n\t@extends TextToken\n*/\nvar AT = inheritsToken('@');\n\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\nvar COLON = inheritsToken(':');\n\n/**\n\t@class DOT\n\t@extends TextToken\n*/\nvar DOT = inheritsToken('.');\n\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\nvar PUNCTUATION = inheritsToken();\n\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\nvar LOCALHOST = inheritsToken();\n\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\nvar NL = inheritsToken('\\n');\n\n/**\n\t@class NUM\n\t@extends TextToken\n*/\nvar NUM = inheritsToken();\n\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\nvar PLUS = inheritsToken('+');\n\n/**\n\t@class POUND\n\t@extends TextToken\n*/\nvar POUND = inheritsToken('#');\n\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\nvar PROTOCOL = inheritsToken();\n\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\nvar MAILTO = inheritsToken('mailto:');\n\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\nvar QUERY = inheritsToken('?');\n\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\nvar SLASH = inheritsToken('/');\n\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\nvar UNDERSCORE = inheritsToken('_');\n\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\nvar SYM = inheritsToken();\n\n/**\n\t@class TLD\n\t@extends TextToken\n*/\nvar TLD = inheritsToken();\n\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\nvar WS = inheritsToken();\n\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\n\nvar AMPERSAND = inheritsToken('&');\n\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\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","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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 : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\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 Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(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 (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\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 // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar n$ParseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = n$ParseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : n$ParseFloat;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction FFT() {\n\n var window = new_float(Encoder.BLKSIZE);\n var window_s = new_float(Encoder.BLKSIZE_s / 2);\n\n var costab = [\n 9.238795325112867e-01, 3.826834323650898e-01,\n 9.951847266721969e-01, 9.801714032956060e-02,\n 9.996988186962042e-01, 2.454122852291229e-02,\n 9.999811752826011e-01, 6.135884649154475e-03\n ];\n\n function fht(fz, fzPos, n) {\n var tri = 0;\n var k4;\n var fi;\n var gi;\n\n n <<= 1;\n /* to get BLKSIZE, because of 3DNow! ASM routine */\n var fn = fzPos + n;\n k4 = 4;\n do {\n var s1, c1;\n var i, k1, k2, k3, kx;\n kx = k4 >> 1;\n k1 = k4;\n k2 = k4 << 1;\n k3 = k2 + k1;\n k4 = k2 << 1;\n fi = fzPos;\n gi = fi + kx;\n do {\n var f0, f1, f2, f3;\n f1 = fz[fi + 0] - fz[fi + k1];\n f0 = fz[fi + 0] + fz[fi + k1];\n f3 = fz[fi + k2] - fz[fi + k3];\n f2 = fz[fi + k2] + fz[fi + k3];\n fz[fi + k2] = f0 - f2;\n fz[fi + 0] = f0 + f2;\n fz[fi + k3] = f1 - f3;\n fz[fi + k1] = f1 + f3;\n f1 = fz[gi + 0] - fz[gi + k1];\n f0 = fz[gi + 0] + fz[gi + k1];\n f3 = (Util.SQRT2 * fz[gi + k3]);\n f2 = (Util.SQRT2 * fz[gi + k2]);\n fz[gi + k2] = f0 - f2;\n fz[gi + 0] = f0 + f2;\n fz[gi + k3] = f1 - f3;\n fz[gi + k1] = f1 + f3;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c1 = costab[tri + 0];\n s1 = costab[tri + 1];\n for (i = 1; i < kx; i++) {\n var c2, s2;\n c2 = 1 - (2 * s1) * s1;\n s2 = (2 * s1) * c1;\n fi = fzPos + i;\n gi = fzPos + k1 - i;\n do {\n var a, b, g0, f0, f1, g1, f2, g2, f3, g3;\n b = s2 * fz[fi + k1] - c2 * fz[gi + k1];\n a = c2 * fz[fi + k1] + s2 * fz[gi + k1];\n f1 = fz[fi + 0] - a;\n f0 = fz[fi + 0] + a;\n g1 = fz[gi + 0] - b;\n g0 = fz[gi + 0] + b;\n b = s2 * fz[fi + k3] - c2 * fz[gi + k3];\n a = c2 * fz[fi + k3] + s2 * fz[gi + k3];\n f3 = fz[fi + k2] - a;\n f2 = fz[fi + k2] + a;\n g3 = fz[gi + k2] - b;\n g2 = fz[gi + k2] + b;\n b = s1 * f2 - c1 * g3;\n a = c1 * f2 + s1 * g3;\n fz[fi + k2] = f0 - a;\n fz[fi + 0] = f0 + a;\n fz[gi + k3] = g1 - b;\n fz[gi + k1] = g1 + b;\n b = c1 * g2 - s1 * f3;\n a = s1 * g2 + c1 * f3;\n fz[gi + k2] = g0 - a;\n fz[gi + 0] = g0 + a;\n fz[fi + k3] = f1 - b;\n fz[fi + k1] = f1 + b;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c2 = c1;\n c1 = c2 * costab[tri + 0] - s1 * costab[tri + 1];\n s1 = c2 * costab[tri + 1] + s1 * costab[tri + 0];\n }\n tri += 2;\n } while (k4 < n);\n }\n\n var rv_tbl = [0x00, 0x80, 0x40,\n 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10,\n 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70,\n 0xf0, 0x08, 0x88, 0x48, 0xc8, 0x28,\n 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58,\n 0xd8, 0x38, 0xb8, 0x78, 0xf8, 0x04,\n 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64,\n 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34,\n 0xb4, 0x74, 0xf4, 0x0c, 0x8c, 0x4c,\n 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c,\n 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c,\n 0xfc, 0x02, 0x82, 0x42, 0xc2, 0x22,\n 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52,\n 0xd2, 0x32, 0xb2, 0x72, 0xf2, 0x0a,\n 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a,\n 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a,\n 0xba, 0x7a, 0xfa, 0x06, 0x86, 0x46,\n 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16,\n 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76,\n 0xf6, 0x0e, 0x8e, 0x4e, 0xce, 0x2e,\n 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e,\n 0xde, 0x3e, 0xbe, 0x7e, 0xfe];\n\n this.fft_short = function (gfc, x_real, chn, buffer, bufPos) {\n for (var b = 0; b < 3; b++) {\n var x = Encoder.BLKSIZE_s / 2;\n var k = 0xffff & ((576 / 3) * (b + 1));\n var j = Encoder.BLKSIZE_s / 8 - 1;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[j << 2] & 0xff;\n\n f0 = window_s[i] * buffer[chn][bufPos + i + k];\n w = window_s[0x7f - i] * buffer[chn][bufPos + i + k + 0x80];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x40] * buffer[chn][bufPos + i + k + 0x40];\n w = window_s[0x3f - i] * buffer[chn][bufPos + i + k + 0xc0];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n x_real[b][x + 0] = f0 + f2;\n x_real[b][x + 2] = f0 - f2;\n x_real[b][x + 1] = f1 + f3;\n x_real[b][x + 3] = f1 - f3;\n\n f0 = window_s[i + 0x01] * buffer[chn][bufPos + i + k + 0x01];\n w = window_s[0x7e - i] * buffer[chn][bufPos + i + k + 0x81];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x41] * buffer[chn][bufPos + i + k + 0x41];\n w = window_s[0x3e - i] * buffer[chn][bufPos + i + k + 0xc1];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 0] = f0 + f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 2] = f0 - f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 1] = f1 + f3;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 3] = f1 - f3;\n } while (--j >= 0);\n\n fht(x_real[b], x, Encoder.BLKSIZE_s / 2);\n /* BLKSIZE_s/2 because of 3DNow! ASM routine */\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n }\n\n this.fft_long = function (gfc, y, chn, buffer, bufPos) {\n var jj = Encoder.BLKSIZE / 8 - 1;\n var x = Encoder.BLKSIZE / 2;\n\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[jj] & 0xff;\n f0 = window[i] * buffer[chn][bufPos + i];\n w = window[i + 0x200] * buffer[chn][bufPos + i + 0x200];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x100] * buffer[chn][bufPos + i + 0x100];\n w = window[i + 0x300] * buffer[chn][bufPos + i + 0x300];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n y[x + 0] = f0 + f2;\n y[x + 2] = f0 - f2;\n y[x + 1] = f1 + f3;\n y[x + 3] = f1 - f3;\n\n f0 = window[i + 0x001] * buffer[chn][bufPos + i + 0x001];\n w = window[i + 0x201] * buffer[chn][bufPos + i + 0x201];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x101] * buffer[chn][bufPos + i + 0x101];\n w = window[i + 0x301] * buffer[chn][bufPos + i + 0x301];\n f3 = f2 - w;\n f2 = f2 + w;\n\n y[x + Encoder.BLKSIZE / 2 + 0] = f0 + f2;\n y[x + Encoder.BLKSIZE / 2 + 2] = f0 - f2;\n y[x + Encoder.BLKSIZE / 2 + 1] = f1 + f3;\n y[x + Encoder.BLKSIZE / 2 + 3] = f1 - f3;\n } while (--jj >= 0);\n\n fht(y, x, Encoder.BLKSIZE / 2);\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n\n this.init_fft = function (gfc) {\n /* The type of window used here will make no real difference, but */\n /*\n * in the interest of merging nspsytune stuff - switch to blackman\n * window\n */\n for (var i = 0; i < Encoder.BLKSIZE; i++)\n /* blackman window */\n window[i] = (0.42 - 0.5 * Math.cos(2 * Math.PI * (i + .5)\n / Encoder.BLKSIZE) + 0.08 * Math.cos(4 * Math.PI * (i + .5)\n / Encoder.BLKSIZE));\n\n for (var i = 0; i < Encoder.BLKSIZE_s / 2; i++)\n window_s[i] = (0.5 * (1.0 - Math.cos(2.0 * Math.PI\n * (i + 0.5) / Encoder.BLKSIZE_s)));\n\n }\n\n}\n\nmodule.exports = FFT;\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\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 toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","import Database from './database.js';\n\nfunction noop() { }\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\n\nconst dirty_components = [];\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\nconst outroing = new Set();\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\n// via https://unpkg.com/browse/emojibase-data@6.0.0/meta/groups.json\nconst allGroups = [\n [-1, '✨', 'custom'],\n [0, '😀', 'smileys-emotion'],\n [1, '👋', 'people-body'],\n [3, '🐱', 'animals-nature'],\n [4, '🍎', 'food-drink'],\n [5, '🏠️', 'travel-places'],\n [6, '⚽', 'activities'],\n [7, '📝', 'objects'],\n [8, '⛔️', 'symbols'],\n [9, '🏁', 'flags']\n].map(([id, emoji, name]) => ({ id, emoji, name }));\n\nconst groups = allGroups.slice(1);\nconst customGroup = allGroups[0];\n\nconst MIN_SEARCH_TEXT_LENGTH = 2;\nconst NUM_SKIN_TONES = 6;\n\n/* istanbul ignore next */\nconst rIC = typeof requestIdleCallback === 'function' ? requestIdleCallback : setTimeout;\n\n// check for ZWJ (zero width joiner) character\nfunction hasZwj (emoji) {\n return emoji.unicode.includes('\\u200d')\n}\n\n// Find one good representative emoji from each version to test by checking its color.\n// Ideally it should have color in the center. For some inspiration, see:\n// https://about.gitlab.com/blog/2018/05/30/journey-in-native-unicode-emoji/\n//\n// Note that for certain versions (12.1, 13.1), there is no point in testing them explicitly, because\n// all the emoji from this version are compound-emoji from previous versions. So they would pass a color\n// test, even in browsers that display them as double emoji. (E.g. \"face in clouds\" might render as\n// \"face without mouth\" plus \"fog\".) These emoji can only be filtered using the width test,\n// which happens in checkZwjSupport.js.\nconst versionsAndTestEmoji = {\n '🫠': 14,\n '🥲': 13.1, // smiling face with tear, technically from v13 but see note above\n '🥻': 12.1, // sari, technically from v12 but see note above\n '🥰': 11,\n '🤩': 5,\n '👱‍♀️': 4,\n '🤣': 3,\n '👁️‍🗨️': 2,\n '😀': 1,\n '😐️': 0.7,\n '😃': 0.6\n};\n\nconst TIMEOUT_BEFORE_LOADING_MESSAGE = 1000; // 1 second\nconst DEFAULT_SKIN_TONE_EMOJI = '🖐️';\nconst DEFAULT_NUM_COLUMNS = 8;\n\n// Based on https://fivethirtyeight.com/features/the-100-most-used-emojis/ and\n// https://blog.emojipedia.org/facebook-reveals-most-and-least-used-emojis/ with\n// a bit of my own curation. (E.g. avoid the \"OK\" gesture because of connotations:\n// https://emojipedia.org/ok-hand/)\nconst MOST_COMMONLY_USED_EMOJI = [\n '😊',\n '😒',\n '♥️',\n '👍️',\n '😍',\n '😂',\n '😭',\n '☺️',\n '😔',\n '😩',\n '😏',\n '💕',\n '🙌',\n '😘'\n];\n\n// It's important to list Twemoji Mozilla before everything else, because Mozilla bundles their\n// own font on some platforms (notably Windows and Linux as of this writing). Typically Mozilla\n// updates faster than the underlying OS, and we don't want to render older emoji in one font and\n// newer emoji in another font:\n// https://github.com/nolanlawson/emoji-picker-element/pull/268#issuecomment-1073347283\nconst FONT_FAMILY = '\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",' +\n '\"Noto Color Emoji\",\"EmojiOne Color\",\"Android Emoji\",sans-serif';\n\n/* istanbul ignore next */\nconst DEFAULT_CATEGORY_SORTING = (a, b) => a < b ? -1 : a > b ? 1 : 0;\n\n// Test if an emoji is supported by rendering it to canvas and checking that the color is not black\n\nconst getTextFeature = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = canvas.height = 1;\n\n const ctx = canvas.getContext('2d');\n ctx.textBaseline = 'top';\n ctx.font = `100px ${FONT_FAMILY}`;\n ctx.fillStyle = color;\n ctx.scale(0.01, 0.01);\n ctx.fillText(text, 0, 0);\n\n return ctx.getImageData(0, 0, 1, 1).data\n};\n\nconst compareFeatures = (feature1, feature2) => {\n const feature1Str = [...feature1].join(',');\n const feature2Str = [...feature2].join(',');\n // This is RGBA, so for 0,0,0, we are checking that the first RGB is not all zeroes.\n // Most of the time when unsupported this is 0,0,0,0, but on Chrome on Mac it is\n // 0,0,0,61 - there is a transparency here.\n return feature1Str === feature2Str && !feature1Str.startsWith('0,0,0,')\n};\n\nfunction testColorEmojiSupported (text) {\n // Render white and black and then compare them to each other and ensure they're the same\n // color, and neither one is black. This shows that the emoji was rendered in color.\n const feature1 = getTextFeature(text, '#000');\n const feature2 = getTextFeature(text, '#fff');\n return feature1 && feature2 && compareFeatures(feature1, feature2)\n}\n\n// rather than check every emoji ever, which would be expensive, just check some representatives from the\n\nfunction determineEmojiSupportLevel () {\n const entries = Object.entries(versionsAndTestEmoji);\n try {\n // start with latest emoji and work backwards\n for (const [emoji, version] of entries) {\n if (testColorEmojiSupported(emoji)) {\n return version\n }\n }\n } catch (e) { // canvas error\n } finally {\n }\n // In case of an error, be generous and just assume all emoji are supported (e.g. for canvas errors\n // due to anti-fingerprinting add-ons). Better to show some gray boxes than nothing at all.\n return entries[0][1] // first one in the list is the most recent version\n}\n\n// Check which emojis we know for sure aren't supported, based on Unicode version level\nconst emojiSupportLevelPromise = new Promise(resolve => (\n rIC(() => (\n resolve(determineEmojiSupportLevel()) // delay so ideally this can run while IDB is first populating\n ))\n));\n// determine which emojis containing ZWJ (zero width joiner) characters\n// are supported (rendered as one glyph) rather than unsupported (rendered as two or more glyphs)\nconst supportedZwjEmojis = new Map();\n\nconst VARIATION_SELECTOR = '\\ufe0f';\nconst SKINTONE_MODIFIER = '\\ud83c';\nconst ZWJ = '\\u200d';\nconst LIGHT_SKIN_TONE = 0x1F3FB;\nconst LIGHT_SKIN_TONE_MODIFIER = 0xdffb;\n\n// TODO: this is a naive implementation, we can improve it later\n// It's only used for the skintone picker, so as long as people don't customize with\n// really exotic emoji then it should work fine\nfunction applySkinTone (str, skinTone) {\n if (skinTone === 0) {\n return str\n }\n const zwjIndex = str.indexOf(ZWJ);\n if (zwjIndex !== -1) {\n return str.substring(0, zwjIndex) +\n String.fromCodePoint(LIGHT_SKIN_TONE + skinTone - 1) +\n str.substring(zwjIndex)\n }\n if (str.endsWith(VARIATION_SELECTOR)) {\n str = str.substring(0, str.length - 1);\n }\n return str + SKINTONE_MODIFIER + String.fromCodePoint(LIGHT_SKIN_TONE_MODIFIER + skinTone - 1)\n}\n\nfunction halt (event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\n// Implementation left/right or up/down navigation, circling back when you\n// reach the start/end of the list\nfunction incrementOrDecrement (decrement, val, arr) {\n val += (decrement ? -1 : 1);\n if (val < 0) {\n val = arr.length - 1;\n } else if (val >= arr.length) {\n val = 0;\n }\n return val\n}\n\n// like lodash's uniqBy but much smaller\nfunction uniqBy (arr, func) {\n const set = new Set();\n const res = [];\n for (const item of arr) {\n const key = func(item);\n if (!set.has(key)) {\n set.add(key);\n res.push(item);\n }\n }\n return res\n}\n\n// We don't need all the data on every emoji, and there are specific things we need\n// for the UI, so build a \"view model\" from the emoji object we got from the database\n\nfunction summarizeEmojisForUI (emojis, emojiSupportLevel) {\n const toSimpleSkinsMap = skins => {\n const res = {};\n for (const skin of skins) {\n // ignore arrays like [1, 2] with multiple skin tones\n // also ignore variants that are in an unsupported emoji version\n // (these do exist - variants from a different version than their base emoji)\n if (typeof skin.tone === 'number' && skin.version <= emojiSupportLevel) {\n res[skin.tone] = skin.unicode;\n }\n }\n return res\n };\n\n return emojis.map(({ unicode, skins, shortcodes, url, name, category }) => ({\n unicode,\n name,\n shortcodes,\n url,\n category,\n id: unicode || name,\n skins: skins && toSimpleSkinsMap(skins),\n title: (shortcodes || []).join(', ')\n }))\n}\n\n// import rAF from one place so that the bundle size is a bit smaller\nconst rAF = requestAnimationFrame;\n\n// Svelte action to calculate the width of an element and auto-update\n\nlet resizeObserverSupported = typeof ResizeObserver === 'function';\n\nfunction calculateWidth (node, onUpdate) {\n let resizeObserver;\n if (resizeObserverSupported) {\n resizeObserver = new ResizeObserver(entries => (\n onUpdate(entries[0].contentRect.width)\n ));\n resizeObserver.observe(node);\n } else { // just set the width once, don't bother trying to track it\n rAF(() => (\n onUpdate(node.getBoundingClientRect().width)\n ));\n }\n\n // cleanup function (called on destroy)\n return {\n destroy () {\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n }\n }\n}\n\n// get the width of the text inside of a DOM node, via https://stackoverflow.com/a/59525891/680742\nfunction calculateTextWidth (node) {\n /* istanbul ignore else */\n {\n const range = document.createRange();\n range.selectNode(node.firstChild);\n return range.getBoundingClientRect().width\n }\n}\n\nlet baselineEmojiWidth;\n\nfunction checkZwjSupport (zwjEmojisToCheck, baselineEmoji, emojiToDomNode) {\n for (const emoji of zwjEmojisToCheck) {\n const domNode = emojiToDomNode(emoji);\n const emojiWidth = calculateTextWidth(domNode);\n if (typeof baselineEmojiWidth === 'undefined') { // calculate the baseline emoji width only once\n baselineEmojiWidth = calculateTextWidth(baselineEmoji);\n }\n // On Windows, some supported emoji are ~50% bigger than the baseline emoji, but what we really want to guard\n // against are the ones that are 2x the size, because those are truly broken (person with red hair = person with\n // floating red wig, black cat = cat with black square, polar bear = bear with snowflake, etc.)\n // So here we set the threshold at 1.8 times the size of the baseline emoji.\n const supported = emojiWidth / 1.8 < baselineEmojiWidth;\n supportedZwjEmojis.set(emoji.unicode, supported);\n }\n}\n\n// Measure after style/layout are complete\n\nconst requestPostAnimationFrame = callback => {\n rAF(() => {\n setTimeout(callback);\n });\n};\n\n// like lodash's uniq\n\nfunction uniq (arr) {\n return uniqBy(arr, _ => _)\n}\n\n/* src/picker/components/Picker/Picker.svelte generated by Svelte v3.46.4 */\n\nconst { Map: Map_1 } = globals;\n\nfunction get_each_context(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_1(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[66] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_2(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_3(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[69] = list[i];\n\treturn child_ctx;\n}\n\nfunction get_each_context_4(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[72] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\n// (43:38) {#each skinTones as skinTone, i (skinTone)}\nfunction create_each_block_4(key_1, ctx) {\n\tlet div;\n\tlet t_value = /*skinTone*/ ctx[72] + \"\";\n\tlet t;\n\tlet div_id_value;\n\tlet div_class_value;\n\tlet div_aria_selected_value;\n\tlet div_title_value;\n\tlet div_aria_label_value;\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"id\", div_id_value = \"skintone-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div, \"class\", div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(div, \"aria-selected\", div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div, \"role\", \"option\");\n\t\t\tattr(div, \"title\", div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tattr(div, \"tabindex\", \"-1\");\n\t\t\tattr(div, \"aria-label\", div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tthis.first = div;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tappend(div, t);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && t_value !== (t_value = /*skinTone*/ ctx[72] + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && div_id_value !== (div_id_value = \"skintone-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div, \"id\", div_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_class_value !== (div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(div, \"class\", div_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_aria_selected_value !== (div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div, \"aria-selected\", div_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_title_value !== (div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"title\", div_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_aria_label_value !== (div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"aria-label\", div_aria_label_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t}\n\t};\n}\n\n// (53:33) {#each groups as group (group.id)}\nfunction create_each_block_3(key_1, ctx) {\n\tlet button;\n\tlet div;\n\tlet t_value = /*group*/ ctx[69].emoji + \"\";\n\tlet t;\n\tlet button_aria_controls_value;\n\tlet button_aria_label_value;\n\tlet button_aria_selected_value;\n\tlet button_title_value;\n\tlet mounted;\n\tlet dispose;\n\n\tfunction click_handler() {\n\t\treturn /*click_handler*/ ctx[49](/*group*/ ctx[69]);\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"class\", \"nav-emoji emoji\");\n\t\t\tattr(button, \"role\", \"tab\");\n\t\t\tattr(button, \"class\", \"nav-button\");\n\t\t\tattr(button, \"aria-controls\", button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id);\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id);\n\t\t\tattr(button, \"title\", button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tappend(button, div);\n\t\t\tappend(div, t);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = listen(button, \"click\", click_handler);\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*groups*/ 4096 && t_value !== (t_value = /*group*/ ctx[69].emoji + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*groups*/ 4096 && button_aria_controls_value !== (button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-controls\", button_aria_controls_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_aria_label_value !== (button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup, groups*/ 12304 && button_aria_selected_value !== (button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_title_value !== (button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tmounted = false;\n\t\t\tdispose();\n\t\t}\n\t};\n}\n\n// (93:100) {:else}\nfunction create_else_block_1(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (93:40) {#if emoji.unicode}\nfunction create_if_block_1(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (88:53) {#each emojiWithCategory.emojis as emoji, i (emoji.id)}\nfunction create_each_block_2(key_1, ctx) {\n\tlet button;\n\tlet button_role_value;\n\tlet button_aria_selected_value;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_class_value;\n\tlet button_id_value;\n\n\tfunction select_block_type(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block_1;\n\t\treturn create_else_block_1;\n\t}\n\n\tlet current_block_type = select_block_type(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem');\n\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '');\n\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\n\t\t\tattr(button, \"class\", button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(button, \"id\", button_id_value = \"emo-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && button_role_value !== (button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem')) {\n\t\t\t\tattr(button, \"role\", button_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_aria_selected_value !== (button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '')) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_class_value !== (button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(button, \"class\", button_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_id_value !== (button_id_value = \"emo-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\n// (69:36) {#each currentEmojisWithCategories as emojiWithCategory, i (emojiWithCategory.category)}\nfunction create_each_block_1(key_1, ctx) {\n\tlet div0;\n\n\tlet t_value = (/*searchMode*/ ctx[4]\n\t? /*i18n*/ ctx[0].searchResultsLabel\n\t: /*emojiWithCategory*/ ctx[66].category\n\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\";\n\n\tlet t;\n\tlet div0_id_value;\n\tlet div0_class_value;\n\tlet div1;\n\tlet each_blocks = [];\n\tlet each_1_lookup = new Map_1();\n\tlet div1_role_value;\n\tlet div1_aria_labelledby_value;\n\tlet div1_id_value;\n\tlet each_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\tconst get_key = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value_2.length; i += 1) {\n\t\tlet child_ctx = get_each_context_2(ctx, each_value_2, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach_1_lookup.set(key, each_blocks[i] = create_each_block_2(key, child_ctx));\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv0 = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tdiv1 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tattr(div0, \"id\", div0_id_value = \"menu-label-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div0, \"class\", div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div0, \"aria-hidden\", \"true\");\n\t\t\tattr(div1, \"class\", \"emoji-menu\");\n\t\t\tattr(div1, \"role\", div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu');\n\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65]);\n\t\t\tattr(div1, \"id\", div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '');\n\t\t\tthis.first = div0;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div0, anchor);\n\t\t\tappend(div0, t);\n\t\t\tinsert(target, div1, anchor);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div1, null);\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentEmojisWithCategories, currentGroup*/ 40977 && t_value !== (t_value = (/*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_id_value !== (div0_id_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div0, \"id\", div0_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_class_value !== (div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div0, \"class\", div0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin*/ 402686256) {\n\t\t\t\teach_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value_2, each_1_lookup, div1, destroy_block, create_each_block_2, null, get_each_context_2);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_role_value !== (div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu')) {\n\t\t\t\tattr(div1, \"role\", div1_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div1_aria_labelledby_value !== (div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_id_value !== (div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '')) {\n\t\t\t\tattr(div1, \"id\", div1_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div0);\n\t\t\tif (detaching) detach(div1);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\t\t}\n\t};\n}\n\n// (102:94) {:else}\nfunction create_else_block(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (102:34) {#if emoji.unicode}\nfunction create_if_block(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (98:102) {#each currentFavorites as emoji, i (emoji.id)}\nfunction create_each_block(key_1, ctx) {\n\tlet button;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_id_value;\n\n\tfunction select_block_type_1(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block;\n\t\treturn create_else_block;\n\t}\n\n\tlet current_block_type = select_block_type_1(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", \"menuitem\");\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\t\t\tattr(button, \"class\", \"emoji\");\n\t\t\tattr(button, \"id\", button_id_value = \"fav-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type_1(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_id_value !== (button_id_value = \"fav-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\nfunction create_fragment(ctx) {\n\tlet section;\n\tlet div0;\n\tlet div4;\n\tlet div1;\n\tlet input;\n\tlet input_placeholder_value;\n\tlet input_aria_expanded_value;\n\tlet input_aria_activedescendant_value;\n\tlet label;\n\tlet t0_value = /*i18n*/ ctx[0].searchLabel + \"\";\n\tlet t0;\n\tlet span0;\n\tlet t1_value = /*i18n*/ ctx[0].searchDescription + \"\";\n\tlet t1;\n\tlet div2;\n\tlet button0;\n\tlet t2;\n\tlet button0_class_value;\n\tlet div2_class_value;\n\tlet span1;\n\tlet t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\";\n\tlet t3;\n\tlet div3;\n\tlet each_blocks_3 = [];\n\tlet each0_lookup = new Map_1();\n\tlet div3_class_value;\n\tlet div3_aria_label_value;\n\tlet div3_aria_activedescendant_value;\n\tlet div3_aria_hidden_value;\n\tlet div5;\n\tlet each_blocks_2 = [];\n\tlet each1_lookup = new Map_1();\n\tlet div5_aria_label_value;\n\tlet div7;\n\tlet div6;\n\tlet div8;\n\tlet t4;\n\tlet div8_class_value;\n\tlet div10;\n\tlet div9;\n\tlet each_blocks_1 = [];\n\tlet each2_lookup = new Map_1();\n\tlet div10_class_value;\n\tlet div10_role_value;\n\tlet div10_aria_label_value;\n\tlet div10_id_value;\n\tlet div11;\n\tlet each_blocks = [];\n\tlet each3_lookup = new Map_1();\n\tlet div11_class_value;\n\tlet div11_aria_label_value;\n\tlet button1;\n\tlet section_aria_label_value;\n\tlet mounted;\n\tlet dispose;\n\tlet each_value_4 = /*skinTones*/ ctx[9];\n\tconst get_key = ctx => /*skinTone*/ ctx[72];\n\n\tfor (let i = 0; i < each_value_4.length; i += 1) {\n\t\tlet child_ctx = get_each_context_4(ctx, each_value_4, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach0_lookup.set(key, each_blocks_3[i] = create_each_block_4(key, child_ctx));\n\t}\n\n\tlet each_value_3 = /*groups*/ ctx[12];\n\tconst get_key_1 = ctx => /*group*/ ctx[69].id;\n\n\tfor (let i = 0; i < each_value_3.length; i += 1) {\n\t\tlet child_ctx = get_each_context_3(ctx, each_value_3, i);\n\t\tlet key = get_key_1(child_ctx);\n\t\teach1_lookup.set(key, each_blocks_2[i] = create_each_block_3(key, child_ctx));\n\t}\n\n\tlet each_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\tconst get_key_2 = ctx => /*emojiWithCategory*/ ctx[66].category;\n\n\tfor (let i = 0; i < each_value_1.length; i += 1) {\n\t\tlet child_ctx = get_each_context_1(ctx, each_value_1, i);\n\t\tlet key = get_key_2(child_ctx);\n\t\teach2_lookup.set(key, each_blocks_1[i] = create_each_block_1(key, child_ctx));\n\t}\n\n\tlet each_value = /*currentFavorites*/ ctx[10];\n\tconst get_key_3 = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value.length; i += 1) {\n\t\tlet child_ctx = get_each_context(ctx, each_value, i);\n\t\tlet key = get_key_3(child_ctx);\n\t\teach3_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));\n\t}\n\n\treturn {\n\t\tc() {\n\t\t\tsection = element(\"section\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tdiv4 = element(\"div\");\n\t\t\tdiv1 = element(\"div\");\n\t\t\tinput = element(\"input\");\n\t\t\tlabel = element(\"label\");\n\t\t\tt0 = text(t0_value);\n\t\t\tspan0 = element(\"span\");\n\t\t\tt1 = text(t1_value);\n\t\t\tdiv2 = element(\"div\");\n\t\t\tbutton0 = element(\"button\");\n\t\t\tt2 = text(/*skinToneButtonText*/ ctx[21]);\n\t\t\tspan1 = element(\"span\");\n\t\t\tt3 = text(t3_value);\n\t\t\tdiv3 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].c();\n\t\t\t}\n\n\t\t\tdiv5 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].c();\n\t\t\t}\n\n\t\t\tdiv7 = element(\"div\");\n\t\t\tdiv6 = element(\"div\");\n\t\t\tdiv8 = element(\"div\");\n\t\t\tt4 = text(/*message*/ ctx[18]);\n\t\t\tdiv10 = element(\"div\");\n\t\t\tdiv9 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].c();\n\t\t\t}\n\n\t\t\tdiv11 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tbutton1 = element(\"button\");\n\t\t\tbutton1.textContent = \"😀\";\n\t\t\tattr(div0, \"class\", \"pad-top\");\n\t\t\tattr(input, \"id\", \"search\");\n\t\t\tattr(input, \"class\", \"search\");\n\t\t\tattr(input, \"type\", \"search\");\n\t\t\tattr(input, \"role\", \"combobox\");\n\t\t\tattr(input, \"enterkeyhint\", \"search\");\n\t\t\tattr(input, \"placeholder\", input_placeholder_value = /*i18n*/ ctx[0].searchLabel);\n\t\t\tattr(input, \"autocapitalize\", \"none\");\n\t\t\tattr(input, \"autocomplete\", \"off\");\n\t\t\tattr(input, \"spellcheck\", \"true\");\n\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length));\n\t\t\tattr(input, \"aria-controls\", \"search-results\");\n\t\t\tattr(input, \"aria-describedby\", \"search-description\");\n\t\t\tattr(input, \"aria-autocomplete\", \"list\");\n\n\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '');\n\n\t\t\tattr(label, \"class\", \"sr-only\");\n\t\t\tattr(label, \"for\", \"search\");\n\t\t\tattr(span0, \"id\", \"search-description\");\n\t\t\tattr(span0, \"class\", \"sr-only\");\n\t\t\tattr(div1, \"class\", \"search-wrapper\");\n\t\t\tattr(button0, \"id\", \"skintone-button\");\n\t\t\tattr(button0, \"class\", button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''));\n\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"aria-describedby\", \"skintone-description\");\n\t\t\tattr(button0, \"aria-haspopup\", \"listbox\");\n\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(button0, \"aria-controls\", \"skintone-list\");\n\n\t\t\tattr(div2, \"class\", div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''));\n\n\t\t\tattr(span1, \"id\", \"skintone-description\");\n\t\t\tattr(span1, \"class\", \"sr-only\");\n\t\t\tattr(div3, \"id\", \"skintone-list\");\n\n\t\t\tattr(div3, \"class\", div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'));\n\n\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? 0\n\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\n\t\t\tattr(div3, \"role\", \"listbox\");\n\t\t\tattr(div3, \"aria-label\", div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel);\n\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(div4, \"class\", \"search-row\");\n\t\t\tattr(div5, \"class\", \"nav\");\n\t\t\tattr(div5, \"role\", \"tablist\");\n\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\tattr(div5, \"aria-label\", div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel);\n\t\t\tattr(div6, \"class\", \"indicator\");\n\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\tattr(div7, \"class\", \"indicator-wrapper\");\n\t\t\tattr(div8, \"class\", div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'));\n\t\t\tattr(div8, \"role\", \"alert\");\n\t\t\tattr(div8, \"aria-live\", \"polite\");\n\n\t\t\tattr(div10, \"class\", div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div10, \"role\", div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel');\n\n\t\t\tattr(div10, \"aria-label\", div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]);\n\n\t\t\tattr(div10, \"id\", div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`);\n\n\t\t\tattr(div10, \"tabindex\", \"0\");\n\t\t\tattr(div11, \"class\", div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''));\n\t\t\tattr(div11, \"role\", \"menu\");\n\t\t\tattr(div11, \"aria-label\", div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel);\n\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\tattr(button1, \"aria-hidden\", \"true\");\n\t\t\tattr(button1, \"tabindex\", \"-1\");\n\t\t\tattr(button1, \"class\", \"abs-pos hidden emoji\");\n\t\t\tattr(section, \"class\", \"picker\");\n\t\t\tattr(section, \"aria-label\", section_aria_label_value = /*i18n*/ ctx[0].regionLabel);\n\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, section, anchor);\n\t\t\tappend(section, div0);\n\t\t\tappend(section, div4);\n\t\t\tappend(div4, div1);\n\t\t\tappend(div1, input);\n\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\tappend(div1, label);\n\t\t\tappend(label, t0);\n\t\t\tappend(div1, span0);\n\t\t\tappend(span0, t1);\n\t\t\tappend(div4, div2);\n\t\t\tappend(div2, button0);\n\t\t\tappend(button0, t2);\n\t\t\tappend(div4, span1);\n\t\t\tappend(span1, t3);\n\t\t\tappend(div4, div3);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].m(div3, null);\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](div3);\n\t\t\tappend(section, div5);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].m(div5, null);\n\t\t\t}\n\n\t\t\tappend(section, div7);\n\t\t\tappend(div7, div6);\n\t\t\tappend(section, div8);\n\t\t\tappend(div8, t4);\n\t\t\tappend(section, div10);\n\t\t\tappend(div10, div9);\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].m(div9, null);\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](div10);\n\t\t\tappend(section, div11);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div11, null);\n\t\t\t}\n\n\t\t\tappend(section, button1);\n\t\t\t/*button1_binding*/ ctx[51](button1);\n\t\t\t/*section_binding*/ ctx[52](section);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(input, \"input\", /*input_input_handler*/ ctx[47]),\n\t\t\t\t\tlisten(input, \"keydown\", /*onSearchKeydown*/ ctx[30]),\n\t\t\t\t\tlisten(button0, \"click\", /*onClickSkinToneButton*/ ctx[35]),\n\t\t\t\t\tlisten(div3, \"focusout\", /*onSkinToneOptionsFocusOut*/ ctx[38]),\n\t\t\t\t\tlisten(div3, \"click\", /*onSkinToneOptionsClick*/ ctx[34]),\n\t\t\t\t\tlisten(div3, \"keydown\", /*onSkinToneOptionsKeydown*/ ctx[36]),\n\t\t\t\t\tlisten(div3, \"keyup\", /*onSkinToneOptionsKeyup*/ ctx[37]),\n\t\t\t\t\tlisten(div5, \"keydown\", /*onNavKeydown*/ ctx[32]),\n\t\t\t\t\taction_destroyer(/*calculateEmojiGridStyle*/ ctx[29].call(null, div9)),\n\t\t\t\t\tlisten(div10, \"click\", /*onEmojiClick*/ ctx[33]),\n\t\t\t\t\tlisten(div11, \"click\", /*onEmojiClick*/ ctx[33])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*i18n*/ 1 && input_placeholder_value !== (input_placeholder_value = /*i18n*/ ctx[0].searchLabel)) {\n\t\t\t\tattr(input, \"placeholder\", input_placeholder_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojis*/ 18 && input_aria_expanded_value !== (input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length))) {\n\t\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSearchItemId*/ 67108864 && input_aria_activedescendant_value !== (input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '')) {\n\t\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t0_value !== (t0_value = /*i18n*/ ctx[0].searchLabel + \"\")) set_data(t0, t0_value);\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t1_value !== (t1_value = /*i18n*/ ctx[0].searchDescription + \"\")) set_data(t1, t1_value);\n\t\t\tif (dirty[0] & /*skinToneButtonText*/ 2097152) set_data(t2, /*skinToneButtonText*/ ctx[21]);\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && button0_class_value !== (button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''))) {\n\t\t\t\tattr(button0, \"class\", button0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpandedAfterAnimation*/ 524288 && div2_class_value !== (div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''))) {\n\t\t\t\tattr(div2, \"class\", div2_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t3_value !== (t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\")) set_data(t3, t3_value);\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone, i18n*/ 1049089) {\n\t\t\t\teach_value_4 = /*skinTones*/ ctx[9];\n\t\t\t\teach_blocks_3 = update_keyed_each(each_blocks_3, dirty, get_key, 1, ctx, each_value_4, each0_lookup, div3, destroy_block, create_each_block_4, null, get_each_context_4);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_class_value !== (div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'))) {\n\t\t\t\tattr(div3, \"class\", div3_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t\t? 0\n\t\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div3_aria_label_value !== (div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel)) {\n\t\t\t\tattr(div3, \"aria-label\", div3_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSkinTone*/ 1048576 && div3_aria_activedescendant_value !== (div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_aria_hidden_value !== (div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6])) {\n\t\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups, i18n, searchMode, currentGroup*/ 12305 | dirty[1] & /*onNavClick*/ 1) {\n\t\t\t\teach_value_3 = /*groups*/ ctx[12];\n\t\t\t\teach_blocks_2 = update_keyed_each(each_blocks_2, dirty, get_key_1, 1, ctx, each_value_3, each1_lookup, div5, destroy_block, create_each_block_3, null, get_each_context_3);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups*/ 4096) {\n\t\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div5_aria_label_value !== (div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel)) {\n\t\t\t\tattr(div5, \"aria-label\", div5_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*isRtl, currentGroupIndex*/ 16779264) {\n\t\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144) set_data(t4, /*message*/ ctx[18]);\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div8_class_value !== (div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'))) {\n\t\t\t\tattr(div8, \"class\", div8_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin, i18n, currentGroup*/ 402694449) {\n\t\t\t\teach_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\t\t\t\teach_blocks_1 = update_keyed_each(each_blocks_1, dirty, get_key_2, 1, ctx, each_value_1, each2_lookup, div9, destroy_block, create_each_block_1, null, get_each_context_1);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*databaseLoaded, message*/ 278528 && div10_class_value !== (div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div10, \"class\", div10_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div10_role_value !== (div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel')) {\n\t\t\t\tattr(div10, \"role\", div10_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentGroup*/ 8209 && div10_aria_label_value !== (div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name])) {\n\t\t\t\tattr(div10, \"aria-label\", div10_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup*/ 8208 && div10_id_value !== (div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`)) {\n\t\t\t\tattr(div10, \"id\", div10_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*labelWithSkin, currentFavorites, currentSkinTone, unicodeWithSkin*/ 402654464) {\n\t\t\t\teach_value = /*currentFavorites*/ ctx[10];\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key_3, 1, ctx, each_value, each3_lookup, div11, destroy_block, create_each_block, null, get_each_context);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div11_class_value !== (div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''))) {\n\t\t\t\tattr(div11, \"class\", div11_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div11_aria_label_value !== (div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel)) {\n\t\t\t\tattr(div11, \"aria-label\", div11_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*scrollbarWidth*/ 33554432) {\n\t\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && section_aria_label_value !== (section_aria_label_value = /*i18n*/ ctx[0].regionLabel)) {\n\t\t\t\tattr(section, \"aria-label\", section_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*pickerStyle*/ 4194304) {\n\t\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t\t}\n\t\t},\n\t\ti: noop,\n\t\to: noop,\n\t\td(detaching) {\n\t\t\tif (detaching) detach(section);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].d();\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](null);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].d();\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].d();\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](null);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\n\t\t\t/*button1_binding*/ ctx[51](null);\n\t\t\t/*section_binding*/ ctx[52](null);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance($$self, $$props, $$invalidate) {\n\tlet { skinToneEmoji } = $$props;\n\tlet { i18n } = $$props;\n\tlet { database } = $$props;\n\tlet { customEmoji } = $$props;\n\tlet { customCategorySorting } = $$props;\n\n\t// private\n\tlet initialLoad = true;\n\n\tlet currentEmojis = [];\n\tlet currentEmojisWithCategories = []; // eslint-disable-line no-unused-vars\n\tlet rawSearchText = '';\n\tlet searchText = '';\n\tlet rootElement;\n\tlet baselineEmoji;\n\tlet tabpanelElement;\n\tlet searchMode = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItem = -1;\n\tlet message; // eslint-disable-line no-unused-vars\n\tlet skinTonePickerExpanded = false;\n\tlet skinTonePickerExpandedAfterAnimation = false; // eslint-disable-line no-unused-vars\n\tlet skinToneDropdown;\n\tlet currentSkinTone = 0;\n\tlet activeSkinTone = 0;\n\tlet skinToneButtonText; // eslint-disable-line no-unused-vars\n\tlet pickerStyle; // eslint-disable-line no-unused-vars\n\tlet skinToneButtonLabel = ''; // eslint-disable-line no-unused-vars\n\tlet skinTones = [];\n\tlet currentFavorites = []; // eslint-disable-line no-unused-vars\n\tlet defaultFavoriteEmojis;\n\tlet numColumns = DEFAULT_NUM_COLUMNS;\n\tlet isRtl = false;\n\tlet scrollbarWidth = 0; // eslint-disable-line no-unused-vars\n\tlet currentGroupIndex = 0;\n\tlet groups$1 = groups;\n\tlet currentGroup;\n\tlet databaseLoaded = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItemId; // eslint-disable-line no-unused-vars\n\n\t//\n\t// Utils/helpers\n\t//\n\tconst focus = id => {\n\t\trootElement.getRootNode().getElementById(id).focus();\n\t};\n\n\t// fire a custom event that crosses the shadow boundary\n\tconst fireEvent = (name, detail) => {\n\t\trootElement.dispatchEvent(new CustomEvent(name, { detail, bubbles: true, composed: true }));\n\t};\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst unicodeWithSkin = (emoji, currentSkinTone) => currentSkinTone && emoji.skins && emoji.skins[currentSkinTone] || emoji.unicode;\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst labelWithSkin = (emoji, currentSkinTone) => uniq([\n\t\temoji.name || unicodeWithSkin(emoji, currentSkinTone),\n\t\t...emoji.shortcodes || []\n\t]).join(', ');\n\n\t// Detect a skintone option button\n\tconst isSkinToneOption = element => (/^skintone-/).test(element.id);\n\n\t//\n\t// Determine the emoji support level (in requestIdleCallback)\n\t//\n\temojiSupportLevelPromise.then(level => {\n\t\t// Can't actually test emoji support in Jest/JSDom, emoji never render in color in Cairo\n\t\t/* istanbul ignore next */\n\t\tif (!level) {\n\t\t\t$$invalidate(18, message = i18n.emojiUnsupportedMessage);\n\t\t}\n\t});\n\n\t//\n\t// Calculate the width of the emoji grid. This serves two purposes:\n\t// 1) Re-calculate the --num-columns var because it may have changed\n\t// 2) Re-calculate the scrollbar width because it may have changed\n\t// (i.e. because the number of items changed)\n\t// 3) Re-calculate whether we're in RTL mode or not.\n\t//\n\t// The benefit of doing this in one place is to align with rAF/ResizeObserver\n\t// and do all the calculations in one go. RTL vs LTR is not strictly width-related,\n\t// but since we're already reading the style here, and since it's already aligned with\n\t// the rAF loop, this is the most appropriate place to do it perf-wise.\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction calculateEmojiGridStyle(node) {\n\t\treturn calculateWidth(node, width => {\n\t\t\t/* istanbul ignore next */\n\t\t\tif (\"production\" !== 'test') {\n\t\t\t\t// jsdom throws errors for this kind of fancy stuff\n\t\t\t\t// read all the style/layout calculations we need to make\n\t\t\t\tconst style = getComputedStyle(rootElement);\n\n\t\t\t\tconst newNumColumns = parseInt(style.getPropertyValue('--num-columns'), 10);\n\t\t\t\tconst newIsRtl = style.getPropertyValue('direction') === 'rtl';\n\t\t\t\tconst parentWidth = node.parentElement.getBoundingClientRect().width;\n\t\t\t\tconst newScrollbarWidth = parentWidth - width;\n\n\t\t\t\t// write to Svelte variables\n\t\t\t\t$$invalidate(46, numColumns = newNumColumns);\n\n\t\t\t\t$$invalidate(25, scrollbarWidth = newScrollbarWidth); // eslint-disable-line no-unused-vars\n\t\t\t\t$$invalidate(24, isRtl = newIsRtl); // eslint-disable-line no-unused-vars\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction checkZwjSupportAndUpdate(zwjEmojisToCheck) {\n\t\tconst rootNode = rootElement.getRootNode();\n\t\tconst emojiToDomNode = emoji => rootNode.getElementById(`emo-${emoji.id}`);\n\t\tcheckZwjSupport(zwjEmojisToCheck, baselineEmoji, emojiToDomNode);\n\n\t\t// force update\n\t\t$$invalidate(1, currentEmojis = currentEmojis); // eslint-disable-line no-self-assign\n\t}\n\n\tfunction isZwjSupported(emoji) {\n\t\treturn !emoji.unicode || !hasZwj(emoji) || supportedZwjEmojis.get(emoji.unicode);\n\t}\n\n\tasync function filterEmojisByVersion(emojis) {\n\t\tconst emojiSupportLevel = await emojiSupportLevelPromise;\n\n\t\t// !version corresponds to custom emoji\n\t\treturn emojis.filter(({ version }) => !version || version <= emojiSupportLevel);\n\t}\n\n\tasync function summarizeEmojis(emojis) {\n\t\treturn summarizeEmojisForUI(emojis, await emojiSupportLevelPromise);\n\t}\n\n\tasync function getEmojisByGroup(group) {\n\n\t\tif (typeof group === 'undefined') {\n\t\t\treturn [];\n\t\t}\n\n\t\t// -1 is custom emoji\n\t\tconst emoji = group === -1\n\t\t? customEmoji\n\t\t: await database.getEmojiByGroup(group);\n\n\t\treturn summarizeEmojis(await filterEmojisByVersion(emoji));\n\t}\n\n\tasync function getEmojisBySearchQuery(query) {\n\t\treturn summarizeEmojis(await filterEmojisByVersion(await database.getEmojiBySearchQuery(query)));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSearchKeydown(event) {\n\t\tif (!searchMode || !currentEmojis.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst goToNextOrPrevious = previous => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(5, activeSearchItem = incrementOrDecrement(previous, activeSearchItem, currentEmojis));\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn goToNextOrPrevious(false);\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn goToNextOrPrevious(true);\n\t\t\tcase 'Enter':\n\t\t\t\tif (activeSearchItem !== -1) {\n\t\t\t\t\thalt(event);\n\t\t\t\t\treturn clickEmoji(currentEmojis[activeSearchItem].id);\n\t\t\t\t} else if (currentEmojis.length) {\n\t\t\t\t\t$$invalidate(5, activeSearchItem = 0);\n\t\t\t\t}\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on nav\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavClick(group) {\n\t\t$$invalidate(2, rawSearchText = '');\n\t\t$$invalidate(44, searchText = '');\n\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t$$invalidate(11, currentGroupIndex = groups$1.findIndex(_ => _.id === group.id));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavKeydown(event) {\n\t\tconst { target, key } = event;\n\n\t\tconst doFocus = el => {\n\t\t\tif (el) {\n\t\t\t\thalt(event);\n\t\t\t\tel.focus();\n\t\t\t}\n\t\t};\n\n\t\tswitch (key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\treturn doFocus(target.previousSibling);\n\t\t\tcase 'ArrowRight':\n\t\t\t\treturn doFocus(target.nextSibling);\n\t\t\tcase 'Home':\n\t\t\t\treturn doFocus(target.parentElement.firstChild);\n\t\t\tcase 'End':\n\t\t\t\treturn doFocus(target.parentElement.lastChild);\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on an emoji\n\t//\n\tasync function clickEmoji(unicodeOrName) {\n\t\tconst emoji = await database.getEmojiByUnicodeOrName(unicodeOrName);\n\t\tconst emojiSummary = [...currentEmojis, ...currentFavorites].find(_ => _.id === unicodeOrName);\n\t\tconst skinTonedUnicode = emojiSummary.unicode && unicodeWithSkin(emojiSummary, currentSkinTone);\n\t\tawait database.incrementFavoriteEmojiCount(unicodeOrName);\n\n\t\tfireEvent('emoji-click', {\n\t\t\temoji,\n\t\t\tskinTone: currentSkinTone,\n\t\t\t...skinTonedUnicode && { unicode: skinTonedUnicode },\n\t\t\t...emojiSummary.name && { name: emojiSummary.name }\n\t\t});\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onEmojiClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!target.classList.contains('emoji')) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst id = target.id.substring(4); // replace 'emo-' or 'fav-' prefix\n\n\t\t/* no await */\n\t\tclickEmoji(id);\n\t}\n\n\t//\n\t// Handle user input on the skintone picker\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!isSkinToneOption(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst skinTone = parseInt(target.id.slice(9), 10); // remove 'skintone-' prefix\n\t\t$$invalidate(8, currentSkinTone = skinTone);\n\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\tfocus('skintone-button');\n\t\tfireEvent('skin-tone-change', { skinTone });\n\n\t\t/* no await */\n\t\tdatabase.setPreferredSkinTone(skinTone);\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onClickSkinToneButton(event) {\n\t\t$$invalidate(6, skinTonePickerExpanded = !skinTonePickerExpanded);\n\t\t$$invalidate(20, activeSkinTone = currentSkinTone);\n\n\t\tif (skinTonePickerExpanded) {\n\t\t\thalt(event);\n\t\t\trAF(() => focus(`skintone-${activeSkinTone}`));\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeydown(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst changeActiveSkinTone = async nextSkinTone => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(20, activeSkinTone = nextSkinTone);\n\t\t\tawait tick();\n\t\t\tfocus(`skintone-${activeSkinTone}`);\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(true, activeSkinTone, skinTones));\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(false, activeSkinTone, skinTones));\n\t\t\tcase 'Home':\n\t\t\t\treturn changeActiveSkinTone(0);\n\t\t\tcase 'End':\n\t\t\t\treturn changeActiveSkinTone(skinTones.length - 1);\n\t\t\tcase 'Enter':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t\tcase 'Escape':\n\t\t\t\thalt(event);\n\t\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t\t\treturn focus('skintone-button');\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeyup(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase ' ':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsFocusOut(event) {\n\t\t// On blur outside of the skintone options, collapse the skintone picker.\n\t\t// Except if focus is just moving to another skintone option, e.g. pressing up/down to change focus\n\t\tconst { relatedTarget } = event;\n\n\t\tif (!relatedTarget || !isSkinToneOption(relatedTarget)) {\n\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t}\n\t}\n\n\tfunction input_input_handler() {\n\t\trawSearchText = this.value;\n\t\t$$invalidate(2, rawSearchText);\n\t}\n\n\tfunction div3_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tskinToneDropdown = $$value;\n\t\t\t$$invalidate(7, skinToneDropdown);\n\t\t});\n\t}\n\n\tconst click_handler = group => onNavClick(group);\n\n\tfunction div10_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\ttabpanelElement = $$value;\n\t\t\t$$invalidate(3, tabpanelElement);\n\t\t});\n\t}\n\n\tfunction button1_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tbaselineEmoji = $$value;\n\t\t\t$$invalidate(17, baselineEmoji);\n\t\t});\n\t}\n\n\tfunction section_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\trootElement = $$value;\n\t\t\t$$invalidate(16, rootElement);\n\t\t});\n\t}\n\n\t$$self.$$set = $$props => {\n\t\tif ('skinToneEmoji' in $$props) $$invalidate(40, skinToneEmoji = $$props.skinToneEmoji);\n\t\tif ('i18n' in $$props) $$invalidate(0, i18n = $$props.i18n);\n\t\tif ('database' in $$props) $$invalidate(39, database = $$props.database);\n\t\tif ('customEmoji' in $$props) $$invalidate(41, customEmoji = $$props.customEmoji);\n\t\tif ('customCategorySorting' in $$props) $$invalidate(42, customCategorySorting = $$props.customCategorySorting);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[1] & /*customEmoji, database*/ 1280) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the customEmoji\n\t\t\t//\n\t\t\t{\n\t\t\t\tif (customEmoji && database) {\n\t\t\t\t\t$$invalidate(39, database.customEmoji = customEmoji, database);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n*/ 1 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the database object\n\t\t\t//\n\t\t\t{\n\t\t\t\t// show a Loading message if it takes a long time, or show an error if there's a network/IDB error\n\t\t\t\tasync function handleDatabaseLoading() {\n\t\t\t\t\tlet showingLoadingMessage = false;\n\n\t\t\t\t\tconst timeoutHandle = setTimeout(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tshowingLoadingMessage = true;\n\t\t\t\t\t\t\t$$invalidate(18, message = i18n.loadingMessage);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTIMEOUT_BEFORE_LOADING_MESSAGE\n\t\t\t\t\t);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait database.ready();\n\t\t\t\t\t\t$$invalidate(14, databaseLoaded = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t} catch(err) {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t$$invalidate(18, message = i18n.networkErrorMessage);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tclearTimeout(timeoutHandle);\n\n\t\t\t\t\t\tif (showingLoadingMessage) {\n\t\t\t\t\t\t\t// Seems safer than checking the i18n string, which may change\n\t\t\t\t\t\t\tshowingLoadingMessage = false;\n\n\t\t\t\t\t\t\t$$invalidate(18, message = ''); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (database) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\thandleDatabaseLoading();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups*/ 4096 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) {\n\t\t\t{\n\t\t\t\tif (customEmoji && customEmoji.length) {\n\t\t\t\t\t$$invalidate(12, groups$1 = [customGroup, ...groups]);\n\t\t\t\t} else if (groups$1 !== groups) {\n\t\t\t\t\t$$invalidate(12, groups$1 = groups);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Handle user input on the search input\n\t\t\t//\n\t\t\t{\n\t\t\t\trIC(() => {\n\t\t\t\t\t$$invalidate(44, searchText = (rawSearchText || '').trim()); // defer to avoid input delays, plus we can trim here\n\t\t\t\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144) {\n\t\t\t//\n\t\t\t// Update the current group based on the currentGroupIndex\n\t\t\t//\n\t\t\t$$invalidate(13, currentGroup = groups$1[currentGroupIndex]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded, currentGroup*/ 24576 | $$self.$$.dirty[1] & /*searchText*/ 8192) {\n\t\t\t//\n\t\t\t// Set or update the currentEmojis. Check for invalid ZWJ renderings\n\t\t\t// (i.e. double emoji).\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateEmojis() {\n\n\t\t\t\t\tif (!databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(1, currentEmojis = []);\n\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t} else if (searchText.length >= MIN_SEARCH_TEXT_LENGTH) {\n\t\t\t\t\t\tconst currentSearchText = searchText;\n\t\t\t\t\t\tconst newEmojis = await getEmojisBySearchQuery(currentSearchText);\n\n\t\t\t\t\t\tif (currentSearchText === searchText) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = true);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (currentGroup) {\n\t\t\t\t\t\tconst currentGroupId = currentGroup.id;\n\t\t\t\t\t\tconst newEmojis = await getEmojisByGroup(currentGroupId);\n\n\t\t\t\t\t\tif (currentGroupId === currentGroup.id) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdateEmojis();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, searchMode*/ 4112) {\n\t\t\t//\n\t\t\t// Global styles for the entire picker\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(22, pickerStyle = `\n --font-family: ${FONT_FAMILY};\n --num-groups: ${groups$1.length}; \n --indicator-opacity: ${searchMode ? 0 : 1}; \n --num-skintones: ${NUM_SKIN_TONES};`);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the preferred skin tone\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updatePreferredSkinTone() {\n\t\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(8, currentSkinTone = await database.getPreferredSkinTone());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdatePreferredSkinTone();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[1] & /*skinToneEmoji*/ 512) {\n\t\t\t$$invalidate(9, skinTones = Array(NUM_SKIN_TONES).fill().map((_, i) => applySkinTone(skinToneEmoji, i)));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTones, currentSkinTone*/ 768) {\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(21, skinToneButtonText = skinTones[currentSkinTone]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n, currentSkinTone*/ 257) {\n\t\t\t$$invalidate(23, skinToneButtonLabel = i18n.skinToneLabel.replace('{skinTone}', i18n.skinTones[currentSkinTone]));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the favorites emojis\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateDefaultFavoriteEmojis() {\n\t\t\t\t\t$$invalidate(45, defaultFavoriteEmojis = (await Promise.all(MOST_COMMONLY_USED_EMOJI.map(unicode => database.getEmojiByUnicodeOrName(unicode)))).filter(Boolean)); // filter because in Jest tests we don't have all the emoji in the DB\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateDefaultFavoriteEmojis();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database, numColumns, defaultFavoriteEmojis*/ 49408) {\n\t\t\t{\n\t\t\t\tasync function updateFavorites() {\n\t\t\t\t\tconst dbFavorites = await database.getTopFavoriteEmoji(numColumns);\n\t\t\t\t\tconst favorites = await summarizeEmojis(uniqBy([...dbFavorites, ...defaultFavoriteEmojis], _ => _.unicode || _.name).slice(0, numColumns));\n\t\t\t\t\t$$invalidate(10, currentFavorites = favorites);\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded && defaultFavoriteEmojis) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateFavorites();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, tabpanelElement*/ 10) {\n\t\t\t// Some emojis have their ligatures rendered as two or more consecutive emojis\n\t\t\t// We want to treat these the same as unsupported emojis, so we compare their\n\t\t\t// widths against the baseline widths and remove them as necessary\n\t\t\t{\n\t\t\t\tconst zwjEmojisToCheck = currentEmojis.filter(emoji => emoji.unicode).filter(emoji => hasZwj(emoji) && !supportedZwjEmojis.has(emoji.unicode)); // filter custom emoji\n\n\t\t\t\tif (zwjEmojisToCheck.length) {\n\t\t\t\t\t// render now, check their length later\n\t\t\t\t\trAF(() => checkZwjSupportAndUpdate(zwjEmojisToCheck));\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(1, currentEmojis = currentEmojis.filter(isZwjSupported));\n\n\t\t\t\t\trAF(() => {\n\t\t\t\t\t\t// Avoid Svelte doing an invalidation on the \"setter\" here.\n\t\t\t\t\t\t// At best the invalidation is useless, at worst it can cause infinite loops:\n\t\t\t\t\t\t// https://github.com/nolanlawson/emoji-picker-element/pull/180\n\t\t\t\t\t\t// https://github.com/sveltejs/svelte/issues/6521\n\t\t\t\t\t\t// Also note tabpanelElement can be null if the element is disconnected\n\t\t\t\t\t\t// immediately after connected, hence `|| {}`\n\t\t\t\t\t\t(tabpanelElement || {}).scrollTop = 0; // reset scroll top to 0 when emojis change\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, currentFavorites*/ 1026 | $$self.$$.dirty[1] & /*initialLoad*/ 4096) {\n\t\t\t{\n\t\t\t\t// consider initialLoad to be complete when the first tabpanel and favorites are rendered\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (\"production\" !== 'production' || false) {\n\t\t\t\t\tif (currentEmojis.length && currentFavorites.length && initialLoad) {\n\t\t\t\t\t\t$$invalidate(43, initialLoad = false);\n\t\t\t\t\t\trequestPostAnimationFrame(() => (void 0));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*searchMode, currentEmojis*/ 18 | $$self.$$.dirty[1] & /*customCategorySorting*/ 2048) {\n\t\t\t//\n\t\t\t// Derive currentEmojisWithCategories from currentEmojis. This is always done even if there\n\t\t\t// are no categories, because it's just easier to code the HTML this way.\n\t\t\t//\n\t\t\t{\n\t\t\t\tfunction calculateCurrentEmojisWithCategories() {\n\t\t\t\t\tif (searchMode) {\n\t\t\t\t\t\treturn [{ category: '', emojis: currentEmojis }];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst categoriesToEmoji = new Map();\n\n\t\t\t\t\tfor (const emoji of currentEmojis) {\n\t\t\t\t\t\tconst category = emoji.category || '';\n\t\t\t\t\t\tlet emojis = categoriesToEmoji.get(category);\n\n\t\t\t\t\t\tif (!emojis) {\n\t\t\t\t\t\t\temojis = [];\n\t\t\t\t\t\t\tcategoriesToEmoji.set(category, emojis);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\temojis.push(emoji);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [...categoriesToEmoji.entries()].map(([category, emojis]) => ({ category, emojis })).sort((a, b) => customCategorySorting(a.category, b.category));\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\t$$invalidate(15, currentEmojisWithCategories = calculateCurrentEmojisWithCategories());\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*activeSearchItem, currentEmojis*/ 34) {\n\t\t\t//\n\t\t\t// Handle active search item (i.e. pressing up or down while searching)\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(26, activeSearchItemId = activeSearchItem !== -1 && currentEmojis[activeSearchItem].id);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTonePickerExpanded, skinToneDropdown*/ 192) {\n\t\t\t// To make the animation nicer, change the z-index of the skintone picker button\n\t\t\t// *after* the animation has played. This makes it appear that the picker box\n\t\t\t// is expanding \"below\" the button\n\t\t\t{\n\t\t\t\tif (skinTonePickerExpanded) {\n\t\t\t\t\tskinToneDropdown.addEventListener(\n\t\t\t\t\t\t'transitionend',\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ once: true }\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = false); // eslint-disable-line no-unused-vars\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\ti18n,\n\t\tcurrentEmojis,\n\t\trawSearchText,\n\t\ttabpanelElement,\n\t\tsearchMode,\n\t\tactiveSearchItem,\n\t\tskinTonePickerExpanded,\n\t\tskinToneDropdown,\n\t\tcurrentSkinTone,\n\t\tskinTones,\n\t\tcurrentFavorites,\n\t\tcurrentGroupIndex,\n\t\tgroups$1,\n\t\tcurrentGroup,\n\t\tdatabaseLoaded,\n\t\tcurrentEmojisWithCategories,\n\t\trootElement,\n\t\tbaselineEmoji,\n\t\tmessage,\n\t\tskinTonePickerExpandedAfterAnimation,\n\t\tactiveSkinTone,\n\t\tskinToneButtonText,\n\t\tpickerStyle,\n\t\tskinToneButtonLabel,\n\t\tisRtl,\n\t\tscrollbarWidth,\n\t\tactiveSearchItemId,\n\t\tunicodeWithSkin,\n\t\tlabelWithSkin,\n\t\tcalculateEmojiGridStyle,\n\t\tonSearchKeydown,\n\t\tonNavClick,\n\t\tonNavKeydown,\n\t\tonEmojiClick,\n\t\tonSkinToneOptionsClick,\n\t\tonClickSkinToneButton,\n\t\tonSkinToneOptionsKeydown,\n\t\tonSkinToneOptionsKeyup,\n\t\tonSkinToneOptionsFocusOut,\n\t\tdatabase,\n\t\tskinToneEmoji,\n\t\tcustomEmoji,\n\t\tcustomCategorySorting,\n\t\tinitialLoad,\n\t\tsearchText,\n\t\tdefaultFavoriteEmojis,\n\t\tnumColumns,\n\t\tinput_input_handler,\n\t\tdiv3_binding,\n\t\tclick_handler,\n\t\tdiv10_binding,\n\t\tbutton1_binding,\n\t\tsection_binding\n\t];\n}\n\nclass Picker extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\n\t\tinit(\n\t\t\tthis,\n\t\t\toptions,\n\t\t\tinstance,\n\t\t\tcreate_fragment,\n\t\t\tsafe_not_equal,\n\t\t\t{\n\t\t\t\tskinToneEmoji: 40,\n\t\t\t\ti18n: 0,\n\t\t\t\tdatabase: 39,\n\t\t\t\tcustomEmoji: 41,\n\t\t\t\tcustomCategorySorting: 42\n\t\t\t},\n\t\t\tnull,\n\t\t\t[-1, -1, -1]\n\t\t);\n\t}\n}\n\nconst DEFAULT_DATA_SOURCE = 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json';\nconst DEFAULT_LOCALE = 'en';\n\nvar enI18n = {\n categoriesLabel: 'Categories',\n emojiUnsupportedMessage: 'Your browser does not support color emoji.',\n favoritesLabel: 'Favorites',\n loadingMessage: 'Loading…',\n networkErrorMessage: 'Could not load emoji.',\n regionLabel: 'Emoji picker',\n searchDescription: 'When search results are available, press up or down to select and enter to choose.',\n searchLabel: 'Search',\n searchResultsLabel: 'Search results',\n skinToneDescription: 'When expanded, press up or down to select and enter to choose.',\n skinToneLabel: 'Choose a skin tone (currently {skinTone})',\n skinTonesLabel: 'Skin tones',\n skinTones: [\n 'Default',\n 'Light',\n 'Medium-Light',\n 'Medium',\n 'Medium-Dark',\n 'Dark'\n ],\n categories: {\n custom: 'Custom',\n 'smileys-emotion': 'Smileys and emoticons',\n 'people-body': 'People and body',\n 'animals-nature': 'Animals and nature',\n 'food-drink': 'Food and drink',\n 'travel-places': 'Travel and places',\n activities: 'Activities',\n objects: 'Objects',\n symbols: 'Symbols',\n flags: 'Flags'\n }\n};\n\nconst PROPS = [\n 'customEmoji',\n 'customCategorySorting',\n 'database',\n 'dataSource',\n 'i18n',\n 'locale',\n 'skinToneEmoji'\n];\n\nclass PickerElement extends HTMLElement {\n constructor (props) {\n super();\n this.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = \":host{--emoji-size:1.375rem;--emoji-padding:0.5rem;--category-emoji-size:var(--emoji-size);--category-emoji-padding:var(--emoji-padding);--indicator-height:3px;--input-border-radius:0.5rem;--input-border-size:1px;--input-font-size:1rem;--input-line-height:1.5;--input-padding:0.25rem;--num-columns:8;--outline-size:2px;--border-size:1px;--skintone-border-radius:1rem;--category-font-size:1rem;display:flex;width:min-content;height:400px}:host,:host(.light){--background:#fff;--border-color:#e0e0e0;--indicator-color:#385ac1;--input-border-color:#999;--input-font-color:#111;--input-placeholder-color:#999;--outline-color:#999;--category-font-color:#111;--button-active-background:#e6e6e6;--button-hover-background:#d9d9d9}:host(.dark){--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}@media (prefers-color-scheme:dark){:host{--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}}:host([hidden]){display:none}button{margin:0;padding:0;border:0;background:0 0;box-shadow:none;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0}input{padding:0;margin:0;line-height:1.15;font-family:inherit}input[type=search]{-webkit-appearance:none}:focus{outline:var(--outline-color) solid var(--outline-size);outline-offset:calc(-1*var(--outline-size))}:host([data-js-focus-visible]) :focus:not([data-focus-visible-added]){outline:0}:focus:not(:focus-visible){outline:0}.hide-focus{outline:0}*{box-sizing:border-box}.picker{contain:content;display:flex;flex-direction:column;background:var(--background);border:var(--border-size) solid var(--border-color);width:100%;height:100%;overflow:hidden;--total-emoji-size:calc(var(--emoji-size) + (2 * var(--emoji-padding)));--total-category-emoji-size:calc(var(--category-emoji-size) + (2 * var(--category-emoji-padding)))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{opacity:0;pointer-events:none}.abs-pos{position:absolute;left:0;top:0}.gone{display:none!important}.skintone-button-wrapper,.skintone-list{background:var(--background);z-index:3}.skintone-button-wrapper.expanded{z-index:1}.skintone-list{position:absolute;inset-inline-end:0;top:0;z-index:2;overflow:visible;border-bottom:var(--border-size) solid var(--border-color);border-radius:0 0 var(--skintone-border-radius) var(--skintone-border-radius);will-change:transform;transition:transform .2s ease-in-out;transform-origin:center 0}@media (prefers-reduced-motion:reduce){.skintone-list{transition-duration:.001s}}@supports not (inset-inline-end:0){.skintone-list{right:0}}.skintone-list.no-animate{transition:none}.tabpanel{overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:transform;min-height:0;flex:1;contain:content}.emoji-menu{display:grid;grid-template-columns:repeat(var(--num-columns),var(--total-emoji-size));justify-content:space-around;align-items:flex-start;width:100%}.category{padding:var(--emoji-padding);font-size:var(--category-font-size);color:var(--category-font-color)}.custom-emoji,.emoji,button.emoji{height:var(--total-emoji-size);width:var(--total-emoji-size)}.emoji,button.emoji{font-size:var(--emoji-size);display:flex;align-items:center;justify-content:center;border-radius:100%;line-height:1;overflow:hidden;font-family:var(--font-family);cursor:pointer}@media (hover:hover) and (pointer:fine){.emoji:hover,button.emoji:hover{background:var(--button-hover-background)}}.emoji.active,.emoji:active,button.emoji.active,button.emoji:active{background:var(--button-active-background)}.custom-emoji{padding:var(--emoji-padding);object-fit:contain;pointer-events:none;background-repeat:no-repeat;background-position:center center;background-size:var(--emoji-size) var(--emoji-size)}.nav,.nav-button{align-items:center}.nav{display:grid;justify-content:space-between;contain:content}.nav-button{display:flex;justify-content:center}.nav-emoji{font-size:var(--category-emoji-size);width:var(--total-category-emoji-size);height:var(--total-category-emoji-size)}.indicator-wrapper{display:flex;border-bottom:1px solid var(--border-color)}.indicator{width:calc(100%/var(--num-groups));height:var(--indicator-height);opacity:var(--indicator-opacity);background-color:var(--indicator-color);will-change:transform,opacity;transition:opacity .1s linear,transform .25s ease-in-out}@media (prefers-reduced-motion:reduce){.indicator{will-change:opacity;transition:opacity .1s linear}}.pad-top,input.search{background:var(--background);width:100%}.pad-top{height:var(--emoji-padding);z-index:3}.search-row{display:flex;align-items:center;position:relative;padding-inline-start:var(--emoji-padding);padding-bottom:var(--emoji-padding)}.search-wrapper{flex:1;min-width:0}input.search{padding:var(--input-padding);border-radius:var(--input-border-radius);border:var(--input-border-size) solid var(--input-border-color);color:var(--input-font-color);font-size:var(--input-font-size);line-height:var(--input-line-height)}input.search::placeholder{color:var(--input-placeholder-color)}.favorites{display:flex;flex-direction:row;border-top:var(--border-size) solid var(--border-color);contain:content}.message{padding:var(--emoji-padding)}\";\n this.shadowRoot.appendChild(style);\n this._ctx = {\n // Set defaults\n locale: DEFAULT_LOCALE,\n dataSource: DEFAULT_DATA_SOURCE,\n skinToneEmoji: DEFAULT_SKIN_TONE_EMOJI,\n customCategorySorting: DEFAULT_CATEGORY_SORTING,\n customEmoji: null,\n i18n: enI18n,\n ...props\n };\n // Handle properties set before the element was upgraded\n for (const prop of PROPS) {\n if (prop !== 'database' && Object.prototype.hasOwnProperty.call(this, prop)) {\n this._ctx[prop] = this[prop];\n delete this[prop];\n }\n }\n this._dbFlush(); // wait for a flush before creating the db, in case the user calls e.g. a setter or setAttribute\n }\n\n connectedCallback () {\n this._cmp = new Picker({\n target: this.shadowRoot,\n props: this._ctx\n });\n }\n\n disconnectedCallback () {\n this._cmp.$destroy();\n this._cmp = undefined;\n\n const { database } = this._ctx;\n if (database) {\n database.close()\n // only happens if the database failed to load in the first place, so we don't care)\n .catch(err => console.error(err));\n }\n }\n\n static get observedAttributes () {\n return ['locale', 'data-source', 'skin-tone-emoji'] // complex objects aren't supported, also use kebab-case\n }\n\n attributeChangedCallback (attrName, oldValue, newValue) {\n // convert from kebab-case to camelcase\n // see https://github.com/sveltejs/svelte/issues/3852#issuecomment-665037015\n this._set(\n attrName.replace(/-([a-z])/g, (_, up) => up.toUpperCase()),\n newValue\n );\n }\n\n _set (prop, newValue) {\n this._ctx[prop] = newValue;\n if (this._cmp) {\n this._cmp.$set({ [prop]: newValue });\n }\n if (['locale', 'dataSource'].includes(prop)) {\n this._dbFlush();\n }\n }\n\n _dbCreate () {\n const { locale, dataSource, database } = this._ctx;\n // only create a new database if we really need to\n if (!database || database.locale !== locale || database.dataSource !== dataSource) {\n this._set('database', new Database({ locale, dataSource }));\n }\n }\n\n // Update the Database in one microtask if the locale/dataSource change. We do one microtask\n // so we don't create two Databases if e.g. both the locale and the dataSource change\n _dbFlush () {\n Promise.resolve().then(() => (\n this._dbCreate()\n ));\n }\n}\n\nconst definitions = {};\n\nfor (const prop of PROPS) {\n definitions[prop] = {\n get () {\n if (prop === 'database') {\n // in rare cases, the microtask may not be flushed yet, so we need to instantiate the DB\n // now if the user is asking for it\n this._dbCreate();\n }\n return this._ctx[prop]\n },\n set (val) {\n if (prop === 'database') {\n throw new Error('database is read-only')\n }\n this._set(prop, val);\n }\n };\n}\n\nObject.defineProperties(PickerElement.prototype, definitions);\n\n/* istanbul ignore else */\nif (!customElements.get('emoji-picker')) { // if already defined, do nothing (e.g. same script imported twice)\n customElements.define('emoji-picker', PickerElement);\n}\n\nexport { PickerElement as default };\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=2c0ab9be&\"\nimport script from \"./Loader.vue?vue&type=script&lang=js&\"\nexport * from \"./Loader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{\n\t\t'vac-box-search': _vm.showSearchBar,\n\t\t'vac-box-empty': !_vm.showSearchBar\n\t}},[(_vm.showSearch)?[(!_vm.loadingRooms && _vm.rooms.length)?_c('div',{staticClass:\"vac-icon-search\"},[_vm._t(\"search-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"search\"}})]})],2):_vm._e(),(!_vm.loadingRooms && _vm.rooms.length)?_c('input',{staticClass:\"vac-input\",attrs:{\"type\":\"search\",\"placeholder\":_vm.textMessages.SEARCH,\"autocomplete\":\"off\"},on:{\"input\":function($event){return _vm.$emit('search-room', $event)}}}):_vm._e()]:_vm._e(),(_vm.showAddRoom)?_c('div',{staticClass:\"vac-svg-button vac-add-icon\",on:{\"click\":function($event){return _vm.$emit('add-room')}}},[_vm._t(\"add-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"add\"}})]})],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"version\":\"1.1\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":(\"0 0 \" + _vm.size + \" \" + _vm.size)}},[_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path}}),(_vm.svgItem[_vm.name].path2)?_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path2}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SvgIcon.vue?vue&type=template&id=e01c0bf4&\"\nimport script from \"./SvgIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsSearch.vue?vue&type=template&id=1fc42a9b&\"\nimport script from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-container\"},[_vm._t(\"room-list-item\",function(){return [_vm._t(\"room-list-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_c('div',{staticClass:\"vac-name-container vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-title-container\"},[(_vm.userStatus)?_c('div',{staticClass:\"vac-state-circle\",class:{ 'vac-state-online': _vm.userStatus === 'online' }}):_vm._e(),_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.room.lastMessage)?_c('div',{staticClass:\"vac-text-date\"},[_vm._v(\" \"+_vm._s(_vm.room.lastMessage.timestamp)+\" \")]):_vm._e()]),_c('div',{staticClass:\"vac-text-last\",class:{\n\t\t\t\t\t'vac-message-new':\n\t\t\t\t\t\t_vm.room.lastMessage && _vm.room.lastMessage.new && !_vm.typingUsers\n\t\t\t\t}},[(_vm.isMessageCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.room.lastMessage.distributed\n\t\t\t\t\t\t\t\t\t? 'double-checkmark'\n\t\t\t\t\t\t\t\t\t: 'checkmark',\"param\":_vm.room.lastMessage.seen ? 'seen' : ''}})]},null,{ message: _vm.room.lastMessage })],2):_vm._e(),(_vm.room.lastMessage && !_vm.room.lastMessage.deleted && _vm.isAudio)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]}),_vm._v(\" \"+_vm._s(_vm.formattedDuration)+\" \")],2):(_vm.room.lastMessage)?_c('format-message',{attrs:{\"content\":_vm.getLastMessage,\"deleted\":!!_vm.room.lastMessage.deleted && !_vm.typingUsers,\"users\":_vm.room.users,\"linkify\":false,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"single-line\":true},scopedSlots:_vm._u([{key:\"deleted-icon\",fn:function(data){return [_vm._t(\"deleted-icon\",null,null,data)]}}],null,true)}):_vm._e(),(!_vm.room.lastMessage && _vm.typingUsers)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_vm._e(),_c('div',{staticClass:\"vac-room-options-container\"},[(_vm.room.unreadCount)?_c('div',{staticClass:\"vac-badge-counter vac-room-badge\"},[_vm._v(\" \"+_vm._s(_vm.room.unreadCount)+\" \")]):_vm._e(),_vm._t(\"room-list-options\",function(){return [(_vm.roomActions.length)?_c('div',{staticClass:\"vac-svg-button vac-list-room-options\",on:{\"click\":function($event){$event.stopPropagation();_vm.roomMenuOpened = _vm.room.roomId}}},[_vm._t(\"room-list-options-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"room\"}})]})],2):_vm._e(),(_vm.roomActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.roomMenuOpened === _vm.room.roomId)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeRoomMenu),expression:\"closeRoomMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.roomActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.roomActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]},null,{ room: _vm.room })],2)],1)])]},null,{ room: _vm.room })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-format-message-wrapper\",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:\"vac-format-container\"},[_c(message.url ? 'a' : 'span',{tag:\"component\",class:{\n\t\t\t\t\t'vac-text-ellipsis': _vm.singleLine,\n\t\t\t\t\t'vac-text-bold': message.bold,\n\t\t\t\t\t'vac-text-italic': _vm.deleted || message.italic,\n\t\t\t\t\t'vac-text-strike': message.strike,\n\t\t\t\t\t'vac-text-underline': message.underline,\n\t\t\t\t\t'vac-text-inline-code': !_vm.singleLine && message.inline,\n\t\t\t\t\t'vac-text-multiline-code': !_vm.singleLine && message.multiline,\n\t\t\t\t\t'vac-text-tag': !_vm.singleLine && !_vm.reply && message.tag\n\t\t\t\t},attrs:{\"href\":message.href,\"target\":message.href ? _vm.linkOptions.target : null,\"rel\":message.href ? _vm.linkOptions.rel : null},on:{\"click\":function($event){return _vm.openTag(message)}}},[_vm._t(\"deleted-icon\",function(){return [(_vm.deleted)?_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}}):_vm._e()]},null,{ deleted: _vm.deleted }),(message.url && message.image)?[_c('div',{staticClass:\"vac-image-link-container\"},[_c('div',{staticClass:\"vac-image-link\",style:({\n\t\t\t\t\t\t\t\t'background-image': (\"url('\" + (message.value) + \"')\"),\n\t\t\t\t\t\t\t\theight: message.height\n\t\t\t\t\t\t\t})})]),_c('div',{staticClass:\"vac-image-link-message\"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',[_vm._v(_vm._s(message.value))])]],2)],1)}),0):_c('div',[_vm._v(\" \"+_vm._s(_vm.formattedContent)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","const linkify = require('linkifyjs')\n// require('linkifyjs/plugins/hashtag')(linkify)\n\nexport default (text, doLinkify, textFormatting) => {\n\tconst typeMarkdown = {\n\t\tbold: textFormatting.bold,\n\t\titalic: textFormatting.italic,\n\t\tstrike: textFormatting.strike,\n\t\tunderline: textFormatting.underline,\n\t\tmultilineCode: textFormatting.multilineCode,\n\t\tinlineCode: textFormatting.inlineCode\n\t}\n\n\tconst pseudoMarkdown = {\n\t\t[typeMarkdown.bold]: {\n\t\t\tend: '\\\\' + typeMarkdown.bold,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'bold'\n\t\t},\n\t\t[typeMarkdown.italic]: {\n\t\t\tend: typeMarkdown.italic,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'italic'\n\t\t},\n\t\t[typeMarkdown.strike]: {\n\t\t\tend: typeMarkdown.strike,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'strike'\n\t\t},\n\t\t[typeMarkdown.underline]: {\n\t\t\tend: typeMarkdown.underline,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'underline'\n\t\t},\n\t\t[typeMarkdown.multilineCode]: {\n\t\t\tend: typeMarkdown.multilineCode,\n\t\t\tallowed_chars: '(.|\\n)',\n\t\t\ttype: 'multiline-code'\n\t\t},\n\t\t[typeMarkdown.inlineCode]: {\n\t\t\tend: typeMarkdown.inlineCode,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'inline-code'\n\t\t},\n\t\t'': {\n\t\t\tallowed_chars: '.',\n\t\t\tend: '',\n\t\t\ttype: 'tag'\n\t\t}\n\t}\n\n\tconst json = compileToJSON(text, pseudoMarkdown)\n\n\tconst html = compileToHTML(json, pseudoMarkdown)\n\n\tconst result = [].concat.apply([], html)\n\n\tif (doLinkify) linkifyResult(result)\n\n\treturn result\n}\n\nfunction compileToJSON(str, pseudoMarkdown) {\n\tlet result = []\n\tlet minIndexOf = -1\n\tlet minIndexOfKey = null\n\n\tlet links = linkify.find(str)\n\tlet minIndexFromLink = false\n\n\tif (links.length > 0) {\n\t\tminIndexOf = str.indexOf(links[0].value)\n\t\tminIndexFromLink = true\n\t}\n\n\tObject.keys(pseudoMarkdown).forEach(startingValue => {\n\t\tconst io = str.indexOf(startingValue)\n\t\tif (io >= 0 && (minIndexOf < 0 || io < minIndexOf)) {\n\t\t\tminIndexOf = io\n\t\t\tminIndexOfKey = startingValue\n\t\t\tminIndexFromLink = false\n\t\t}\n\t})\n\n\tif (minIndexFromLink && minIndexOfKey !== -1) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tlet strLink = str.substr(minIndexOf, links[0].value.length)\n\t\tlet strRight = str.substr(minIndexOf + links[0].value.length)\n\t\tresult.push(strLeft)\n\t\tresult.push(strLink)\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t}\n\n\tif (minIndexOfKey) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tconst char = minIndexOfKey\n\t\tlet strRight = str.substr(minIndexOf + char.length)\n\n\t\tif (str.replace(/\\s/g, '').length === char.length * 2) {\n\t\t\treturn [str]\n\t\t}\n\n\t\tconst match = strRight.match(\n\t\t\tnew RegExp(\n\t\t\t\t'^(' +\n\t\t\t\t\t(pseudoMarkdown[char].allowed_chars || '.') +\n\t\t\t\t\t'*' +\n\t\t\t\t\t(pseudoMarkdown[char].end ? '?' : '') +\n\t\t\t\t\t')' +\n\t\t\t\t\t(pseudoMarkdown[char].end\n\t\t\t\t\t\t? '(' + pseudoMarkdown[char].end + ')'\n\t\t\t\t\t\t: ''),\n\t\t\t\t'm'\n\t\t\t)\n\t\t)\n\t\tif (!match || !match[1]) {\n\t\t\tstrLeft = strLeft + char\n\t\t\tresult.push(strLeft)\n\t\t} else {\n\t\t\tif (strLeft) {\n\t\t\t\tresult.push(strLeft)\n\t\t\t}\n\t\t\tconst object = {\n\t\t\t\tstart: char,\n\t\t\t\tcontent: compileToJSON(match[1], pseudoMarkdown),\n\t\t\t\tend: match[2],\n\t\t\t\ttype: pseudoMarkdown[char].type\n\t\t\t}\n\t\t\tresult.push(object)\n\t\t\tstrRight = strRight.substr(match[0].length)\n\t\t}\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t} else {\n\t\tif (str) {\n\t\t\treturn [str]\n\t\t} else {\n\t\t\treturn []\n\t\t}\n\t}\n}\n\nfunction compileToHTML(json, pseudoMarkdown) {\n\tconst result = []\n\n\tjson.forEach(item => {\n\t\tif (typeof item === 'string') {\n\t\t\tresult.push({ types: [], value: item })\n\t\t} else {\n\t\t\tif (pseudoMarkdown[item.start]) {\n\t\t\t\tresult.push(parseContent(item))\n\t\t\t}\n\t\t}\n\t})\n\n\treturn result\n}\n\nfunction parseContent(item) {\n\tconst result = []\n\titerateContent(item, result, [])\n\treturn result\n}\n\nfunction iterateContent(item, result, types) {\n\titem.content.forEach(it => {\n\t\tif (typeof it === 'string') {\n\t\t\tresult.push({\n\t\t\t\ttypes: removeDuplicates(types.concat([item.type])),\n\t\t\t\tvalue: it\n\t\t\t})\n\t\t} else {\n\t\t\titerateContent(\n\t\t\t\tit,\n\t\t\t\tresult,\n\t\t\t\tremoveDuplicates([it.type].concat([item.type]).concat(types))\n\t\t\t)\n\t\t}\n\t})\n}\n\nfunction removeDuplicates(items) {\n\treturn [...new Set(items)]\n}\n\nfunction linkifyResult(array) {\n\tconst result = []\n\n\tarray.forEach(arr => {\n\t\tconst links = linkify.find(arr.value)\n\n\t\tif (links.length) {\n\t\t\tconst spaces = arr.value.replace(links[0].value, '')\n\t\t\tresult.push({ types: arr.types, value: spaces })\n\n\t\t\tarr.types = ['url'].concat(arr.types)\n\t\t\tarr.href = links[0].href\n\t\t\tarr.value = links[0].value\n\t\t}\n\n\t\tresult.push(arr)\n\t})\n\n\treturn result\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormatMessage.vue?vue&type=template&id=934b3d7e&\"\nimport script from \"./FormatMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./FormatMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (room, currentUserId, textMessages) => {\n\tif (room.typingUsers && room.typingUsers.length) {\n\t\tconst typingUsers = room.users.filter(user => {\n\t\t\tif (user._id === currentUserId) return\n\t\t\tif (room.typingUsers.indexOf(user._id) === -1) return\n\t\t\tif (user.status && user.status.state === 'offline') return\n\t\t\treturn true\n\t\t})\n\n\t\tif (!typingUsers.length) return\n\n\t\tif (room.users.length === 2) {\n\t\t\treturn textMessages.IS_TYPING\n\t\t} else {\n\t\t\treturn (\n\t\t\t\ttypingUsers.map(user => user.username).join(', ') +\n\t\t\t\t' ' +\n\t\t\t\ttextMessages.IS_TYPING\n\t\t\t)\n\t\t}\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomContent.vue?vue&type=template&id=6888cbad&\"\nimport script from \"./RoomContent.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (items, prop, val, startsWith = false) => {\n\tif (!val || val === '') return items\n\n\treturn items.filter(v => {\n\t\tif (startsWith) return formatString(v[prop]).startsWith(formatString(val))\n\t\treturn formatString(v[prop]).includes(formatString(val))\n\t})\n}\n\nfunction formatString(string) {\n\treturn string\n\t\t.toLowerCase()\n\t\t.normalize('NFD')\n\t\t.replace(/[\\u0300-\\u036f]/g, '')\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsList.vue?vue&type=template&id=e9cbf0d4&\"\nimport script from \"./RoomsList.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isMobile && !_vm.showRoomsList) || !_vm.isMobile || _vm.singleRoom),expression:\"(isMobile && !showRoomsList) || !isMobile || singleRoom\"}],staticClass:\"vac-col-messages\",on:{\"touchstart\":_vm.touchStart}},[(_vm.showNoRoom)?_vm._t(\"no-room-selected\",function(){return [_c('div',{staticClass:\"vac-container-center vac-room-empty\"},[_c('div',[_vm._v(_vm._s(_vm.textMessages.ROOM_EMPTY))])])]}):_c('room-header',{attrs:{\"current-user-id\":_vm.currentUserId,\"text-messages\":_vm.textMessages,\"single-room\":_vm.singleRoom,\"show-rooms-list\":_vm.showRoomsList,\"is-mobile\":_vm.isMobile,\"room-info-enabled\":_vm.roomInfoEnabled,\"menu-actions\":_vm.menuActions,\"room\":_vm.room,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"message-selection-actions\":_vm.messageSelectionActions,\"selected-messages-total\":_vm.selectedMessages.length},on:{\"toggle-rooms-list\":function($event){return _vm.$emit('toggle-rooms-list')},\"room-info\":function($event){return _vm.$emit('room-info')},\"menu-action-handler\":function($event){return _vm.$emit('menu-action-handler', $event)},\"message-selection-action-handler\":_vm.messageSelectionActionHandler,\"cancel-message-selection\":function($event){_vm.messageSelectionEnabled = false}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{ref:\"scrollContainer\",staticClass:\"vac-container-scroll\",attrs:{\"id\":\"messages-list\"},on:{\"scroll\":_vm.onContainerScroll}},[_c('loader',{attrs:{\"show\":_vm.loadingMessages},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-messages-container\"},[_c('div',{class:{ 'vac-messages-hidden': _vm.loadingMessages }},[_c('transition',{attrs:{\"name\":\"vac-fade-message\"}},[_c('div',[(_vm.showNoMessages)?_c('div',{staticClass:\"vac-text-started\"},[_vm._t(\"messages-empty\",function(){return [_vm._v(\" \"+_vm._s(_vm.textMessages.MESSAGES_EMPTY)+\" \")]})],2):_vm._e(),(_vm.showMessagesStarted)?_c('div',{staticClass:\"vac-text-started\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.CONVERSATION_STARTED)+\" \"+_vm._s(_vm.messages[0].date)+\" \")]):_vm._e()])]),(_vm.messages.length && !_vm.messagesLoaded)?_c('div',{attrs:{\"id\":\"infinite-loader-messages\"}},[_c('loader',{attrs:{\"show\":true,\"infinite\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e(),_c('transition-group',{key:_vm.roomId,attrs:{\"name\":\"vac-fade-message\",\"tag\":\"span\"}},_vm._l((_vm.messages),function(m,i){return _c('div',{key:m.indexId || m._id},[_c('room-message',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":m,\"index\":i,\"messages\":_vm.messages,\"edited-message-id\":_vm.editedMessageId,\"message-actions\":_vm.messageActions,\"room-users\":_vm.room.users,\"text-messages\":_vm.textMessages,\"new-messages\":_vm.newMessages,\"show-reaction-emojis\":_vm.showReactionEmojis,\"show-new-messages-divider\":_vm.showNewMessagesDivider,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"username-options\":_vm.usernameOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"selected-messages\":_vm.selectedMessages},on:{\"message-added\":_vm.onMessageAdded,\"message-action-handler\":_vm.messageActionHandler,\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag,\"open-failed-message\":function($event){return _vm.$emit('open-failed-message', $event)},\"send-message-reaction\":_vm.sendMessageReaction,\"select-message\":_vm.selectMessage,\"unselect-message\":_vm.unselectMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),0)],1)])],1),(!_vm.loadingMessages)?_c('div',[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollIcon)?_c('div',{staticClass:\"vac-icon-scroll\",on:{\"click\":_vm.scrollToBottom}},[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollMessagesCount)?_c('div',{staticClass:\"vac-badge-counter vac-messages-count\"},[_vm._v(\" \"+_vm._s(_vm.scrollMessagesCount)+\" \")]):_vm._e()]),_vm._t(\"scroll-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"scroll\"}})]})],2):_vm._e()])],1):_vm._e(),_c('room-footer',{attrs:{\"room\":_vm.room,\"room-id\":_vm.roomId,\"room-message\":_vm.roomMessage,\"text-messages\":_vm.textMessages,\"show-send-icon\":_vm.showSendIcon,\"show-files\":_vm.showFiles,\"show-audio\":_vm.showAudio,\"show-emojis\":_vm.showEmojis,\"show-footer\":_vm.showFooter,\"accepted-files\":_vm.acceptedFiles,\"textarea-action-enabled\":_vm.textareaActionEnabled,\"user-tags-enabled\":_vm.userTagsEnabled,\"emojis-suggestion-enabled\":_vm.emojisSuggestionEnabled,\"templates-text\":_vm.templatesText,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"audio-bit-rate\":_vm.audioBitRate,\"audio-sample-rate\":_vm.audioSampleRate,\"init-reply-message\":_vm.initReplyMessage,\"init-edit-message\":_vm.initEditMessage},on:{\"update-edited-message-id\":function($event){_vm.editedMessageId = $event},\"edit-message\":function($event){return _vm.$emit('edit-message', $event)},\"send-message\":function($event){return _vm.$emit('send-message', $event)},\"typing-message\":function($event){return _vm.$emit('typing-message', $event)},\"textarea-action-handler\":function($event){return _vm.$emit('textarea-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-header vac-app-border-b\"},[_vm._t(\"room-header\",function(){return [_c('div',{staticClass:\"vac-room-wrapper\"},[_c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageSelectionEnabled)?_c('div',{staticClass:\"vac-room-selection\"},[_vm._l((_vm.messageSelectionActions),function(action){return _c('div',{key:action.name,attrs:{\"id\":action.name}},[_c('div',{staticClass:\"vac-selection-button\",on:{\"click\":function($event){return _vm.messageSelectionActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \"),_c('span',{staticClass:\"vac-selection-button-count\"},[_vm._v(\" \"+_vm._s(_vm.selectedMessagesTotal)+\" \")])])])}),_c('div',{staticClass:\"vac-selection-cancel vac-item-clickable\",on:{\"click\":function($event){return _vm.$emit('cancel-message-selection')}}},[_vm._v(\" \"+_vm._s(_vm.textMessages.CANCEL_SELECT_MESSAGE)+\" \")])],2):_vm._e()]),(!_vm.messageSelectionEnabled && _vm.messageSelectionAnimationEnded)?[(!_vm.singleRoom)?_c('div',{staticClass:\"vac-svg-button vac-toggle-button\",class:{ 'vac-rotate-icon-init': !_vm.isMobile, 'vac-rotate-icon': !_vm.showRoomsList && !_vm.isMobile },on:{\"click\":function($event){return _vm.$emit('toggle-rooms-list')}}},[_vm._t(\"toggle-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"toggle\"}})]})],2):_vm._e(),_c('div',{staticClass:\"vac-info-wrapper\",class:{ 'vac-item-clickable': _vm.roomInfoEnabled },on:{\"click\":function($event){return _vm.$emit('room-info')}}},[_vm._t(\"room-header-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_vm._t(\"room-header-info\",function(){return [_c('div',{staticClass:\"vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.typingUsers)?_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.userStatus)+\" \")])])]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2),(_vm.room.roomId)?_vm._t(\"room-options\",function(){return [(_vm.menuActions.length)?_c('div',{staticClass:\"vac-svg-button vac-room-options\",on:{\"click\":function($event){_vm.menuOpened = !_vm.menuOpened}}},[_vm._t(\"menu-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"menu\"}})]})],2):_vm._e(),(_vm.menuActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.menuOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.menuActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.menuActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]}):_vm._e()]:_vm._e()],2)]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\t\t\t\n\t\t\n\t\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomHeader.vue?vue&type=template&id=938fbc28&\"\nimport script from \"./RoomHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(Object.keys(_vm.room).length && _vm.showFooter),expression:\"Object.keys(room).length && showFooter\"}],staticClass:\"vac-room-footer\",class:{\n\t\t'vac-app-box-shadow': _vm.shadowFooter\n\t},attrs:{\"id\":\"room-footer\"}},[_c('room-emojis',{attrs:{\"filtered-emojis\":_vm.filteredEmojis,\"select-item\":_vm.selectEmojiItem,\"active-up-or-down\":_vm.activeUpOrDownEmojis},on:{\"select-emoji\":function($event){return _vm.selectEmoji($event)},\"activate-item\":function($event){_vm.activeUpOrDownEmojis = 0}}}),_c('room-users-tag',{attrs:{\"filtered-users-tag\":_vm.filteredUsersTag,\"select-item\":_vm.selectUsersTagItem,\"active-up-or-down\":_vm.activeUpOrDownUsersTag},on:{\"select-user-tag\":function($event){return _vm.selectUserTag($event)},\"activate-item\":function($event){_vm.activeUpOrDownUsersTag = 0}}}),_c('room-templates-text',{attrs:{\"filtered-templates-text\":_vm.filteredTemplatesText,\"select-item\":_vm.selectTemplatesTextItem,\"active-up-or-down\":_vm.activeUpOrDownTemplatesText},on:{\"select-template-text\":function($event){return _vm.selectTemplateText($event)},\"activate-item\":function($event){_vm.activeUpOrDownTemplatesText = 0}}}),_c('room-message-reply',{attrs:{\"room\":_vm.room,\"message-reply\":_vm.messageReply,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('room-files',{attrs:{\"files\":_vm.files},on:{\"remove-file\":_vm.removeFile,\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-box-footer\",class:{ 'vac-box-footer-border': !_vm.files.length }},[(_vm.showAudio && !_vm.files.length)?_c('div',{staticClass:\"vac-icon-textarea-left\"},[(_vm.isRecording)?[_c('div',{staticClass:\"vac-svg-button vac-icon-audio-stop\",on:{\"click\":_vm.stopRecorder}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2),_c('div',{staticClass:\"vac-dot-audio-record\"}),_c('div',{staticClass:\"vac-dot-audio-record-time\"},[_vm._v(\" \"+_vm._s(_vm.recordedTime)+\" \")]),_c('div',{staticClass:\"vac-svg-button vac-icon-audio-confirm\",on:{\"click\":function($event){return _vm.toggleRecorder(false)}}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"checkmark\"}})]})],2)]:_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.toggleRecorder(true)}}},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]})],2)],2):_vm._e(),_c('textarea',{ref:\"roomTextarea\",staticClass:\"vac-textarea\",class:{\n\t\t\t\t'vac-textarea-outline': _vm.editedMessage._id\n\t\t\t},style:({\n\t\t\t\t'min-height': \"20px\",\n\t\t\t\t'padding-left': \"12px\"\n\t\t\t}),attrs:{\"id\":\"roomTextarea\",\"placeholder\":_vm.textMessages.TYPE_MESSAGE},on:{\"input\":_vm.onChangeInput,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.escapeTextarea.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.updateActiveUpOrDown(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.updateActiveUpOrDown(1)}],\"paste\":_vm.onPasteImage}}),_c('div',{staticClass:\"vac-icon-textarea\"},[(_vm.editedMessage._id)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.resetMessage}},[_vm._t(\"edit-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2):_vm._e(),(_vm.showEmojis)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(function () { return (_vm.emojiOpened = false); }),expression:\"() => (emojiOpened = false)\"}]},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{attrs:{\"emoji-opened\":_vm.emojiOpened,\"position-top\":true},on:{\"add-emoji\":_vm.addEmoji,\"open-emoji\":function($event){_vm.emojiOpened = $event}},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.addEmoji},{ emojiOpened: _vm.emojiOpened })],2):_vm._e(),(_vm.showFiles)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.launchFilePicker}},[_vm._t(\"paperclip-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"paperclip\"}})]})],2):_vm._e(),(_vm.textareaActionEnabled)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.textareaActionHandler}},[_vm._t(\"custom-action-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"deleted\"}})]})],2):_vm._e(),(_vm.showFiles)?_c('input',{ref:\"file\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\",\"accept\":_vm.acceptedFiles},on:{\"change\":function($event){return _vm.onFileChange($event.target.files)}}}):_vm._e(),(_vm.showSendIcon)?_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-send-disabled': _vm.isMessageEmpty },on:{\"click\":_vm.sendMessage}},[_vm._t(\"send-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"send\",\"param\":_vm.isMessageEmpty || _vm.isFileLoading ? 'disabled' : ''}})]})],2):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import Picker from './picker.js'\nimport Database from './database.js'\nexport { Picker, Database }\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-emoji-wrapper\"},[_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{\"click\":_vm.openEmoji}},[_vm._t(\"emoji-picker-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"emoji\",\"param\":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{\"name\":\"vac-slide-up\",\"appear\":\"\"}},[_c('div',{staticClass:\"vac-emoji-picker\",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({\n\t\t\t\t\theight: (_vm.emojiPickerHeight + \"px\"),\n\t\t\t\t\ttop: _vm.positionTop ? _vm.emojiPickerHeight : (_vm.emojiPickerTop + \"px\"),\n\t\t\t\t\tright: _vm.emojiPickerRight,\n\t\t\t\t\tdisplay: _vm.emojiPickerTop || !_vm.emojiReaction ? 'initial' : 'none'\n\t\t\t\t})},[(_vm.emojiOpened)?_c('emoji-picker',{ref:\"emojiPicker\"}):_vm._e()],1)])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmojiPickerContainer.vue?vue&type=template&id=4b3cfd82&\"\nimport script from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.files.length)?_c('div',{staticClass:\"vac-room-files-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-files-box\"},_vm._l((_vm.files),function(file,i){return _c('div',{key:i},[_c('room-file',{attrs:{\"file\":file,\"index\":i},on:{\"remove-file\":function($event){return _vm.$emit('remove-file', $event)}}})],1)}),0),_c('div',{staticClass:\"vac-icon-close\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-file-container\"},[_c('loader',{attrs:{\"show\":_vm.file.loading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-svg-button vac-icon-remove\",on:{\"click\":function($event){return _vm.$emit('remove-file', _vm.index)}}},[_vm._t(\"image-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close\",\"param\":\"image\"}})]})],2),(_vm.isImage)?_c('div',{staticClass:\"vac-message-image\",class:{ 'vac-blur-loading': _vm.file.loading },style:({\n\t\t\t'background-image': (\"url('\" + (_vm.file.localUrl || _vm.file.url) + \"')\")\n\t\t})}):(_vm.isVideo)?_c('video',{class:{ 'vac-blur-loading': _vm.file.loading },attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.localUrl || _vm.file.url}})]):_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-blur-loading': _vm.file.loading }},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.file.name)+\" \")]),(_vm.file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.file.extension)+\" \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFile.vue?vue&type=template&id=c0a62836&\"\nimport script from \"./RoomFile.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFiles.vue?vue&type=template&id=60413016&\"\nimport script from \"./RoomFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageReply)?_c('div',{staticClass:\"vac-reply-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-reply-box\"},[_c('div',{staticClass:\"vac-reply-info\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.messageReply.username)+\" \")]),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.messageReply.content,\"users\":_vm.room.users,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)]),(_vm.isImage)?_c('img',{staticClass:\"vac-image-reply\",attrs:{\"src\":_vm.firstFile.url}}):(_vm.isVideo)?_c('video',{staticClass:\"vac-image-reply\",attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})]):(_vm.isAudio)?_c('audio-player',{staticClass:\"vac-audio-reply\",attrs:{\"src\":_vm.firstFile.url},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-image-reply vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"vac-icon-reply\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"vac-audio-player\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.playback}},[(_vm.isPlaying)?_vm._t(\"audio-pause-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-pause\"}})]}):_vm._t(\"audio-play-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-play\"}})]})],2),_c('audio-control',{attrs:{\"percentage\":_vm.progress,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"change-linehead\":_vm.onUpdateProgress,\"hover-audio-progress\":function($event){return _vm.$emit('hover-audio-progress', $event)}}}),_c('audio',{attrs:{\"id\":_vm.playerUniqId,\"src\":_vm.audioSource}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"progress\",staticClass:\"vac-player-bar\",on:{\"mousedown\":_vm.onMouseDown,\"mouseover\":function($event){return _vm.$emit('hover-audio-progress', true)},\"mouseout\":function($event){return _vm.$emit('hover-audio-progress', false)}}},[_c('div',{staticClass:\"vac-player-progress\"},[_c('div',{staticClass:\"vac-line-container\"},[_c('div',{staticClass:\"vac-line-progress\",style:({ width: (_vm.percentage + \"%\") })}),_c('div',{staticClass:\"vac-line-dot\",class:{ 'vac-line-dot__active': _vm.isMouseDown },style:({ left: (_vm.percentage + \"%\") })})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=1721db79&\"\nimport script from \"./AudioControl.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioControl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioPlayer.vue?vue&type=template&id=d8b85268&\"\nimport script from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessageReply.vue?vue&type=template&id=86b41b08&\"\nimport script from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredUsersTag.length)?_c('div',{staticClass:\"vac-tags-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredUsersTag),function(user,index){return _c('div',{key:user._id,staticClass:\"vac-tags-box\",class:{ 'vac-tags-box-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-user-tag', user)}}},[_c('div',{staticClass:\"vac-tags-info\"},[(user.avatar)?_c('div',{staticClass:\"vac-avatar vac-tags-avatar\",style:({ 'background-image': (\"url('\" + (user.avatar) + \"')\") })}):_vm._e(),_c('div',{staticClass:\"vac-tags-username\"},[_vm._v(\" \"+_vm._s(user.username)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomUsersTag.vue?vue&type=template&id=082c6732&\"\nimport script from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredEmojis.length)?_c('div',{staticClass:\"vac-emojis-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredEmojis),function(emoji,index){return _c('div',{key:emoji,staticClass:\"vac-emoji-element\",class:{ 'vac-emoji-element-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-emoji', emoji)}}},[_vm._v(\" \"+_vm._s(emoji)+\" \")])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomEmojis.vue?vue&type=template&id=b6026542&\"\nimport script from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredTemplatesText.length)?_c('div',{staticClass:\"vac-template-container vac-app-box-shadow\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredTemplatesText),function(template,index){return _c('div',{key:index,staticClass:\"vac-template-box\",class:{ 'vac-template-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-template-text', template)}}},[_c('div',{staticClass:\"vac-template-info\"},[_c('div',{staticClass:\"vac-template-tag\"},[_vm._v(\" /\"+_vm._s(template.tag)+\" \")]),_c('div',{staticClass:\"vac-template-text\"},[_vm._v(\" \"+_vm._s(template.text)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomTemplatesText.vue?vue&type=template&id=113f1c86&\"\nimport script from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nlet lamejs\ntry {\n\tlamejs = require('lamejs')\n} catch (_) {\n\tlamejs = { missing: true }\n}\n\nconst { Mp3Encoder } = lamejs\n\nexport default class {\n\tconstructor(config) {\n\t\tif (lamejs.missing) {\n\t\t\tthrow new Error(\n\t\t\t\t'You must add lamejs in your dependencies to use the audio recorder. Please run \"npm install lamejs --save\"'\n\t\t\t)\n\t\t}\n\n\t\tthis.bitRate = config.bitRate\n\t\tthis.sampleRate = config.sampleRate\n\t\tthis.dataBuffer = []\n\t\tthis.encoder = new Mp3Encoder(1, this.sampleRate, this.bitRate)\n\t}\n\n\tencode(arrayBuffer) {\n\t\tconst maxSamples = 1152\n\t\tconst samples = this._convertBuffer(arrayBuffer)\n\t\tlet remaining = samples.length\n\n\t\tfor (let i = 0; remaining >= 0; i += maxSamples) {\n\t\t\tconst left = samples.subarray(i, i + maxSamples)\n\t\t\tconst buffer = this.encoder.encodeBuffer(left)\n\t\t\tthis.dataBuffer.push(new Int8Array(buffer))\n\t\t\tremaining -= maxSamples\n\t\t}\n\t}\n\n\tfinish() {\n\t\tthis.dataBuffer.push(this.encoder.flush())\n\t\tconst blob = new Blob(this.dataBuffer, { type: 'audio/mp3' })\n\t\tthis.dataBuffer = []\n\n\t\treturn {\n\t\t\tid: Date.now(),\n\t\t\tblob: blob,\n\t\t\turl: URL.createObjectURL(blob)\n\t\t}\n\t}\n\n\t_floatTo16BitPCM(input, output) {\n\t\tfor (let i = 0; i < input.length; i++) {\n\t\t\tconst s = Math.max(-1, Math.min(1, input[i]))\n\t\t\toutput[i] = s < 0 ? s * 0x8000 : s * 0x7fff\n\t\t}\n\t}\n\n\t_convertBuffer(arrayBuffer) {\n\t\tconst data = new Float32Array(arrayBuffer)\n\t\tconst out = new Int16Array(arrayBuffer.length)\n\t\tthis._floatTo16BitPCM(data, out)\n\t\treturn out\n\t}\n}\n","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nimport Mp3Encoder from './mp3-encoder'\n\nexport default class {\n\tconstructor(options = {}) {\n\t\tthis.beforeRecording = options.beforeRecording\n\t\tthis.pauseRecording = options.pauseRecording\n\t\tthis.afterRecording = options.afterRecording\n\t\tthis.micFailed = options.micFailed\n\n\t\tthis.encoderOptions = {\n\t\t\tbitRate: options.bitRate,\n\t\t\tsampleRate: options.sampleRate\n\t\t}\n\n\t\tthis.bufferSize = 4096\n\t\tthis.records = []\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.duration = 0\n\t\tthis.volume = 0\n\n\t\tthis._duration = 0\n\t}\n\n\tstart() {\n\t\tconst constraints = {\n\t\t\tvideo: false,\n\t\t\taudio: {\n\t\t\t\tchannelCount: 1,\n\t\t\t\techoCancellation: false\n\t\t\t}\n\t\t}\n\n\t\tthis.beforeRecording && this.beforeRecording('start recording')\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia(constraints)\n\t\t\t.then(this._micCaptured.bind(this))\n\t\t\t.catch(this._micError.bind(this))\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = true\n\n\t\tif (!this.lameEncoder) {\n\t\t\tthis.lameEncoder = new Mp3Encoder(this.encoderOptions)\n\t\t}\n\t}\n\n\tstop() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\t\tthis.context.close()\n\n\t\tlet record = null\n\n\t\trecord = this.lameEncoder.finish()\n\n\t\trecord.duration = this.duration\n\t\tthis.records.push(record)\n\n\t\tthis._duration = 0\n\t\tthis.duration = 0\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.afterRecording && this.afterRecording(record)\n\t}\n\n\tpause() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\n\t\tthis._duration = this.duration\n\t\tthis.isPause = true\n\n\t\tthis.pauseRecording && this.pauseRecording('pause recording')\n\t}\n\n\t_micCaptured(stream) {\n\t\tthis.context = new (window.AudioContext || window.webkitAudioContext)()\n\t\tthis.duration = this._duration\n\t\tthis.input = this.context.createMediaStreamSource(stream)\n\t\tthis.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1)\n\t\tthis.stream = stream\n\n\t\tthis.processor.onaudioprocess = ev => {\n\t\t\tconst sample = ev.inputBuffer.getChannelData(0)\n\t\t\tlet sum = 0.0\n\n\t\t\tif (this.lameEncoder) {\n\t\t\t\tthis.lameEncoder.encode(sample)\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < sample.length; ++i) {\n\t\t\t\tsum += sample[i] * sample[i]\n\t\t\t}\n\n\t\t\tthis.duration =\n\t\t\t\tparseFloat(this._duration) +\n\t\t\t\tparseFloat(this.context.currentTime.toFixed(2))\n\t\t\tthis.volume = Math.sqrt(sum / sample.length).toFixed(2)\n\t\t}\n\n\t\tthis.input.connect(this.processor)\n\t\tthis.processor.connect(this.context.destination)\n\t}\n\n\t_micError(error) {\n\t\tthis.micFailed && this.micFailed(error)\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFooter.vue?vue&type=template&id=457f6483&\"\nimport script from \"./RoomFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFooter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"message\",staticClass:\"vac-message-wrapper\",attrs:{\"id\":_vm.message._id}},[(_vm.showDate)?_c('div',{staticClass:\"vac-card-info vac-card-date\"},[_vm._v(\" \"+_vm._s(_vm.message.date)+\" \")]):_vm._e(),(_vm.newMessage._id === _vm.message._id)?_c('div',{staticClass:\"vac-line-new\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.NEW_MESSAGES)+\" \")]):_vm._e(),(_vm.message.system)?_c('div',{staticClass:\"vac-card-info vac-card-system\"},[_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_c('div',{staticClass:\"vac-message-box\",class:{ 'vac-offset-current': _vm.message.senderId === _vm.currentUserId },on:{\"click\":_vm.selectMessage}},[_vm._t(\"message\",function(){return [(_vm.message.avatar && _vm.message.senderId !== _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasSenderUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-offset\"}):_vm._e(),_c('div',{staticClass:\"vac-message-container\",class:{\n\t\t\t\t\t'vac-message-container-offset': _vm.messageOffset\n\t\t\t\t}},[_c('div',{staticClass:\"vac-message-card\",class:{\n\t\t\t\t\t\t'vac-message-highlight': _vm.isMessageHover,\n\t\t\t\t\t\t'vac-message-current': _vm.message.senderId === _vm.currentUserId,\n\t\t\t\t\t\t'vac-message-deleted': _vm.message.deleted,\n\t\t\t\t\t\t'vac-item-clickable': _vm.messageSelectionEnabled,\n\t\t\t\t\t\t'vac-message-selected': _vm.isMessageSelected\n\t\t\t\t\t},on:{\"mouseover\":_vm.onHoverMessage,\"mouseleave\":_vm.onLeaveMessage}},[(_vm.showUsername)?_c('div',{staticClass:\"vac-text-username\",class:{\n\t\t\t\t\t\t\t'vac-username-reply': !_vm.message.deleted && _vm.message.replyMessage\n\t\t\t\t\t\t}},[_c('span',[_vm._v(_vm._s(_vm.message.username))])]):_vm._e(),(!_vm.message.deleted && _vm.message.replyMessage)?_c('message-reply',{attrs:{\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),(_vm.message.deleted)?_c('div',[_vm._t(\"deleted-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}})]}),_c('span',[_vm._v(_vm._s(_vm.textMessages.MESSAGE_DELETED))])],2):(!_vm.message.files || !_vm.message.files.length)?_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(!_vm.isAudio || _vm.message.files.length > 1)?_c('message-files',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):[_c('audio-player',{attrs:{\"message-id\":_vm.message._id,\"src\":_vm.message.files[0].url,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.message.deleted)?_c('div',{staticClass:\"vac-progress-time\"},[_vm._v(\" \"+_vm._s(_vm.progressTime)+\" \")]):_vm._e()],_c('div',{staticClass:\"vac-text-timestamp\"},[(_vm.message.edited && !_vm.message.deleted)?_c('div',{staticClass:\"vac-icon-edited\"},[_vm._t(\"pencil-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"pencil\"}})]})],2):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.message.timestamp))]),(_vm.isCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.message.distributed ? 'double-checkmark' : 'checkmark',\"param\":_vm.message.seen ? 'seen' : ''}})]},null,{ message: _vm.message })],2):_vm._e()]),_c('message-actions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"message-actions\":_vm.messageActions,\"show-reaction-emojis\":_vm.showReactionEmojis,\"message-hover\":_vm.messageHover,\"hover-message-id\":_vm.hoverMessageId,\"hover-audio-progress\":_vm.hoverAudioProgress},on:{\"update-message-hover\":function($event){_vm.messageHover = $event},\"update-options-opened\":function($event){_vm.optionsOpened = $event},\"update-emoji-opened\":function($event){_vm.emojiOpened = $event},\"message-action-handler\":_vm.messageActionHandler,\"send-message-reaction\":_vm.sendMessageReaction},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2),_c('message-reactions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message},on:{\"send-message-reaction\":_vm.sendMessageReaction}})],1),_vm._t(\"message-failure\",function(){return [(_vm.message.failure && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-failure-container vac-svg-button\",class:{\n\t\t\t\t\t\t'vac-failure-container-avatar':\n\t\t\t\t\t\t\t_vm.message.avatar && _vm.message.senderId === _vm.currentUserId\n\t\t\t\t\t},on:{\"click\":function($event){return _vm.$emit('open-failed-message', { message: _vm.message })}}},[_c('div',{staticClass:\"vac-failure-text\"},[_vm._v(\" ! \")])]):_vm._e()]},null,{ message: _vm.message }),(_vm.message.avatar && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar vac-avatar-current\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasCurrentUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-current-offset\"}):_vm._e()]},null,{ message: _vm.message })],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-reply-message\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.replyUsername)+\" \")]),(_vm.isImage)?_c('div',{staticClass:\"vac-image-reply-container\"},[_c('div',{staticClass:\"vac-message-image vac-message-image-reply\",style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.firstFile.url) + \"')\")\n\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-reply-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})])]):(_vm.isAudio)?_c('audio-player',{attrs:{\"src\":_vm.firstFile.url},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.message.replyMessage.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReply.vue?vue&type=template&id=514045b4&\"\nimport script from \"./MessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-files-container\"},[_vm._l((_vm.imageVideoFiles),function(file,idx){return _c('div',{key:idx + 'iv'},[_c('message-file',{attrs:{\"file\":file,\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"index\":idx,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":function($event){return _vm.$emit('open-file', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_vm._l((_vm.otherFiles),function(file,idx){return _c('div',{key:idx + 'a',staticClass:\"vac-file-wrapper\"},[(file.progress >= 0)?_c('progress-bar',{style:({ top: '44px' }),attrs:{\"progress\":file.progress}}):_vm._e(),_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-file-container-progress': file.progress >= 0 },on:{\"click\":function($event){return _vm.openFile($event, file, 'download')}}},[_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(file.name)+\" \")]),(file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(file.extension)+\" \")]):_vm._e()])],1)}),_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":function($event){return _vm.$emit('open-user-tag', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-fade-spinner\",\"appear\":\"\"}},[_c('div',{ref:\"progress\",staticClass:\"vac-progress-wrapper\"},[_c('svg',{attrs:{\"height\":_vm.radius * 2,\"width\":_vm.radius * 2}},[_c('circle',{style:({\n\t\t\t\t\tstrokeDashoffset: _vm.strokeDashoffset,\n\t\t\t\t\tstrokeLinecap: 'round'\n\t\t\t\t}),attrs:{\"stroke\":\"rgba(255, 255, 255, 0.7)\",\"stroke-dasharray\":_vm.circumference + ' ' + _vm.circumference,\"stroke-width\":_vm.stroke,\"fill\":\"transparent\",\"r\":_vm.normalizedRadius,\"cx\":_vm.radius,\"cy\":_vm.radius}})]),_c('div',{staticClass:\"vac-progress-content\",style:({\n\t\t\t\theight: _vm.radius * 2 - 19 + 'px',\n\t\t\t\twidth: _vm.radius * 2 - 19 + 'px'\n\t\t\t})},[_c('div',{staticClass:\"vac-progress-text\"},[_vm._v(\" \"+_vm._s(_vm.progress)),_c('span',{staticClass:\"vac-progress-pourcent\"},[_vm._v(\"%\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressBar.vue?vue&type=template&id=561521ed&\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-file-container\"},[(_vm.isImage)?_c('div',{ref:'imageRef' + _vm.index,staticClass:\"vac-message-image-container\",on:{\"mouseover\":function($event){_vm.imageHover = true},\"mouseleave\":function($event){_vm.imageHover = false},\"click\":function($event){return _vm.openFile($event, 'preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"progress\":_vm.file.progress}}):_c('loader',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"show\":_vm.isImageLoading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-message-image\",class:{\n\t\t\t\t'vac-blur-loading':\n\t\t\t\t\t_vm.isImageLoading && _vm.message.senderId === _vm.currentUserId\n\t\t\t},style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.isImageLoading ? _vm.file.preview || _vm.file.url : _vm.file.url) + \"')\"),\n\t\t\t\t'max-height': ((_vm.imageResponsive.maxHeight) + \"px\")\n\t\t\t})},[_c('transition',{attrs:{\"name\":\"vac-fade-image\"}},[(!_vm.messageSelectionEnabled && _vm.imageHover && !_vm.isImageLoading)?_c('div',{staticClass:\"vac-image-buttons\"},[_c('div',{staticClass:\"vac-svg-button vac-button-view\",on:{\"click\":function($event){return _vm.openFile($event, 'preview')}}},[_vm._t(\"eye-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"eye\"}})]})],2),_c('div',{staticClass:\"vac-svg-button vac-button-download\",on:{\"click\":function($event){return _vm.openFile($event, 'download')}}},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2)]):_vm._e()])],1)],1):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-container\",on:{\"click\":function($event){$event.preventDefault();return _vm.openFile('preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{attrs:{\"progress\":_vm.file.progress}}):_vm._e(),_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFile.vue?vue&type=template&id=442d693d&\"\nimport script from \"./MessageFile.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFiles.vue?vue&type=template&id=ebb72a26&\"\nimport script from \"./MessageFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-actions-wrapper\"},[_c('div',{staticClass:\"vac-options-container\",style:({\n\t\t\tdisplay: _vm.hoverAudioProgress ? 'none' : 'initial',\n\t\t\twidth:\n\t\t\t\t_vm.filteredMessageActions.length && _vm.showReactionEmojis ? '70px' : '45px'\n\t\t})},[_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},[(_vm.isMessageActions || _vm.isMessageReactions)?_c('div',{key:\"1\",staticClass:\"vac-blur-container\",class:{\n\t\t\t\t\t'vac-options-me': _vm.message.senderId === _vm.currentUserId\n\t\t\t\t}}):_vm._e(),(_vm.isMessageActions)?_c('div',{key:\"2\",ref:\"actionIcon\",staticClass:\"vac-svg-button vac-message-options\",on:{\"click\":_vm.openOptions}},[_vm._t(\"dropdown-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"message\"}})]})],2):_vm._e(),(_vm.isMessageReactions)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeEmoji),expression:\"closeEmoji\"}],key:\"3\"},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{staticClass:\"vac-message-emojis\",style:({ right: _vm.isMessageActions ? '30px' : '5px' }),attrs:{\"emoji-opened\":_vm.emojiOpened,\"emoji-reaction\":true,\"position-right\":_vm.message.senderId === _vm.currentUserId},on:{\"add-emoji\":_vm.sendMessageReaction,\"open-emoji\":_vm.openEmoji},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-reaction-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.sendMessageReaction},{ emojiOpened: _vm.emojiOpened })],2):_vm._e()])],1),(_vm.filteredMessageActions.length)?_c('transition',{attrs:{\"name\":_vm.message.senderId === _vm.currentUserId\n\t\t\t\t? 'vac-slide-left'\n\t\t\t\t: 'vac-slide-right'}},[(_vm.optionsOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeOptions),expression:\"closeOptions\"}],ref:\"menuOptions\",staticClass:\"vac-menu-options\",class:{\n\t\t\t\t'vac-menu-left': _vm.message.senderId !== _vm.currentUserId\n\t\t\t},style:({ top: (_vm.menuOptionsTop + \"px\") })},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.filteredMessageActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.messageActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageActions.vue?vue&type=template&id=27f1a961&\"\nimport script from \"./MessageActions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageActions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.message.deleted)?_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},_vm._l((_vm.message.reactions),function(reaction,key){return _c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(reaction.length),expression:\"reaction.length\"}],key:key + 0,staticClass:\"vac-button-reaction\",class:{\n\t\t\t'vac-reaction-me': reaction.indexOf(_vm.currentUserId) !== -1\n\t\t},style:({\n\t\t\tfloat: _vm.message.senderId === _vm.currentUserId ? 'right' : 'left'\n\t\t}),on:{\"click\":function($event){return _vm.sendMessageReaction({ unicode: key }, reaction)}}},[_vm._v(\" \"+_vm._s(key)),_c('span',[_vm._v(_vm._s(reaction.length))])])}),0):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReactions.vue?vue&type=template&id=3fc44a38&\"\nimport script from \"./MessageReactions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReactions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessage.vue?vue&type=template&id=545cd2c3&\"\nimport script from \"./RoomMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Room.vue?vue&type=template&id=5c60aee1&\"\nimport script from \"./Room.vue?vue&type=script&lang=js&\"\nexport * from \"./Room.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal\",staticClass:\"vac-media-preview\",attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeModal.apply(null, arguments)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeModal.apply(null, arguments)}}},[_c('transition',{attrs:{\"name\":\"vac-bounce-preview\",\"appear\":\"\"}},[(_vm.isImage)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('div',{staticClass:\"vac-image-preview\",style:({\n\t\t\t\t\t'background-image': (\"url('\" + (_vm.file.url) + \"')\")\n\t\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\",\"autoplay\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])]):_vm._e()]),_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"preview-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\",\"param\":\"preview\"}})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MediaPreview.vue?vue&type=template&id=2d3ea15a&\"\nimport script from \"./MediaPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaPreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\tROOMS_EMPTY: 'No rooms',\n\tROOM_EMPTY: 'No room selected',\n\tNEW_MESSAGES: 'New Messages',\n\tMESSAGE_DELETED: 'This message was deleted',\n\tMESSAGES_EMPTY: 'No messages',\n\tCONVERSATION_STARTED: 'Conversation started on:',\n\tTYPE_MESSAGE: 'Type message',\n\tSEARCH: 'Search',\n\tIS_ONLINE: 'is online',\n\tLAST_SEEN: 'last seen ',\n\tIS_TYPING: 'is writing...',\n\tCANCEL_SELECT_MESSAGE: 'Cancel'\n}\n","export const defaultThemeStyles = {\n\tlight: {\n\t\tgeneral: {\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorButtonClear: '#1976d2',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#fff',\n\t\t\tcolorPlaceholder: '#9ca6af',\n\t\t\tcolorCaret: '#1976d2',\n\t\t\tcolorSpinner: '#333',\n\t\t\tborderStyle: '1px solid #e1e4e8',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#fff',\n\t\t\tcolorRoomName: '#0a0a0a',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#f8f9fa',\n\t\t\tborderStyleInput: '1px solid #e1e4e8',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#e5e5e6',\n\t\t\tbackgroundTagActive: '#e5e5e6',\n\t\t\tbackgroundTag: '#f8f9fa'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#f8f9fa'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6',\n\t\t\tbackgroundActive: '#e5effa',\n\t\t\tcolorActive: '#1976d2',\n\t\t\tborderColorSearch: '#e1e5e8'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundMe: '#ccf2cf',\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#dadfe2',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#757e85',\n\t\t\tcolorUsername: '#9ca6af',\n\t\t\tcolorTimestamp: '#828c94',\n\t\t\tbackgroundDate: '#e5effa',\n\t\t\tcolorDate: '#505a62',\n\t\t\tbackgroundSystem: '#e5effa',\n\t\t\tcolorSystem: '#505a62',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.08)',\n\t\t\tcolorReplyUsername: '#0a0a0a',\n\t\t\tcolorReply: '#6e6e6e',\n\t\t\tcolorTag: '#0d579c',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#1976d2',\n\t\t\tbackgroundScrollCounter: '#0696c7',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: '#eee',\n\t\t\tborderStyleReaction: '1px solid #eee',\n\t\t\tbackgroundReactionHover: '#fff',\n\t\t\tborderStyleReactionHover: '1px solid #ddd',\n\t\t\tcolorReactionCounter: '#0a0a0a',\n\t\t\tbackgroundReactionMe: '#cfecf5',\n\t\t\tborderStyleReactionMe: '1px solid #3b98b8',\n\t\t\tbackgroundReactionHoverMe: '#cfecf5',\n\t\t\tborderStyleReactionHoverMe: '1px solid #3b98b8',\n\t\t\tcolorReactionCounterMe: '#0b59b3',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundAudioProgress: '#455247',\n\t\t\tbackgroundAudioProgressSelector: '#455247',\n\t\t\tcolorFileExtension: '#757e85'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#0a0a0a',\n\t\t\tcolorMessage: '#67717a',\n\t\t\tcolorTimestamp: '#a2aeb8',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#9ca6af',\n\t\t\tbackgroundCounterBadge: '#0696c7',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#fff'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#9ca6af',\n\t\t\tadd: '#1976d2',\n\t\t\ttoggle: '#0a0a0a',\n\t\t\tmenu: '#0a0a0a',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#1976d2',\n\t\t\tcloseOutline: '#000',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#1976d2',\n\t\t\tsendDisabled: '#9ca6af',\n\t\t\temoji: '#1976d2',\n\t\t\temojiReaction: 'rgba(0, 0, 0, 0.3)',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#9e9e9e',\n\t\t\tcheckmark: '#9e9e9e',\n\t\t\tcheckmarkSeen: '#0696c7',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#9e9e9e',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#1976d2',\n\t\t\taudioPlay: '#455247',\n\t\t\taudioPause: '#455247',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t},\n\tdark: {\n\t\tgeneral: {\n\t\t\tcolor: '#fff',\n\t\t\tcolorButtonClear: '#fff',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#202223',\n\t\t\tcolorPlaceholder: '#596269',\n\t\t\tcolorCaret: '#fff',\n\t\t\tcolorSpinner: '#fff',\n\t\t\tborderStyle: 'none',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#181a1b',\n\t\t\tcolorRoomName: '#fff',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#131415',\n\t\t\tborderStyleInput: 'none',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#1b1c1c',\n\t\t\tbackgroundTagActive: '#1b1c1c',\n\t\t\tbackgroundTag: '#131415'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#131415'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#181a1b',\n\t\t\tbackgroundHover: '#202224',\n\t\t\tbackgroundActive: '#151617',\n\t\t\tcolorActive: '#fff',\n\t\t\tborderColorSearch: '#181a1b'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#2a2c33',\n\t\t\tbackgroundHover: '#26282e'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#22242a',\n\t\t\tbackgroundMe: '#1f7e80',\n\t\t\tcolor: '#fff',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#1b1c21',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#a2a5a8',\n\t\t\tcolorUsername: '#b3bac9',\n\t\t\tcolorTimestamp: '#ebedf2',\n\t\t\tbackgroundDate: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorDate: '#bec5cc',\n\t\t\tbackgroundSystem: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorSystem: '#bec5cc',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.18)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.18)',\n\t\t\tcolorReplyUsername: '#fff',\n\t\t\tcolorReply: '#d6d6d6',\n\t\t\tcolorTag: '#f0c60a',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#fff',\n\t\t\tbackgroundScrollCounter: '#1976d2',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: 'none',\n\t\t\tborderStyleReaction: 'none',\n\t\t\tbackgroundReactionHover: '#202223',\n\t\t\tborderStyleReactionHover: 'none',\n\t\t\tcolorReactionCounter: '#fff',\n\t\t\tbackgroundReactionMe: '#4e9ad1',\n\t\t\tborderStyleReactionMe: 'none',\n\t\t\tbackgroundReactionHoverMe: '#4e9ad1',\n\t\t\tborderStyleReactionHoverMe: 'none',\n\t\t\tcolorReactionCounterMe: '#fff',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(255, 255, 255, 0.15)',\n\t\t\tbackgroundAudioProgress: '#b7d4d3',\n\t\t\tbackgroundAudioProgressSelector: '#b7d4d3',\n\t\t\tcolorFileExtension: '#a2a5a8'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#fff',\n\t\t\tcolorMessage: '#6c7278',\n\t\t\tcolorTimestamp: '#6c7278',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#596269',\n\t\t\tbackgroundCounterBadge: '#1976d2',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#343740'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#596269',\n\t\t\tadd: '#fff',\n\t\t\ttoggle: '#fff',\n\t\t\tmenu: '#fff',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#fff',\n\t\t\tcloseOutline: '#fff',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#fff',\n\t\t\tsendDisabled: '#646a70',\n\t\t\temoji: '#fff',\n\t\t\temojiReaction: '#fff',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#ebedf2',\n\t\t\tcheckmark: '#ebedf2',\n\t\t\tcheckmarkSeen: '#f0d90a',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#fff',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#fff',\n\t\t\taudioPlay: '#b7d4d3',\n\t\t\taudioPause: '#b7d4d3',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t}\n}\n\nexport const cssThemeVars = ({\n\tgeneral,\n\tcontainer,\n\theader,\n\tfooter,\n\tsidemenu,\n\tcontent,\n\tdropdown,\n\tmessage,\n\tmarkdown,\n\troom,\n\temoji,\n\ticons\n}) => {\n\treturn {\n\t\t// general\n\t\t'--chat-color': general.color,\n\t\t'--chat-color-button-clear': general.colorButtonClear,\n\t\t'--chat-color-button': general.colorButton,\n\t\t'--chat-bg-color-button': general.backgroundColorButton,\n\t\t'--chat-bg-color-input': general.backgroundInput,\n\t\t'--chat-color-spinner': general.colorSpinner,\n\t\t'--chat-color-placeholder': general.colorPlaceholder,\n\t\t'--chat-color-caret': general.colorCaret,\n\t\t'--chat-border-style': general.borderStyle,\n\t\t'--chat-bg-scroll-icon': general.backgroundScrollIcon,\n\n\t\t// container\n\t\t'--chat-container-border': container.border,\n\t\t'--chat-container-border-radius': container.borderRadius,\n\t\t'--chat-container-box-shadow': container.boxShadow,\n\n\t\t// header\n\t\t'--chat-header-bg-color': header.background,\n\t\t'--chat-header-color-name': header.colorRoomName,\n\t\t'--chat-header-color-info': header.colorRoomInfo,\n\n\t\t// footer\n\t\t'--chat-footer-bg-color': footer.background,\n\t\t'--chat-border-style-input': footer.borderStyleInput,\n\t\t'--chat-border-color-input-selected': footer.borderInputSelected,\n\t\t'--chat-footer-bg-color-reply': footer.backgroundReply,\n\t\t'--chat-footer-bg-color-tag-active': footer.backgroundTagActive,\n\t\t'--chat-footer-bg-color-tag': footer.backgroundTag,\n\n\t\t// content\n\t\t'--chat-content-bg-color': content.background,\n\n\t\t// sidemenu\n\t\t'--chat-sidemenu-bg-color': sidemenu.background,\n\t\t'--chat-sidemenu-bg-color-hover': sidemenu.backgroundHover,\n\t\t'--chat-sidemenu-bg-color-active': sidemenu.backgroundActive,\n\t\t'--chat-sidemenu-color-active': sidemenu.colorActive,\n\t\t'--chat-sidemenu-border-color-search': sidemenu.borderColorSearch,\n\n\t\t// dropdown\n\t\t'--chat-dropdown-bg-color': dropdown.background,\n\t\t'--chat-dropdown-bg-color-hover': dropdown.backgroundHover,\n\n\t\t// message\n\t\t'--chat-message-bg-color': message.background,\n\t\t'--chat-message-bg-color-me': message.backgroundMe,\n\t\t'--chat-message-color-started': message.colorStarted,\n\t\t'--chat-message-bg-color-deleted': message.backgroundDeleted,\n\t\t'--chat-message-bg-color-selected': message.backgroundSelected,\n\t\t'--chat-message-color-deleted': message.colorDeleted,\n\t\t'--chat-message-color-username': message.colorUsername,\n\t\t'--chat-message-color-timestamp': message.colorTimestamp,\n\t\t'--chat-message-bg-color-date': message.backgroundDate,\n\t\t'--chat-message-color-date': message.colorDate,\n\t\t'--chat-message-bg-color-system': message.backgroundSystem,\n\t\t'--chat-message-color-system': message.colorSystem,\n\t\t'--chat-message-color': message.color,\n\t\t'--chat-message-bg-color-media': message.backgroundMedia,\n\t\t'--chat-message-bg-color-reply': message.backgroundReply,\n\t\t'--chat-message-color-reply-username': message.colorReplyUsername,\n\t\t'--chat-message-color-reply-content': message.colorReply,\n\t\t'--chat-message-color-tag': message.colorTag,\n\t\t'--chat-message-bg-color-image': message.backgroundImage,\n\t\t'--chat-message-color-new-messages': message.colorNewMessages,\n\t\t'--chat-message-bg-color-scroll-counter': message.backgroundScrollCounter,\n\t\t'--chat-message-color-scroll-counter': message.colorScrollCounter,\n\t\t'--chat-message-bg-color-reaction': message.backgroundReaction,\n\t\t'--chat-message-border-style-reaction': message.borderStyleReaction,\n\t\t'--chat-message-bg-color-reaction-hover': message.backgroundReactionHover,\n\t\t'--chat-message-border-style-reaction-hover':\n\t\t\tmessage.borderStyleReactionHover,\n\t\t'--chat-message-color-reaction-counter': message.colorReactionCounter,\n\t\t'--chat-message-bg-color-reaction-me': message.backgroundReactionMe,\n\t\t'--chat-message-border-style-reaction-me': message.borderStyleReactionMe,\n\t\t'--chat-message-bg-color-reaction-hover-me':\n\t\t\tmessage.backgroundReactionHoverMe,\n\t\t'--chat-message-border-style-reaction-hover-me':\n\t\t\tmessage.borderStyleReactionHoverMe,\n\t\t'--chat-message-color-reaction-counter-me': message.colorReactionCounterMe,\n\t\t'--chat-message-bg-color-audio-record': message.backgroundAudioRecord,\n\t\t'--chat-message-bg-color-audio-line': message.backgroundAudioLine,\n\t\t'--chat-message-bg-color-audio-progress': message.backgroundAudioProgress,\n\t\t'--chat-message-bg-color-audio-progress-selector':\n\t\t\tmessage.backgroundAudioProgressSelector,\n\t\t'--chat-message-color-file-extension': message.colorFileExtension,\n\n\t\t// markdown\n\t\t'--chat-markdown-bg': markdown.background,\n\t\t'--chat-markdown-border': markdown.border,\n\t\t'--chat-markdown-color': markdown.color,\n\t\t'--chat-markdown-color-multi': markdown.colorMulti,\n\n\t\t// room\n\t\t'--chat-room-color-username': room.colorUsername,\n\t\t'--chat-room-color-message': room.colorMessage,\n\t\t'--chat-room-color-timestamp': room.colorTimestamp,\n\t\t'--chat-room-color-online': room.colorStateOnline,\n\t\t'--chat-room-color-offline': room.colorStateOffline,\n\t\t'--chat-room-bg-color-badge': room.backgroundCounterBadge,\n\t\t'--chat-room-color-badge': room.colorCounterBadge,\n\n\t\t// emoji\n\t\t'--chat-emoji-bg-color': emoji.background,\n\n\t\t// icons\n\t\t'--chat-icon-color-search': icons.search,\n\t\t'--chat-icon-color-add': icons.add,\n\t\t'--chat-icon-color-toggle': icons.toggle,\n\t\t'--chat-icon-color-menu': icons.menu,\n\t\t'--chat-icon-color-close': icons.close,\n\t\t'--chat-icon-color-close-image': icons.closeImage,\n\t\t'--chat-icon-color-file': icons.file,\n\t\t'--chat-icon-color-paperclip': icons.paperclip,\n\t\t'--chat-icon-color-close-outline': icons.closeOutline,\n\t\t'--chat-icon-color-close-preview': icons.closePreview,\n\t\t'--chat-icon-color-send': icons.send,\n\t\t'--chat-icon-color-send-disabled': icons.sendDisabled,\n\t\t'--chat-icon-color-emoji': icons.emoji,\n\t\t'--chat-icon-color-emoji-reaction': icons.emojiReaction,\n\t\t'--chat-icon-color-document': icons.document,\n\t\t'--chat-icon-color-pencil': icons.pencil,\n\t\t'--chat-icon-color-checkmark': icons.checkmark,\n\t\t'--chat-icon-color-checkmark-seen': icons.checkmarkSeen,\n\t\t'--chat-icon-color-eye': icons.eye,\n\t\t'--chat-icon-color-dropdown-message': icons.dropdownMessage,\n\t\t'--chat-icon-bg-dropdown-message': icons.dropdownMessageBackground,\n\t\t'--chat-icon-color-dropdown-room': icons.dropdownRoom,\n\t\t'--chat-icon-color-dropdown-scroll': icons.dropdownScroll,\n\t\t'--chat-icon-color-microphone': icons.microphone,\n\t\t'--chat-icon-color-audio-play': icons.audioPlay,\n\t\t'--chat-icon-color-audio-pause': icons.audioPause,\n\t\t'--chat-icon-color-audio-cancel': icons.audioCancel,\n\t\t'--chat-icon-color-audio-confirm': icons.audioConfirm\n\t}\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChatWindow.vue?vue&type=template&id=1349ffc2&\"\nimport script from \"./ChatWindow.vue?vue&type=script&lang=js&\"\nexport * from \"./ChatWindow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChatWindow.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ChatWindow from './ChatWindow'\n\nObject.defineProperty(ChatWindow, 'install', {\n\tconfigurable: false,\n\tenumerable: false,\n\tvalue(Vue) {\n\t\tVue.component('ChatWindow', ChatWindow)\n\t}\n})\n\nexport default ChatWindow\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\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","/* 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 global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","//package mp3;\n\n/**\n * Layer III side information.\n *\n * @author Ken\n *\n */\n\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction ScaleFac(arrL, arrS, arr21, arr12) {\n\n this.l = new_int(1 + Encoder.SBMAX_l);\n this.s = new_int(1 + Encoder.SBMAX_s);\n this.psfb21 = new_int(1 + Encoder.PSFB21);\n this.psfb12 = new_int(1 + Encoder.PSFB12);\n var l = this.l;\n var s = this.s;\n\n if (arguments.length == 4) {\n //public ScaleFac(final int[] arrL, final int[] arrS, final int[] arr21,\n // final int[] arr12) {\n this.arrL = arguments[0];\n this.arrS = arguments[1];\n this.arr21 = arguments[2];\n this.arr12 = arguments[3];\n\n System.arraycopy(this.arrL, 0, l, 0, Math.min(this.arrL.length, this.l.length));\n System.arraycopy(this.arrS, 0, s, 0, Math.min(this.arrS.length, this.s.length));\n System.arraycopy(this.arr21, 0, this.psfb21, 0, Math.min(this.arr21.length, this.psfb21.length));\n System.arraycopy(this.arr12, 0, this.psfb12, 0, Math.min(this.arr12.length, this.psfb12.length));\n }\n}\n\nmodule.exports = ScaleFac;\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://vue-advanced-chat/webpack/bootstrap","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.test.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-string-tag-support.js","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?55f2","webpack://vue-advanced-chat/./node_modules/core-js/internals/queue.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/common.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-bind-context.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-ff-version.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-bind.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/length-of-array-like.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/CalcNoiseData.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-species-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-substitution.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-pad.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/ie8-dom-define.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.date.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-url.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/try-to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-repeat.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/same-value.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/make-built-in.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.reduce.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-copy-within.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.all.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-callable.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/state.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-offset.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/an-instance.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/has-own-property.js","webpack://vue-advanced-chat/./src/utils/mobile-detection.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/html.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.set.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-ios.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.define-properties.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.set-timeout.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/require-object-coercible.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/schedulers-fix.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterate.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.strike.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-absolute-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/export.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/VBRSeekInfo.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/PsyModel.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.includes.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/utils/class.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/set-species.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/IIISideInfo.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.is-array.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterator-close.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.url.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-apply.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.sticky.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.starts-with.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.set-interval.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/task.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-v8-version.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/GainAnalysis.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/utils/options.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-user-agent.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.race.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-iterator-method.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-define-properties.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Presets.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/a-possible-prototype.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.set.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-symbol-registry.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterators.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.map.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.url.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/this-number-value.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-bind-native.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/parser.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/path.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/indexed-object.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/add-to-unscopables.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/host-report-errors.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-regexp.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.some.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.match.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/promise-constructor-detection.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.timers.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/species-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.trim.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/CBRNewIterationLoop.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Encoder.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vue-advanced-chat/./src/utils/data-validation.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-includes.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-slice-simple.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.filter.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-from.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.sort.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.entries.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-is-extensible.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/a-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-length.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-webkit-version.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.replace.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.url-search-params.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/shared.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/own-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/symbol-define-to-primitive.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/whitespaces.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-trim.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Reservoir.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/a-callable.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/not-a-regexp.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.get-own-property-symbols.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.replace-all.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-property-descriptor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-name.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Tables.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.join.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-node.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.set.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-browser.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-assign.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.some.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/date-to-iso-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-multibyte.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/collection-strong.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-species-create.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/MPEGMode.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-built-ins.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/BitStream.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/internal-state.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/collection.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.date.now.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-to-array.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.resolve.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/inherit-if-required.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/ReplayGain.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/CalcNoiseResult.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-constructor.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/index.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/tokens/text.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/ieee754.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/enum-bug-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.define-property.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-object.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-create.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.find.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/number-parse-float.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-weak-map.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/FFT.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-fill.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/an-object.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/descriptors.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-property.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.search.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-html.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-object.js","webpack://vue-advanced-chat/./node_modules/emoji-picker-element/picker.js","webpack://vue-advanced-chat/./node_modules/@soda/get-current-script/index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/inspect-source.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/advance-string-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.int16-array.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Version.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.at.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-get-flags.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/uid.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-exec.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/LameGlobalFlags.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-forced.js","webpack://vue-advanced-chat/./node_modules/regenerator-runtime/runtime.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/L3Side.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.url-search-params.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.concat.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-define-property.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-property-key.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-from.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.join.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/III_psy_xmin.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.match-all.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/VBRQuantize.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.splice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.every.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.from.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-method-is-strict.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.every.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer-native.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.number.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/error-to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/install-error-cause.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/ATH.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.exec.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.date.to-iso-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.parse-float.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array-buffer.slice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-flags.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-sort.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterators-core.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/proxy-accessor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-html-forced.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.function.name.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.for.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/microtask.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/well-known-symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.keys.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-species-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-iteration.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/scanner.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/error-stack-installable.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.last-index-of.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/QuantizePVT.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/freezing.js","webpack://vue-advanced-chat/./src/utils/media-file.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/LameInternalFlags.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-primitive.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.function.bind.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/NsPsy.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://vue-advanced-chat/./node_modules/v-click-outside/dist/v-click-outside.umd.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-pure.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.key-for.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.italics.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.dot-all.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-call.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/classof-raw.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/shared-store.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/clear-error-stack.js","webpack://vue-advanced-chat/(webpack)/buildin/global.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-trim-forced.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.index-of.js","webpack://vue-advanced-chat/./src/utils/constants.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-keys-internal.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.includes.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-built-in.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/document-create-element.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.bold.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.catch.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/promise-resolve.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/set-global.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.float32-array.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/hidden-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/fails.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-built-in.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.find.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/promise-native-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.error.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/set-to-string-tag.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-reduce.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/validate-arguments-length.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.map.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer-non-extensible.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-symbol.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Takehiro.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.error.cause.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.constructor.js","webpack://vue-advanced-chat/./node_modules/emoji-picker-element/database.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/global.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/index.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Quantize.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-method.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Lame.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.description.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/VBRTag.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.substr.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-uncurry-this.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/normalize-string-argument.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-last-index-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/perform.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-array.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.json.stringify.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-integral-number.js","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?28fb","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/MeanBits.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/new-promise-capability.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/internal-metadata.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.reject.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/III_psy_ratio.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-slice.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/GrInfo.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/NewMDCT.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/classof.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/shared-key.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-positive-integer.js","webpack://vue-advanced-chat/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?151c","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsList.vue?1e71","webpack://vue-advanced-chat/./src/components/Loader/Loader.vue?da66","webpack://vue-advanced-chat/src/components/Loader/Loader.vue","webpack://vue-advanced-chat/./src/components/Loader/Loader.vue?11f3","webpack://vue-advanced-chat/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://vue-advanced-chat/./src/components/Loader/Loader.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?66bc","webpack://vue-advanced-chat/./src/components/SvgIcon/SvgIcon.vue?4fe6","webpack://vue-advanced-chat/src/components/SvgIcon/SvgIcon.vue","webpack://vue-advanced-chat/./src/components/SvgIcon/SvgIcon.vue?007a","webpack://vue-advanced-chat/./src/components/SvgIcon/SvgIcon.vue","webpack://vue-advanced-chat/src/lib/RoomsList/RoomsSearch/RoomsSearch.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?6053","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomContent/RoomContent.vue?5f70","webpack://vue-advanced-chat/./src/components/FormatMessage/FormatMessage.vue?d9d1","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://vue-advanced-chat/./src/utils/format-string.js","webpack://vue-advanced-chat/src/components/FormatMessage/FormatMessage.vue","webpack://vue-advanced-chat/./src/components/FormatMessage/FormatMessage.vue?dfa6","webpack://vue-advanced-chat/./src/components/FormatMessage/FormatMessage.vue","webpack://vue-advanced-chat/./src/utils/typing-text.js","webpack://vue-advanced-chat/src/lib/RoomsList/RoomContent/RoomContent.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomContent/RoomContent.vue?f460","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomContent/RoomContent.vue","webpack://vue-advanced-chat/./src/utils/filter-items.js","webpack://vue-advanced-chat/src/lib/RoomsList/RoomsList.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsList.vue?6ac2","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsList.vue","webpack://vue-advanced-chat/./src/lib/Room/Room.vue?f787","webpack://vue-advanced-chat/./src/lib/Room/RoomHeader/RoomHeader.vue?ee7a","webpack://vue-advanced-chat/src/lib/Room/RoomHeader/RoomHeader.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomHeader/RoomHeader.vue?9884","webpack://vue-advanced-chat/./src/lib/Room/RoomHeader/RoomHeader.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFooter.vue?3f75","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://vue-advanced-chat/./node_modules/emoji-picker-element/index.js","webpack://vue-advanced-chat/./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?7679","webpack://vue-advanced-chat/src/components/EmojiPickerContainer/EmojiPickerContainer.vue","webpack://vue-advanced-chat/./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?21ac","webpack://vue-advanced-chat/./src/components/EmojiPickerContainer/EmojiPickerContainer.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?46b9","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?1bad","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?f1d0","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?92f2","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?43e5","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?11b7","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?3327","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?cd7b","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?a4f2","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?802c","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?7bb1","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?5acb","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?83ee","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?1abd","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?1661","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?b6ba","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://vue-advanced-chat/./src/utils/mp3-encoder.js","webpack://vue-advanced-chat/./src/utils/recorder.js","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomFooter.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFooter.vue?fee3","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFooter.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/RoomMessage.vue?7201","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?f505","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageReply/MessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?500a","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?5d92","webpack://vue-advanced-chat/./src/components/ProgressBar/ProgressBar.vue?2284","webpack://vue-advanced-chat/src/components/ProgressBar/ProgressBar.vue","webpack://vue-advanced-chat/./src/components/ProgressBar/ProgressBar.vue?109c","webpack://vue-advanced-chat/./src/components/ProgressBar/ProgressBar.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?4f8d","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?2873","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?6a12","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?dcae","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageActions/MessageActions.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?1688","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?62fe","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?6d63","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/RoomMessage.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/RoomMessage.vue?c0d1","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/RoomMessage.vue","webpack://vue-advanced-chat/src/lib/Room/Room.vue","webpack://vue-advanced-chat/./src/lib/Room/Room.vue?a9c3","webpack://vue-advanced-chat/./src/lib/Room/Room.vue","webpack://vue-advanced-chat/./src/lib/MediaPreview/MediaPreview.vue?ebd3","webpack://vue-advanced-chat/src/lib/MediaPreview/MediaPreview.vue","webpack://vue-advanced-chat/./src/lib/MediaPreview/MediaPreview.vue?eea1","webpack://vue-advanced-chat/./src/lib/MediaPreview/MediaPreview.vue","webpack://vue-advanced-chat/./src/locales/index.js","webpack://vue-advanced-chat/./src/themes/index.js","webpack://vue-advanced-chat/src/lib/ChatWindow.vue","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?24ad","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue","webpack://vue-advanced-chat/./src/lib/index.js","webpack://vue-advanced-chat/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.slice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-indexed-object.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.int8-array.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/dom-iterables.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/ScaleFac.js"],"names":["detectMobile","userAgent","getUserAgent","userAgentPart","substr","test","navigator","vendor","window","opera","Error","_typeof","obj","Symbol","iterator","constructor","prototype","roomsValidation","roomsValidate","key","type","validate","props","every","prop","validType","Array","isArray","find","t","checkObjectValid","partcipantsValidation","participantsValidate","messagesValidation","messagesValidate","Object","hasOwnProperty","call","undefined","checkMediaType","types","file","some","toLowerCase","includes","isImageFile","IMAGE_TYPES","isVideoFile","VIDEO_TYPES","isImageVideoFile","isAudioFile","AUDIO_TYPES","_defineProperty","value","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","name","show","infinite","param","data","svgItem","search","path","add","toggle","menu","close","paperclip","send","emoji","document","pencil","checkmark","eye","dropdown","deleted","microphone","size","path2","computed","svgId","components","SvgIcon","textMessages","required","showSearch","showAddRoom","rooms","loadingRooms","emits","showSearchBar","_arrayLikeToArray","arr","len","arr2","_arrayWithoutHoles","arrayLikeToArray","_iterableToArray","iter","from","_unsupportedIterableToArray","o","minLen","n","toString","slice","_nonIterableSpread","TypeError","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","linkify","require","text","doLinkify","textFormatting","typeMarkdown","bold","italic","strike","underline","multilineCode","inlineCode","pseudoMarkdown","end","allowed_chars","json","compileToJSON","html","compileToHTML","result","concat","linkifyResult","str","minIndexOf","minIndexOfKey","links","minIndexFromLink","indexOf","startingValue","io","strLeft","strLink","strRight","char","replace","match","RegExp","start","content","item","parseContent","iterateContent","it","removeDuplicates","items","Set","array","spaces","href","users","singleLine","reply","linkOptions","linkifiedMessage","message","m","formattedContent","methods","checkType","checkImageType","index","setImageSize","image","formatTags","usertags","initialContent","openTag","replaceEmojiByElement","emojiSize","containsOnlyEmojis","room","currentUserId","typingUsers","user","_id","status","state","IS_TYPING","map","username","join","FormatMessage","directives","clickOutside","roomActions","roomMenuOpened","getLastMessage","userStatus","isMessageCheckmarkVisible","formattedDuration","isAudio","roomActionHandler","action","roomId","closeRoomMenu","val","startsWith","v","formatString","string","normalize","Loader","RoomsSearch","RoomContent","showRoomsList","isMobile","roomsLoaded","scrollDistance","filteredRooms","observer","showLoader","loadingMoreRooms","selectedRoomId","watch","deep","handler","newVal","oldVal","setTimeout","immediate","initIntersectionObserver","root","rootMargin","threshold","options","searchRoom","ev","openRoom","loadMoreRooms","singleRoom","roomInfoEnabled","menuActions","messageSelectionEnabled","messageSelectionActions","selectedMessagesTotal","menuOpened","messageSelectionAnimationEnded","menuActionHandler","closeMenu","messageSelectionActionHandler","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","err","emojiOpened","emojiReaction","positionTop","positionRight","emojiPickerHeight","emojiPickerTop","emojiPickerRight","unicode","addCustomStyling","style","openEmoji","setEmojiPickerPosition","clientY","innerWidth","innerHeight","roomFooterTop","isImage","isVideo","RoomFile","files","footerHeight","percentage","isMouseDown","onMouseDown","onMouseUp","onMouseMove","calculateLineHeadPosition","element","pos","AudioControl","messageId","src","isPlaying","duration","playedTime","progress","playerUniqId","audioSource","mounted","convertTimeMMSS","seconds","playback","resetProgress","onTimeUpdate","onUpdateProgress","updateProgressTime","AudioPlayer","messageReply","firstFile","isOtherFile","filteredUsersTag","selectItem","activeUpOrDown","activeItem","filteredEmojis","filteredTemplatesText","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","lamejs","_","missing","Mp3Encoder","config","bitRate","sampleRate","dataBuffer","encoder","arrayBuffer","maxSamples","samples","_convertBuffer","remaining","left","subarray","buffer","encodeBuffer","Int8Array","flush","blob","Blob","id","Date","now","url","URL","createObjectURL","input","output","s","Math","max","min","Float32Array","out","Int16Array","_floatTo16BitPCM","beforeRecording","pauseRecording","afterRecording","micFailed","encoderOptions","bufferSize","records","isPause","isRecording","volume","_duration","constraints","video","audio","channelCount","echoCancellation","mediaDevices","getUserMedia","_micCaptured","bind","_micError","lameEncoder","stream","getTracks","track","stop","disconnect","processor","context","record","finish","AudioContext","webkitAudioContext","createMediaStreamSource","createScriptProcessor","onaudioprocess","sample","inputBuffer","getChannelData","sum","encode","parseFloat","currentTime","toFixed","sqrt","connect","destination","EmojiPickerContainer","RoomFiles","RoomMessageReply","RoomUsersTag","RoomEmojis","RoomTemplatesText","roomMessage","showSendIcon","showFiles","showAudio","showEmojis","showFooter","acceptedFiles","textareaActionEnabled","userTagsEnabled","emojisSuggestionEnabled","templatesText","audioBitRate","audioSampleRate","initReplyMessage","initEditMessage","editedMessage","cursorRangePosition","fileDialog","selectUsersTagItem","selectEmojiItem","selectTemplatesTextItem","format","activeUpOrDownEmojis","activeUpOrDownUsersTag","activeUpOrDownTemplatesText","emojisDB","keepKeyboardOpen","selectedUsersTag","recorder","isMessageEmpty","isFileLoading","recordedTime","shadowFooter","beforeDestroy","getTextareaRef","focusTextarea","disableMobileFocus","onChangeInput","resizeTextarea","getComputedStyle","el","getPropertyValue","escapeTextarea","onPasteImage","pasteEvent","updateActiveUpOrDown","direction","selectEmoji","selectTemplateText","template","space","position","addEmoji","launchFilePicker","onFileChange","fileURL","typeIndex","loading","extension","localUrl","fetch","blobFile","loadedFile","removeFile","toggleRecorder","recording","stopRecorder","textareaActionHandler","sendMessage","newContent","replyMessage","usersTag","editMessage","messageContent","firstTag","userId","secondTag","updateFooterLists","updateFooterList","tagChar","updateShowUsersTag","query","selectUserTag","updateShowTemplatesText","getCharPosition","endPosition","updateEmojis","emojis","resetFooterList","resetMessage","resetTextareaSize","preventKeyboardFromClosing","initRecorder","roomUsers","replyUsername","radius","stroke","normalizedRadius","circumference","strokeDashoffset","ProgressBar","imageResponsive","imageLoading","imageHover","isImageLoading","maxHeight","loaderTop","checkImgLoad","openFile","event","MessageFile","imageVideoFiles","otherFiles","messageActions","showReactionEmojis","messageHover","hoverMessageId","hoverAudioProgress","menuOptionsTop","optionsOpened","optionsClosing","isMessageActions","isMessageReactions","filteredMessageActions","openOptions","closeOptions","closeEmoji","updateMessageHover","messageActionHandler","sendMessageReaction","reaction","MessageReply","MessageFiles","MessageActions","MessageReactions","messages","editedMessageId","newMessages","showNewMessagesDivider","usernameOptions","selectedMessages","newMessage","progressTime","showUsername","showDate","messageOffset","isMessageHover","isCheckmarkVisible","hasCurrentUserAvatar","hasSenderUserAvatar","isMessageSelected","ref","onHoverMessage","canEditMessage","onLeaveMessage","resetMessageHover","openUserTag","remove","selectMessage","RoomHeader","RoomFooter","RoomMessage","loadFirstRoom","messagesLoaded","autoScroll","infiniteState","loadingMessages","loadingMoreMessages","scrollIcon","scrollMessagesCount","showNoMessages","showNoRoom","showMessagesStarted","preventTopScroll","top","touchStart","touchEvent","addEventListener","once","touchEnd","posXStart","posYStart","onRoomChanged","unwatch","resetMessageSelection","unselectMessage","onMessageAdded","onContainerScroll","e","loadMoreMessages","messageReaction","getBottomScroll","scrollToBottom","behavior","closeModal","ROOMS_EMPTY","ROOM_EMPTY","NEW_MESSAGES","MESSAGE_DELETED","MESSAGES_EMPTY","CONVERSATION_STARTED","TYPE_MESSAGE","SEARCH","IS_ONLINE","LAST_SEEN","CANCEL_SELECT_MESSAGE","defaultThemeStyles","light","general","color","colorButtonClear","colorButton","backgroundColorButton","backgroundInput","colorPlaceholder","colorCaret","colorSpinner","borderStyle","backgroundScrollIcon","container","border","borderRadius","boxShadow","header","background","colorRoomName","colorRoomInfo","footer","borderStyleInput","borderInputSelected","backgroundReply","backgroundTagActive","backgroundTag","sidemenu","backgroundHover","backgroundActive","colorActive","borderColorSearch","backgroundMe","colorStarted","backgroundDeleted","backgroundSelected","colorDeleted","colorUsername","colorTimestamp","backgroundDate","colorDate","backgroundSystem","colorSystem","backgroundMedia","colorReplyUsername","colorReply","colorTag","backgroundImage","colorNewMessages","backgroundScrollCounter","colorScrollCounter","backgroundReaction","borderStyleReaction","backgroundReactionHover","borderStyleReactionHover","colorReactionCounter","backgroundReactionMe","borderStyleReactionMe","backgroundReactionHoverMe","borderStyleReactionHoverMe","colorReactionCounterMe","backgroundAudioRecord","backgroundAudioLine","backgroundAudioProgress","backgroundAudioProgressSelector","colorFileExtension","markdown","colorMulti","colorMessage","colorStateOnline","colorStateOffline","backgroundCounterBadge","colorCounterBadge","icons","closeImage","closeOutline","closePreview","sendDisabled","checkmarkSeen","dropdownMessage","dropdownMessageBackground","dropdownRoom","dropdownScroll","audioPlay","audioPause","audioCancel","audioConfirm","dark","cssThemeVars","RoomsList","Room","MediaPreview","height","theme","styles","responsiveBreakpoint","roomsListOpened","roomsOrder","title","onlyMe","newAfterScrollUp","receive","disabled","rel","mediaPreviewEnabled","minUsers","currentUser","showMediaPreview","previewFile","locales","cssVars","customStyles","defaultStyles","orderedRooms","created","updateResponsive","toggleRoomsList","opened","fetchRoom","reset","fetchMoreRooms","roomInfo","addRoom","fetchMessages","deleteMessage","openFailedMessage","typingMessage","ChatWindow","Vue","component"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFa;AACb;AACA,mBAAO,CAAC,MAA2B;AACnC,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG,4DAA4D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnCD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;;AAEA;;AAEA;;;;;;;;ACPA,uC;;;;;;;ACAA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,KAAK;AACL,+BAA+B,aAAa;AAC5C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/JA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,kBAAkB,mBAAO,CAAC,MAAmC;;AAE7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,MAAgC;;AAExD;;AAEA;;;;;;;;;ACJa;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAAmC;;AAE7D;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA,cAAc,mBAAO,CAAC,MAA0B;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,2BAA2B,mBAAO,CAAC,MAA4C;AAC/E,iBAAiB,mBAAO,CAAC,MAAiC;;AAE1D;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,WAAW,mBAAO,CAAC,MAA4B;AAC/C,iCAAiC,mBAAO,CAAC,MAA4C;AACrF,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,aAAa,mBAAO,CAAC,MAA+B;AACpD,qBAAqB,mBAAO,CAAC,MAA6B;;AAE1D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;;;;;;;;ACrBA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACtBA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA,yCAAyC,IAAI;AAC7C,kDAAkD,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AC3CA;AACA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAA4B;AAClD,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;AAEA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,oBAAoB,mBAAO,CAAC,MAAsC;;AAElE;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,GAAG;AACH,CAAC;;;;;;;;ACVD;AACA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,oBAAoB,mBAAO,CAAC,MAA8B;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AClBA,YAAY,mBAAO,CAAC,MAAoB;AACxC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACjCD,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACVA,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;;AAEA;AACA;AACA;AAC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AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA,UAAU,MAAM;AAChB;AACA,WAAW,MAAM;AACjB;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA,wBAAwB;AACxB,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,UAAU,MAAM;AAChB,UAAU,MAAM;AAChB,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB,UAAU,cAAc;AACxB,WAAW;AACX;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA,UAAU,UAAU;AACpB,UAAU,MAAM;AAChB,WAAW;AACX;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,SAAS,OAAO;AAChB,SAAS,eAAe;AACxB,SAAS,MAAM;AACf;AACA,SAAS,MAAM;AACf;AACA,UAAU,MAAM;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4B;;;;;;;;AChPa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBA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rC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,6BAA6B,mBAAO,CAAC,MAAiC;;AAEtE;AACA;AACA,GAAG,0EAA0E;AAC7E;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;AACA;;AAEA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;;;;;;;;ACXA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;;AAGA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,MAAU;AAC5B,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;;AAEA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD,oCAAoC,YAAY;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,sBAAsB;AAC9C,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sBAAsB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sBAAsB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,0BAA0B;AAClD,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA,2BAA2B,8BAA8B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;;AAEA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;;AAEA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA,+BAA+B,8BAA8B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,OAAO;AAClC;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA,gCAAgC;AAChC,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB,wBAAwB;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,YAAY;AAC5C,iCAAiC,iBAAiB;AAClD;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,iBAAiB;AAC9C;;AAEA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA,wCAAwC,YAAY;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wCAAwC,YAAY;AACpD;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;;AAEA;;AAEA,wBAAwB;AACxB,iCAAiC;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,WAAW;AAClC;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW;AAClC,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;;AAEA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,WAAW;AAClC,iCAAiC,kBAAkB;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,gCAAgC,sBAAsB;AACtD;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,UAAU,GAAG;AACtD;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACj1Fa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,eAAe,mBAAO,CAAC,MAA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A;AACA;AACA,CAAC;;;;;;;;ACnCD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAA6B;;AAEvD;AACA;AACA,GAAG,uEAAuE;AAC1E;AACA,CAAC;;;;;;;;ACRD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAA6B;AACjD,WAAW,mBAAO,CAAC,MAAoC;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,aAAa,mBAAO,CAAC,MAA+B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,WAAW,mBAAO,CAAC,MAAmB;AACtC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAAsC;AAClE,8BAA8B,mBAAO,CAAC,MAAwC;AAC9E,aAAa,mBAAO,CAAC,MAA4B;AACjD,cAAc,mBAAO,CAAC,MAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,gBAAgB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACnHA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,gBAAgB,mBAAO,CAAC,MAAgC;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAuB;;AAE5C,eAAe,mBAAO,CAAC,MAAyB;;AAEhD;;AAEA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA,cAAc,mBAAO,CAAC,MAAuB;;AAE7C;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS,OAAO;AAChB,UAAU,MAAM;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,mBAAmB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4B;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,yDAAyD;AACzD;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;;AAEA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACviBa;;AAEb;;AAEA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,wBAAwB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;AC9Ha;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,YAAY,mBAAO,CAAC,MAA6B;AACjD,mBAAmB,mBAAO,CAAC,MAAkC;;AAE7D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACbD,iBAAiB,mBAAO,CAAC,MAA2B;;AAEpD;;;;;;;;;ACFa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA4B;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iCAAiC,mBAAO,CAAC,MAAqC;AAC9E,cAAc,mBAAO,CAAC,MAAsB;AAC5C,cAAc,mBAAO,CAAC,MAAsB;AAC5C,0CAA0C,mBAAO,CAAC,MAAkD;;AAEpG;AACA;AACA,GAAG,6EAA6E;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;ACzBD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,8BAA8B,mBAAO,CAAC,MAAsC;AAC5E,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG,4DAA4D;AAC/D;AACA,CAAC;;;;;;;;ACjhCD,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;;;;;;;ACJA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA,CAAC;;;;;;;;;ACPY;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAS;;AAE9B,aAAa,mBAAO,CAAC,MAAgB;;AAErC;;AAEA,YAAY,mBAAO,CAAC,MAAe;;AAEnC,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,2BAA2B;AAC3B,mCAAmC;AACnC,yCAAyC;AACzC,2BAA2B;AAC3B,+BAA+B;AAC/B,kCAAkC;AAClC,8BAA8B;AAC9B,uCAAuC;AACvC,kCAAkC;AAClC,sCAAsC;AACtC,kCAAkC;AAClC,oCAAoC;AACpC,yCAAyC;AACzC,kCAAkC;AAClC,8CAA8C,qBAAqB;AACnE,gDAAgD;AAChD,qDAAqD;AACrD,8CAA8C;AAC9C,uCAAuC;AACvC,yCAAyC;AACzC,8CAA8C;AAC9C,uCAAuC;AACvC,iCAAiC;AACjC,qCAAqC;AACrC,sCAAsC;AACtC,gCAAgC;AAChC,2CAA2C;AAC3C,mDAAmD;AACnD,+CAA+C;AAC/C,8BAA8B;AAC9B,iCAAiC;AACjC,kCAAkC;AAClC,gCAAgC;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qCAAqC,YAAY;AACjD;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wB;;;;;;;;AC9Ra;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,cAAc,mBAAO,CAAC,MAA6B;;AAEnD;AACA;AACA;AACA,GAAG,8DAA8D;AACjE;AACA,CAAC;;;;;;;;ACTD,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;;;;;;;ACFA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAAC,MAA0B;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;ACfD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,aAAa,mBAAO,CAAC,MAA4B;AACjD,2BAA2B,mBAAO,CAAC,MAAqC;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAA0B;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACXa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA8B;AAClD,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;;AAEA;AACA;AACA,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA,CAAC;;;;;;;;;ACbY;AACb,WAAW,mBAAO,CAAC,MAA4B;AAC/C,oCAAoC,mBAAO,CAAC,MAAiD;AAC7F,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,iBAAiB,mBAAO,CAAC,MAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;AC9CY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4C;;;;;;;ACXA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAAgC;AACzD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,iBAAiB,mBAAO,CAAC,MAAgC;;AAEzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,YAAY,EAAE;AAC/E;AACA,sBAAsB,cAAc,eAAe,cAAc;AACjE;AACA;AACA;AACA,0CAA0C,cAAc;AACxD;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA,mBAAO,CAAC,MAA6B;AACrC,mBAAO,CAAC,MAA4B;;;;;;;;ACFpC,eAAe,mBAAO,CAAC,MAAwB;AAC/C,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA,iBAAiB,mBAAO,CAAC,MAAgC;AACzD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACZY;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA0B;AAC9C,6BAA6B,mBAAO,CAAC,MAAiC;;AAEtE;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,MAAe;AACtC,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;AAClC,wBAAwB,mBAAO,CAAC,MAAwB;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,kBAAkB;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;;;;;;;;AC3FA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,mBAAO,CAAC,MAAc;AACxC,wBAAwB,mBAAO,CAAC,MAAoB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,aAAa;AACb,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA,gDAAgD;AAChD;AACA,mDAAmD;AACnD;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA,iBAAiB;AACjB,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mCAAmC;AACjE;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,kBAAkB;;AAE1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;;AAEA;AAC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,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,oBAAoB,mBAAO,CAAC,MAAoC;AAChE,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAA+B;AACpD,2BAA2B,mBAAO,CAAC,MAA6B;AAChE,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,0BAA0B,mBAAO,CAAC,MAAyC;AAC3E,sBAAsB,mBAAO,CAAC,MAAqC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK,gBAAgB;;AAErB;AACA;;AAEA,+DAA+D,qBAAqB;AACpF;AACA;;AAE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A;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,8DAA8D;AAC1F;AACA,KAAK;AACL,0BAA0B,0CAA0C;AACpE;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gDAAgD;AACzE;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA,qFAAqF,kBAAkB;;AAEvG;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;;AAEA,GAAG,wCAAwC;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA,OAAO,kEAAkE;AACzE;AACA,8FAA8F;AAC9F;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,kGAAkG;AAClG;;AAEA;AACA;;AAEA,OAAO,gDAAgD;AACvD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACvYA,cAAc,mBAAO,CAAC,MAAsB;AAC5C,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gCAAgC,mBAAO,CAAC,MAA4C;AACpF,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;;;;;;;;ACRA,WAAW,mBAAO,CAAC,MAA4B;AAC/C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,oBAAoB,mBAAO,CAAC,MAA8B;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG,WAAW;AACnB;AACA;;;;;;;;ACnBA;AACA;AACA;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;AACA;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxSA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACTA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,oBAAoB,mBAAO,CAAC,MAA4B;AACxD,YAAY,mBAAO,CAAC,MAAoB;AACxC,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA,kDAAkD,kCAAkC,EAAE;;AAEtF;AACA;AACA,GAAG,+CAA+C;AAClD;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACjBY;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,sBAAsB,mBAAO,CAAC,MAA+B;AAC7D,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,gCAAgC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACtED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAA+B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,cAAc;AAC5D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AChBa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,cAAc,mBAAO,CAAC,MAAsB;AAC5C,cAAc,mBAAO,CAAC,MAA6B;AACnD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,yBAAyB,mBAAO,CAAC,MAAkC;AACnE,WAAW,mBAAO,CAAC,MAAmB;AACtC,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,uBAAuB,mBAAO,CAAC,MAAiC;AAChE,cAAc,mBAAO,CAAC,MAAsB;AAC5C,YAAY,mBAAO,CAAC,MAAoB;AACxC,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,kCAAkC,mBAAO,CAAC,MAA4C;AACtF,iCAAiC,mBAAO,CAAC,MAAqC;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,GAAG,eAAe;AACzB;;AAEA;AACA;AACA;AACA,KAAK,gBAAgB;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG,+DAA+D;AAClE;AACA,CAAC;;AAED;AACA;;;;;;;;AC/RA,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,iCAAiC,mBAAO,CAAC,MAA4C;;AAErF;AACA,sEAAsE,cAAc;AACpF,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACjgBa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACZY;AACb;AACA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mCAAmC;AACnC,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,OAAO;AACP,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;;;;;;;;ACrLA,cAAc,mBAAO,CAAC,MAA0B;AAChD,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;;;;;;;ACHA;AACA,mBAAO,CAAC,MAA+B;;;;;;;;ACDvC;;;;;;;;;ACAa;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,oFAAoF,iBAAiB;AACrG;AACA;AACA,oFAAoF,iBAAiB;;;;;;;;;AC7CxF;AACb,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,WAAW,mBAAO,CAAC,MAA4B;AAC/C,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,iCAAiC,mBAAO,CAAC,MAA4C;AACrF,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B,OAAO,2BAA2B;AAChE;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,IAAI,OAAO;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAc,EAAE;AAC7D,mBAAmB,0CAA0C;AAC7D,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;ACxDY;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,0BAA0B,mBAAO,CAAC,MAAkC;AACpE,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,cAAc,mBAAO,CAAC,MAAsB;AAC5C,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAAiC;AAC1D,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+CAA+C,mBAAmB,oCAAoC,EAAE,EAAE;AAC1G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uEAAuE,iBAAiB;AACxF;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACtPa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,YAAY,mBAAO,CAAC,MAA8B;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACXY;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,eAAe,mBAAO,CAAC,MAAyB;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACxCD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnCa;AACb,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,aAAa,mBAAO,CAAC,MAA4B;AACjD,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,WAAW,mBAAO,CAAC,MAAoC;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,cAAc,mBAAO,CAAC,MAAgC;AACtD,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,iEAAiE,iCAAiC;AAClG,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;;AAEA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,SAAS,WAAW,YAAY,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL,SAAS,WAAW;AACpB;AACA;AACA;AACA;AACA;;;;;;;;AC3MA,8BAA8B,mBAAO,CAAC,MAAwC;;AAE9E;AACA;AACA;AACA;AACA;;;;;;;;ACNA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD,wBAAwB;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,eAAe,EAAE;AAC1D;AACA,CAAC;;;;;;;;ACnDD,oBAAoB,mBAAO,CAAC,MAA8B;;AAE1D;AACA;AACA;AACA;;;;;;;;ACLA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,MAAe;AACtC,aAAa,mBAAO,CAAC,MAAa;AAClC,cAAc,mBAAO,CAAC,MAAc;AACpC,wBAAwB,mBAAO,CAAC,MAAwB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;AACA;;AAEA,cAAc,oBAAoB;AAClC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB,uBAAuB;AAC/C;AACA,8BAA8B,UAAU;AACxC;AACA;AACA;;AAEA,wBAAwB,QAAQ;AAChC,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iDAAiD,OAAO;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,QAAQ;AAChC,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,0BAA0B,mBAAmB;AAC7C;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,sCAAsC;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,iBAAiB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,iBAAiB;AAC5D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;;AAEA;;;;;;;;ACjgCA,sBAAsB,mBAAO,CAAC,MAA8B;AAC5D,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,aAAa,mBAAO,CAAC,MAA+B;AACpD,aAAa,mBAAO,CAAC,MAA2B;AAChD,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpEa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,6BAA6B,mBAAO,CAAC,MAAgC;AACrE,cAAc,mBAAO,CAAC,MAAsB;AAC5C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,wBAAwB,mBAAO,CAAC,MAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qDAAqD;AACrD;AACA,kDAAkD,iBAAiB,EAAE;AACrE;AACA;AACA,4EAA4E,iCAAiC,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,mEAAmE,iCAAiC;AACpG;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,yDAAyD;;AAE9D;;AAEA;;AAEA;AACA;;;;;;;;ACxGA;AACA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;;AAEA;AACA;AACA,GAAG,6BAA6B;AAChC;AACA;AACA;AACA,CAAC;;;;;;;;ACdD,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,4BAA4B,mBAAO,CAAC,MAA4C;;AAEhF;AACA;;AAEA,YAAY,kBAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnCa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,iCAAiC,mBAAO,CAAC,MAA4C;AACrF,qBAAqB,mBAAO,CAAC,MAA8B;;AAE3D;AACA;;AAEA;AACA;AACA,GAAG,+EAA+E;AAClF;AACA;AACA;AACA,CAAC;;;;;;;;ACjBD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjBA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAO,CAAC,MAAmB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC1DA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;AACb,6BAA6B,mBAAO,CAAC,MAAqC;AAC1E,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;AACA;;AAEA,uBAAuB,sBAAsB,EAAE,EAAE;AACjD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;ACrBa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,WAAW,mBAAO,CAAC,MAA4B;AAC/C,YAAY,mBAAO,CAAC,MAAyB;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnBD;AACA;;;;;;;;ACDA,WAAW,mBAAO,CAAC,MAAmB;AACtC,aAAa,mBAAO,CAAC,MAA+B;AACpD,mCAAmC,mBAAO,CAAC,MAAwC;AACnF,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA,+CAA+C;AAC/C;AACA;AACA,GAAG;AACH;;;;;;;;;ACVa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,kDAAkD,mBAAO,CAAC,MAAwD;AAClH,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,wBAAwB,mBAAO,CAAC,MAA2B;AAC3D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,uBAAuB,mBAAO,CAAC,MAAiC;AAChE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,aAAa,mBAAO,CAAC,MAA+B;AACpD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA4B;AACjD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,cAAc,mBAAO,CAAC,MAA8B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,wBAAwB,mBAAO,CAAC,MAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,mEAAmE;AACxE;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC,oCAAoC;;;;;;;;ACjPrC,iBAAiB,mBAAO,CAAC,MAAe;;;;;;;;;ACA3B;;AAEb;AACA;;AAEA,wBAAwB,mBAAO,CAAC,MAAsB;;AAEtD,aAAa,mBAAO,CAAC,MAAmB;;AAExC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,WAAW;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC;AAChC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8B;;;;;;;AC3MA;AACA,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA,4BAA4B,mBAAO,CAAC,MAAsC;;AAE1E;AACA;;AAEA;;;;;;;;ACNA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA;AACA;AACA,GAAG,qGAAqG;AACxG;AACA,CAAC;;;;;;;;ACTD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,WAAW,mBAAO,CAAC,MAAmB;AACtC,4BAA4B,mBAAO,CAAC,MAAsC;AAC1E,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;AClFa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA8B;AAClD,uBAAuB,mBAAO,CAAC,MAAiC;;AAEhE;AACA;;AAEA;AACA,4CAA4C,qBAAqB,EAAE;;AAEnE;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;;ACpBa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA4B;AAC/C,cAAc,mBAAO,CAAC,MAAsB;AAC5C,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,4CAA4C;AACrF,6CAA6C,4CAA4C;AACzF,+CAA+C,4CAA4C;AAC3F,KAAK,qBAAqB,sCAAsC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,qBAAqB;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA,2CAA2C,mCAAmC;AAC9E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,qFAAqF;AACnG;;AAEA;AACA;AACA,iEAAiE,gBAAgB;AACjF;AACA;;AAEA;AACA;;;;;;;;AClGA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,WAAW,mBAAO,CAAC,MAA0B;AAC7C,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gCAAgC,EAAE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACrBD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;;AAEA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;;AAEA,uBAAuB,2BAA2B;AAClD;AACA;;AAEA;;AAEA;;AAEA;;;;;;;;;ACrPa;AACb,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,wBAAwB,mBAAO,CAAC,MAAmC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACVa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,gBAAgB,mBAAO,CAAC,MAA6B;;AAErD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA,iCAAiC,MAAM,mBAAmB,UAAU,EAAE,EAAE;AACxE,CAAC;;;;;;;;;ACNY;AACb,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,WAAW,mBAAO,CAAC,MAA4B;AAC/C,oCAAoC,mBAAO,CAAC,MAAiD;AAC7F,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACpCD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6FAA6F;AAC7F;AACA;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;;;;;;;;;ACJA;AAAA;AAAqC;;AAErC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+CAA+C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;;AAEjD;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,YAAY;AAClC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,kDAAkD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,OAAO,aAAa;;AAEpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,uBAAuB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,+BAA+B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY,+BAA+B;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,gBAAgB;AACtB,MAAM,OAAO;AACb,MAAM,WAAW;AACjB,MAAM,cAAc;AACpB,MAAM,wBAAwB;;AAE9B;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,aAAa;AACb;AACA,kDAAkD;AAClD;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,8BAA8B;AAC9B;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,4BAA4B;AAC5B,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD,wCAAwC;AAC3F;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAuB;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD;AACzD,uCAAuC;AACvC;AACA,GAAG;AACH;;AAEA;AACA;AACA,iEAAiE,SAAS;AAC1E;;AAEA;AACA,iDAAiD;AACjD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB,UAAU;AACnC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,cAAc;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD,4BAA4B;AAC5B,GAAG;AACH;;AAEA;AACA;AACA,SAAS,SAAS;;AAElB;AACA;AACA;;AAEA;AACA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS;;AAElB;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,iCAAiC,WAAW;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,gBAAgB;;AAEzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C,MAAM;AACN;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,kBAAkB,iB;AAClB,yBAAyB,oB;AACzB,qBAAqB,gBAAgB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uEAAuE,SAAS;AAChF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uKAAuK;AACvK;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mJAAmJ;;AAEnJ;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,4BAA4B,gBAAgB;AAC5C,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,KAAsC,EAAE,EAK3C;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sCAAsC;AACrD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2EAA2E,mBAAmB;AAC9F;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE,OAAO;AACP,OAAO;AACP;AACA,KAAK;AACL,oEAAoE;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA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;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;AC9ED,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACba;AACb,aAAa,mBAAO,CAAC,MAA+B;;AAEpD;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,gCAAgC,mBAAO,CAAC,MAAqC;;AAE7E;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;;;;;;;ACrBD,kCAAkC,mBAAO,CAAC,MAAsC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACzFa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AChBD,WAAW,mBAAO,CAAC,MAA4B;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,kBAAkB,mBAAO,CAAC,MAA2B;;AAErD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACRA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;ACTa;AACb;AACA;AACA,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,oBAAoB,mBAAO,CAAC,MAAoC;AAChE,aAAa,mBAAO,CAAC,MAAqB;AAC1C,aAAa,mBAAO,CAAC,MAA4B;AACjD,uBAAuB,mBAAO,CAAC,MAA6B;AAC5D,0BAA0B,mBAAO,CAAC,MAAyC;AAC3E,sBAAsB,mBAAO,CAAC,MAAqC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACpHA,eAAe,mBAAO,CAAC,MAAe;;AAEtC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5QA,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,SAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACjvBA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;;AAGA;AACA;AACA;AACA;;AAEA;;;;;;;;ACVA;AACA,mBAAO,CAAC,MAA8C;;;;;;;;;ACDzC;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAAC,MAAuB;AAC7C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAAgC;;AAEzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA4B;AACjD,8BAA8B,mBAAO,CAAC,MAAwC;;AAE9E;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,WAAW;AAC3D;AACA,KAAK,EAAE;AACP;AACA;AACA;AACA,mCAAmC,sBAAsB;AACzD;AACA,kCAAkC;AAClC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC7BD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,iBAAiB;AACtB,GAAG;AACH;;;;;;;;ACdA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC9Ea;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA0B;;AAE7C;AACA;AACA,GAAG,2DAA2D;AAC9D;AACA,CAAC;;;;;;;;ACRD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAiC;;AAE3D;AACA;AACA;AACA,GAAG,kFAAkF;AACrF;AACA,CAAC;;;;;;;;ACRD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAiC;;AAE3D;AAC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AC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAA4B;AAClD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe;AACf,CAAC;;AAED;AACA;AACA,GAAG,gDAAgD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnID,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,yBAAyB,mBAAO,CAAC,MAAkC;;AAEnE;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,WAAW,mBAAO,CAAC,MAAoC;AACvD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,yBAAyB,mBAAO,CAAC,MAAmC;;AAEpE;;AAEA,qBAAqB,mEAAmE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B,+BAA+B;AAC/B,sCAAsC;AACtC,SAAS;AACT,+BAA+B;AAC/B,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACxEa;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAS;;AAE9B,YAAY,mBAAO,CAAC,MAAe;;AAEnC;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q,onUAAonU;;AAEpnU;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2EAA2E;;AAE3E,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;;AAEA;AACA,4QAA4Q,yJAAyJ,uMAAuM;;AAE5mB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,4CAA4C;;AAE5C;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE;;AAEzE;;AAEA;AACA,gBAAgB,0BAA0B;AAC1C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS,OAAO;AAChB,UAAU,MAAM;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,iBAAiB;;AAEjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sB;;;;;;;ACnLA,YAAY,mBAAO,CAAC,MAAoB;AACxC,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAkC;;AAE5D;AACA;AACA;AACA,GAAG,uEAAuE;AAC1E;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;AACpC,eAAe,mBAAO,CAAC,MAAe;AACtC,wBAAwB,mBAAO,CAAC,MAAwB;;AAExD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,uBAAuB,kBAAkB;AACzC;;AAEA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;;AAEA,uBAAuB,WAAW;AAClC;AACA,uBAAuB,qBAAqB;AAC5C;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;;AAEA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;;AAEA,8BAA8B,uBAAuB;AACrD;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sBAAsB,0BAA0B;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,wBAAwB;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yCAAyC,uBAAuB;AAChE;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC5gCA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA,wDAAwD;AACxD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLD;;AAEA,SAASC,cAAT,CAAwBC,KAAxB,EAA+BC,IAA/B,EAAqC;EACpC,IAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACrB,IAAnB,EAAyB;EACzB,OAAOoB,KAAK,CAACE,IAAN,CAAW,UAAAb,CAAC;IAAA,OAAIY,IAAI,CAACrB,IAAL,CAAUuB,WAAV,GAAwBC,QAAxB,CAAiCf,CAAjC,CAAJ;EAAA,CAAZ,CAAP;AACA;;AAEM,SAASgB,WAAT,CAAqBJ,IAArB,EAA2B;EACjC,OAAOF,cAAc,CAACO,8DAAD,EAAcL,IAAd,CAArB;AACA;AAEM,SAASM,WAAT,CAAqBN,IAArB,EAA2B;EACjC,OAAOF,cAAc,CAACS,8DAAD,EAAcP,IAAd,CAArB;AACA;AAEM,SAASQ,gBAAT,CAA0BR,IAA1B,EAAgC;EACtC,OAAOF,cAAc,CAACO,8DAAD,EAAcL,IAAd,CAAd,IAAqCF,cAAc,CAACS,8DAAD,EAAcP,IAAd,CAA1D;AACA;AAEM,SAASS,WAAT,CAAqBT,IAArB,EAA2B;EACjC,OAAOF,cAAc,CAACY,8DAAD,EAAcV,IAAd,CAArB;AACA,C;;;;;;;ACrBD,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,YAAY,mBAAO,CAAC,MAAY;AAChC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;;;AAGlC;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;;AAEA;;AAEA;;;;;;;;;ACrYa;;AAEb;AACA;;AAEA,wBAAwB,mBAAO,CAAC,MAAsB;;AAEtD,aAAa,mBAAO,CAAC,MAAmB;;AAExC,YAAY,mBAAO,CAAC,MAAQ;;AAE5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,wFAAwF,eAAe;;AAEvG;AACA;AACA;AACA;AACA;AACA,sFAAsF,aAAa;;AAEnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,mBAAmB;AAC3B;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,kB;;;;;;;AC3MA,aAAa,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CAAmC,mBAAO,CAAC,MAA+C;;AAE1F;;AAEA;AACA;AACA;AACA,GAAG,6DAA6D;AAChE;AACA;AACA;AACA,CAAC;;;;;;;;ACdD;AACA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA,yEAAyE,WAAW;AACpF;AACA,CAAC;;;;;;;;ACTD,SAAS,mBAAO,CAAC,MAAgC;;AAEjD;;;;;;;;ACFA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,wBAAwB,mBAAO,CAAC,MAAgC;;AAEhE;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;AAClC,aAAa,mBAAO,CAAC,MAAa;AAClC,kBAAkB,mBAAO,CAAC,MAAkB;;;AAG5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB,eAAe;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,cAAc;AACtC;AACA;;AAEA,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,QAAQ;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,cAAc,0BAA0B;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB,kCAAkC;AACzD,4CAA4C,gCAAgC;AAC5E;AACA;AACA;AACA;AACA;AACA,gDAAgD,gCAAgC;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,UAAU;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;;AAEA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,uBAAuB;AACjD;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;;AAEA;AACA;AACA,kCAAkC,uBAAuB;AACzD;AACA;AACA;AACA;;AAEA,qBAAqB,0BAA0B;AAC/C;AACA;;AAEA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA,wCAAwC,eAAe;AACvD;AACA,2BAA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nD,sBAAsB,yCAAyC,WAAW,IAAI;AAC9E,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA,KAAK;AACL;AACA,mDAAmD,iDAAiD;AACpG,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,kCAAkC;AAChH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qFAAqF,eAAe;AACpG;AACA;AACA;;AAEA,GAAG,yEAAyE;AAC5E;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,GAAG,qDAAqD;AACxD,0BAA0B,mBAAmB,EAAE;AAC/C,0BAA0B,oBAAoB;AAC9C,CAAC;;AAED,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;AC3PA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,UAAU;AAC9C;AACA;AACA;AACA,+CAA+C,aAAa;AAC5D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gEAAgE,wBAAwB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,8EAA8E;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mCAAmC;AACrE;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,iBAAiB;AAC7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,8EAA8E,KAAK;AACnG;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK,OAAO;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB;AACA,6BAA6B;AAC7B,KAAK,cAAc;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAE+B;;;;;;;;AC38B/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa,EAAE;;;;;;;;;ACb/B,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,mBAAO,CAAC,MAAW;AAC1B,UAAU,mBAAO,CAAC,MAAc;AAChC,eAAe,mBAAO,CAAC,MAAmB;AAC1C,cAAc,mBAAO,CAAC,MAAkB;AACxC,WAAW,mBAAO,CAAC,MAAe;AAClC,WAAW,mBAAO,CAAC,MAAe;AAClC,YAAY,mBAAO,CAAC,MAAgB;AACpC,WAAW,mBAAO,CAAC,MAAe;AAClC,YAAY,mBAAO,CAAC,MAAgB;AACpC,cAAc,mBAAO,CAAC,MAAc;AACpC,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,sBAAsB,mBAAO,CAAC,MAAsB;AACpD,oBAAoB,mBAAO,CAAC,MAAoB;AAChD,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;AAClC,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,qBAAqB;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+CAA+C,oBAAoB;AACnE;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,+BAA+B,WAAW;AAC1C;AACA,mDAAmD,oBAAoB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA,oCAAoC,YAAY;AAChD,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,EAAE;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;;AAEA,4BAA4B,YAAY;AACxC;AACA;;AAEA,kDAAkD,0BAA0B;AAC5E;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,uBAAuB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,0BAA0B;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA,iCAAiC,mBAAmB;AACpD;AACA;;AAEA;AACA,+CAA+C,uBAAuB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,kBAAkB;AACtC;AACA,wBAAwB,uBAAuB;AAC/C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;ACz9CA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,cAAc,mBAAO,CAAC,MAAuB;AAC7C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,qBAAqB,mBAAO,CAAC,MAA8B;;AAE3D;AACA;AACA,GAAG,mDAAmD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvBD,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,4BAA4B,mBAAO,CAAC,MAAuC;AAC3E,2BAA2B,mBAAO,CAAC,MAA8B;AACjE,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACrCA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,MAAe;AACtC,sBAAsB,mBAAO,CAAC,MAAsB;AACpD,wBAAwB,mBAAO,CAAC,MAAwB;AACxD,UAAU,mBAAO,CAAC,MAAU;AAC5B,iBAAiB,mBAAO,CAAC,MAAiB;AAC1C,0BAA0B,mBAAO,CAAC,MAA0B;AAC5D,gBAAgB,mBAAO,CAAC,MAAgB;AACxC,aAAa,mBAAO,CAAC,MAAa;AAClC,cAAc,mBAAO,CAAC,MAAc;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8BAA8B,YAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,YAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB,yBAAyB;AAChD;;AAEA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,yBAAyB;AAChD;;AAEA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;;AAEA;AACA;;AAEA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,2BAA2B,eAAe;AAC1C;AACA;AACA,2BAA2B,eAAe;AAC1C;AACA;AACA;AACA;;AAEA;;AAEA,2DAA2D;AAC3D;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,aAAa;AACpC;;AAEA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC30DA,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA,wBAAwB,mBAAO,CAAC,MAAmC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACRA;AACA;AACa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,aAAa,mBAAO,CAAC,MAA+B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,gCAAgC,mBAAO,CAAC,MAA0C;;AAElF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,KAAK,6BAA6B;AAClC;AACA,GAAG;AACH;;;;;;;;AC1DA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,UAAU;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB,kBAAkB;AACzC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B,mBAAmB;AAC9C;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO,iBAAiB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;AACtD;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnLA,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA,yDAAyD,eAAe;AACxE,yDAAyD,eAAe;AACxE;AACA;;;;;;;;ACPA;AACA;AACA;;AAEA;;;;;;;;;ACJa;AACb,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AClBA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,gCAAgC,mBAAO,CAAC,MAA4C;AACpF,wCAAwC,mBAAO,CAAC,MAAqD;AACrG,mBAAmB,mBAAO,CAAC,OAAmC;AAC9D,UAAU,mBAAO,CAAC,MAAkB;AACpC,eAAe,mBAAO,CAAC,MAAuB;;AAE9C;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,gBAAgB;AAChB,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,OAAO,6CAA6C;AACpD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACxFa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA4B;AAC/C,iCAAiC,mBAAO,CAAC,MAAqC;AAC9E,iCAAiC,mBAAO,CAAC,MAA4C;;AAErF;AACA;AACA,GAAG,oEAAoE;AACvE;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACdD;;AAEA,mBAAmB,mBAAO,CAAC,MAAmB;;AAE9C;AACA;AACA;AACA;;AAEA;;;;;;;;ACTA,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;;;;;;;;ACFA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,aAAa;AACrD,8CAA8C,aAAa;AAC3D,kDAAkD,YAAY;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,YAAY;AACtE,4DAA4D,aAAa;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,aAAa;AACzD,8CAA8C,aAAa;AAC3D;;AAEA,sEAAsE;AACtE,0CAA0C,aAAa;AACvD;AACA;AACA;;AAEA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;;AAGpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;A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BAAqB,mBAAO,CAAC,MAA8B;AAC3D,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,eAAe,mBAAO,CAAC,MAA0B;;AAEjD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,6DAA6D;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;ACjDD;AACA,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;;;;;;;ACNA,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,kCAAkC,mBAAO,CAAC,MAAsC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA,oBAAoB,mBAAO,CAAC,MAA4B;;AAExD;AACA;AACA;;;;;;;;ACLA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA","file":"vue-advanced-chat.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar DELEGATES_TO_EXEC = function () {\n var execCalled = false;\n var re = /[ac]/;\n re.exec = function () {\n execCalled = true;\n return /./.exec.apply(this, arguments);\n };\n return re.test('abc') === true && execCalled;\n}();\n\nvar Error = global.Error;\nvar un$Test = uncurryThis(/./.test);\n\n// `RegExp.prototype.test` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.test\n$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {\n test: function (str) {\n var exec = this.exec;\n if (!isCallable(exec)) return un$Test(this, str);\n var result = call(exec, this, str);\n if (result !== null && !isObject(result)) {\n throw new Error('RegExp exec method returned something other than an Object or null');\n }\n return !!result;\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","// extracted by mini-css-extract-plugin","var Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","function new_byte(count) {\n return new Int8Array(count);\n}\n\nfunction new_short(count) {\n return new Int16Array(count);\n}\n\nfunction new_int(count) {\n return new Int32Array(count);\n}\n\nfunction new_float(count) {\n return new Float32Array(count);\n}\n\nfunction new_double(count) {\n return new Float64Array(count);\n}\n\nfunction new_float_n(args) {\n if (args.length == 1) {\n return new_float(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_float_n(args));\n }\n return A;\n}\nfunction new_int_n(args) {\n if (args.length == 1) {\n return new_int(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_int_n(args));\n }\n return A;\n}\n\nfunction new_short_n(args) {\n if (args.length == 1) {\n return new_short(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_short_n(args));\n }\n return A;\n}\n\nfunction new_array_n(args) {\n if (args.length == 1) {\n return new Array(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_array_n(args));\n }\n return A;\n}\n\n\nvar Arrays = {};\n\nArrays.fill = function (a, fromIndex, toIndex, val) {\n if (arguments.length == 2) {\n for (var i = 0; i < a.length; i++) {\n a[i] = arguments[1];\n }\n } else {\n for (var i = fromIndex; i < toIndex; i++) {\n a[i] = val;\n }\n }\n};\n\nvar System = {};\n\nSystem.arraycopy = function (src, srcPos, dest, destPos, length) {\n var srcEnd = srcPos + length;\n while (srcPos < srcEnd)\n dest[destPos++] = src[srcPos++];\n};\n\n\nvar Util = {};\nUtil.SQRT2 = 1.41421356237309504880;\nUtil.FAST_LOG10 = function (x) {\n return Math.log10(x);\n};\n\nUtil.FAST_LOG10_X = function (x, y) {\n return Math.log10(x) * y;\n};\n\nfunction ShortBlock(ordinal) {\n this.ordinal = ordinal;\n}\n/**\n * LAME may use them, even different block types for L/R.\n */\nShortBlock.short_block_allowed = new ShortBlock(0);\n/**\n * LAME may use them, but always same block types in L/R.\n */\nShortBlock.short_block_coupled = new ShortBlock(1);\n/**\n * LAME will not use short blocks, long blocks only.\n */\nShortBlock.short_block_dispensed = new ShortBlock(2);\n/**\n * LAME will not use long blocks, short blocks only.\n */\nShortBlock.short_block_forced = new ShortBlock(3);\n\nvar Float = {};\nFloat.MAX_VALUE = 3.4028235e+38;\n\nfunction VbrMode(ordinal) {\n this.ordinal = ordinal;\n}\nVbrMode.vbr_off = new VbrMode(0);\nVbrMode.vbr_mt = new VbrMode(1);\nVbrMode.vbr_rh = new VbrMode(2);\nVbrMode.vbr_abr = new VbrMode(3);\nVbrMode.vbr_mtrh = new VbrMode(4);\nVbrMode.vbr_default = VbrMode.vbr_mtrh;\n\nvar assert = function (x) {\n //console.assert(x);\n};\n\nmodule.exports = {\n \"System\": System,\n \"VbrMode\": VbrMode,\n \"Float\": Float,\n \"ShortBlock\": ShortBlock,\n \"Util\": Util,\n \"Arrays\": Arrays,\n \"new_array_n\": new_array_n,\n \"new_byte\": new_byte,\n \"new_double\": new_double,\n \"new_float\": new_float,\n \"new_float_n\": new_float_n,\n \"new_int\": new_int,\n \"new_int_n\": new_int_n,\n \"new_short\": new_short,\n \"new_short_n\": new_short_n,\n \"assert\": assert\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar Function = global.Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = NATIVE_BIND ? Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","/* eslint-disable es-x/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\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 arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/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 = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var common = require('./common.js');\nvar new_float = common.new_float;\nvar new_int = common.new_int;\nvar assert = common.assert;\n\nfunction CalcNoiseData() {\n this.global_gain = 0;\n this.sfb_count1 = 0;\n this.step = new_int(39);\n this.noise = new_float(39);\n this.noise_log = new_float(39);\n}\n\nmodule.exports = CalcNoiseData;\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar RangeError = global.RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (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 C === undefined ? Array : C;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\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(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 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 ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","// TODO: Remove from `core-js@4`\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar un$DateToString = uncurryThis(DatePrototype[TO_STRING]);\nvar getTime = uncurryThis(DatePrototype.getTime);\n\n// `Date.prototype.toString` method\n// https://tc39.es/ecma262/#sec-date.prototype.tostring\nif (String(new Date(NaN)) != INVALID_DATE) {\n defineBuiltIn(DatePrototype, TO_STRING, function toString() {\n var value = getTime(this);\n // eslint-disable-next-line no-self-compare -- NaN check\n return value === value ? un$DateToString(this) : INVALID_DATE;\n });\n}\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?
b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar RangeError = global.RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es-x/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n\nvar CONFIGURABLE_LENGTH = !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n defineProperty(value, 'name', { value: name, configurable: true });\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es-x/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar TypeError = global.TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(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 remaining++;\n call($promiseResolve, 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});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.stateify = exports.TokenState = exports.CharacterState = undefined;\n\nvar _class = require('../utils/class');\n\nfunction createStateClass() {\n\treturn function (tClass) {\n\t\tthis.j = [];\n\t\tthis.T = tClass || null;\n\t};\n}\n\n/**\n\tA simple state machine that can emit token classes\n\n\tThe `j` property in this class refers to state jumps. It's a\n\tmultidimensional array where for each element:\n\n\t* index [0] is a symbol or class of symbols to transition to.\n\t* index [1] is a State instance which matches\n\n\tThe type of symbol will depend on the target implementation for this class.\n\tIn Linkify, we have a two-stage scanner. Each stage uses this state machine\n\tbut with a slighly different (polymorphic) implementation.\n\n\tThe `T` property refers to the token class.\n\n\tTODO: Can the `on` and `next` methods be combined?\n\n\t@class BaseState\n*/\nvar BaseState = createStateClass();\nBaseState.prototype = {\n\tdefaultTransition: false,\n\n\t/**\n \t@method constructor\n \t@param {Class} tClass Pass in the kind of token to emit if there are\n \t\tno jumps after this state and the state is accepting.\n */\n\n\t/**\n \tOn the given symbol(s), this machine should go to the given state\n \t\t@method on\n \t@param {Array|Mixed} symbol\n \t@param {BaseState} state Note that the type of this state should be the\n \t\tsame as the current instance (i.e., don't pass in a different\n \t\tsubclass)\n */\n\ton: function on(symbol, state) {\n\t\tif (symbol instanceof Array) {\n\t\t\tfor (var i = 0; i < symbol.length; i++) {\n\t\t\t\tthis.j.push([symbol[i], state]);\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tthis.j.push([symbol, state]);\n\t\treturn this;\n\t},\n\n\n\t/**\n \tGiven the next item, returns next state for that item\n \t@method next\n \t@param {Mixed} item Should be an instance of the symbols handled by\n \t\tthis particular machine.\n \t@return {State} state Returns false if no jumps are available\n */\n\tnext: function next(item) {\n\t\tfor (var i = 0; i < this.j.length; i++) {\n\t\t\tvar jump = this.j[i];\n\t\t\tvar symbol = jump[0]; // Next item to check for\n\t\t\tvar state = jump[1]; // State to jump to if items match\n\n\t\t\t// compare item with symbol\n\t\t\tif (this.test(item, symbol)) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\n\t\t// Nowhere left to jump!\n\t\treturn this.defaultTransition;\n\t},\n\n\n\t/**\n \tDoes this state accept?\n \t`true` only of `this.T` exists\n \t\t@method accepts\n \t@return {Boolean}\n */\n\taccepts: function accepts() {\n\t\treturn !!this.T;\n\t},\n\n\n\t/**\n \tDetermine whether a given item \"symbolizes\" the symbol, where symbol is\n \ta class of items handled by this state machine.\n \t\tThis method should be overriden in extended classes.\n \t\t@method test\n \t@param {Mixed} item Does this item match the given symbol?\n \t@param {Mixed} symbol\n \t@return {Boolean}\n */\n\ttest: function test(item, symbol) {\n\t\treturn item === symbol;\n\t},\n\n\n\t/**\n \tEmit the token for this State (just return it in this case)\n \tIf this emits a token, this instance is an accepting state\n \t@method emit\n \t@return {Class} T\n */\n\temit: function emit() {\n\t\treturn this.T;\n\t}\n};\n\n/**\n\tState machine for string-based input\n\n\t@class CharacterState\n\t@extends BaseState\n*/\nvar CharacterState = (0, _class.inherits)(BaseState, createStateClass(), {\n\t/**\n \tDoes the given character match the given character or regular\n \texpression?\n \t\t@method test\n \t@param {String} char\n \t@param {String|RegExp} charOrRegExp\n \t@return {Boolean}\n */\n\ttest: function test(character, charOrRegExp) {\n\t\treturn character === charOrRegExp || charOrRegExp instanceof RegExp && charOrRegExp.test(character);\n\t}\n});\n\n/**\n\tState machine for input in the form of TextTokens\n\n\t@class TokenState\n\t@extends BaseState\n*/\nvar TokenState = (0, _class.inherits)(BaseState, createStateClass(), {\n\n\t/**\n * Similar to `on`, but returns the state the results in the transition from\n * the given item\n * @method jump\n * @param {Mixed} item\n * @param {Token} [token]\n * @return state\n */\n\tjump: function jump(token) {\n\t\tvar tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\t\tvar state = this.next(new token('')); // dummy temp token\n\t\tif (state === this.defaultTransition) {\n\t\t\t// Make a new state!\n\t\t\tstate = new this.constructor(tClass);\n\t\t\tthis.on(token, state);\n\t\t} else if (tClass) {\n\t\t\tstate.T = tClass;\n\t\t}\n\t\treturn state;\n\t},\n\n\n\t/**\n \tIs the given token an instance of the given token class?\n \t\t@method test\n \t@param {TextToken} token\n \t@param {Class} tokenClass\n \t@return {Boolean}\n */\n\ttest: function test(token, tokenClass) {\n\t\treturn token instanceof tokenClass;\n\t}\n});\n\n/**\n\tGiven a non-empty target string, generates states (if required) for each\n\tconsecutive substring of characters in str starting from the beginning of\n\tthe string. The final state will have a special value, as specified in\n\toptions. All other \"in between\" substrings will have a default end state.\n\n\tThis turns the state machine into a Trie-like data structure (rather than a\n\tintelligently-designed DFA).\n\n\tNote that I haven't really tried these with any strings other than\n\tDOMAIN.\n\n\t@param {String} str\n\t@param {CharacterState} start State to jump from the first character\n\t@param {Class} endToken Token class to emit when the given string has been\n\t\tmatched and no more jumps exist.\n\t@param {Class} defaultToken \"Filler token\", or which token type to emit when\n\t\twe don't have a full match\n\t@return {Array} list of newly-created states\n*/\nfunction stateify(str, start, endToken, defaultToken) {\n\tvar i = 0,\n\t len = str.length,\n\t state = start,\n\t newStates = [],\n\t nextState = void 0;\n\n\t// Find the next state without a jump to the next character\n\twhile (i < len && (nextState = state.next(str[i]))) {\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tif (i >= len) {\n\t\treturn [];\n\t} // no new tokens were added\n\n\twhile (i < len - 1) {\n\t\tnextState = new CharacterState(defaultToken);\n\t\tnewStates.push(nextState);\n\t\tstate.on(str[i], nextState);\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tnextState = new CharacterState(endToken);\n\tnewStates.push(nextState);\n\tstate.on(str[len - 1], nextState);\n\n\treturn newStates;\n}\n\nexports.CharacterState = CharacterState;\nexports.TokenState = TokenState;\nexports.stateify = stateify;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var global = require('../internals/global');\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","export function detectMobile() {\n\tvar userAgent = getUserAgent()\n\n\tvar userAgentPart = userAgent.substr(0, 4)\n\n\treturn (\n\t\t/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(\n\t\t\tuserAgent\n\t\t) ||\n\t\t/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(\n\t\t\tuserAgentPart\n\t\t)\n\t)\n}\n\nfunction getUserAgent() {\n\tvar userAgent =\n\t\tnavigator.userAgent || navigator.vendor || window.opera || null\n\n\tif (!userAgent) throw new Error('Failed to look for user agent information.')\n\n\treturn userAgent\n}\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\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-x/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 userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setTimeout = require('../internals/schedulers-fix').setTimeout;\n\n// ie9- setTimeout additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n$({ global: true, bind: true, forced: global.setTimeout !== setTimeout }, {\n setTimeout: setTimeout\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\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","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","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar isCallable = require('../internals/is-callable');\nvar userAgent = require('../internals/engine-user-agent');\nvar arraySlice = require('../internals/array-slice');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar Function = global.Function;\n\nvar wrap = function (scheduler) {\n return MSIE ? function (handler, timeout /* , ...arguments */) {\n var boundArgs = validateArgumentsLength(arguments.length, 1) > 2;\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = boundArgs ? arraySlice(arguments, 2) : undefined;\n return scheduler(boundArgs ? function () {\n apply(fn, this, args);\n } : fn, timeout);\n } : scheduler;\n};\n\n// ie9- setTimeout & setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\nmodule.exports = {\n // `setTimeout` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n setTimeout: wrap(global.setTimeout),\n // `setInterval` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n setInterval: wrap(global.setInterval)\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n un$Sort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return un$Sort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\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);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\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 (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.strike` method\n// https://tc39.es/ecma262/#sec-string.prototype.strike\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, {\n strike: function strike() {\n return createHTML(this, 'strike', '', '');\n }\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\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 options.name - the .name of the function if it does not match the key\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 defineBuiltIn(target, key, sourceProperty, options);\n }\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-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","//package mp3;\n\nfunction VBRSeekInfo() {\n /**\n * What we have seen so far.\n */\n this.sum = 0;\n /**\n * How many frames we have seen in this chunk.\n */\n this.seen = 0;\n /**\n * How many frames we want to collect into one chunk.\n */\n this.want = 0;\n /**\n * Actual position in our bag.\n */\n this.pos = 0;\n /**\n * Size of our bag.\n */\n this.size = 0;\n /**\n * Pointer to our bag.\n */\n this.bag = null;\n this.nVbrNumFrames = 0;\n this.nBytesWritten = 0;\n /* VBR tag data */\n this.TotalFrameSize = 0;\n}\n\nmodule.exports = VBRSeekInfo;\n","/*\n * psymodel.c\n *\n * Copyright (c) 1999-2000 Mark Taylor\n * Copyright (c) 2001-2002 Naoki Shibata\n * Copyright (c) 2000-2003 Takehiro Tominaga\n * Copyright (c) 2000-2008 Robert Hegemann\n * Copyright (c) 2000-2005 Gabriel Bouvigne\n * Copyright (c) 2000-2005 Alexander Leidinger\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */\n\n/* $Id: PsyModel.java,v 1.27 2011/05/24 20:48:06 kenchis Exp $ */\n\n\n/*\n PSYCHO ACOUSTICS\n\n\n This routine computes the psycho acoustics, delayed by one granule.\n\n Input: buffer of PCM data (1024 samples).\n\n This window should be centered over the 576 sample granule window.\n The routine will compute the psycho acoustics for\n this granule, but return the psycho acoustics computed\n for the *previous* granule. This is because the block\n type of the previous granule can only be determined\n after we have computed the psycho acoustics for the following\n granule.\n\n Output: maskings and energies for each scalefactor band.\n block type, PE, and some correlation measures.\n The PE is used by CBR modes to determine if extra bits\n from the bit reservoir should be used. The correlation\n measures are used to determine mid/side or regular stereo.\n */\n/*\n Notation:\n\n barks: a non-linear frequency scale. Mapping from frequency to\n barks is given by freq2bark()\n\n scalefactor bands: The spectrum (frequencies) are broken into\n SBMAX \"scalefactor bands\". Thes bands\n are determined by the MPEG ISO spec. In\n the noise shaping/quantization code, we allocate\n bits among the partition bands to achieve the\n best possible quality\n\n partition bands: The spectrum is also broken into about\n 64 \"partition bands\". Each partition\n band is about .34 barks wide. There are about 2-5\n partition bands for each scalefactor band.\n\n LAME computes all psycho acoustic information for each partition\n band. Then at the end of the computations, this information\n is mapped to scalefactor bands. The energy in each scalefactor\n band is taken as the sum of the energy in all partition bands\n which overlap the scalefactor band. The maskings can be computed\n in the same way (and thus represent the average masking in that band)\n or by taking the minmum value multiplied by the number of\n partition bands used (which represents a minimum masking in that band).\n */\n/*\n The general outline is as follows:\n\n 1. compute the energy in each partition band\n 2. compute the tonality in each partition band\n 3. compute the strength of each partion band \"masker\"\n 4. compute the masking (via the spreading function applied to each masker)\n 5. Modifications for mid/side masking.\n\n Each partition band is considiered a \"masker\". The strength\n of the i'th masker in band j is given by:\n\n s3(bark(i)-bark(j))*strength(i)\n\n The strength of the masker is a function of the energy and tonality.\n The more tonal, the less masking. LAME uses a simple linear formula\n (controlled by NMT and TMN) which says the strength is given by the\n energy divided by a linear function of the tonality.\n */\n/*\n s3() is the \"spreading function\". It is given by a formula\n determined via listening tests.\n\n The total masking in the j'th partition band is the sum over\n all maskings i. It is thus given by the convolution of\n the strength with s3(), the \"spreading function.\"\n\n masking(j) = sum_over_i s3(i-j)*strength(i) = s3 o strength\n\n where \"o\" = convolution operator. s3 is given by a formula determined\n via listening tests. It is normalized so that s3 o 1 = 1.\n\n Note: instead of a simple convolution, LAME also has the\n option of using \"additive masking\"\n\n The most critical part is step 2, computing the tonality of each\n partition band. LAME has two tonality estimators. The first\n is based on the ISO spec, and measures how predictiable the\n signal is over time. The more predictable, the more tonal.\n The second measure is based on looking at the spectrum of\n a single granule. The more peaky the spectrum, the more\n tonal. By most indications, the latter approach is better.\n\n Finally, in step 5, the maskings for the mid and side\n channel are possibly increased. Under certain circumstances,\n noise in the mid & side channels is assumed to also\n be masked by strong maskers in the L or R channels.\n\n\n Other data computed by the psy-model:\n\n ms_ratio side-channel / mid-channel masking ratio (for previous granule)\n ms_ratio_next side-channel / mid-channel masking ratio for this granule\n\n percep_entropy[2] L and R values (prev granule) of PE - A measure of how\n much pre-echo is in the previous granule\n percep_entropy_MS[2] mid and side channel values (prev granule) of percep_entropy\n energy[4] L,R,M,S energy in each channel, prev granule\n blocktype_d[2] block type to use for previous granule\n */\n//package mp3;\n\n//import java.util.Arrays;\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar FFT = require(\"./FFT.js\");\nvar Encoder = require(\"./Encoder.js\");\n\nfunction PsyModel() {\n\n var fft = new FFT();\n\n var LOG10 = 2.30258509299404568402;\n\n var rpelev = 2;\n var rpelev2 = 16;\n var rpelev_s = 2;\n var rpelev2_s = 16;\n\n /* size of each partition band, in barks: */\n var DELBARK = .34;\n\n /* tuned for output level (sensitive to energy scale) */\n var VO_SCALE = (1. / (14752 * 14752) / (Encoder.BLKSIZE / 2));\n\n var temporalmask_sustain_sec = 0.01;\n\n var NS_PREECHO_ATT0 = 0.8;\n var NS_PREECHO_ATT1 = 0.6;\n var NS_PREECHO_ATT2 = 0.3;\n\n var NS_MSFIX = 3.5;\n\n var NSATTACKTHRE = 4.4;\n var NSATTACKTHRE_S = 25;\n\n var NSFIRLEN = 21;\n\n /* size of each partition band, in barks: */\n var LN_TO_LOG10 = 0.2302585093;\n\n function NON_LINEAR_SCALE_ENERGY(x) {\n return x;\n }\n\n /**\n *
\n     *       L3psycho_anal.  Compute psycho acoustics.\n     *\n     *       Data returned to the calling program must be delayed by one\n     *       granule.\n     *\n     *       This is done in two places.\n     *       If we do not need to know the blocktype, the copying\n     *       can be done here at the top of the program: we copy the data for\n     *       the last granule (computed during the last call) before it is\n     *       overwritten with the new data.  It looks like this:\n     *\n     *       0. static psymodel_data\n     *       1. calling_program_data = psymodel_data\n     *       2. compute psymodel_data\n     *\n     *       For data which needs to know the blocktype, the copying must be\n     *       done at the end of this loop, and the old values must be saved:\n     *\n     *       0. static psymodel_data_old\n     *       1. compute psymodel_data\n     *       2. compute possible block type of this granule\n     *       3. compute final block type of previous granule based on #2.\n     *       4. calling_program_data = psymodel_data_old\n     *       5. psymodel_data_old = psymodel_data\n     *     psycho_loudness_approx\n     *       jd - 2001 mar 12\n     *    in:  energy   - BLKSIZE/2 elements of frequency magnitudes ^ 2\n     *         gfp      - uses out_samplerate, ATHtype (also needed for ATHformula)\n     *    returns: loudness^2 approximation, a positive value roughly tuned for a value\n     *             of 1.0 for signals near clipping.\n     *    notes:   When calibrated, feeding this function binary white noise at sample\n     *             values +32767 or -32768 should return values that approach 3.\n     *             ATHformula is used to approximate an equal loudness curve.\n     *    future:  Data indicates that the shape of the equal loudness curve varies\n     *             with intensity.  This function might be improved by using an equal\n     *             loudness curve shaped for typical playback levels (instead of the\n     *             ATH, that is shaped for the threshold).  A flexible realization might\n     *             simply bend the existing ATH curve to achieve the desired shape.\n     *             However, the potential gain may not be enough to justify an effort.\n     * 
\n */\n function psycho_loudness_approx(energy, gfc) {\n var loudness_power = 0.0;\n /* apply weights to power in freq. bands */\n for (var i = 0; i < Encoder.BLKSIZE / 2; ++i)\n loudness_power += energy[i] * gfc.ATH.eql_w[i];\n loudness_power *= VO_SCALE;\n\n return loudness_power;\n }\n\n function compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, wsamp_lPos, wsamp_s, wsamp_sPos, gr_out, chn, buffer, bufPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n /* FFT data for mid and side channel is derived from L & R */\n else if (chn == 2) {\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n for (var b = 2; b >= 0; --b) {\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][b][j];\n var r = wsamp_s[wsamp_sPos + 1][b][j];\n wsamp_s[wsamp_sPos + 0][b][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][b][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 - j];\n var im = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n for (var b = 2; b >= 0; --b) {\n fftenergy_s[b][0] = (wsamp_s[wsamp_sPos + 0])[b][0];\n fftenergy_s[b][0] *= fftenergy_s[b][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 - j];\n var im = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 + j];\n fftenergy_s[b][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n\n /*********************************************************************\n * compute loudness approximation (used for ATH auto-level adjustment)\n *********************************************************************/\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n /* mask_add optimization */\n /* init the limit values used to avoid computing log in mask_add when it is not necessary */\n\n /**\n *
\n     *  For example, with i = 10*log10(m2/m1)/10*16         (= log10(m2/m1)*16)\n     *\n     * abs(i)>8 is equivalent (as i is an integer) to\n     * abs(i)>=9\n     * i>=9 || i<=-9\n     * equivalent to (as i is the biggest integer smaller than log10(m2/m1)*16\n     * or the smallest integer bigger than log10(m2/m1)*16 depending on the sign of log10(m2/m1)*16)\n     * log10(m2/m1)>=9/16 || log10(m2/m1)<=-9/16\n     * exp10 is strictly increasing thus this is equivalent to\n     * m2/m1 >= 10^(9/16) || m2/m1<=10^(-9/16) which are comparisons to constants\n     * 
\n */\n\n /**\n * as in if(i>8)\n */\n var I1LIMIT = 8;\n /**\n * as in if(i>24) . changed 23\n */\n var I2LIMIT = 23;\n /**\n * as in if(m<15)\n */\n var MLIMIT = 15;\n\n var ma_max_i1;\n var ma_max_i2;\n var ma_max_m;\n\n /**\n * This is the masking table:
\n * According to tonality, values are going from 0dB (TMN) to 9.3dB (NMT).
\n * After additive masking computation, 8dB are added, so final values are\n * going from 8dB to 17.3dB\n *\n * pow(10, -0.0..-0.6)\n */\n var tab = [1.0, 0.79433, 0.63096, 0.63096,\n 0.63096, 0.63096, 0.63096, 0.25119, 0.11749];\n\n function init_mask_add_max_values() {\n ma_max_i1 = Math.pow(10, (I1LIMIT + 1) / 16.0);\n ma_max_i2 = Math.pow(10, (I2LIMIT + 1) / 16.0);\n ma_max_m = Math.pow(10, (MLIMIT) / 10.0);\n }\n\n var table1 = [3.3246 * 3.3246,\n 3.23837 * 3.23837, 3.15437 * 3.15437, 3.00412 * 3.00412,\n 2.86103 * 2.86103, 2.65407 * 2.65407, 2.46209 * 2.46209,\n 2.284 * 2.284, 2.11879 * 2.11879, 1.96552 * 1.96552,\n 1.82335 * 1.82335, 1.69146 * 1.69146, 1.56911 * 1.56911,\n 1.46658 * 1.46658, 1.37074 * 1.37074, 1.31036 * 1.31036,\n 1.25264 * 1.25264, 1.20648 * 1.20648, 1.16203 * 1.16203,\n 1.12765 * 1.12765, 1.09428 * 1.09428, 1.0659 * 1.0659,\n 1.03826 * 1.03826, 1.01895 * 1.01895, 1];\n\n var table2 = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n var table3 = [2.35364 * 2.35364,\n 2.29259 * 2.29259, 2.23313 * 2.23313, 2.12675 * 2.12675,\n 2.02545 * 2.02545, 1.87894 * 1.87894, 1.74303 * 1.74303,\n 1.61695 * 1.61695, 1.49999 * 1.49999, 1.39148 * 1.39148,\n 1.29083 * 1.29083, 1.19746 * 1.19746, 1.11084 * 1.11084,\n 1.03826 * 1.03826];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function mask_add(m1, m2, kk, b, gfc, shortblock) {\n var ratio;\n\n if (m2 > m1) {\n if (m2 < (m1 * ma_max_i2))\n ratio = m2 / m1;\n else\n return (m1 + m2);\n } else {\n if (m1 >= (m2 * ma_max_i2))\n return (m1 + m2);\n ratio = m1 / m2;\n }\n\n /* Should always be true, just checking */\n assert(m1 >= 0);\n assert(m2 >= 0);\n\n m1 += m2;\n //if (((long)(b + 3) & 0xffffffff) <= 3 + 3) {\n if ((b + 3) <= 3 + 3) {\n /* approximately, 1 bark = 3 partitions */\n /* 65% of the cases */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n /* 43% of the total */\n return m1;\n }\n\n /* 22% of the total */\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return m1 * table2[i];\n }\n\n /**\n *
\n         * m<15 equ log10((m1+m2)/gfc.ATH.cb[k])<1.5\n         * equ (m1+m2)/gfc.ATH.cb[k]<10^1.5\n         * equ (m1+m2)<10^1.5 * gfc.ATH.cb[k]\n         * 
\n */\n var i = 0 | Util.FAST_LOG10_X(ratio, 16.0);\n if (shortblock != 0) {\n m2 = gfc.ATH.cb_s[kk] * gfc.ATH.adjust;\n } else {\n m2 = gfc.ATH.cb_l[kk] * gfc.ATH.adjust;\n }\n assert(m2 >= 0);\n if (m1 < ma_max_m * m2) {\n /* 3% of the total */\n /* Originally if (m > 0) { */\n if (m1 > m2) {\n var f, r;\n\n f = 1.0;\n if (i <= 13)\n f = table3[i];\n\n r = Util.FAST_LOG10_X(m1 / m2, 10.0 / 15.0);\n return m1 * ((table1[i] - f) * r + f);\n }\n\n if (i > 13)\n return m1;\n\n return m1 * table3[i];\n }\n\n /* 10% of total */\n return m1 * table1[i];\n }\n\n var table2_ = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function vbrpsy_mask_add(m1, m2, b) {\n var ratio;\n\n if (m1 < 0) {\n m1 = 0;\n }\n if (m2 < 0) {\n m2 = 0;\n }\n if (m1 <= 0) {\n return m2;\n }\n if (m2 <= 0) {\n return m1;\n }\n if (m2 > m1) {\n ratio = m2 / m1;\n } else {\n ratio = m1 / m2;\n }\n if (-2 <= b && b <= 2) {\n /* approximately, 1 bark = 3 partitions */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n return m1 + m2;\n } else {\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return (m1 + m2) * table2_[i];\n }\n }\n if (ratio < ma_max_i2) {\n return m1 + m2;\n }\n if (m1 < m2) {\n m1 = m2;\n }\n return m1;\n }\n\n /**\n * compute interchannel masking effects\n */\n function calc_interchannel_masking(gfp, ratio) {\n var gfc = gfp.internal_flags;\n if (gfc.channels_out > 1) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var l = gfc.thm[0].l[sb];\n var r = gfc.thm[1].l[sb];\n gfc.thm[0].l[sb] += r * ratio;\n gfc.thm[1].l[sb] += l * ratio;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var l = gfc.thm[0].s[sb][sblock];\n var r = gfc.thm[1].s[sb][sblock];\n gfc.thm[0].s[sb][sblock] += r * ratio;\n gfc.thm[1].s[sb][sblock] += l * ratio;\n }\n }\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function msfix1(gfc) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n /* use this fix if L & R masking differs by 2db or less */\n /* if db = 10*log10(x2/x1) < 2 */\n /* if (x2 < 1.58*x1) { */\n if (gfc.thm[0].l[sb] > 1.58 * gfc.thm[1].l[sb]\n || gfc.thm[1].l[sb] > 1.58 * gfc.thm[0].l[sb])\n continue;\n var mld = gfc.mld_l[sb] * gfc.en[3].l[sb];\n var rmid = Math.max(gfc.thm[2].l[sb],\n Math.min(gfc.thm[3].l[sb], mld));\n\n mld = gfc.mld_l[sb] * gfc.en[2].l[sb];\n var rside = Math.max(gfc.thm[3].l[sb],\n Math.min(gfc.thm[2].l[sb], mld));\n gfc.thm[2].l[sb] = rmid;\n gfc.thm[3].l[sb] = rside;\n }\n\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n if (gfc.thm[0].s[sb][sblock] > 1.58 * gfc.thm[1].s[sb][sblock]\n || gfc.thm[1].s[sb][sblock] > 1.58 * gfc.thm[0].s[sb][sblock])\n continue;\n var mld = gfc.mld_s[sb] * gfc.en[3].s[sb][sblock];\n var rmid = Math.max(gfc.thm[2].s[sb][sblock],\n Math.min(gfc.thm[3].s[sb][sblock], mld));\n\n mld = gfc.mld_s[sb] * gfc.en[2].s[sb][sblock];\n var rside = Math.max(gfc.thm[3].s[sb][sblock],\n Math.min(gfc.thm[2].s[sb][sblock], mld));\n\n gfc.thm[2].s[sb][sblock] = rmid;\n gfc.thm[3].s[sb][sblock] = rside;\n }\n }\n }\n\n /**\n * Adjust M/S maskings if user set \"msfix\"\n *\n * Naoki Shibata 2000\n */\n function ns_msfix(gfc, msfix, athadjust) {\n var msfix2 = msfix;\n var athlower = Math.pow(10, athadjust);\n\n msfix *= 2.0;\n msfix2 *= 2.0;\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_l[gfc.bm_l[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].l[sb], ath),\n Math.max(gfc.thm[1].l[sb], ath));\n thmM = Math.max(gfc.thm[2].l[sb], ath);\n thmS = Math.max(gfc.thm[3].l[sb], ath);\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix2 / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].l[sb] = Math.min(thmM, gfc.thm[2].l[sb]);\n gfc.thm[3].l[sb] = Math.min(thmS, gfc.thm[3].l[sb]);\n }\n\n athlower *= ( Encoder.BLKSIZE_s / Encoder.BLKSIZE);\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_s[gfc.bm_s[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].s[sb][sblock], ath),\n Math.max(gfc.thm[1].s[sb][sblock], ath));\n thmM = Math.max(gfc.thm[2].s[sb][sblock], ath);\n thmS = Math.max(gfc.thm[3].s[sb][sblock], ath);\n\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].s[sb][sblock] = Math.min(gfc.thm[2].s[sb][sblock],\n thmM);\n gfc.thm[3].s[sb][sblock] = Math.min(gfc.thm[3].s[sb][sblock],\n thmS);\n }\n }\n }\n\n /**\n * short block threshold calculation (part 2)\n *\n * partition band bo_s[sfb] is at the transition from scalefactor band sfb\n * to the next one sfb+1; enn and thmm have to be split between them\n */\n function convert_partition2scalefac_s(gfc, eb, thr, chn, sblock) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_s; ++b, ++sb) {\n var bo_s_sb = gfc.bo_s[sb];\n var npart_s = gfc.npart_s;\n var b_lim = bo_s_sb < npart_s ? bo_s_sb : npart_s;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].s[sb][sblock] = enn;\n gfc.thm[chn].s[sb][sblock] = thmm;\n\n if (b >= npart_s) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_s_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].s[sb][sblock] += enn;\n gfc.thm[chn].s[sb][sblock] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_s; ++sb) {\n gfc.en[chn].s[sb][sblock] = 0;\n gfc.thm[chn].s[sb][sblock] = 0;\n }\n }\n\n /**\n * longblock threshold calculation (part 2)\n */\n function convert_partition2scalefac_l(gfc, eb, thr, chn) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_l; ++b, ++sb) {\n var bo_l_sb = gfc.bo_l[sb];\n var npart_l = gfc.npart_l;\n var b_lim = bo_l_sb < npart_l ? bo_l_sb : npart_l;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].l[sb] = enn;\n gfc.thm[chn].l[sb] = thmm;\n\n if (b >= npart_l) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_l_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].l[sb] += enn;\n gfc.thm[chn].l[sb] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_l; ++sb) {\n gfc.en[chn].l[sb] = 0;\n gfc.thm[chn].l[sb] = 0;\n }\n }\n\n function compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var j, b;\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (var i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var ecb = gfc.s3_ss[j++] * eb[kk];\n ++kk;\n while (kk <= gfc.s3ind_s[b][1]) {\n ecb += gfc.s3_ss[j] * eb[kk];\n ++j;\n ++kk;\n }\n\n { /* limit calculated threshold by previous granule */\n var x = rpelev_s * gfc.nb_s1[chn][b];\n thr[b] = Math.min(ecb, x);\n }\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE) {\n /* limit calculated threshold by even older granule */\n var x = rpelev2_s * gfc.nb_s2[chn][b];\n var y = thr[b];\n thr[b] = Math.min(x, y);\n }\n\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n assert(thr[b] >= 0);\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function block_type_set(gfp, uselongblock, blocktype_d, blocktype) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n blocktype[chn] = Encoder.NORM_TYPE;\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed)\n uselongblock[chn] = 1;\n if (gfp.short_blocks == ShortBlock.short_block_forced)\n uselongblock[chn] = 0;\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype[chn] = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype[chn] = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype[chn];\n // save for next call to l3psy_anal\n }\n }\n\n function NS_INTERP(x, y, r) {\n /* was pow((x),(r))*pow((y),1-(r)) */\n if (r >= 1.0) {\n /* 99.7% of the time */\n return x;\n }\n if (r <= 0.0)\n return y;\n if (y > 0.0) {\n /* rest of the time */\n return (Math.pow(x / y, r) * y);\n }\n /* never happens */\n return 0.0;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_s = [11.8, 13.6, 17.2, 32, 46.5,\n 51.3, 57.5, 67.1, 71.5, 84.6, 97.6, 130,\n /* 255.8 */\n ];\n\n function pecalc_s(mr, masking_lower) {\n var pe_s = 1236.28 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_s - 1; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thm = mr.thm.s[sb][sblock];\n assert(sb < regcoef_s.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.s[sb][sblock];\n if (en > x) {\n if (en > x * 1e10) {\n pe_s += regcoef_s[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_s += regcoef_s[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n }\n\n return pe_s;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_l = [6.8, 5.8, 5.8, 6.4, 6.5, 9.9,\n 12.1, 14.4, 15, 18.9, 21.6, 26.9, 34.2, 40.2, 46.8, 56.5,\n 60.7, 73.9, 85.7, 93.4, 126.1,\n /* 241.3 */\n ];\n\n function pecalc_l(mr, masking_lower) {\n var pe_l = 1124.23 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_l - 1; sb++) {\n var thm = mr.thm.l[sb];\n assert(sb < regcoef_l.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.l[sb];\n if (en > x) {\n if (en > x * 1e10) {\n pe_l += regcoef_l[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_l += regcoef_l[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n return pe_l;\n }\n\n function calc_energy(gfc, fftenergy, eb, max, avg) {\n var b, j;\n\n for (b = j = 0; b < gfc.npart_l; ++b) {\n var ebb = 0, m = 0;\n var i;\n for (i = 0; i < gfc.numlines_l[b]; ++i, ++j) {\n var el = fftenergy[j];\n assert(el >= 0);\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n max[b] = m;\n avg[b] = ebb * gfc.rnumlines_l[b];\n assert(gfc.rnumlines_l[b] >= 0);\n assert(ebb >= 0);\n assert(eb[b] >= 0);\n assert(max[b] >= 0);\n assert(avg[b] >= 0);\n }\n }\n\n function calc_mask_index_l(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_l - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b]\n + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_l - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_l - 1));\n }\n\n var fircoef = [\n -8.65163e-18 * 2, -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2, 0.0931738 * 2,\n -5.52212e-17 * 2, -0.313819 * 2\n ];\n\n this.L3psycho_anal_ns = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n /*\n * to get a good cache performance, one has to think about the sequence,\n * in which the variables are used.\n */\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n\n /* convolution */\n var eb_l = new_float(Encoder.CBANDS + 1);\n var eb_s = new_float(Encoder.CBANDS + 1);\n var thr = new_float(Encoder.CBANDS + 2);\n\n /* block type */\n var blocktype = new_int(2), uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n var numchn, chn;\n var b, i, j, k;\n var sb, sblock;\n\n /* variables used for --nspsytune */\n var ns_hpfsmpl = new_float_n([2, 576]);\n var pcfact;\n var mask_idx_l = new_int(Encoder.CBANDS + 2), mask_idx_s = new_int(Encoder.CBANDS + 2);\n\n Arrays.fill(mask_idx_s, 0);\n\n numchn = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n if (gfp.mode == MPEGMode.JOINT_STEREO)\n numchn = 4;\n\n if (gfp.VBR == VbrMode.vbr_off)\n pcfact = gfc.ResvMax == 0 ? 0 : ( gfc.ResvSize)\n / gfc.ResvMax * 0.5;\n else if (gfp.VBR == VbrMode.vbr_rh || gfp.VBR == VbrMode.vbr_mtrh\n || gfp.VBR == VbrMode.vbr_mt) {\n pcfact = 0.6;\n } else\n pcfact = 1.0;\n\n /**********************************************************************\n * Apply HPF of fs/4 to the input signal. This is used for attack\n * detection / handling.\n **********************************************************************/\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (chn = 0; chn < gfc.channels_out; chn++) {\n /* apply high pass filter of fs/4 */\n var firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef.length == ((NSFIRLEN - 1) / 2));\n for (i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (numchn > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n\n for (chn = 0; chn < numchn; chn++) {\n var wsamp_l;\n var wsamp_s;\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var attack_intensity = new_float(12);\n var ns_uselongblock = 1;\n var attackThreshold;\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var ns_attacks = [0, 0, 0, 0];\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n\n /*\n * rh 20040301: the following loops do access one off the limits so\n * I increase the array dimensions by one and initialize the\n * accessed values to zero\n */\n assert(gfc.npart_s <= Encoder.CBANDS);\n assert(gfc.npart_l <= Encoder.CBANDS);\n\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n if (chn == 2) {\n for (i = 0; i < 576; i++) {\n var l, r;\n l = ns_hpfsmpl[0][i];\n r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n {\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n for (i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else\n p = 0.0;\n attack_intensity[i + 3] = p;\n }\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (i = 1; i < 12; i++)\n if (x < attack_intensity[i])\n x = attack_intensity[i];\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n for (i = 0; i < 12; i++)\n if (0 == ns_attacks[i / 3]\n && attack_intensity[i] > attackThreshold)\n ns_attacks[i / 3] = (i % 3) + 1;\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n for (i = 1; i < 4; i++) {\n var ratio;\n if (en_short[i - 1] > en_short[i]) {\n assert(en_short[i] > 0);\n ratio = en_short[i - 1] / en_short[i];\n } else {\n assert(en_short[i - 1] > 0);\n ratio = en_short[i] / en_short[i - 1];\n }\n if (ratio < 1.7) {\n ns_attacks[i] = 0;\n if (i == 1)\n ns_attacks[0] = 0;\n }\n }\n\n if (ns_attacks[0] != 0 && gfc.nsPsy.lastAttacks[chn] != 0)\n ns_attacks[0] = 0;\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[0] + ns_attacks[1] + ns_attacks[2] + ns_attacks[3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[1] != 0 && ns_attacks[0] != 0)\n ns_attacks[1] = 0;\n if (ns_attacks[2] != 0 && ns_attacks[1] != 0)\n ns_attacks[2] = 0;\n if (ns_attacks[3] != 0 && ns_attacks[2] != 0)\n ns_attacks[3] = 0;\n }\n\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n\n /*********************************************************************\n * compute FFTs\n *********************************************************************/\n wsamp_s = wsamp_S;\n wsamp_l = wsamp_L;\n compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, (chn & 1),\n wsamp_s, (chn & 1), gr_out, chn, buffer, bufPos);\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n /* compute masking thresholds for short blocks */\n for (sblock = 0; sblock < 3; sblock++) {\n var enn, thmm;\n compute_masking_s(gfp, fftenergy_s, eb_s, thr, chn, sblock);\n convert_partition2scalefac_s(gfc, eb_s, thr, chn, sblock);\n /**** short block pre-echo control ****/\n for (sb = 0; sb < Encoder.SBMAX_s; sb++) {\n thmm = gfc.thm[chn].s[sb][sblock];\n\n thmm *= NS_PREECHO_ATT0;\n if (ns_attacks[sblock] >= 2 || ns_attacks[sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n if (ns_attacks[sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n enn = en_subshort[sblock * 3 + 3]\n + en_subshort[sblock * 3 + 4]\n + en_subshort[sblock * 3 + 5];\n if (en_subshort[sblock * 3 + 5] * 6 < enn) {\n thmm *= 0.5;\n if (en_subshort[sblock * 3 + 4] * 6 < enn)\n thmm *= 0.5;\n }\n\n gfc.thm[chn].s[sb][sblock] = thmm;\n }\n }\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[2];\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n k = 0;\n {\n for (b = 0; b < gfc.npart_l; b++) {\n /*\n * convolve the partitioned energy with the spreading\n * function\n */\n var kk = gfc.s3ind[b][0];\n var eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n var ecb = gfc.s3_ll[k++] * eb2;\n while (++kk <= gfc.s3ind[b][1]) {\n eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n ecb = mask_add(ecb, gfc.s3_ll[k++] * eb2, kk, kk - b,\n gfc, 0);\n }\n ecb *= 0.158489319246111;\n /* pow(10,-0.8) */\n\n /**** long block pre-echo control ****/\n /**\n *
\n                     * dont use long block pre-echo control if previous granule was\n                     * a short block.  This is to avoid the situation:\n                     * frame0:  quiet (very low masking)\n                     * frame1:  surge  (triggers short blocks)\n                     * frame2:  regular frame.  looks like pre-echo when compared to\n                     *          frame0, but all pre-echo was in frame1.\n                     * 
\n */\n /*\n * chn=0,1 L and R channels\n *\n * chn=2,3 S and M channels.\n */\n\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE)\n thr[b] = ecb;\n else\n thr[b] = NS_INTERP(\n Math.min(ecb, Math.min(rpelev\n * gfc.nb_1[chn][b], rpelev2\n * gfc.nb_2[chn][b])), ecb, pcfact);\n\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n }\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n /* compute masking thresholds for long blocks */\n convert_partition2scalefac_l(gfc, eb_l, thr, chn);\n }\n /* end loop over chn */\n\n if (gfp.mode == MPEGMode.STEREO || gfp.mode == MPEGMode.JOINT_STEREO) {\n if (gfp.interChRatio > 0.0) {\n calc_interchannel_masking(gfp, gfp.interChRatio);\n }\n }\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n var msfix;\n msfix1(gfc);\n msfix = gfp.msfix;\n if (Math.abs(msfix) > 0.0)\n ns_msfix(gfc, msfix, gfp.ATHlower * gfc.ATH.adjust);\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n block_type_set(gfp, uselongblock, blocktype_d, blocktype);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (chn = 0; chn < numchn; chn++) {\n var ppe;\n var ppePos = 0;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE)\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n else\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n\n if (gfp.analysis)\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n\n }\n return 0;\n }\n\n function vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out, fftenergy, wsamp_l, wsamp_lPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n } else if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 - j];\n var im = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n }\n\n function vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock, fftenergy_s, wsamp_s, wsamp_sPos) {\n var gfc = gfp.internal_flags;\n\n if (sblock == 0 && chn < 2) {\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][sblock][j];\n var r = wsamp_s[wsamp_sPos + 1][sblock][j];\n wsamp_s[wsamp_sPos + 0][sblock][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][sblock][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy_s[sblock][0] = wsamp_s[wsamp_sPos + 0][sblock][0];\n fftenergy_s[sblock][0] *= fftenergy_s[sblock][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 - j];\n var im = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 + j];\n fftenergy_s[sblock][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n\n /**\n * compute loudness approximation (used for ATH auto-level adjustment)\n */\n function vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn, fftenergy) {\n var gfc = gfp.internal_flags;\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n var fircoef_ = [-8.65163e-18 * 2,\n -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2,\n 0.0931738 * 2, -5.52212e-17 * 2, -0.313819 * 2];\n\n /**\n * Apply HPF of fs/4 to the input signal. This is used for attack detection\n * / handling.\n */\n function vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, energy, sub_short_factor, ns_attacks, uselongblock) {\n var ns_hpfsmpl = new_float_n([2, 576]);\n var gfc = gfp.internal_flags;\n var n_chn_out = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4 : n_chn_out;\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (var chn = 0; chn < n_chn_out; chn++) {\n /* apply high pass filter of fs/4 */\n firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef_.length == ((NSFIRLEN - 1) / 2));\n for (var i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (var j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef_[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef_[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (n_chn_psy > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var attack_intensity = new_float(12);\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n var attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n var ns_uselongblock = 1;\n\n if (chn == 2) {\n for (var i = 0, j = 576; j > 0; ++i, --j) {\n var l = ns_hpfsmpl[0][i];\n var r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (var i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n for (var i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else {\n p = 0.0;\n }\n attack_intensity[i + 3] = p;\n }\n /* pulse like signal detection for fatboy.wav and so on */\n for (var i = 0; i < 3; ++i) {\n var enn = en_subshort[i * 3 + 3]\n + en_subshort[i * 3 + 4] + en_subshort[i * 3 + 5];\n var factor = 1.;\n if (en_subshort[i * 3 + 5] * 6 < enn) {\n factor *= 0.5;\n if (en_subshort[i * 3 + 4] * 6 < enn) {\n factor *= 0.5;\n }\n }\n sub_short_factor[chn][i] = factor;\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (var i = 1; i < 12; i++) {\n if (x < attack_intensity[i]) {\n x = attack_intensity[i];\n }\n }\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n for (var i = 0; i < 12; i++) {\n if (0 == ns_attacks[chn][i / 3]\n && attack_intensity[i] > attackThreshold) {\n ns_attacks[chn][i / 3] = (i % 3) + 1;\n }\n }\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n /* Good samples to show the effect are Trumpet test songs */\n /*\n * GB: tuned (1) to avoid too many short blocks for test sample\n * TRUMPET\n */\n /*\n * RH: tuned (2) to let enough short blocks through for test sample\n * FSOL and SNAPS\n */\n for (var i = 1; i < 4; i++) {\n var u = en_short[i - 1];\n var v = en_short[i];\n var m = Math.max(u, v);\n if (m < 40000) { /* (2) */\n if (u < 1.7 * v && v < 1.7 * u) { /* (1) */\n if (i == 1 && ns_attacks[chn][0] <= ns_attacks[chn][i]) {\n ns_attacks[chn][0] = 0;\n }\n ns_attacks[chn][i] = 0;\n }\n }\n }\n\n if (ns_attacks[chn][0] <= gfc.nsPsy.lastAttacks[chn]) {\n ns_attacks[chn][0] = 0;\n }\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[chn][0] + ns_attacks[chn][1]\n + ns_attacks[chn][2] + ns_attacks[chn][3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[chn][1] != 0 && ns_attacks[chn][0] != 0) {\n ns_attacks[chn][1] = 0;\n }\n if (ns_attacks[chn][2] != 0 && ns_attacks[chn][1] != 0) {\n ns_attacks[chn][2] = 0;\n }\n if (ns_attacks[chn][3] != 0 && ns_attacks[chn][2] != 0) {\n ns_attacks[chn][3] = 0;\n }\n }\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n }\n }\n\n function vbrpsy_skip_masking_s(gfc, chn, sblock) {\n if (sblock == 0) {\n for (var b = 0; b < gfc.npart_s; b++) {\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = 0;\n }\n }\n }\n\n function vbrpsy_skip_masking_l(gfc, chn) {\n for (var b = 0; b < gfc.npart_l; b++) {\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = 0;\n }\n }\n\n function psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_s - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(b + 1 < gfc.npart_s);\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b]\n + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_s - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_s - 1));\n }\n\n function vbrpsy_compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var max = new float[Encoder.CBANDS], avg = new_float(Encoder.CBANDS);\n var i, j, b;\n var mask_idx_s = new int[Encoder.CBANDS];\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n assert(ebb >= 0);\n max[b] = m;\n assert(n > 0);\n avg[b] = ebb / n;\n assert(avg[b] >= 0);\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (; b < Encoder.CBANDS; ++b) {\n max[b] = 0;\n avg[b] = 0;\n }\n psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx_s);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var last = gfc.s3ind_s[b][1];\n var dd, dd_n;\n var x, ecb, avg_mask;\n dd = mask_idx_s[kk];\n dd_n = 1;\n ecb = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ++j;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_s[kk];\n dd_n += 1;\n x = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ecb = vbrpsy_mask_add(ecb, x, kk - b);\n ++j;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n thr[b] = ecb;\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_s[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb[b]) {\n thr[b] = eb[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_masking_l(gfc, fftenergy, eb_l, thr, chn) {\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var mask_idx_l = new_int(Encoder.CBANDS + 2);\n var b;\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n var k = 0;\n for (b = 0; b < gfc.npart_l; b++) {\n var x, ecb, avg_mask, t;\n /* convolve the partitioned energy with the spreading function */\n var kk = gfc.s3ind[b][0];\n var last = gfc.s3ind[b][1];\n var dd = 0, dd_n = 0;\n dd = mask_idx_l[kk];\n dd_n += 1;\n ecb = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n ++k;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_l[kk];\n dd_n += 1;\n x = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n t = vbrpsy_mask_add(ecb, x, kk - b);\n ecb = t;\n ++k;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n\n /**** long block pre-echo control ****/\n /**\n *
\n             * dont use long block pre-echo control if previous granule was\n             * a short block.  This is to avoid the situation:\n             * frame0:  quiet (very low masking)\n             * frame1:  surge  (triggers short blocks)\n             * frame2:  regular frame.  looks like pre-echo when compared to\n             *          frame0, but all pre-echo was in frame1.\n             * 
\n */\n /*\n * chn=0,1 L and R channels chn=2,3 S and M channels.\n */\n if (gfc.blocktype_old[chn & 0x01] == Encoder.SHORT_TYPE) {\n var ecb_limit = rpelev * gfc.nb_1[chn][b];\n if (ecb_limit > 0) {\n thr[b] = Math.min(ecb, ecb_limit);\n } else {\n /**\n *
\n                     * Robert 071209:\n                     * Because we don't calculate long block psy when we know a granule\n                     * should be of short blocks, we don't have any clue how the granule\n                     * before would have looked like as a long block. So we have to guess\n                     * a little bit for this END_TYPE block.\n                     * Most of the time we get away with this sloppyness. (fingers crossed :)\n                     * The speed increase is worth it.\n                     * 
\n */\n thr[b] = Math.min(ecb, eb_l[b] * NS_PREECHO_ATT2);\n }\n } else {\n var ecb_limit_2 = rpelev2 * gfc.nb_2[chn][b];\n var ecb_limit_1 = rpelev * gfc.nb_1[chn][b];\n var ecb_limit;\n if (ecb_limit_2 <= 0) {\n ecb_limit_2 = ecb;\n }\n if (ecb_limit_1 <= 0) {\n ecb_limit_1 = ecb;\n }\n if (gfc.blocktype_old[chn & 0x01] == Encoder.NORM_TYPE) {\n ecb_limit = Math.min(ecb_limit_1, ecb_limit_2);\n } else {\n ecb_limit = ecb_limit_1;\n }\n thr[b] = Math.min(ecb, ecb_limit);\n }\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_l[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb_l[b]) {\n thr[b] = eb_l[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_block_type(gfp, uselongblock) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed) {\n uselongblock[chn] = 1;\n }\n if (gfp.short_blocks == ShortBlock.short_block_forced) {\n uselongblock[chn] = 0;\n }\n }\n }\n\n function vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n var blocktype = Encoder.NORM_TYPE;\n /* disable short blocks */\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype;\n // save for next call to l3psy_anal\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function vbrpsy_compute_MS_thresholds(eb, thr, cb_mld, ath_cb, athadjust, msfix, n) {\n var msfix2 = msfix * 2;\n var athlower = msfix > 0 ? Math.pow(10, athadjust) : 1;\n var rside, rmid;\n for (var b = 0; b < n; ++b) {\n var ebM = eb[2][b];\n var ebS = eb[3][b];\n var thmL = thr[0][b];\n var thmR = thr[1][b];\n var thmM = thr[2][b];\n var thmS = thr[3][b];\n\n /* use this fix if L & R masking differs by 2db or less */\n if (thmL <= 1.58 * thmR && thmR <= 1.58 * thmL) {\n var mld_m = cb_mld[b] * ebS;\n var mld_s = cb_mld[b] * ebM;\n rmid = Math.max(thmM, Math.min(thmS, mld_m));\n rside = Math.max(thmS, Math.min(thmM, mld_s));\n } else {\n rmid = thmM;\n rside = thmS;\n }\n if (msfix > 0) {\n /***************************************************************/\n /* Adjust M/S maskings if user set \"msfix\" */\n /***************************************************************/\n /* Naoki Shibata 2000 */\n var thmLR, thmMS;\n var ath = ath_cb[b] * athlower;\n thmLR = Math.min(Math.max(thmL, ath), Math.max(thmR, ath));\n thmM = Math.max(rmid, ath);\n thmS = Math.max(rside, ath);\n thmMS = thmM + thmS;\n if (thmMS > 0 && (thmLR * msfix2) < thmMS) {\n var f = thmLR * msfix2 / thmMS;\n thmM *= f;\n thmS *= f;\n assert(thmMS > 0);\n }\n rmid = Math.min(thmM, rmid);\n rside = Math.min(thmS, rside);\n }\n if (rmid > ebM) {\n rmid = ebM;\n }\n if (rside > ebS) {\n rside = ebS;\n }\n thr[2][b] = rmid;\n thr[3][b] = rside;\n }\n }\n\n this.L3psycho_anal_vbr = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_l;\n var wsamp_s;\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n var eb = new_float_n([4, Encoder.CBANDS]), thr = new_float_n([4, Encoder.CBANDS]);\n var sub_short_factor = new_float_n([4, 3]);\n var pcfact = 0.6;\n\n /* block type */\n var ns_attacks = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],\n [0, 0, 0, 0]];\n var uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4\n : gfc.channels_out;\n\n vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio,\n masking_MS_ratio, energy, sub_short_factor, ns_attacks,\n uselongblock);\n\n vbrpsy_compute_block_type(gfp, uselongblock);\n\n /* LONG BLOCK CASE */\n {\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n wsamp_l = wsamp_L;\n vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out,\n fftenergy, wsamp_l, ch01);\n\n vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn,\n fftenergy);\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_compute_masking_l(gfc, fftenergy, eb[chn], thr[chn],\n chn);\n } else {\n vbrpsy_skip_masking_l(gfc, chn);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 2) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_l,\n gfc.ATH.cb_l, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_l);\n }\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) {\n convert_partition2scalefac_l(gfc, eb[chn], thr[chn], chn);\n }\n }\n }\n\n /* SHORT BLOCKS CASE */\n {\n for (var sblock = 0; sblock < 3; sblock++) {\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_skip_masking_s(gfc, chn, sblock);\n } else {\n /* compute masking thresholds for short blocks */\n wsamp_s = wsamp_S;\n vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock,\n fftenergy_s, wsamp_s, ch01);\n vbrpsy_compute_masking_s(gfp, fftenergy_s, eb[chn],\n thr[chn], chn, sblock);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 0) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_s,\n gfc.ATH.cb_s, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_s);\n }\n /* L/R channel */\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n if (0 == uselongblock[ch01]) {\n convert_partition2scalefac_s(gfc, eb[chn], thr[chn],\n chn, sblock);\n }\n }\n }\n\n /**** short block pre-echo control ****/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n continue;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n var new_thmm = new_float(3);\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmm = gfc.thm[chn].s[sb][sblock];\n thmm *= NS_PREECHO_ATT0;\n\n if (ns_attacks[chn][sblock] >= 2\n || ns_attacks[chn][sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (ns_attacks[chn][sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[chn][sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n thmm *= sub_short_factor[chn][sblock];\n\n new_thmm[sblock] = thmm;\n }\n for (var sblock = 0; sblock < 3; sblock++) {\n gfc.thm[chn].s[sb][sblock] = new_thmm[sblock];\n }\n }\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[chn][2];\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ppe;\n var ppePos;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE) {\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n } else {\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n }\n\n if (gfp.analysis) {\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n }\n }\n return 0;\n }\n\n function s3_func_x(bark, hf_slope) {\n var tempx = bark, tempy;\n\n if (tempx >= 0) {\n tempy = -tempx * 27;\n } else {\n tempy = tempx * hf_slope;\n }\n if (tempy <= -72.0) {\n return 0;\n }\n return Math.exp(tempy * LN_TO_LOG10);\n }\n\n function norm_s3_func_x(hf_slope) {\n var lim_a = 0, lim_b = 0;\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x -= 1)\n ;\n l = x;\n h = 0;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n h = x;\n } else {\n l = x;\n }\n }\n lim_a = l;\n }\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x += 1)\n ;\n l = 0;\n h = x;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n l = x;\n } else {\n h = x;\n }\n }\n lim_b = h;\n }\n {\n var sum = 0;\n var m = 1000;\n var i;\n for (i = 0; i <= m; ++i) {\n var x = lim_a + i * (lim_b - lim_a) / m;\n var y = s3_func_x(x, hf_slope);\n sum += y;\n }\n {\n var norm = (m + 1) / (sum * (lim_b - lim_a));\n /* printf( \"norm = %lf\\n\",norm); */\n return norm;\n }\n }\n }\n\n /**\n * The spreading function. Values returned in units of energy\n */\n function s3_func(bark) {\n var tempx, x, tempy, temp;\n tempx = bark;\n if (tempx >= 0)\n tempx *= 3;\n else\n tempx *= 1.5;\n\n if (tempx >= 0.5 && tempx <= 2.5) {\n temp = tempx - 0.5;\n x = 8.0 * (temp * temp - 2.0 * temp);\n } else\n x = 0.0;\n tempx += 0.474;\n tempy = 15.811389 + 7.5 * tempx - 17.5\n * Math.sqrt(1.0 + tempx * tempx);\n\n if (tempy <= -60.0)\n return 0.0;\n\n tempx = Math.exp((x + tempy) * LN_TO_LOG10);\n\n /**\n *
\n         * Normalization.  The spreading function should be normalized so that:\n         * +inf\n         * /\n         * |  s3 [ bark ]  d(bark)   =  1\n         * /\n         * -inf\n         * 
\n */\n tempx /= .6609193;\n return tempx;\n }\n\n /**\n * see for example \"Zwicker: Psychoakustik, 1982; ISBN 3-540-11401-7\n */\n function freq2bark(freq) {\n /* input: freq in hz output: barks */\n if (freq < 0)\n freq = 0;\n freq = freq * 0.001;\n return 13.0 * Math.atan(.76 * freq) + 3.5\n * Math.atan(freq * freq / (7.5 * 7.5));\n }\n\n function init_numline(numlines, bo, bm, bval, bval_width, mld, bo_w, sfreq, blksize, scalepos, deltafreq, sbmax) {\n var b_frq = new_float(Encoder.CBANDS + 1);\n var sample_freq_frac = sfreq / (sbmax > 15 ? 2 * 576 : 2 * 192);\n var partition = new_int(Encoder.HBLKSIZE);\n var i;\n sfreq /= blksize;\n var j = 0;\n var ni = 0;\n /* compute numlines, the number of spectral lines in each partition band */\n /* each partition band should be about DELBARK wide. */\n for (i = 0; i < Encoder.CBANDS; i++) {\n var bark1;\n var j2;\n bark1 = freq2bark(sfreq * j);\n\n b_frq[i] = sfreq * j;\n\n for (j2 = j; freq2bark(sfreq * j2) - bark1 < DELBARK\n && j2 <= blksize / 2; j2++)\n ;\n\n numlines[i] = j2 - j;\n ni = i + 1;\n\n while (j < j2) {\n assert(j < Encoder.HBLKSIZE);\n partition[j++] = i;\n }\n if (j > blksize / 2) {\n j = blksize / 2;\n ++i;\n break;\n }\n }\n assert(i < Encoder.CBANDS);\n b_frq[i] = sfreq * j;\n\n for (var sfb = 0; sfb < sbmax; sfb++) {\n var i1, i2, start, end;\n var arg;\n start = scalepos[sfb];\n end = scalepos[sfb + 1];\n\n i1 = 0 | Math.floor(.5 + deltafreq * (start - .5));\n if (i1 < 0)\n i1 = 0;\n i2 = 0 | Math.floor(.5 + deltafreq * (end - .5));\n\n if (i2 > blksize / 2)\n i2 = blksize / 2;\n\n bm[sfb] = (partition[i1] + partition[i2]) / 2;\n bo[sfb] = partition[i2];\n var f_tmp = sample_freq_frac * end;\n /*\n * calculate how much of this band belongs to current scalefactor\n * band\n */\n bo_w[sfb] = (f_tmp - b_frq[bo[sfb]])\n / (b_frq[bo[sfb] + 1] - b_frq[bo[sfb]]);\n if (bo_w[sfb] < 0) {\n bo_w[sfb] = 0;\n } else {\n if (bo_w[sfb] > 1) {\n bo_w[sfb] = 1;\n }\n }\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n arg = freq2bark(sfreq * scalepos[sfb] * deltafreq);\n arg = ( Math.min(arg, 15.5) / 15.5);\n\n mld[sfb] = Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /* compute bark values of each critical band */\n j = 0;\n for (var k = 0; k < ni; k++) {\n var w = numlines[k];\n var bark1, bark2;\n\n bark1 = freq2bark(sfreq * (j));\n bark2 = freq2bark(sfreq * (j + w - 1));\n bval[k] = .5 * (bark1 + bark2);\n\n bark1 = freq2bark(sfreq * (j - .5));\n bark2 = freq2bark(sfreq * (j + w - .5));\n bval_width[k] = bark2 - bark1;\n j += w;\n }\n\n return ni;\n }\n\n function init_s3_values(s3ind, npart, bval, bval_width, norm, use_old_s3) {\n var s3 = new_float_n([Encoder.CBANDS, Encoder.CBANDS]);\n /*\n * The s3 array is not linear in the bark scale.\n *\n * bval[x] should be used to get the bark value.\n */\n var j;\n var numberOfNoneZero = 0;\n\n /**\n *
\n         * s[i][j], the value of the spreading function,\n         * centered at band j (masker), for band i (maskee)\n         *\n         * i.e.: sum over j to spread into signal barkval=i\n         * NOTE: i and j are used opposite as in the ISO docs\n         * 
\n */\n if (use_old_s3) {\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n var v = s3_func(bval[i] - bval[j]) * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n } else {\n for (j = 0; j < npart; j++) {\n var hf_slope = 15 + Math.min(21 / bval[j], 12);\n var s3_x_norm = norm_s3_func_x(hf_slope);\n for (var i = 0; i < npart; i++) {\n var v = s3_x_norm\n * s3_func_x(bval[i] - bval[j], hf_slope)\n * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n }\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][0] = j;\n\n for (j = npart - 1; j > 0; j--) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][1] = j;\n numberOfNoneZero += (s3ind[i][1] - s3ind[i][0] + 1);\n }\n\n var p = new_float(numberOfNoneZero);\n var k = 0;\n for (var i = 0; i < npart; i++)\n for (j = s3ind[i][0]; j <= s3ind[i][1]; j++)\n p[k++] = s3[i][j];\n\n return p;\n }\n\n function stereo_demask(f) {\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n var arg = freq2bark(f);\n arg = (Math.min(arg, 15.5) / 15.5);\n\n return Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /**\n * NOTE: the bitrate reduction from the inter-channel masking effect is low\n * compared to the chance of getting annyoing artefacts. L3psycho_anal_vbr\n * does not use this feature. (Robert 071216)\n */\n this.psymodel_init = function (gfp) {\n var gfc = gfp.internal_flags;\n var i;\n var useOldS3 = true;\n var bvl_a = 13, bvl_b = 24;\n var snr_l_a = 0, snr_l_b = 0;\n var snr_s_a = -8.25, snr_s_b = -4.5;\n var bval = new_float(Encoder.CBANDS);\n var bval_width = new_float(Encoder.CBANDS);\n var norm = new_float(Encoder.CBANDS);\n var sfreq = gfp.out_samplerate;\n\n switch (gfp.experimentalZ) {\n default:\n case 0:\n useOldS3 = true;\n break;\n case 1:\n useOldS3 = (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) ? false\n : true;\n break;\n case 2:\n useOldS3 = false;\n break;\n case 3:\n bvl_a = 8;\n snr_l_a = -1.75;\n snr_l_b = -0.0125;\n snr_s_a = -8.25;\n snr_s_b = -2.25;\n break;\n }\n gfc.ms_ener_ratio_old = .25;\n gfc.blocktype_old[0] = gfc.blocktype_old[1] = Encoder.NORM_TYPE;\n // the vbr header is long blocks\n\n for (i = 0; i < 4; ++i) {\n for (var j = 0; j < Encoder.CBANDS; ++j) {\n gfc.nb_1[i][j] = 1e20;\n gfc.nb_2[i][j] = 1e20;\n gfc.nb_s1[i][j] = gfc.nb_s2[i][j] = 1.0;\n }\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n gfc.en[i].l[sb] = 1e20;\n gfc.thm[i].l[sb] = 1e20;\n }\n for (var j = 0; j < 3; ++j) {\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n gfc.en[i].s[sb][j] = 1e20;\n gfc.thm[i].s[sb][j] = 1e20;\n }\n gfc.nsPsy.lastAttacks[i] = 0;\n }\n for (var j = 0; j < 9; j++)\n gfc.nsPsy.last_en_subshort[i][j] = 10.;\n }\n\n /* init. for loudness approx. -jd 2001 mar 27 */\n gfc.loudness_sq_save[0] = gfc.loudness_sq_save[1] = 0.0;\n\n /*************************************************************************\n * now compute the psychoacoustic model specific constants\n ************************************************************************/\n /* compute numlines, bo, bm, bval, bval_width, mld */\n\n gfc.npart_l = init_numline(gfc.numlines_l, gfc.bo_l, gfc.bm_l, bval,\n bval_width, gfc.mld_l, gfc.PSY.bo_l_weight, sfreq,\n Encoder.BLKSIZE, gfc.scalefac_band.l, Encoder.BLKSIZE\n / (2.0 * 576), Encoder.SBMAX_l);\n assert(gfc.npart_l < Encoder.CBANDS);\n /* compute the spreading function */\n for (i = 0; i < gfc.npart_l; i++) {\n var snr = snr_l_a;\n if (bval[i] >= bvl_a) {\n snr = snr_l_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_l_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n if (gfc.numlines_l[i] > 0) {\n gfc.rnumlines_l[i] = 1.0 / gfc.numlines_l[i];\n } else {\n gfc.rnumlines_l[i] = 0;\n }\n }\n gfc.s3_ll = init_s3_values(gfc.s3ind, gfc.npart_l, bval, bval_width,\n norm, useOldS3);\n\n /* compute long block specific values, ATH and MINVAL */\n var j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var x;\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_l[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE);\n var level;\n /*\n * ATH below 100 Hz constant, not further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_l[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_l[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n /*\n * FIXME: it does work to reduce low-freq problems in S53-Wind-Sax\n * and lead-voice samples, but introduces some 3 kbps bit bloat too.\n * TODO: Further refinement of the shape of this hack.\n */\n x = -20 + bval[i] * 20 / 10;\n if (x > 6) {\n x = 100;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8.;\n gfc.minval_l[i] = (Math.pow(10.0, x / 10.) * gfc.numlines_l[i]);\n }\n\n /************************************************************************\n * do the same things for short blocks\n ************************************************************************/\n gfc.npart_s = init_numline(gfc.numlines_s, gfc.bo_s, gfc.bm_s, bval,\n bval_width, gfc.mld_s, gfc.PSY.bo_s_weight, sfreq,\n Encoder.BLKSIZE_s, gfc.scalefac_band.s, Encoder.BLKSIZE_s\n / (2.0 * 192), Encoder.SBMAX_s);\n assert(gfc.npart_s < Encoder.CBANDS);\n\n /* SNR formula. short block is normalized by SNR. is it still right ? */\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var x;\n var snr = snr_s_a;\n if (bval[i] >= bvl_a) {\n snr = snr_s_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_s_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_s[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE_s);\n var level;\n /* freq = Min(.1,freq); */\n /*\n * ATH below 100 Hz constant, not\n * further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_s[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_s[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n x = (-7.0 + bval[i] * 7.0 / 12.0);\n if (bval[i] > 12) {\n x *= 1 + Math.log(1 + x) * 3.1;\n }\n if (bval[i] < 12) {\n x *= 1 + Math.log(1 - x) * 2.3;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8;\n gfc.minval_s[i] = Math.pow(10.0, x / 10)\n * gfc.numlines_s[i];\n }\n\n gfc.s3_ss = init_s3_values(gfc.s3ind_s, gfc.npart_s, bval, bval_width,\n norm, useOldS3);\n\n init_mask_add_max_values();\n fft.init_fft(gfc);\n\n /* setup temporal masking */\n gfc.decay = Math.exp(-1.0 * LOG10\n / (temporalmask_sustain_sec * sfreq / 192.0));\n\n {\n var msfix;\n msfix = NS_MSFIX;\n if ((gfp.exp_nspsytune & 2) != 0)\n msfix = 1.0;\n if (Math.abs(gfp.msfix) > 0.0)\n msfix = gfp.msfix;\n gfp.msfix = msfix;\n\n /*\n * spread only from npart_l bands. Normally, we use the spreading\n * function to convolve from npart_l down to npart_l bands\n */\n for (var b = 0; b < gfc.npart_l; b++)\n if (gfc.s3ind[b][1] > gfc.npart_l - 1)\n gfc.s3ind[b][1] = gfc.npart_l - 1;\n }\n\n /*\n * prepare for ATH auto adjustment: we want to decrease the ATH by 12 dB\n * per second\n */\n var frame_duration = (576. * gfc.mode_gr / sfreq);\n gfc.ATH.decay = Math.pow(10., -12. / 10. * frame_duration);\n gfc.ATH.adjust = 0.01;\n /* minimum, for leading low loudness */\n gfc.ATH.adjustLimit = 1.0;\n /* on lead, allow adjust up to maximum */\n\n assert(gfc.bo_l[Encoder.SBMAX_l - 1] <= gfc.npart_l);\n assert(gfc.bo_s[Encoder.SBMAX_s - 1] <= gfc.npart_s);\n\n if (gfp.ATHtype != -1) {\n /* compute equal loudness weights (eql_w) */\n var freq;\n var freq_inc = gfp.out_samplerate\n / (Encoder.BLKSIZE);\n var eql_balance = 0.0;\n freq = 0.0;\n for (i = 0; i < Encoder.BLKSIZE / 2; ++i) {\n /* convert ATH dB to relative power (not dB) */\n /* to determine eql_w */\n freq += freq_inc;\n gfc.ATH.eql_w[i] = 1. / Math.pow(10, this.ATHformula(freq, gfp) / 10);\n eql_balance += gfc.ATH.eql_w[i];\n }\n eql_balance = 1.0 / eql_balance;\n for (i = Encoder.BLKSIZE / 2; --i >= 0;) { /* scale weights */\n gfc.ATH.eql_w[i] *= eql_balance;\n }\n }\n {\n for (var b = j = 0; b < gfc.npart_s; ++b) {\n for (i = 0; i < gfc.numlines_s[b]; ++i) {\n ++j;\n }\n }\n assert(j == 129);\n for (var b = j = 0; b < gfc.npart_l; ++b) {\n for (i = 0; i < gfc.numlines_l[b]; ++i) {\n ++j;\n }\n }\n assert(j == 513);\n }\n j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var freq = sfreq * (j + gfc.numlines_l[i] / 2) / (1.0 * Encoder.BLKSIZE);\n gfc.mld_cb_l[i] = stereo_demask(freq);\n j += gfc.numlines_l[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_l[i] = 1;\n }\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var freq = sfreq * (j + gfc.numlines_s[i] / 2) / (1.0 * Encoder.BLKSIZE_s);\n gfc.mld_cb_s[i] = stereo_demask(freq);\n j += gfc.numlines_s[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_s[i] = 1;\n }\n return 0;\n }\n\n /**\n * Those ATH formulas are returning their minimum value for input = -1\n */\n function ATHformula_GB(f, value) {\n /**\n *
\n         *  from Painter & Spanias\n         *           modified by Gabriel Bouvigne to better fit the reality\n         *           ath =    3.640 * pow(f,-0.8)\n         *           - 6.800 * exp(-0.6*pow(f-3.4,2.0))\n         *           + 6.000 * exp(-0.15*pow(f-8.7,2.0))\n         *           + 0.6* 0.001 * pow(f,4.0);\n         *\n         *\n         *           In the past LAME was using the Painter &Spanias formula.\n         *           But we had some recurrent problems with HF content.\n         *           We measured real ATH values, and found the older formula\n         *           to be inaccurate in the higher part. So we made this new\n         *           formula and this solved most of HF problematic test cases.\n         *           The tradeoff is that in VBR mode it increases a lot the\n         *           bitrate.\n         * 
\n */\n\n /*\n * This curve can be adjusted according to the VBR scale: it adjusts\n * from something close to Painter & Spanias on V9 up to Bouvigne's\n * formula for V0. This way the VBR bitrate is more balanced according\n * to the -V value.\n */\n\n // the following Hack allows to ask for the lowest value\n if (f < -.3)\n f = 3410;\n\n // convert to khz\n f /= 1000;\n f = Math.max(0.1, f);\n var ath = 3.640 * Math.pow(f, -0.8) - 6.800\n * Math.exp(-0.6 * Math.pow(f - 3.4, 2.0)) + 6.000\n * Math.exp(-0.15 * Math.pow(f - 8.7, 2.0))\n + (0.6 + 0.04 * value) * 0.001 * Math.pow(f, 4.0);\n return ath;\n }\n\n this.ATHformula = function (f, gfp) {\n var ath;\n switch (gfp.ATHtype) {\n case 0:\n ath = ATHformula_GB(f, 9);\n break;\n case 1:\n // over sensitive, should probably be removed\n ath = ATHformula_GB(f, -1);\n break;\n case 2:\n ath = ATHformula_GB(f, 0);\n break;\n case 3:\n // modification of GB formula by Roel\n ath = ATHformula_GB(f, 1) + 6;\n break;\n case 4:\n ath = ATHformula_GB(f, gfp.ATHcurve);\n break;\n default:\n ath = ATHformula_GB(f, 0);\n break;\n }\n return ath;\n }\n\n}\n\nmodule.exports = PsyModel;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","\"use strict\";\n\nexports.__esModule = true;\nexports.inherits = inherits;\nfunction inherits(parent, child) {\n\tvar props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar extended = Object.create(parent.prototype);\n\tfor (var p in props) {\n\t\textended[p] = props[p];\n\t}\n\textended.constructor = child;\n\tchild.prototype = extended;\n\treturn child;\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n defineBuiltIn(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var pattern = $toString(R.source);\n var flags = $toString(getRegExpFlags(R));\n return '/' + pattern + '/' + flags;\n }, { unsafe: true });\n}\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","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GrInfo = require('./GrInfo.js');\n\nfunction IIISideInfo() {\n this.tt = [[null, null], [null, null]];\n this.main_data_begin = 0;\n this.private_bits = 0;\n this.resvDrain_pre = 0;\n this.resvDrain_post = 0;\n this.scfsi = [new_int(4), new_int(4)];\n\n for (var gr = 0; gr < 2; gr++) {\n for (var ch = 0; ch < 2; ch++) {\n this.tt[gr][ch] = new GrInfo();\n }\n }\n}\n\nmodule.exports = IIISideInfo;\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar MISSED_STICKY = require('../internals/regexp-sticky-helpers').MISSED_STICKY;\nvar classof = require('../internals/classof-raw');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar getInternalState = require('../internals/internal-state').get;\n\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\n\n// `RegExp.prototype.sticky` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky\nif (DESCRIPTORS && MISSED_STICKY) {\n defineBuiltInAccessor(RegExpPrototype, 'sticky', {\n configurable: true,\n get: function sticky() {\n if (this === RegExpPrototype) return undefined;\n // We can't use InternalStateModule.getterFor because\n // we don't add metadata for regexps created by a literal.\n if (classof(this) === 'RegExp') {\n return !!getInternalState(this).sticky;\n }\n throw TypeError('Incompatible receiver, RegExp required');\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es-x/no-string-prototype-startswith -- safe\nvar un$StartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return un$StartsWith\n ? un$StartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setInterval = require('../internals/schedulers-fix').setInterval;\n\n// ie9- setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n$({ global: true, bind: true, forced: global.setInterval !== setInterval }, {\n setInterval: setInterval\n});\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, 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(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, 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);\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 isCallable(global.postMessage) &&\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 global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","'use strict';\n\nexports.__esModule = true;\nexports.tokenize = exports.test = exports.scanner = exports.parser = exports.options = exports.inherits = exports.find = undefined;\n\nvar _class = require('./linkify/utils/class');\n\nvar _options = require('./linkify/utils/options');\n\nvar options = _interopRequireWildcard(_options);\n\nvar _scanner = require('./linkify/core/scanner');\n\nvar scanner = _interopRequireWildcard(_scanner);\n\nvar _parser = require('./linkify/core/parser');\n\nvar parser = _interopRequireWildcard(_parser);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nif (!Array.isArray) {\n\tArray.isArray = function (arg) {\n\t\treturn Object.prototype.toString.call(arg) === '[object Array]';\n\t};\n}\n\n/**\n\tConverts a string into tokens that represent linkable and non-linkable bits\n\t@method tokenize\n\t@param {String} str\n\t@return {Array} tokens\n*/\nvar tokenize = function tokenize(str) {\n\treturn parser.run(scanner.run(str));\n};\n\n/**\n\tReturns a list of linkable items in the given string.\n*/\nvar find = function find(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\tvar filtered = [];\n\n\tfor (var i = 0; i < tokens.length; i++) {\n\t\tvar token = tokens[i];\n\t\tif (token.isLink && (!type || token.type === type)) {\n\t\t\tfiltered.push(token.toObject());\n\t\t}\n\t}\n\n\treturn filtered;\n};\n\n/**\n\tIs the given string valid linkable text of some sort\n\tNote that this does not trim the text for you.\n\n\tOptionally pass in a second `type` param, which is the type of link to test\n\tfor.\n\n\tFor example,\n\n\t\ttest(str, 'email');\n\n\tWill return `true` if str is a valid email.\n*/\nvar test = function test(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\treturn tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].type === type);\n};\n\n// Scanner and parser provide states and tokens for the lexicographic stage\n// (will be used to add additional link types)\nexports.find = find;\nexports.inherits = _class.inherits;\nexports.options = options;\nexports.parser = parser;\nexports.scanner = scanner;\nexports.test = test;\nexports.tokenize = tokenize;","/*\n * ReplayGainAnalysis - analyzes input samples and give the recommended dB change\n * Copyright (C) 2001 David Robinson and Glen Sawyer\n * Improvements and optimizations added by Frank Klemm, and by Marcel Muller \n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * concept and filter values by David Robinson (David@Robinson.org)\n * -- blame him if you think the idea is flawed\n * original coding by Glen Sawyer (mp3gain@hotmail.com)\n * -- blame him if you think this runs too slowly, or the coding is otherwise flawed\n *\n * lots of code improvements by Frank Klemm ( http://www.uni-jena.de/~pfk/mpp/ )\n * -- credit him for all the _good_ programming ;)\n *\n *\n * For an explanation of the concepts and the basic algorithms involved, go to:\n * http://www.replaygain.org/\n */\n\n/*\n * Here's the deal. Call\n *\n * InitGainAnalysis ( long samplefreq );\n *\n * to initialize everything. Call\n *\n * AnalyzeSamples ( var Float_t* left_samples,\n * var Float_t* right_samples,\n * size_t num_samples,\n * int num_channels );\n *\n * as many times as you want, with as many or as few samples as you want.\n * If mono, pass the sample buffer in through left_samples, leave\n * right_samples NULL, and make sure num_channels = 1.\n *\n * GetTitleGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * SINCE THE LAST TIME you called GetTitleGain() OR InitGainAnalysis().\n *\n * GetAlbumGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * since InitGainAnalysis() was called and finalized with GetTitleGain().\n *\n * Pseudo-code to process an album:\n *\n * Float_t l_samples [4096];\n * Float_t r_samples [4096];\n * size_t num_samples;\n * unsigned int num_songs;\n * unsigned int i;\n *\n * InitGainAnalysis ( 44100 );\n * for ( i = 1; i <= num_songs; i++ ) {\n * while ( ( num_samples = getSongSamples ( song[i], left_samples, right_samples ) ) > 0 )\n * AnalyzeSamples ( left_samples, right_samples, num_samples, 2 );\n * fprintf (\"Recommended dB change for song %2d: %+6.2 dB\\n\", i, GetTitleGain() );\n * }\n * fprintf (\"Recommended dB change for whole album: %+6.2 dB\\n\", GetAlbumGain() );\n */\n\n/*\n * So here's the main source of potential code confusion:\n *\n * The filters applied to the incoming samples are IIR filters,\n * meaning they rely on up to number of previous samples\n * AND up to number of previous filtered samples.\n *\n * I set up the AnalyzeSamples routine to minimize memory usage and interface\n * complexity. The speed isn't compromised too much (I don't think), but the\n * internal complexity is higher than it should be for such a relatively\n * simple routine.\n *\n * Optimization/clarity suggestions are welcome.\n */\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\n/**\n * Table entries per dB\n */\nGainAnalysis.STEPS_per_dB = 100.;\n/**\n * Table entries for 0...MAX_dB (normal max. values are 70...80 dB)\n */\nGainAnalysis.MAX_dB = 120.;\nGainAnalysis.GAIN_NOT_ENOUGH_SAMPLES = -24601;\nGainAnalysis.GAIN_ANALYSIS_ERROR = 0;\nGainAnalysis.GAIN_ANALYSIS_OK = 1;\nGainAnalysis.INIT_GAIN_ANALYSIS_ERROR = 0;\nGainAnalysis.INIT_GAIN_ANALYSIS_OK = 1;\n\nGainAnalysis.YULE_ORDER = 10;\nGainAnalysis.MAX_ORDER = GainAnalysis.YULE_ORDER;\n\nGainAnalysis.MAX_SAMP_FREQ = 48000;\nGainAnalysis.RMS_WINDOW_TIME_NUMERATOR = 1;\nGainAnalysis.RMS_WINDOW_TIME_DENOMINATOR = 20;\nGainAnalysis.MAX_SAMPLES_PER_WINDOW = ((GainAnalysis.MAX_SAMP_FREQ * GainAnalysis.RMS_WINDOW_TIME_NUMERATOR) / GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR + 1);\n\nfunction GainAnalysis() {\n /**\n * calibration value for 89dB\n */\n var PINK_REF = 64.82;\n\n var YULE_ORDER = GainAnalysis.YULE_ORDER;\n /**\n * percentile which is louder than the proposed level\n */\n var RMS_PERCENTILE = 0.95;\n /**\n * maximum allowed sample frequency [Hz]\n */\n var MAX_SAMP_FREQ = GainAnalysis.MAX_SAMP_FREQ;\n var RMS_WINDOW_TIME_NUMERATOR = GainAnalysis.RMS_WINDOW_TIME_NUMERATOR;\n /**\n * numerator / denominator = time slice size [s]\n */\n var RMS_WINDOW_TIME_DENOMINATOR = GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR;\n /**\n * max. Samples per Time slice\n */\n var MAX_SAMPLES_PER_WINDOW = GainAnalysis.MAX_SAMPLES_PER_WINDOW;\n\n\n var ABYule = [\n [0.03857599435200, -3.84664617118067, -0.02160367184185,\n 7.81501653005538, -0.00123395316851, -11.34170355132042,\n -0.00009291677959, 13.05504219327545, -0.01655260341619,\n -12.28759895145294, 0.02161526843274, 9.48293806319790,\n -0.02074045215285, -5.87257861775999, 0.00594298065125,\n 2.75465861874613, 0.00306428023191, -0.86984376593551,\n 0.00012025322027, 0.13919314567432, 0.00288463683916],\n [0.05418656406430, -3.47845948550071, -0.02911007808948,\n 6.36317777566148, -0.00848709379851, -8.54751527471874,\n -0.00851165645469, 9.47693607801280, -0.00834990904936,\n -8.81498681370155, 0.02245293253339, 6.85401540936998,\n -0.02596338512915, -4.39470996079559, 0.01624864962975,\n 2.19611684890774, -0.00240879051584, -0.75104302451432,\n 0.00674613682247, 0.13149317958808, -0.00187763777362],\n [0.15457299681924, -2.37898834973084, -0.09331049056315,\n 2.84868151156327, -0.06247880153653, -2.64577170229825,\n 0.02163541888798, 2.23697657451713, -0.05588393329856,\n -1.67148153367602, 0.04781476674921, 1.00595954808547,\n 0.00222312597743, -0.45953458054983, 0.03174092540049,\n 0.16378164858596, -0.01390589421898, -0.05032077717131,\n 0.00651420667831, 0.02347897407020, -0.00881362733839],\n [0.30296907319327, -1.61273165137247, -0.22613988682123,\n 1.07977492259970, -0.08587323730772, -0.25656257754070,\n 0.03282930172664, -0.16276719120440, -0.00915702933434,\n -0.22638893773906, -0.02364141202522, 0.39120800788284,\n -0.00584456039913, -0.22138138954925, 0.06276101321749,\n 0.04500235387352, -0.00000828086748, 0.02005851806501,\n 0.00205861885564, 0.00302439095741, -0.02950134983287],\n [0.33642304856132, -1.49858979367799, -0.25572241425570,\n 0.87350271418188, -0.11828570177555, 0.12205022308084,\n 0.11921148675203, -0.80774944671438, -0.07834489609479,\n 0.47854794562326, -0.00469977914380, -0.12453458140019,\n -0.00589500224440, -0.04067510197014, 0.05724228140351,\n 0.08333755284107, 0.00832043980773, -0.04237348025746,\n -0.01635381384540, 0.02977207319925, -0.01760176568150],\n [0.44915256608450, -0.62820619233671, -0.14351757464547,\n 0.29661783706366, -0.22784394429749, -0.37256372942400,\n -0.01419140100551, 0.00213767857124, 0.04078262797139,\n -0.42029820170918, -0.12398163381748, 0.22199650564824,\n 0.04097565135648, 0.00613424350682, 0.10478503600251,\n 0.06747620744683, -0.01863887810927, 0.05784820375801,\n -0.03193428438915, 0.03222754072173, 0.00541907748707],\n [0.56619470757641, -1.04800335126349, -0.75464456939302,\n 0.29156311971249, 0.16242137742230, -0.26806001042947,\n 0.16744243493672, 0.00819999645858, -0.18901604199609,\n 0.45054734505008, 0.30931782841830, -0.33032403314006,\n -0.27562961986224, 0.06739368333110, 0.00647310677246,\n -0.04784254229033, 0.08647503780351, 0.01639907836189,\n -0.03788984554840, 0.01807364323573, -0.00588215443421],\n [0.58100494960553, -0.51035327095184, -0.53174909058578,\n -0.31863563325245, -0.14289799034253, -0.20256413484477,\n 0.17520704835522, 0.14728154134330, 0.02377945217615,\n 0.38952639978999, 0.15558449135573, -0.23313271880868,\n -0.25344790059353, -0.05246019024463, 0.01628462406333,\n -0.02505961724053, 0.06920467763959, 0.02442357316099,\n -0.03721611395801, 0.01818801111503, -0.00749618797172],\n [0.53648789255105, -0.25049871956020, -0.42163034350696,\n -0.43193942311114, -0.00275953611929, -0.03424681017675,\n 0.04267842219415, -0.04678328784242, -0.10214864179676,\n 0.26408300200955, 0.14590772289388, 0.15113130533216,\n -0.02459864859345, -0.17556493366449, -0.11202315195388,\n -0.18823009262115, -0.04060034127000, 0.05477720428674,\n 0.04788665548180, 0.04704409688120, -0.02217936801134]];\n\n var ABButter = [\n [0.98621192462708, -1.97223372919527, -1.97242384925416,\n 0.97261396931306, 0.98621192462708],\n [0.98500175787242, -1.96977855582618, -1.97000351574484,\n 0.97022847566350, 0.98500175787242],\n [0.97938932735214, -1.95835380975398, -1.95877865470428,\n 0.95920349965459, 0.97938932735214],\n [0.97531843204928, -1.95002759149878, -1.95063686409857,\n 0.95124613669835, 0.97531843204928],\n [0.97316523498161, -1.94561023566527, -1.94633046996323,\n 0.94705070426118, 0.97316523498161],\n [0.96454515552826, -1.92783286977036, -1.92909031105652,\n 0.93034775234268, 0.96454515552826],\n [0.96009142950541, -1.91858953033784, -1.92018285901082,\n 0.92177618768381, 0.96009142950541],\n [0.95856916599601, -1.91542108074780, -1.91713833199203,\n 0.91885558323625, 0.95856916599601],\n [0.94597685600279, -1.88903307939452, -1.89195371200558,\n 0.89487434461664, 0.94597685600279]];\n\n\n /**\n * When calling this procedure, make sure that ip[-order] and op[-order]\n * point to real data\n */\n //private void filterYule(final float[] input, int inputPos, float[] output,\n //int outputPos, int nSamples, final float[] kernel) {\n function filterYule(input, inputPos, output, outputPos, nSamples, kernel) {\n\n while ((nSamples--) != 0) {\n /* 1e-10 is a hack to avoid slowdown because of denormals */\n output[outputPos] = 1e-10 + input[inputPos + 0] * kernel[0]\n - output[outputPos - 1] * kernel[1] + input[inputPos - 1]\n * kernel[2] - output[outputPos - 2] * kernel[3]\n + input[inputPos - 2] * kernel[4] - output[outputPos - 3]\n * kernel[5] + input[inputPos - 3] * kernel[6]\n - output[outputPos - 4] * kernel[7] + input[inputPos - 4]\n * kernel[8] - output[outputPos - 5] * kernel[9]\n + input[inputPos - 5] * kernel[10] - output[outputPos - 6]\n * kernel[11] + input[inputPos - 6] * kernel[12]\n - output[outputPos - 7] * kernel[13] + input[inputPos - 7]\n * kernel[14] - output[outputPos - 8] * kernel[15]\n + input[inputPos - 8] * kernel[16] - output[outputPos - 9]\n * kernel[17] + input[inputPos - 9] * kernel[18]\n - output[outputPos - 10] * kernel[19]\n + input[inputPos - 10] * kernel[20];\n ++outputPos;\n ++inputPos;\n }\n }\n\n//private void filterButter(final float[] input, int inputPos,\n// float[] output, int outputPos, int nSamples, final float[] kernel) {\n function filterButter(input, inputPos, output, outputPos, nSamples, kernel) {\n\n while ((nSamples--) != 0) {\n output[outputPos] = input[inputPos + 0] * kernel[0]\n - output[outputPos - 1] * kernel[1] + input[inputPos - 1]\n * kernel[2] - output[outputPos - 2] * kernel[3]\n + input[inputPos - 2] * kernel[4];\n ++outputPos;\n ++inputPos;\n }\n }\n\n /**\n * @return INIT_GAIN_ANALYSIS_OK if successful, INIT_GAIN_ANALYSIS_ERROR if\n * not\n */\n function ResetSampleFrequency(rgData, samplefreq) {\n /* zero out initial values */\n for (var i = 0; i < MAX_ORDER; i++)\n rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n\n switch (0 | (samplefreq)) {\n case 48000:\n rgData.reqindex = 0;\n break;\n case 44100:\n rgData.reqindex = 1;\n break;\n case 32000:\n rgData.reqindex = 2;\n break;\n case 24000:\n rgData.reqindex = 3;\n break;\n case 22050:\n rgData.reqindex = 4;\n break;\n case 16000:\n rgData.reqindex = 5;\n break;\n case 12000:\n rgData.reqindex = 6;\n break;\n case 11025:\n rgData.reqindex = 7;\n break;\n case 8000:\n rgData.reqindex = 8;\n break;\n default:\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n\n rgData.sampleWindow = 0 | ((samplefreq * RMS_WINDOW_TIME_NUMERATOR\n + RMS_WINDOW_TIME_DENOMINATOR - 1) / RMS_WINDOW_TIME_DENOMINATOR);\n\n rgData.lsum = 0.;\n rgData.rsum = 0.;\n rgData.totsamp = 0;\n\n Arrays.ill(rgData.A, 0);\n\n return INIT_GAIN_ANALYSIS_OK;\n }\n\n this.InitGainAnalysis = function (rgData, samplefreq) {\n if (ResetSampleFrequency(rgData, samplefreq) != INIT_GAIN_ANALYSIS_OK) {\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n\n rgData.linpre = MAX_ORDER;\n rgData.rinpre = MAX_ORDER;\n rgData.lstep = MAX_ORDER;\n rgData.rstep = MAX_ORDER;\n rgData.lout = MAX_ORDER;\n rgData.rout = MAX_ORDER;\n\n Arrays.fill(rgData.B, 0);\n\n return INIT_GAIN_ANALYSIS_OK;\n };\n\n /**\n * square\n */\n function fsqr(d) {\n return d * d;\n }\n\n this.AnalyzeSamples = function (rgData, left_samples, left_samplesPos, right_samples, right_samplesPos, num_samples,\n num_channels) {\n var curleft;\n var curleftBase;\n var curright;\n var currightBase;\n var batchsamples;\n var cursamples;\n var cursamplepos;\n\n if (num_samples == 0)\n return GAIN_ANALYSIS_OK;\n\n cursamplepos = 0;\n batchsamples = num_samples;\n\n switch (num_channels) {\n case 1:\n right_samples = left_samples;\n right_samplesPos = left_samplesPos;\n break;\n case 2:\n break;\n default:\n return GAIN_ANALYSIS_ERROR;\n }\n\n if (num_samples < MAX_ORDER) {\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER, num_samples);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER, num_samples);\n } else {\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER, MAX_ORDER);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER, MAX_ORDER);\n }\n\n while (batchsamples > 0) {\n cursamples = batchsamples > rgData.sampleWindow - rgData.totsamp ? rgData.sampleWindow\n - rgData.totsamp\n : batchsamples;\n if (cursamplepos < MAX_ORDER) {\n curleft = rgData.linpre + cursamplepos;\n curleftBase = rgData.linprebuf;\n curright = rgData.rinpre + cursamplepos;\n currightBase = rgData.rinprebuf;\n if (cursamples > MAX_ORDER - cursamplepos)\n cursamples = MAX_ORDER - cursamplepos;\n } else {\n curleft = left_samplesPos + cursamplepos;\n curleftBase = left_samples;\n curright = right_samplesPos + cursamplepos;\n currightBase = right_samples;\n }\n\n filterYule(curleftBase, curleft, rgData.lstepbuf, rgData.lstep\n + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n filterYule(currightBase, curright, rgData.rstepbuf, rgData.rstep\n + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n\n filterButter(rgData.lstepbuf, rgData.lstep + rgData.totsamp,\n rgData.loutbuf, rgData.lout + rgData.totsamp, cursamples,\n ABButter[rgData.reqindex]);\n filterButter(rgData.rstepbuf, rgData.rstep + rgData.totsamp,\n rgData.routbuf, rgData.rout + rgData.totsamp, cursamples,\n ABButter[rgData.reqindex]);\n\n curleft = rgData.lout + rgData.totsamp;\n /* Get the squared values */\n curleftBase = rgData.loutbuf;\n curright = rgData.rout + rgData.totsamp;\n currightBase = rgData.routbuf;\n\n var i = cursamples % 8;\n while ((i--) != 0) {\n rgData.lsum += fsqr(curleftBase[curleft++]);\n rgData.rsum += fsqr(currightBase[curright++]);\n }\n i = cursamples / 8;\n while ((i--) != 0) {\n rgData.lsum += fsqr(curleftBase[curleft + 0])\n + fsqr(curleftBase[curleft + 1])\n + fsqr(curleftBase[curleft + 2])\n + fsqr(curleftBase[curleft + 3])\n + fsqr(curleftBase[curleft + 4])\n + fsqr(curleftBase[curleft + 5])\n + fsqr(curleftBase[curleft + 6])\n + fsqr(curleftBase[curleft + 7]);\n curleft += 8;\n rgData.rsum += fsqr(currightBase[curright + 0])\n + fsqr(currightBase[curright + 1])\n + fsqr(currightBase[curright + 2])\n + fsqr(currightBase[curright + 3])\n + fsqr(currightBase[curright + 4])\n + fsqr(currightBase[curright + 5])\n + fsqr(currightBase[curright + 6])\n + fsqr(currightBase[curright + 7]);\n curright += 8;\n }\n\n batchsamples -= cursamples;\n cursamplepos += cursamples;\n rgData.totsamp += cursamples;\n if (rgData.totsamp == rgData.sampleWindow) {\n /* Get the Root Mean Square (RMS) for this set of samples */\n var val = GainAnalysis.STEPS_per_dB\n * 10.\n * Math.log10((rgData.lsum + rgData.rsum)\n / rgData.totsamp * 0.5 + 1.e-37);\n var ival = (val <= 0) ? 0 : 0 | val;\n if (ival >= rgData.A.length)\n ival = rgData.A.length - 1;\n rgData.A[ival]++;\n rgData.lsum = rgData.rsum = 0.;\n\n System.arraycopy(rgData.loutbuf, rgData.totsamp,\n rgData.loutbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.routbuf, rgData.totsamp,\n rgData.routbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.lstepbuf, rgData.totsamp,\n rgData.lstepbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.rstepbuf, rgData.totsamp,\n rgData.rstepbuf, 0, MAX_ORDER);\n rgData.totsamp = 0;\n }\n if (rgData.totsamp > rgData.sampleWindow) {\n /*\n * somehow I really screwed up: Error in programming! Contact\n * author about totsamp > sampleWindow\n */\n return GAIN_ANALYSIS_ERROR;\n }\n }\n if (num_samples < MAX_ORDER) {\n System.arraycopy(rgData.linprebuf, num_samples, rgData.linprebuf,\n 0, MAX_ORDER - num_samples);\n System.arraycopy(rgData.rinprebuf, num_samples, rgData.rinprebuf,\n 0, MAX_ORDER - num_samples);\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER - num_samples, num_samples);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER - num_samples, num_samples);\n } else {\n System.arraycopy(left_samples, left_samplesPos + num_samples\n - MAX_ORDER, rgData.linprebuf, 0, MAX_ORDER);\n System.arraycopy(right_samples, right_samplesPos + num_samples\n - MAX_ORDER, rgData.rinprebuf, 0, MAX_ORDER);\n }\n\n return GAIN_ANALYSIS_OK;\n };\n\n function analyzeResult(Array, len) {\n var i;\n\n var elems = 0;\n for (i = 0; i < len; i++)\n elems += Array[i];\n if (elems == 0)\n return GAIN_NOT_ENOUGH_SAMPLES;\n\n var upper = 0 | Math.ceil(elems * (1. - RMS_PERCENTILE));\n for (i = len; i-- > 0;) {\n if ((upper -= Array[i]) <= 0)\n break;\n }\n\n //return (float) ((float) PINK_REF - (float) i / (float) STEPS_per_dB);\n return (PINK_REF - i / GainAnalysis.STEPS_per_dB);\n }\n\n this.GetTitleGain = function (rgData) {\n var retval = analyzeResult(rgData.A, rgData.A.length);\n\n for (var i = 0; i < rgData.A.length; i++) {\n rgData.B[i] += rgData.A[i];\n rgData.A[i] = 0;\n }\n\n for (var i = 0; i < MAX_ORDER; i++)\n rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n\n rgData.totsamp = 0;\n rgData.lsum = rgData.rsum = 0.;\n return retval;\n }\n\n}\n\nmodule.exports = GainAnalysis;\n","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar defaults = {\n\tdefaultProtocol: 'http',\n\tevents: null,\n\tformat: noop,\n\tformatHref: noop,\n\tnl2br: false,\n\ttagName: 'a',\n\ttarget: typeToTarget,\n\tvalidate: true,\n\tignoreTags: [],\n\tattributes: null,\n\tclassName: 'linkified' // Deprecated value - no default class will be provided in the future\n};\n\nexports.defaults = defaults;\nexports.Options = Options;\nexports.contains = contains;\n\n\nfunction Options(opts) {\n\topts = opts || {};\n\n\tthis.defaultProtocol = opts.hasOwnProperty('defaultProtocol') ? opts.defaultProtocol : defaults.defaultProtocol;\n\tthis.events = opts.hasOwnProperty('events') ? opts.events : defaults.events;\n\tthis.format = opts.hasOwnProperty('format') ? opts.format : defaults.format;\n\tthis.formatHref = opts.hasOwnProperty('formatHref') ? opts.formatHref : defaults.formatHref;\n\tthis.nl2br = opts.hasOwnProperty('nl2br') ? opts.nl2br : defaults.nl2br;\n\tthis.tagName = opts.hasOwnProperty('tagName') ? opts.tagName : defaults.tagName;\n\tthis.target = opts.hasOwnProperty('target') ? opts.target : defaults.target;\n\tthis.validate = opts.hasOwnProperty('validate') ? opts.validate : defaults.validate;\n\tthis.ignoreTags = [];\n\n\t// linkAttributes and linkClass is deprecated\n\tthis.attributes = opts.attributes || opts.linkAttributes || defaults.attributes;\n\tthis.className = opts.hasOwnProperty('className') ? opts.className : opts.linkClass || defaults.className;\n\n\t// Make all tags names upper case\n\tvar ignoredTags = opts.hasOwnProperty('ignoreTags') ? opts.ignoreTags : defaults.ignoreTags;\n\tfor (var i = 0; i < ignoredTags.length; i++) {\n\t\tthis.ignoreTags.push(ignoredTags[i].toUpperCase());\n\t}\n}\n\nOptions.prototype = {\n\t/**\n * Given the token, return all options for how it should be displayed\n */\n\tresolve: function resolve(token) {\n\t\tvar href = token.toHref(this.defaultProtocol);\n\t\treturn {\n\t\t\tformatted: this.get('format', token.toString(), token),\n\t\t\tformattedHref: this.get('formatHref', href, token),\n\t\t\ttagName: this.get('tagName', href, token),\n\t\t\tclassName: this.get('className', href, token),\n\t\t\ttarget: this.get('target', href, token),\n\t\t\tevents: this.getObject('events', href, token),\n\t\t\tattributes: this.getObject('attributes', href, token)\n\t\t};\n\t},\n\n\n\t/**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options. By default,\n */\n\tcheck: function check(token) {\n\t\treturn this.get('validate', token.toString(), token);\n\t},\n\n\n\t// Private methods\n\n\t/**\n * Resolve an option's value based on the value of the option and the given\n * params.\n * @param {String} key Name of option to use\n * @param operator will be passed to the target option if it's method\n * @param {MultiToken} token The token from linkify.tokenize\n */\n\tget: function get(key, operator, token) {\n\t\tvar optionValue = void 0,\n\t\t option = this[key];\n\t\tif (!option) {\n\t\t\treturn option;\n\t\t}\n\n\t\tswitch (typeof option === 'undefined' ? 'undefined' : _typeof(option)) {\n\t\t\tcase 'function':\n\t\t\t\treturn option(operator, token.type);\n\t\t\tcase 'object':\n\t\t\t\toptionValue = option.hasOwnProperty(token.type) ? option[token.type] : defaults[key];\n\t\t\t\treturn typeof optionValue === 'function' ? optionValue(operator, token.type) : optionValue;\n\t\t}\n\n\t\treturn option;\n\t},\n\tgetObject: function getObject(key, operator, token) {\n\t\tvar option = this[key];\n\t\treturn typeof option === 'function' ? option(operator, token.type) : option;\n\t}\n};\n\n/**\n * Quick indexOf replacement for checking the ignoreTags option\n */\nfunction contains(arr, value) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (arr[i] === value) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction noop(val) {\n\treturn val;\n}\n\nfunction typeToTarget(href, type) {\n\treturn type === 'url' ? '_blank' : null;\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\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 getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-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-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\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++], props[key]);\n return O;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nfunction Presets() {\n function VBRPresets(qual, comp, compS,\n y, shThreshold, shThresholdS,\n adj, adjShort, lower,\n curve, sens, inter,\n joint, mod, fix) {\n this.vbr_q = qual;\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.expY = y;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.masking_adj = adj;\n this.masking_adj_short = adjShort;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.ath_sensitivity = sens;\n this.interch = inter;\n this.safejoint = joint;\n this.sfb21mod = mod;\n this.msfix = fix;\n }\n\n function ABRPresets(kbps, comp, compS,\n joint, fix, shThreshold,\n shThresholdS, bass, sc,\n mask, lower, curve,\n interCh, sfScale) {\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.safejoint = joint;\n this.nsmsfix = fix;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.nsbass = bass;\n this.scale = sc;\n this.masking_adj = mask;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.interch = interCh;\n this.sfscale = sfScale;\n }\n\n var lame;\n\n this.setModules = function (_lame) {\n lame = _lame;\n };\n\n /**\n *
\n     * Switch mappings for VBR mode VBR_RH\n     *             vbr_q  qcomp_l  qcomp_s  expY  st_lrm   st_s  mask adj_l  adj_s  ath_lower  ath_curve  ath_sens  interChR  safejoint sfb21mod  msfix\n     * 
\n */\n var vbr_old_switch_map = [\n new VBRPresets(0, 9, 9, 0, 5.20, 125.0, -4.2, -6.3, 4.8, 1, 0, 0, 2, 21, 0.97),\n new VBRPresets(1, 9, 9, 0, 5.30, 125.0, -3.6, -5.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 5.60, 125.0, -2.2, -3.5, 2.8, 2, 0, 0, 2, 21, 1.49),\n new VBRPresets(3, 9, 9, 1, 5.80, 130.0, -1.8, -2.8, 2.6, 3, -4, 0, 2, 20, 1.64),\n new VBRPresets(4, 9, 9, 1, 6.00, 135.0, -0.7, -1.1, 1.1, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 6.40, 140.0, 0.5, 0.4, -7.5, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 6.60, 145.0, 0.67, 0.65, -14.7, 6.5, -19, 0.0004, 0, 0, 2.30),\n new VBRPresets(7, 9, 9, 1, 6.60, 145.0, 0.8, 0.75, -19.7, 8, -22, 0.0006, 0, 0, 2.70),\n new VBRPresets(8, 9, 9, 1, 6.60, 145.0, 1.2, 1.15, -27.5, 10, -23, 0.0007, 0, 0, 0),\n new VBRPresets(9, 9, 9, 1, 6.60, 145.0, 1.6, 1.6, -36, 11, -25, 0.0008, 0, 0, 0),\n new VBRPresets(10, 9, 9, 1, 6.60, 145.0, 2.0, 2.0, -36, 12, -25, 0.0008, 0, 0, 0)\n ];\n\n /**\n *
\n     *                 vbr_q  qcomp_l  qcomp_s  expY  st_lrm   st_s  mask adj_l  adj_s  ath_lower  ath_curve  ath_sens  interChR  safejoint sfb21mod  msfix\n     * 
\n */\n var vbr_psy_switch_map = [\n new VBRPresets(0, 9, 9, 0, 4.20, 25.0, -7.0, -4.0, 7.5, 1, 0, 0, 2, 26, 0.97),\n new VBRPresets(1, 9, 9, 0, 4.20, 25.0, -5.6, -3.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 4.20, 25.0, -4.4, -1.8, 2, 2, 0, 0, 2, 18, 1.49),\n new VBRPresets(3, 9, 9, 1, 4.20, 25.0, -3.4, -1.25, 1.1, 3, -4, 0, 2, 15, 1.64),\n new VBRPresets(4, 9, 9, 1, 4.20, 25.0, -2.2, 0.1, 0, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 4.20, 25.0, -1.0, 1.65, -7.7, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 4.20, 25.0, -0.0, 2.47, -7.7, 6.5, -19, 0.0004, 0, 0, 2),\n new VBRPresets(7, 9, 9, 1, 4.20, 25.0, 0.5, 2.0, -14.5, 8, -22, 0.0006, 0, 0, 2),\n new VBRPresets(8, 9, 9, 1, 4.20, 25.0, 1.0, 2.4, -22.0, 10, -23, 0.0007, 0, 0, 2),\n new VBRPresets(9, 9, 9, 1, 4.20, 25.0, 1.5, 2.95, -30.0, 11, -25, 0.0008, 0, 0, 2),\n new VBRPresets(10, 9, 9, 1, 4.20, 25.0, 2.0, 2.95, -36.0, 12, -30, 0.0008, 0, 0, 2)\n ];\n\n function apply_vbr_preset(gfp, a, enforce) {\n var vbr_preset = gfp.VBR == VbrMode.vbr_rh ? vbr_old_switch_map\n : vbr_psy_switch_map;\n\n var x = gfp.VBR_q_frac;\n var p = vbr_preset[a];\n var q = vbr_preset[a + 1];\n var set = p;\n\n // NOOP(vbr_q);\n // NOOP(quant_comp);\n // NOOP(quant_comp_s);\n // NOOP(expY);\n p.st_lrm = p.st_lrm + x * (q.st_lrm - p.st_lrm);\n // LERP(st_lrm);\n p.st_s = p.st_s + x * (q.st_s - p.st_s);\n // LERP(st_s);\n p.masking_adj = p.masking_adj + x * (q.masking_adj - p.masking_adj);\n // LERP(masking_adj);\n p.masking_adj_short = p.masking_adj_short + x\n * (q.masking_adj_short - p.masking_adj_short);\n // LERP(masking_adj_short);\n p.ath_lower = p.ath_lower + x * (q.ath_lower - p.ath_lower);\n // LERP(ath_lower);\n p.ath_curve = p.ath_curve + x * (q.ath_curve - p.ath_curve);\n // LERP(ath_curve);\n p.ath_sensitivity = p.ath_sensitivity + x\n * (q.ath_sensitivity - p.ath_sensitivity);\n // LERP(ath_sensitivity);\n p.interch = p.interch + x * (q.interch - p.interch);\n // LERP(interch);\n // NOOP(safejoint);\n // NOOP(sfb21mod);\n p.msfix = p.msfix + x * (q.msfix - p.msfix);\n // LERP(msfix);\n\n lame_set_VBR_q(gfp, set.vbr_q);\n\n if (enforce != 0)\n gfp.quant_comp = set.quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0))\n gfp.quant_comp = set.quant_comp;\n // SET_OPTION(quant_comp, set.quant_comp, -1);\n if (enforce != 0)\n gfp.quant_comp_short = set.quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0))\n gfp.quant_comp_short = set.quant_comp_s;\n // SET_OPTION(quant_comp_short, set.quant_comp_s, -1);\n if (set.expY != 0) {\n gfp.experimentalY = set.expY != 0;\n }\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n // SET_OPTION(short_threshold_lrm, set.st_lrm, -1);\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n // SET_OPTION(short_threshold_s, set.st_s, -1);\n if (enforce != 0)\n gfp.maskingadjust = set.masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0))\n gfp.maskingadjust = set.masking_adj;\n // SET_OPTION(maskingadjust, set.masking_adj, 0);\n if (enforce != 0)\n gfp.maskingadjust_short = set.masking_adj_short;\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = set.masking_adj_short;\n // SET_OPTION(maskingadjust_short, set.masking_adj_short, 0);\n if (enforce != 0)\n gfp.ATHlower = -set.ath_lower / 10.0;\n else if (!(Math.abs((-gfp.ATHlower * 10.0) - 0) > 0))\n gfp.ATHlower = -set.ath_lower / 10.0;\n // SET_OPTION(ATHlower, set.ath_lower, 0);\n if (enforce != 0)\n gfp.ATHcurve = set.ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0))\n gfp.ATHcurve = set.ath_curve;\n // SET_OPTION(ATHcurve, set.ath_curve, -1);\n if (enforce != 0)\n gfp.athaa_sensitivity = set.ath_sensitivity;\n else if (!(Math.abs(gfp.athaa_sensitivity - -1) > 0))\n gfp.athaa_sensitivity = set.ath_sensitivity;\n // SET_OPTION(athaa_sensitivity, set.ath_sensitivity, 0);\n if (set.interch > 0) {\n if (enforce != 0)\n gfp.interChRatio = set.interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0))\n gfp.interChRatio = set.interch;\n // SET_OPTION(interChRatio, set.interch, -1);\n }\n\n /* parameters for which there is no proper set/get interface */\n if (set.safejoint > 0) {\n gfp.exp_nspsytune = gfp.exp_nspsytune | set.safejoint;\n }\n if (set.sfb21mod > 0) {\n gfp.exp_nspsytune = gfp.exp_nspsytune | (set.sfb21mod << 20);\n }\n if (enforce != 0)\n gfp.msfix = set.msfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0))\n gfp.msfix = set.msfix;\n // SET_OPTION(msfix, set.msfix, -1);\n\n if (enforce == 0) {\n gfp.VBR_q = a;\n gfp.VBR_q_frac = x;\n }\n }\n\n /**\n *
\n     *  Switch mappings for ABR mode\n     *\n     *              kbps  quant q_s safejoint nsmsfix st_lrm  st_s  ns-bass scale   msk ath_lwr ath_curve  interch , sfscale\n     * 
\n */\n var abr_switch_map = [\n new ABRPresets(8, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -30.0, 11, 0.0012, 1), /* 8, impossible to use in stereo */\n new ABRPresets(16, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -25.0, 11, 0.0010, 1), /* 16 */\n new ABRPresets(24, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -20.0, 11, 0.0010, 1), /* 24 */\n new ABRPresets(32, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -15.0, 11, 0.0010, 1), /* 32 */\n new ABRPresets(40, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10.0, 11, 0.0009, 1), /* 40 */\n new ABRPresets(48, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10.0, 11, 0.0009, 1), /* 48 */\n new ABRPresets(56, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -6.0, 11, 0.0008, 1), /* 56 */\n new ABRPresets(64, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -2.0, 11, 0.0008, 1), /* 64 */\n new ABRPresets(80, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, .0, 8, 0.0007, 1), /* 80 */\n new ABRPresets(96, 9, 9, 0, 2.50, 6.60, 145, 0, 0.95, 0, 1.0, 5.5, 0.0006, 1), /* 96 */\n new ABRPresets(112, 9, 9, 0, 2.25, 6.60, 145, 0, 0.95, 0, 2.0, 4.5, 0.0005, 1), /* 112 */\n new ABRPresets(128, 9, 9, 0, 1.95, 6.40, 140, 0, 0.95, 0, 3.0, 4, 0.0002, 1), /* 128 */\n new ABRPresets(160, 9, 9, 1, 1.79, 6.00, 135, 0, 0.95, -2, 5.0, 3.5, 0, 1), /* 160 */\n new ABRPresets(192, 9, 9, 1, 1.49, 5.60, 125, 0, 0.97, -4, 7.0, 3, 0, 0), /* 192 */\n new ABRPresets(224, 9, 9, 1, 1.25, 5.20, 125, 0, 0.98, -6, 9.0, 2, 0, 0), /* 224 */\n new ABRPresets(256, 9, 9, 1, 0.97, 5.20, 125, 0, 1.00, -8, 10.0, 1, 0, 0), /* 256 */\n new ABRPresets(320, 9, 9, 1, 0.90, 5.20, 125, 0, 1.00, -10, 12.0, 0, 0, 0) /* 320 */\n ];\n\n function apply_abr_preset(gfp, preset, enforce) {\n /* Variables for the ABR stuff */\n var actual_bitrate = preset;\n\n var r = lame.nearestBitrateFullIndex(preset);\n\n gfp.VBR = VbrMode.vbr_abr;\n gfp.VBR_mean_bitrate_kbps = actual_bitrate;\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 320);\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 8);\n gfp.brate = gfp.VBR_mean_bitrate_kbps;\n if (gfp.VBR_mean_bitrate_kbps > 320) {\n gfp.disable_reservoir = true;\n }\n\n /* parameters for which there is no proper set/get interface */\n if (abr_switch_map[r].safejoint > 0)\n gfp.exp_nspsytune = gfp.exp_nspsytune | 2;\n /* safejoint */\n\n if (abr_switch_map[r].sfscale > 0) {\n gfp.internal_flags.noise_shaping = 2;\n }\n /* ns-bass tweaks */\n if (Math.abs(abr_switch_map[r].nsbass) > 0) {\n var k = (int)(abr_switch_map[r].nsbass * 4);\n if (k < 0)\n k += 64;\n gfp.exp_nspsytune = gfp.exp_nspsytune | (k << 2);\n }\n\n if (enforce != 0)\n gfp.quant_comp = abr_switch_map[r].quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0))\n gfp.quant_comp = abr_switch_map[r].quant_comp;\n // SET_OPTION(quant_comp, abr_switch_map[r].quant_comp, -1);\n if (enforce != 0)\n gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0))\n gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n // SET_OPTION(quant_comp_short, abr_switch_map[r].quant_comp_s, -1);\n\n if (enforce != 0)\n gfp.msfix = abr_switch_map[r].nsmsfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0))\n gfp.msfix = abr_switch_map[r].nsmsfix;\n // SET_OPTION(msfix, abr_switch_map[r].nsmsfix, -1);\n\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n // SET_OPTION(short_threshold_lrm, abr_switch_map[r].st_lrm, -1);\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n // SET_OPTION(short_threshold_s, abr_switch_map[r].st_s, -1);\n\n /*\n * ABR seems to have big problems with clipping, especially at low\n * bitrates\n */\n /*\n * so we compensate for that here by using a scale value depending on\n * bitrate\n */\n if (enforce != 0)\n gfp.scale = abr_switch_map[r].scale;\n else if (!(Math.abs(gfp.scale - -1) > 0))\n gfp.scale = abr_switch_map[r].scale;\n // SET_OPTION(scale, abr_switch_map[r].scale, -1);\n\n if (enforce != 0)\n gfp.maskingadjust = abr_switch_map[r].masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0))\n gfp.maskingadjust = abr_switch_map[r].masking_adj;\n // SET_OPTION(maskingadjust, abr_switch_map[r].masking_adj, 0);\n if (abr_switch_map[r].masking_adj > 0) {\n if (enforce != 0)\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * .9);\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * .9);\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // .9, 0);\n } else {\n if (enforce != 0)\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * 1.1);\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * 1.1);\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // 1.1, 0);\n }\n\n if (enforce != 0)\n gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n else if (!(Math.abs((-gfp.ATHlower * 10.) - 0) > 0))\n gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n // SET_OPTION(ATHlower, abr_switch_map[r].ath_lower, 0);\n if (enforce != 0)\n gfp.ATHcurve = abr_switch_map[r].ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0))\n gfp.ATHcurve = abr_switch_map[r].ath_curve;\n // SET_OPTION(ATHcurve, abr_switch_map[r].ath_curve, -1);\n\n if (enforce != 0)\n gfp.interChRatio = abr_switch_map[r].interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0))\n gfp.interChRatio = abr_switch_map[r].interch;\n // SET_OPTION(interChRatio, abr_switch_map[r].interch, -1);\n\n return preset;\n }\n\n this.apply_preset = function(gfp, preset, enforce) {\n /* translate legacy presets */\n switch (preset) {\n case Lame.R3MIX:\n {\n preset = Lame.V3;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.MEDIUM:\n {\n preset = Lame.V4;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.MEDIUM_FAST:\n {\n preset = Lame.V4;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.STANDARD:\n {\n preset = Lame.V2;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.STANDARD_FAST:\n {\n preset = Lame.V2;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.EXTREME:\n {\n preset = Lame.V0;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.EXTREME_FAST:\n {\n preset = Lame.V0;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.INSANE:\n {\n preset = 320;\n gfp.preset = preset;\n apply_abr_preset(gfp, preset, enforce);\n gfp.VBR = VbrMode.vbr_off;\n return preset;\n }\n }\n\n gfp.preset = preset;\n {\n switch (preset) {\n case Lame.V9:\n apply_vbr_preset(gfp, 9, enforce);\n return preset;\n case Lame.V8:\n apply_vbr_preset(gfp, 8, enforce);\n return preset;\n case Lame.V7:\n apply_vbr_preset(gfp, 7, enforce);\n return preset;\n case Lame.V6:\n apply_vbr_preset(gfp, 6, enforce);\n return preset;\n case Lame.V5:\n apply_vbr_preset(gfp, 5, enforce);\n return preset;\n case Lame.V4:\n apply_vbr_preset(gfp, 4, enforce);\n return preset;\n case Lame.V3:\n apply_vbr_preset(gfp, 3, enforce);\n return preset;\n case Lame.V2:\n apply_vbr_preset(gfp, 2, enforce);\n return preset;\n case Lame.V1:\n apply_vbr_preset(gfp, 1, enforce);\n return preset;\n case Lame.V0:\n apply_vbr_preset(gfp, 0, enforce);\n return preset;\n default:\n break;\n }\n }\n if (8 <= preset && preset <= 320) {\n return apply_abr_preset(gfp, preset, enforce);\n }\n\n /* no corresponding preset found */\n gfp.preset = 0;\n return preset;\n }\n\n // Rest from getset.c:\n\n /**\n * VBR quality level.
\n * 0 = highest
\n * 9 = lowest\n */\n function lame_set_VBR_q(gfp, VBR_q) {\n var ret = 0;\n\n if (0 > VBR_q) {\n /* Unknown VBR quality level! */\n ret = -1;\n VBR_q = 0;\n }\n if (9 < VBR_q) {\n ret = -1;\n VBR_q = 9;\n }\n\n gfp.VBR_q = VBR_q;\n gfp.VBR_q_frac = 0;\n return ret;\n }\n\n}\n\nmodule.exports = Presets;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\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: toString(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 NATIVE_SYMBOL = require('../internals/native-symbol');\n\n/* eslint-disable es-x/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","module.exports = {};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice-simple');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) == '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() == ':') {\n if (charAt(input, 1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n } return join(result, '.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length == 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += toLowerCase(chr);\n } else if (chr == ':') {\n if (stateOverride && (\n (url.isSpecial() != hasOwn(specialSchemes, buffer)) ||\n (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) == '[') {\n if (charAt(input, input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme == 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username != '' || this.password != '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port == '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search == '') {\n this.query = null;\n } else {\n if ('?' == charAt(search, 0)) search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash == '') {\n this.fragment = null;\n return;\n }\n if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _multi = require('./tokens/multi');\n\nvar MULTI_TOKENS = _interopRequireWildcard(_multi);\n\nvar _text = require('./tokens/text');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/Email_address (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main parser\n*/\n\nvar makeState = function makeState(tokenClass) {\n\treturn new _state.TokenState(tokenClass);\n};\n\n// The universal starting state.\nvar S_START = makeState();\n\n// Intermediate states for URLs. Note that domains that begin with a protocol\n// are treated slighly differently from those that don't.\nvar S_PROTOCOL = makeState(); // e.g., 'http:'\nvar S_MAILTO = makeState(); // 'mailto:'\nvar S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''\nvar S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'\nvar S_DOMAIN = makeState(); // parsed string ends with a potential domain name (A)\nvar S_DOMAIN_DOT = makeState(); // (A) domain followed by DOT\nvar S_TLD = makeState(_multi.URL); // (A) Simplest possible URL with no query string\nvar S_TLD_COLON = makeState(); // (A) URL followed by colon (potential port number here)\nvar S_TLD_PORT = makeState(_multi.URL); // TLD followed by a port number\nvar S_URL = makeState(_multi.URL); // Long URL with optional port and maybe query string\nvar S_URL_NON_ACCEPTING = makeState(); // URL followed by some symbols (will not be part of the final URL)\nvar S_URL_OPENBRACE = makeState(); // URL followed by {\nvar S_URL_OPENBRACKET = makeState(); // URL followed by [\nvar S_URL_OPENANGLEBRACKET = makeState(); // URL followed by <\nvar S_URL_OPENPAREN = makeState(); // URL followed by (\nvar S_URL_OPENBRACE_Q = makeState(_multi.URL); // URL followed by { and some symbols that the URL can end it\nvar S_URL_OPENBRACKET_Q = makeState(_multi.URL); // URL followed by [ and some symbols that the URL can end it\nvar S_URL_OPENANGLEBRACKET_Q = makeState(_multi.URL); // URL followed by < and some symbols that the URL can end it\nvar S_URL_OPENPAREN_Q = makeState(_multi.URL); // URL followed by ( and some symbols that the URL can end it\nvar S_URL_OPENBRACE_SYMS = makeState(); // S_URL_OPENBRACE_Q followed by some symbols it cannot end it\nvar S_URL_OPENBRACKET_SYMS = makeState(); // S_URL_OPENBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENANGLEBRACKET_SYMS = makeState(); // S_URL_OPENANGLEBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENPAREN_SYMS = makeState(); // S_URL_OPENPAREN_Q followed by some symbols it cannot end it\nvar S_EMAIL_DOMAIN = makeState(); // parsed string starts with local email info + @ with a potential domain name (C)\nvar S_EMAIL_DOMAIN_DOT = makeState(); // (C) domain followed by DOT\nvar S_EMAIL = makeState(_multi.EMAIL); // (C) Possible email address (could have more tlds)\nvar S_EMAIL_COLON = makeState(); // (C) URL followed by colon (potential port number here)\nvar S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port\nvar S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)\nvar S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars\nvar S_LOCALPART = makeState(); // Local part of the email address\nvar S_LOCALPART_AT = makeState(); // Local part of the email address plus @\nvar S_LOCALPART_DOT = makeState(); // Local part of the email address plus '.' (localpart cannot end in .)\nvar S_NL = makeState(_multi.NL); // single new line\n\n// Make path from start to protocol (with '//')\nS_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);\n\nS_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL_SLASH.on(_text.SLASH, S_PROTOCOL_SLASH_SLASH);\n\n// The very first potential domain name\nS_START.on(_text.TLD, S_DOMAIN).on(_text.DOMAIN, S_DOMAIN).on(_text.LOCALHOST, S_TLD).on(_text.NUM, S_DOMAIN);\n\n// Force URL for protocol followed by anything sane\nS_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL);\n\n// Account for dots and hyphens\n// hyphens are usually parts of domain names\nS_DOMAIN.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL_DOMAIN.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Hyphen can jump back to a domain name\n\n// After the first domain and a dot, we can find either a URL or another domain\nS_DOMAIN_DOT.on(_text.TLD, S_TLD).on(_text.DOMAIN, S_DOMAIN).on(_text.NUM, S_DOMAIN).on(_text.LOCALHOST, S_DOMAIN);\n\nS_EMAIL_DOMAIN_DOT.on(_text.TLD, S_EMAIL).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.NUM, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL_DOMAIN);\n\n// S_TLD accepts! But the URL could be longer, try to find a match greedily\n// The `run` function should be able to \"rollback\" to the accepting state\nS_TLD.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Become real URLs after `SLASH` or `COLON NUM SLASH`\n// Here PSS and non-PSS converge\nS_TLD.on(_text.COLON, S_TLD_COLON).on(_text.SLASH, S_URL);\nS_TLD_COLON.on(_text.NUM, S_TLD_PORT);\nS_TLD_PORT.on(_text.SLASH, S_URL);\nS_EMAIL.on(_text.COLON, S_EMAIL_COLON);\nS_EMAIL_COLON.on(_text.NUM, S_EMAIL_PORT);\n\n// Types of characters the URL can definitely end in\nvar qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND];\n\n// Types of tokens that can follow a URL and be part of the query string\n// but cannot be the very last characters\n// Characters that cannot appear in the URL at all should be excluded\nvar qsNonAccepting = [_text.COLON, _text.DOT, _text.QUERY, _text.PUNCTUATION, _text.CLOSEBRACE, _text.CLOSEBRACKET, _text.CLOSEANGLEBRACKET, _text.CLOSEPAREN, _text.OPENBRACE, _text.OPENBRACKET, _text.OPENANGLEBRACKET, _text.OPENPAREN];\n\n// These states are responsible primarily for determining whether or not to\n// include the final round bracket.\n\n// URL, followed by an opening bracket\nS_URL.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// URL with extra symbols at the end, followed by an opening bracket\nS_URL_NON_ACCEPTING.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// Closing bracket component. This character WILL be included in the URL\nS_URL_OPENBRACE.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_Q.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_Q.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_Q.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_Q.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_SYMS.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_SYMS.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_SYMS.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_SYMS.on(_text.CLOSEPAREN, S_URL);\n\n// URL that beings with an opening bracket, followed by a symbols.\n// Note that the final state can still be `S_URL_OPENBRACE_Q` (if the URL only\n// has a single opening bracket for some reason).\nS_URL_OPENBRACE.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// URL that begins with an opening bracket, followed by some symbols\nS_URL_OPENBRACE_Q.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_Q.on(qsNonAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsNonAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsNonAccepting, S_URL_OPENPAREN_Q);\n\nS_URL_OPENBRACE_SYMS.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_SYMS.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_SYMS.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN_SYMS.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// Account for the query string\nS_URL.on(qsAccepting, S_URL);\nS_URL_NON_ACCEPTING.on(qsAccepting, S_URL);\n\nS_URL.on(qsNonAccepting, S_URL_NON_ACCEPTING);\nS_URL_NON_ACCEPTING.on(qsNonAccepting, S_URL_NON_ACCEPTING);\n\n// Email address-specific state definitions\n// Note: We are not allowing '/' in email addresses since this would interfere\n// with real URLs\n\n// For addresses with the mailto prefix\n// 'mailto:' followed by anything sane is a valid email\nS_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL);\n\n// Greedily get more potential valid email values\nS_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\nS_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\n\n// For addresses without the mailto prefix\n// Tokens allowed in the localpart of the email\nvar localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD];\n\n// Some of the tokens in `localpartAccepting` are already accounted for here and\n// will not be overwritten (don't worry)\nS_DOMAIN.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_TLD.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_DOMAIN_DOT.on(localpartAccepting, S_LOCALPART);\n\n// Okay we're on a localpart. Now what?\n// TODO: IP addresses and what if the email starts with numbers?\nS_LOCALPART.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT) // close to an email address now\n.on(_text.DOT, S_LOCALPART_DOT);\nS_LOCALPART_DOT.on(localpartAccepting, S_LOCALPART);\nS_LOCALPART_AT.on(_text.TLD, S_EMAIL_DOMAIN).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL);\n// States following `@` defined above\n\nvar run = function run(tokens) {\n\tvar len = tokens.length;\n\tvar cursor = 0;\n\tvar multis = [];\n\tvar textTokens = [];\n\n\twhile (cursor < len) {\n\t\tvar state = S_START;\n\t\tvar secondState = null;\n\t\tvar nextState = null;\n\t\tvar multiLength = 0;\n\t\tvar latestAccepting = null;\n\t\tvar sinceAccepts = -1;\n\n\t\twhile (cursor < len && !(secondState = state.next(tokens[cursor]))) {\n\t\t\t// Starting tokens with nowhere to jump to.\n\t\t\t// Consider these to be just plain text\n\t\t\ttextTokens.push(tokens[cursor++]);\n\t\t}\n\n\t\twhile (cursor < len && (nextState = secondState || state.next(tokens[cursor]))) {\n\n\t\t\t// Get the next state\n\t\t\tsecondState = null;\n\t\t\tstate = nextState;\n\n\t\t\t// Keep track of the latest accepting state\n\t\t\tif (state.accepts()) {\n\t\t\t\tsinceAccepts = 0;\n\t\t\t\tlatestAccepting = state;\n\t\t\t} else if (sinceAccepts >= 0) {\n\t\t\t\tsinceAccepts++;\n\t\t\t}\n\n\t\t\tcursor++;\n\t\t\tmultiLength++;\n\t\t}\n\n\t\tif (sinceAccepts < 0) {\n\n\t\t\t// No accepting state was found, part of a regular text token\n\t\t\t// Add all the tokens we looked at to the text tokens array\n\t\t\tfor (var i = cursor - multiLength; i < cursor; i++) {\n\t\t\t\ttextTokens.push(tokens[i]);\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Accepting state!\n\n\t\t\t// First close off the textTokens (if available)\n\t\t\tif (textTokens.length > 0) {\n\t\t\t\tmultis.push(new _multi.TEXT(textTokens));\n\t\t\t\ttextTokens = [];\n\t\t\t}\n\n\t\t\t// Roll back to the latest accepting state\n\t\t\tcursor -= sinceAccepts;\n\t\t\tmultiLength -= sinceAccepts;\n\n\t\t\t// Create a new multitoken\n\t\t\tvar MULTI = latestAccepting.emit();\n\t\t\tmultis.push(new MULTI(tokens.slice(cursor - multiLength, cursor)));\n\t\t}\n\t}\n\n\t// Finally close off the textTokens (if available)\n\tif (textTokens.length > 0) {\n\t\tmultis.push(new _multi.TEXT(textTokens));\n\t}\n\n\treturn multis;\n};\n\nexports.State = _state.TokenState;\nexports.TOKENS = MULTI_TOKENS;\nexports.run = run;\nexports.start = S_START;","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.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(it, '') : Object(it);\n} : Object;\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","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","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","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\n\n// `Array.prototype.some` method\n// https://tc39.es/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","\"use strict\";\n\nexports.__esModule = true;\nfunction createTokenClass() {\n\treturn function (value) {\n\t\tif (value) {\n\t\t\tthis.v = value;\n\t\t}\n\t};\n}\n\nexports.createTokenClass = createTokenClass;","var global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\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#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['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(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(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_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/web.set-interval');\nrequire('../modules/web.set-timeout');\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\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 : aConstructor(S);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","/* eslint-disable es-x/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-x/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","'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","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar MeanBits = require('./MeanBits.js');\nvar Encoder = require('./Encoder.js');\nvar L3Side = require('./L3Side.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nfunction CBRNewIterationLoop(_quantize) {\n var quantize = _quantize;\n this.quantize = quantize;\n\tthis.iteration_loop = function(gfp, pe, ms_ener_ratio, ratio) {\n\t\tvar gfc = gfp.internal_flags;\n var l3_xmin = new_float(L3Side.SFBMAX);\n\t\tvar xrpow = new_float(576);\n\t\tvar targ_bits = new_int(2);\n\t\tvar mean_bits = 0, max_bits;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tvar mb = new MeanBits(mean_bits);\n\t\tthis.quantize.rv.ResvFrameBegin(gfp, mb);\n\t\tmean_bits = mb.bits;\n\n\t\t/* quantize! */\n\t\tfor (var gr = 0; gr < gfc.mode_gr; gr++) {\n\n\t\t\t/*\n\t\t\t * calculate needed bits\n\t\t\t */\n\t\t\tmax_bits = this.quantize.qupvt.on_pe(gfp, pe, targ_bits, mean_bits,\n\t\t\t\t\tgr, gr);\n\n\t\t\tif (gfc.mode_ext == Encoder.MPG_MD_MS_LR) {\n\t\t\t\tthis.quantize.ms_convert(gfc.l3_side, gr);\n\t\t\t\tthis.quantize.qupvt.reduce_side(targ_bits, ms_ener_ratio[gr],\n\t\t\t\t\t\tmean_bits, max_bits);\n\t\t\t}\n\n\t\t\tfor (var ch = 0; ch < gfc.channels_out; ch++) {\n\t\t\t\tvar adjust, masking_lower_db;\n\t\t\t\tvar cod_info = l3_side.tt[gr][ch];\n\n\t\t\t\tif (cod_info.block_type != Encoder.SHORT_TYPE) {\n\t\t\t\t\t// NORM, START or STOP type\n\t\t\t\t\tadjust = 0;\n\t\t\t\t\tmasking_lower_db = gfc.PSY.mask_adjust - adjust;\n\t\t\t\t} else {\n\t\t\t\t\tadjust = 0;\n\t\t\t\t\tmasking_lower_db = gfc.PSY.mask_adjust_short - adjust;\n\t\t\t\t}\n\t\t\t\tgfc.masking_lower = Math.pow(10.0,\n\t\t\t\t\t\tmasking_lower_db * 0.1);\n\n\t\t\t\t/*\n\t\t\t\t * init_outer_loop sets up cod_info, scalefac and xrpow\n\t\t\t\t */\n\t\t\t\tthis.quantize.init_outer_loop(gfc, cod_info);\n\t\t\t\tif (this.quantize.init_xrpow(gfc, cod_info, xrpow)) {\n\t\t\t\t\t/*\n\t\t\t\t\t * xr contains energy we will have to encode calculate the\n\t\t\t\t\t * masking abilities find some good quantization in\n\t\t\t\t\t * outer_loop\n\t\t\t\t\t */\n\t\t\t\t\tthis.quantize.qupvt.calc_xmin(gfp, ratio[gr][ch], cod_info,\n\t\t\t\t\t\t\tl3_xmin);\n\t\t\t\t\tthis.quantize.outer_loop(gfp, cod_info, l3_xmin, xrpow, ch,\n\t\t\t\t\t\t\ttarg_bits[ch]);\n\t\t\t\t}\n\n\t\t\t\tthis.quantize.iteration_finish_one(gfc, gr, ch);\n\t\t\t\tassert (cod_info.part2_3_length <= LameInternalFlags.MAX_BITS_PER_CHANNEL);\n\t\t\t\tassert (cod_info.part2_3_length <= targ_bits[ch]);\n\t\t\t} /* for ch */\n\t\t} /* for gr */\n\n\t\tthis.quantize.rv.ResvFrameEnd(gfc, mean_bits);\n\t}\n}\nmodule.exports = CBRNewIterationLoop;\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\n/**\n * ENCDELAY The encoder delay.\n *\n * Minimum allowed is MDCTDELAY (see below)\n *\n * The first 96 samples will be attenuated, so using a value less than 96\n * will result in corrupt data for the first 96-ENCDELAY samples.\n *\n * suggested: 576 set to 1160 to sync with FhG.\n */\nEncoder.ENCDELAY = 576;\n/**\n * make sure there is at least one complete frame after the last frame\n * containing real data\n *\n * Using a value of 288 would be sufficient for a a very sophisticated\n * decoder that can decode granule-by-granule instead of frame by frame. But\n * lets not assume this, and assume the decoder will not decode frame N\n * unless it also has data for frame N+1\n */\nEncoder.POSTDELAY = 1152;\n\n/**\n * delay of the MDCT used in mdct.c original ISO routines had a delay of\n * 528! Takehiro's routines:\n */\nEncoder.MDCTDELAY = 48;\nEncoder.FFTOFFSET = (224 + Encoder.MDCTDELAY);\n\n/**\n * Most decoders, including the one we use, have a delay of 528 samples.\n */\nEncoder.DECDELAY = 528;\n\n/**\n * number of subbands\n */\nEncoder.SBLIMIT = 32;\n\n/**\n * parition bands bands\n */\nEncoder.CBANDS = 64;\n\n/**\n * number of critical bands/scale factor bands where masking is computed\n */\nEncoder.SBPSY_l = 21;\nEncoder.SBPSY_s = 12;\n\n/**\n * total number of scalefactor bands encoded\n */\nEncoder.SBMAX_l = 22;\nEncoder.SBMAX_s = 13;\nEncoder.PSFB21 = 6;\nEncoder.PSFB12 = 6;\n\n/**\n * FFT sizes\n */\nEncoder.BLKSIZE = 1024;\nEncoder.HBLKSIZE = (Encoder.BLKSIZE / 2 + 1);\nEncoder.BLKSIZE_s = 256;\nEncoder.HBLKSIZE_s = (Encoder.BLKSIZE_s / 2 + 1);\n\nEncoder.NORM_TYPE = 0;\nEncoder.START_TYPE = 1;\nEncoder.SHORT_TYPE = 2;\nEncoder.STOP_TYPE = 3;\n\n/**\n *
\n * Mode Extention:\n * When we are in stereo mode, there are 4 possible methods to store these\n * two channels. The stereo modes -m? are using a subset of them.\n *\n *  -ms: MPG_MD_LR_LR\n *  -mj: MPG_MD_LR_LR and MPG_MD_MS_LR\n *  -mf: MPG_MD_MS_LR\n *  -mi: all\n * 
\n */\nEncoder.MPG_MD_LR_LR = 0;\nEncoder.MPG_MD_LR_I = 1;\nEncoder.MPG_MD_MS_LR = 2;\nEncoder.MPG_MD_MS_I = 3;\n\nEncoder.fircoef = [-0.0207887 * 5, -0.0378413 * 5,\n -0.0432472 * 5, -0.031183 * 5, 7.79609e-18 * 5, 0.0467745 * 5,\n 0.10091 * 5, 0.151365 * 5, 0.187098 * 5];\n\nfunction Encoder() {\n var NewMDCT = require('./NewMDCT.js');\n var III_psy_ratio = require('./III_psy_ratio.js');\n\n var FFTOFFSET = Encoder.FFTOFFSET;\n var MPG_MD_MS_LR = Encoder.MPG_MD_MS_LR;\n //BitStream bs;\n //PsyModel psy;\n //VBRTag vbr;\n //QuantizePVT qupvt;\n var bs = null;\n this.psy = null;\n var psy = null;\n var vbr = null;\n var qupvt = null;\n\n //public final void setModules(BitStream bs, PsyModel psy, QuantizePVT qupvt,\n // VBRTag vbr) {\n this.setModules = function (_bs, _psy, _qupvt, _vbr) {\n bs = _bs;\n this.psy = _psy;\n psy = _psy;\n vbr = _vbr;\n qupvt = _qupvt;\n };\n\n var newMDCT = new NewMDCT();\n\n /***********************************************************************\n *\n * encoder and decoder delays\n *\n ***********************************************************************/\n\n /**\n *
\n     * layer III enc->dec delay:  1056 (1057?)   (observed)\n     * layer  II enc->dec delay:   480  (481?)   (observed)\n     *\n     * polyphase 256-16             (dec or enc)        = 240\n     * mdct      256+32  (9*32)     (dec or enc)        = 288\n     * total:    512+16\n     *\n     * My guess is that delay of polyphase filterbank is actualy 240.5\n     * (there are technical reasons for this, see postings in mp3encoder).\n     * So total Encode+Decode delay = ENCDELAY + 528 + 1\n     * 
\n */\n\n\n /**\n * auto-adjust of ATH, useful for low volume Gabriel Bouvigne 3 feb 2001\n *\n * modifies some values in gfp.internal_flags.ATH (gfc.ATH)\n */\n//private void adjust_ATH(final LameInternalFlags gfc) {\n function adjust_ATH(gfc) {\n var gr2_max, max_pow;\n\n if (gfc.ATH.useAdjust == 0) {\n gfc.ATH.adjust = 1.0;\n /* no adjustment */\n return;\n }\n\n /* jd - 2001 mar 12, 27, jun 30 */\n /* loudness based on equal loudness curve; */\n /* use granule with maximum combined loudness */\n max_pow = gfc.loudness_sq[0][0];\n gr2_max = gfc.loudness_sq[1][0];\n if (gfc.channels_out == 2) {\n max_pow += gfc.loudness_sq[0][1];\n gr2_max += gfc.loudness_sq[1][1];\n } else {\n max_pow += max_pow;\n gr2_max += gr2_max;\n }\n if (gfc.mode_gr == 2) {\n max_pow = Math.max(max_pow, gr2_max);\n }\n max_pow *= 0.5;\n /* max_pow approaches 1.0 for full band noise */\n\n /* jd - 2001 mar 31, jun 30 */\n /* user tuning of ATH adjustment region */\n max_pow *= gfc.ATH.aaSensitivityP;\n\n /*\n * adjust ATH depending on range of maximum value\n */\n\n /* jd - 2001 feb27, mar12,20, jun30, jul22 */\n /* continuous curves based on approximation */\n /* to GB's original values. */\n /* For an increase in approximate loudness, */\n /* set ATH adjust to adjust_limit immediately */\n /* after a delay of one frame. */\n /* For a loudness decrease, reduce ATH adjust */\n /* towards adjust_limit gradually. */\n /* max_pow is a loudness squared or a power. */\n if (max_pow > 0.03125) { /* ((1 - 0.000625)/ 31.98) from curve below */\n if (gfc.ATH.adjust >= 1.0) {\n gfc.ATH.adjust = 1.0;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n /* in case there is leading low volume */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n gfc.ATH.adjustLimit = 1.0;\n } else { /* adjustment curve */\n /* about 32 dB maximum adjust (0.000625) */\n var adj_lim_new = 31.98 * max_pow + 0.000625;\n if (gfc.ATH.adjust >= adj_lim_new) { /* descend gradually */\n gfc.ATH.adjust *= adj_lim_new * 0.075 + 0.925;\n if (gfc.ATH.adjust < adj_lim_new) { /* stop descent */\n gfc.ATH.adjust = adj_lim_new;\n }\n } else { /* ascend */\n if (gfc.ATH.adjustLimit >= adj_lim_new) {\n gfc.ATH.adjust = adj_lim_new;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n }\n gfc.ATH.adjustLimit = adj_lim_new;\n }\n }\n\n /**\n *
\n     *  some simple statistics\n     *\n     *  bitrate index 0: free bitrate . not allowed in VBR mode\n     *  : bitrates, kbps depending on MPEG version\n     *  bitrate index 15: forbidden\n     *\n     *  mode_ext:\n     *  0:  LR\n     *  1:  LR-i\n     *  2:  MS\n     *  3:  MS-i\n     * 
\n */\n function updateStats(gfc) {\n var gr, ch;\n assert(0 <= gfc.bitrate_index && gfc.bitrate_index < 16);\n assert(0 <= gfc.mode_ext && gfc.mode_ext < 4);\n\n /* count bitrate indices */\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][4]++;\n gfc.bitrate_stereoMode_Hist[15][4]++;\n\n /* count 'em for every mode extension in case of 2 channel encoding */\n if (gfc.channels_out == 2) {\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][gfc.mode_ext]++;\n gfc.bitrate_stereoMode_Hist[15][gfc.mode_ext]++;\n }\n for (gr = 0; gr < gfc.mode_gr; ++gr) {\n for (ch = 0; ch < gfc.channels_out; ++ch) {\n var bt = gfc.l3_side.tt[gr][ch].block_type | 0;\n if (gfc.l3_side.tt[gr][ch].mixed_block_flag != 0)\n bt = 4;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][bt]++;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][5]++;\n gfc.bitrate_blockType_Hist[15][bt]++;\n gfc.bitrate_blockType_Hist[15][5]++;\n }\n }\n }\n\n function lame_encode_frame_init(gfp, inbuf) {\n var gfc = gfp.internal_flags;\n\n var ch, gr;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* prime the MDCT/polyphase filterbank with a short block */\n var i, j;\n var primebuff0 = new_float(286 + 1152 + 576);\n var primebuff1 = new_float(286 + 1152 + 576);\n gfc.lame_encode_frame_init = 1;\n for (i = 0, j = 0; i < 286 + 576 * (1 + gfc.mode_gr); ++i) {\n if (i < 576 * gfc.mode_gr) {\n primebuff0[i] = 0;\n if (gfc.channels_out == 2)\n primebuff1[i] = 0;\n } else {\n primebuff0[i] = inbuf[0][j];\n if (gfc.channels_out == 2)\n primebuff1[i] = inbuf[1][j];\n ++j;\n }\n }\n /* polyphase filtering / mdct */\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.SHORT_TYPE;\n }\n }\n newMDCT.mdct_sub48(gfc, primebuff0, primebuff1);\n\n /* check FFT will not use a negative starting offset */\n assert(576 >= Encoder.FFTOFFSET);\n /* check if we have enough data for FFT */\n assert(gfc.mf_size >= (Encoder.BLKSIZE + gfp.framesize - Encoder.FFTOFFSET));\n /* check if we have enough data for polyphase filterbank */\n assert(gfc.mf_size >= (512 + gfp.framesize - 32));\n }\n\n }\n\n /**\n *
\n     * encodeframe()           Layer 3\n     *\n     * encode a single frame\n     *\n     *\n     *    lame_encode_frame()\n     *\n     *\n     *                           gr 0            gr 1\n     *    inbuf:           |--------------|--------------|--------------|\n     *\n     *\n     *    Polyphase (18 windows, each shifted 32)\n     *    gr 0:\n     *    window1          <----512---.\n     *    window18                 <----512---.\n     *\n     *    gr 1:\n     *    window1                         <----512---.\n     *    window18                                <----512---.\n     *\n     *\n     *\n     *    MDCT output:  |--------------|--------------|--------------|\n     *\n     *    FFT's                    <---------1024---------.\n     *                                             <---------1024-------.\n     *\n     *\n     *\n     *        inbuf = buffer of PCM data size=MP3 framesize\n     *        encoder acts on inbuf[ch][0], but output is delayed by MDCTDELAY\n     *        so the MDCT coefficints are from inbuf[ch][-MDCTDELAY]\n     *\n     *        psy-model FFT has a 1 granule delay, so we feed it data for the\n     *        next granule.\n     *        FFT is centered over granule:  224+576+224\n     *        So FFT starts at:   576-224-MDCTDELAY\n     *\n     *        MPEG2:  FFT ends at:  BLKSIZE+576-224-MDCTDELAY      (1328)\n     *        MPEG1:  FFT ends at:  BLKSIZE+2*576-224-MDCTDELAY    (1904)\n     *\n     *        MPEG2:  polyphase first window:  [0..511]\n     *                          18th window:   [544..1055]          (1056)\n     *        MPEG1:            36th window:   [1120..1631]         (1632)\n     *                data needed:  512+framesize-32\n     *\n     *        A close look newmdct.c shows that the polyphase filterbank\n     *        only uses data from [0..510] for each window.  Perhaps because the window\n     *        used by the filterbank is zero for the last point, so Takehiro's\n     *        code doesn't bother to compute with it.\n     *\n     *        FFT starts at 576-224-MDCTDELAY (304)  = 576-FFTOFFSET\n     *\n     * 
\n */\n\n\n this.lame_encode_mp3_frame = function (gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size) {\n var mp3count;\n var masking_LR = new_array_n([2, 2]);\n /*\n * LR masking &\n * energy\n */\n masking_LR[0][0] = new III_psy_ratio();\n masking_LR[0][1] = new III_psy_ratio();\n masking_LR[1][0] = new III_psy_ratio();\n masking_LR[1][1] = new III_psy_ratio();\n var masking_MS = new_array_n([2, 2]);\n /* MS masking & energy */\n masking_MS[0][0] = new III_psy_ratio();\n masking_MS[0][1] = new III_psy_ratio();\n masking_MS[1][0] = new III_psy_ratio();\n masking_MS[1][1] = new III_psy_ratio();\n //III_psy_ratio masking[][];\n var masking;\n /* pointer to selected maskings */\n var inbuf = [null, null];\n var gfc = gfp.internal_flags;\n\n var tot_ener = new_float_n([2, 4]);\n var ms_ener_ratio = [.5, .5];\n var pe = [[0., 0.], [0., 0.]];\n var pe_MS = [[0., 0.], [0., 0.]];\n\n//float[][] pe_use;\n var pe_use;\n\n var ch, gr;\n\n inbuf[0] = inbuf_l;\n inbuf[1] = inbuf_r;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* first run? */\n lame_encode_frame_init(gfp, inbuf);\n\n }\n\n /********************** padding *****************************/\n /**\n *
\n         * padding method as described in\n         * \"MPEG-Layer3 / Bitstream Syntax and Decoding\"\n         * by Martin Sieler, Ralph Sperschneider\n         *\n         * note: there is no padding for the very first frame\n         *\n         * Robert Hegemann 2000-06-22\n         * 
\n */\n gfc.padding = 0;\n if ((gfc.slot_lag -= gfc.frac_SpF) < 0) {\n gfc.slot_lag += gfp.out_samplerate;\n gfc.padding = 1;\n }\n\n /****************************************\n * Stage 1: psychoacoustic model *\n ****************************************/\n\n if (gfc.psymodel != 0) {\n /*\n * psychoacoustic model psy model has a 1 granule (576) delay that\n * we must compensate for (mt 6/99).\n */\n var ret;\n var bufp = [null, null];\n /* address of beginning of left & right granule */\n var bufpPos = 0;\n /* address of beginning of left & right granule */\n var blocktype = new_int(2);\n\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n bufp[ch] = inbuf[ch];\n bufpPos = 576 + gr * 576 - Encoder.FFTOFFSET;\n }\n if (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) {\n ret = psy.L3psycho_anal_vbr(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n } else {\n ret = psy.L3psycho_anal_ns(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n }\n if (ret != 0)\n return -4;\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n ms_ener_ratio[gr] = tot_ener[gr][2] + tot_ener[gr][3];\n if (ms_ener_ratio[gr] > 0)\n ms_ener_ratio[gr] = tot_ener[gr][3] / ms_ener_ratio[gr];\n }\n\n /* block type flags */\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var cod_info = gfc.l3_side.tt[gr][ch];\n cod_info.block_type = blocktype[ch];\n cod_info.mixed_block_flag = 0;\n }\n }\n } else {\n /* no psy model */\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.NORM_TYPE;\n gfc.l3_side.tt[gr][ch].mixed_block_flag = 0;\n pe_MS[gr][ch] = pe[gr][ch] = 700;\n }\n }\n\n /* auto-adjust of ATH, useful for low volume */\n adjust_ATH(gfc);\n\n /****************************************\n * Stage 2: MDCT *\n ****************************************/\n\n /* polyphase filtering / mdct */\n newMDCT.mdct_sub48(gfc, inbuf[0], inbuf[1]);\n\n /****************************************\n * Stage 3: MS/LR decision *\n ****************************************/\n\n /* Here will be selected MS or LR coding of the 2 stereo channels */\n gfc.mode_ext = Encoder.MPG_MD_LR_LR;\n\n if (gfp.force_ms) {\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n } else if (gfp.mode == MPEGMode.JOINT_STEREO) {\n /*\n * ms_ratio = is scaled, for historical reasons, to look like a\n * ratio of side_channel / total. 0 = signal is 100% mono .5 = L & R\n * uncorrelated\n */\n\n /**\n *
\n             * [0] and [1] are the results for the two granules in MPEG-1,\n             * in MPEG-2 it's only a faked averaging of the same value\n             * _prev is the value of the last granule of the previous frame\n             * _next is the value of the first granule of the next frame\n             * 
\n */\n\n var sum_pe_MS = 0.;\n var sum_pe_LR = 0.;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n sum_pe_MS += pe_MS[gr][ch];\n sum_pe_LR += pe[gr][ch];\n }\n }\n\n /* based on PE: M/S coding would not use much more bits than L/R */\n if (sum_pe_MS <= 1.00 * sum_pe_LR) {\n\n var gi0 = gfc.l3_side.tt[0];\n var gi1 = gfc.l3_side.tt[gfc.mode_gr - 1];\n\n if (gi0[0].block_type == gi0[1].block_type\n && gi1[0].block_type == gi1[1].block_type) {\n\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n }\n }\n }\n\n /* bit and noise allocation */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n masking = masking_MS;\n /* use MS masking */\n pe_use = pe_MS;\n } else {\n masking = masking_LR;\n /* use LR masking */\n pe_use = pe;\n }\n\n /* copy data for MP3 frame analyzer */\n if (gfp.analysis && gfc.pinfo != null) {\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.pinfo.ms_ratio[gr] = gfc.ms_ratio[gr];\n gfc.pinfo.ms_ener_ratio[gr] = ms_ener_ratio[gr];\n gfc.pinfo.blocktype[gr][ch] = gfc.l3_side.tt[gr][ch].block_type;\n gfc.pinfo.pe[gr][ch] = pe_use[gr][ch];\n System.arraycopy(gfc.l3_side.tt[gr][ch].xr, 0,\n gfc.pinfo.xr[gr][ch], 0, 576);\n /*\n * in psymodel, LR and MS data was stored in pinfo. switch\n * to MS data:\n */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n gfc.pinfo.ers[gr][ch] = gfc.pinfo.ers[gr][ch + 2];\n System.arraycopy(gfc.pinfo.energy[gr][ch + 2], 0,\n gfc.pinfo.energy[gr][ch], 0,\n gfc.pinfo.energy[gr][ch].length);\n }\n }\n }\n }\n\n /****************************************\n * Stage 4: quantization loop *\n ****************************************/\n\n if (gfp.VBR == VbrMode.vbr_off || gfp.VBR == VbrMode.vbr_abr) {\n\n var i;\n var f;\n\n for (i = 0; i < 18; i++)\n gfc.nsPsy.pefirbuf[i] = gfc.nsPsy.pefirbuf[i + 1];\n\n f = 0.0;\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++)\n f += pe_use[gr][ch];\n gfc.nsPsy.pefirbuf[18] = f;\n\n f = gfc.nsPsy.pefirbuf[9];\n for (i = 0; i < 9; i++)\n f += (gfc.nsPsy.pefirbuf[i] + gfc.nsPsy.pefirbuf[18 - i])\n * Encoder.fircoef[i];\n\n f = (670 * 5 * gfc.mode_gr * gfc.channels_out) / f;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n pe_use[gr][ch] *= f;\n }\n }\n }\n gfc.iteration_loop.iteration_loop(gfp, pe_use, ms_ener_ratio, masking);\n\n /****************************************\n * Stage 5: bitstream formatting *\n ****************************************/\n\n /* write the frame to the bitstream */\n bs.format_bitstream(gfp);\n\n /* copy mp3 bit buffer into array */\n mp3count = bs.copy_buffer(gfc, mp3buf, mp3bufPos, mp3buf_size, 1);\n\n if (gfp.bWriteVbrTag)\n vbr.addVbrFrame(gfp);\n\n if (gfp.analysis && gfc.pinfo != null) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var j;\n for (j = 0; j < FFTOFFSET; j++)\n gfc.pinfo.pcmdata[ch][j] = gfc.pinfo.pcmdata[ch][j\n + gfp.framesize];\n for (j = FFTOFFSET; j < 1600; j++) {\n gfc.pinfo.pcmdata[ch][j] = inbuf[ch][j - FFTOFFSET];\n }\n }\n qupvt.set_frame_pinfo(gfp, masking);\n }\n\n updateStats(gfc);\n\n return mp3count;\n }\n}\n\n\nmodule.exports = Encoder;\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export function roomsValidation(obj) {\n\tconst roomsValidate = [\n\t\t{ key: 'roomId', type: ['string', 'number'] },\n\t\t{ key: 'roomName', type: ['string'] },\n\t\t{ key: 'users', type: ['array'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tlet validType = false\n\n\t\t\tif (prop.type[0] === 'array' && Array.isArray(obj[prop.key])) {\n\t\t\t\tvalidType = true\n\t\t\t} else if (prop.type.find(t => t === typeof obj[prop.key])) {\n\t\t\t\tvalidType = true\n\t\t\t}\n\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, roomsValidate)) {\n\t\tthrow new Error(\n\t\t\t'Rooms object is not valid! Must contain roomId[String, Number], roomName[String] and users[Array]'\n\t\t)\n\t}\n}\n\nexport function partcipantsValidation(obj) {\n\tconst participantsValidate = [\n\t\t{ key: '_id', type: ['string', 'number'] },\n\t\t{ key: 'username', type: ['string'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tconst validType = prop.type.find(t => t === typeof obj[prop.key])\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, participantsValidate)) {\n\t\tthrow new Error(\n\t\t\t'Participants object is not valid! Must contain _id[String, Number] and username[String]'\n\t\t)\n\t}\n}\n\nexport function messagesValidation(obj) {\n\tconst messagesValidate = [\n\t\t{ key: '_id', type: ['string', 'number'] },\n\t\t{ key: 'content', type: ['string', 'number'] },\n\t\t{ key: 'senderId', type: ['string', 'number'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tconst validType = prop.type.find(t => t === typeof obj[prop.key])\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, messagesValidate)) {\n\t\tthrow new Error(\n\t\t\t'Messages object is not valid! Must contain _id[String, Number], content[String, Number] and senderId[String, Number]'\n\t\t)\n\t}\n}\n\nfunction checkObjectValid(obj, key) {\n\treturn (\n\t\tObject.prototype.hasOwnProperty.call(obj, key) &&\n\t\tobj[key] !== null &&\n\t\tobj[key] !== undefined\n\t)\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = global.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr = chr + charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es-x/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\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\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\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$
') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\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 : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(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 push(results, result);\n if (!global) break;\n\n var matchStr = toString(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 = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(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++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n var replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nvar safeGetBuiltIn = function (name) {\n if (!DESCRIPTORS) return global[name];\n var descriptor = getOwnPropertyDescriptor(global, name);\n return descriptor && descriptor.value;\n};\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar RegExp = global.RegExp;\nvar TypeError = global.TypeError;\nvar decodeURIComponent = global.decodeURIComponent;\nvar encodeURIComponent = global.encodeURIComponent;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = replace(it, plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = replace(result, percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n push(this.entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(this.entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(this.entries, {\n key: deserialize(shift(entry)),\n value: deserialize(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n setInternalState(this, new URLSearchParamsState(init));\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) splice(entries, index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, noTargetGet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, forced: true, noTargetGet: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\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.22.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.22.4/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\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\nvar concat = uncurryThis([].concat);\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 ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\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 uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\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 = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, 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","/*\n * bit reservoir source file\n *\n * Copyright (c) 1999-2000 Mark Taylor\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */\n\n/* $Id: Reservoir.java,v 1.9 2011/05/24 20:48:06 kenchis Exp $ */\n\n//package mp3;\n\n/**\n * ResvFrameBegin:
\n * Called (repeatedly) at the beginning of a frame. Updates the maximum size of\n * the reservoir, and checks to make sure main_data_begin was set properly by\n * the formatter
\n * Background information:\n * \n * This is the original text from the ISO standard. Because of sooo many bugs\n * and irritations correcting comments are added in brackets []. A '^W' means\n * you should remove the last word.\n * \n *
\n *  1. The following rule can be used to calculate the maximum\n *     number of bits used for one granule [^W frame]:
\n * At the highest possible bitrate of Layer III (320 kbps\n * per stereo signal [^W^W^W], 48 kHz) the frames must be of\n * [^W^W^W are designed to have] constant length, i.e.\n * one buffer [^W^W the frame] length is:
\n * \n * 320 kbps * 1152/48 kHz = 7680 bit = 960 byte\n * \n * This value is used as the maximum buffer per channel [^W^W] at\n * lower bitrates [than 320 kbps]. At 64 kbps mono or 128 kbps\n * stereo the main granule length is 64 kbps * 576/48 kHz = 768 bit\n * [per granule and channel] at 48 kHz sampling frequency.\n * This means that there is a maximum deviation (short time buffer\n * [= reservoir]) of 7680 - 2*2*768 = 4608 bits is allowed at 64 kbps.\n * The actual deviation is equal to the number of bytes [with the\n * meaning of octets] denoted by the main_data_end offset pointer.\n * The actual maximum deviation is (2^9-1)*8 bit = 4088 bits\n * [for MPEG-1 and (2^8-1)*8 bit for MPEG-2, both are hard limits].\n * ... The xchange of buffer bits between the left and right channel\n * is allowed without restrictions [exception: dual channel].\n * Because of the [constructed] constraint on the buffer size\n * main_data_end is always set to 0 in the case of bit_rate_index==14,\n * i.e. data rate 320 kbps per stereo signal [^W^W^W]. In this case\n * all data are allocated between adjacent header [^W sync] words\n * [, i.e. there is no buffering at all].\n *
\n */\n\nvar common = require('./common.js');\nvar assert = common.assert;\n\nfunction Reservoir() {\n\tvar bs;\n\n\tthis.setModules = function(_bs) {\n\t\tbs = _bs;\n\t}\n\n\tthis.ResvFrameBegin = function(gfp, mean_bits) {\n\t\tvar gfc = gfp.internal_flags;\n\t\tvar maxmp3buf;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tvar frameLength = bs.getframebits(gfp);\n\t\tmean_bits.bits = (frameLength - gfc.sideinfo_len * 8) / gfc.mode_gr;\n\n\t\t/**\n\t\t *
\n\t\t *  Meaning of the variables:\n\t\t *      resvLimit: (0, 8, ..., 8*255 (MPEG-2), 8*511 (MPEG-1))\n\t\t *          Number of bits can be stored in previous frame(s) due to\n\t\t *          counter size constaints\n\t\t *      maxmp3buf: ( ??? ... 8*1951 (MPEG-1 and 2), 8*2047 (MPEG-2.5))\n\t\t *          Number of bits allowed to encode one frame (you can take 8*511 bit\n\t\t *          from the bit reservoir and at most 8*1440 bit from the current\n\t\t *          frame (320 kbps, 32 kHz), so 8*1951 bit is the largest possible\n\t\t *          value for MPEG-1 and -2)\n\t\t * \n\t\t *          maximum allowed granule/channel size times 4 = 8*2047 bits.,\n\t\t *          so this is the absolute maximum supported by the format.\n\t\t * \n\t\t * \n\t\t *      fullFrameBits:  maximum number of bits available for encoding\n\t\t *                      the current frame.\n\t\t * \n\t\t *      mean_bits:      target number of bits per granule.\n\t\t * \n\t\t *      frameLength:\n\t\t * \n\t\t *      gfc.ResvMax:   maximum allowed reservoir\n\t\t * \n\t\t *      gfc.ResvSize:  current reservoir size\n\t\t * \n\t\t *      l3_side.resvDrain_pre:\n\t\t *         ancillary data to be added to previous frame:\n\t\t *         (only usefull in VBR modes if it is possible to have\n\t\t *         maxmp3buf < fullFrameBits)).  Currently disabled,\n\t\t *         see #define NEW_DRAIN\n\t\t *         2010-02-13: RH now enabled, it seems to be needed for CBR too,\n\t\t *                     as there exists one example, where the FhG decoder\n\t\t *                     can't decode a -b320 CBR file anymore.\n\t\t * \n\t\t *      l3_side.resvDrain_post:\n\t\t *         ancillary data to be added to this frame:\n\t\t * \n\t\t * 
\n\t\t */\n\n\t\t/* main_data_begin has 9 bits in MPEG-1, 8 bits MPEG-2 */\n\t\tvar resvLimit = (8 * 256) * gfc.mode_gr - 8;\n\n\t\t/*\n\t\t * maximum allowed frame size. dont use more than this number of bits,\n\t\t * even if the frame has the space for them:\n\t\t */\n\t\tif (gfp.brate > 320) {\n\t\t\t/* in freeformat the buffer is constant */\n\t\t\tmaxmp3buf = 8 * ((int) ((gfp.brate * 1000)\n\t\t\t\t\t/ (gfp.out_samplerate / 1152) / 8 + .5));\n\t\t} else {\n\t\t\t/*\n\t\t\t * all mp3 decoders should have enough buffer to handle this value:\n\t\t\t * size of a 320kbps 32kHz frame\n\t\t\t */\n\t\t\tmaxmp3buf = 8 * 1440;\n\n\t\t\t/*\n\t\t\t * Bouvigne suggests this more lax interpretation of the ISO doc\n\t\t\t * instead of using 8*960.\n\t\t\t */\n\n\t\t\tif (gfp.strict_ISO) {\n\t\t\t\tmaxmp3buf = 8 * ((int) (320000 / (gfp.out_samplerate / 1152) / 8 + .5));\n\t\t\t}\n\t\t}\n\n\t\tgfc.ResvMax = maxmp3buf - frameLength;\n\t\tif (gfc.ResvMax > resvLimit)\n\t\t\tgfc.ResvMax = resvLimit;\n\t\tif (gfc.ResvMax < 0 || gfp.disable_reservoir)\n\t\t\tgfc.ResvMax = 0;\n\n\t\tvar fullFrameBits = mean_bits.bits * gfc.mode_gr\n\t\t\t\t+ Math.min(gfc.ResvSize, gfc.ResvMax);\n\n\t\tif (fullFrameBits > maxmp3buf)\n\t\t\tfullFrameBits = maxmp3buf;\n\n\t\tassert (0 == gfc.ResvMax % 8);\n\t\tassert (gfc.ResvMax >= 0);\n\n\t\tl3_side.resvDrain_pre = 0;\n\n\t\t// frame analyzer code\n\t\tif (gfc.pinfo != null) {\n\t\t\t/*\n\t\t\t * expected bits per channel per granule [is this also right for\n\t\t\t * mono/stereo, MPEG-1/2 ?]\n\t\t\t */\n\t\t\tgfc.pinfo.mean_bits = mean_bits.bits / 2;\n\t\t\tgfc.pinfo.resvsize = gfc.ResvSize;\n\t\t}\n\n\t\treturn fullFrameBits;\n\t}\n\n\t/**\n\t * returns targ_bits: target number of bits to use for 1 granule
\n\t * extra_bits: amount extra available from reservoir
\n\t * Mark Taylor 4/99\n\t */\n\tthis.ResvMaxBits = function(gfp, mean_bits, targ_bits, cbr) {\n\t\tvar gfc = gfp.internal_flags;\n\t\tvar add_bits;\n var ResvSize = gfc.ResvSize, ResvMax = gfc.ResvMax;\n\n\t\t/* compensate the saved bits used in the 1st granule */\n\t\tif (cbr != 0)\n\t\t\tResvSize += mean_bits;\n\n\t\tif ((gfc.substep_shaping & 1) != 0)\n\t\t\tResvMax *= 0.9;\n\n\t\ttarg_bits.bits = mean_bits;\n\n\t\t/* extra bits if the reservoir is almost full */\n\t\tif (ResvSize * 10 > ResvMax * 9) {\n\t\t\tadd_bits = ResvSize - (ResvMax * 9) / 10;\n\t\t\ttarg_bits.bits += add_bits;\n\t\t\tgfc.substep_shaping |= 0x80;\n\t\t} else {\n\t\t\tadd_bits = 0;\n\t\t\tgfc.substep_shaping &= 0x7f;\n\t\t\t/*\n\t\t\t * build up reservoir. this builds the reservoir a little slower\n\t\t\t * than FhG. It could simple be mean_bits/15, but this was rigged to\n\t\t\t * always produce 100 (the old value) at 128kbs\n\t\t\t */\n\t\t\tif (!gfp.disable_reservoir && 0 == (gfc.substep_shaping & 1))\n\t\t\t\ttarg_bits.bits -= .1 * mean_bits;\n\t\t}\n\n\t\t/* amount from the reservoir we are allowed to use. ISO says 6/10 */\n\t\tvar extra_bits = (ResvSize < (gfc.ResvMax * 6) / 10 ? ResvSize\n\t\t\t\t: (gfc.ResvMax * 6) / 10);\n\t\textra_bits -= add_bits;\n\n\t\tif (extra_bits < 0)\n\t\t\textra_bits = 0;\n\t\treturn extra_bits;\n\t}\n\n\t/**\n\t * Called after a granule's bit allocation. Readjusts the size of the\n\t * reservoir to reflect the granule's usage.\n\t */\n\tthis.ResvAdjust = function(gfc, gi) {\n\t\tgfc.ResvSize -= gi.part2_3_length + gi.part2_length;\n\t}\n\n\t/**\n\t * Called after all granules in a frame have been allocated. Makes sure that\n\t * the reservoir size is within limits, possibly by adding stuffing bits.\n\t */\n\tthis.ResvFrameEnd = function(gfc, mean_bits) {\n\t\tvar over_bits;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tgfc.ResvSize += mean_bits * gfc.mode_gr;\n\t\tvar stuffingBits = 0;\n\t\tl3_side.resvDrain_post = 0;\n\t\tl3_side.resvDrain_pre = 0;\n\n\t\t/* we must be byte aligned */\n\t\tif ((over_bits = gfc.ResvSize % 8) != 0)\n\t\t\tstuffingBits += over_bits;\n\n\t\tover_bits = (gfc.ResvSize - stuffingBits) - gfc.ResvMax;\n\t\tif (over_bits > 0) {\n\t\t\tassert (0 == over_bits % 8);\n\t\t\tassert (over_bits >= 0);\n\t\t\tstuffingBits += over_bits;\n\t\t}\n\n\t\t/*\n\t\t * NOTE: enabling the NEW_DRAIN code fixes some problems with FhG\n\t\t * decoder shipped with MS Windows operating systems. Using this, it is\n\t\t * even possible to use Gabriel's lax buffer consideration again, which\n\t\t * assumes, any decoder should have a buffer large enough for a 320 kbps\n\t\t * frame at 32 kHz sample rate.\n\t\t * \n\t\t * old drain code: lame -b320 BlackBird.wav --. does not play with\n\t\t * GraphEdit.exe using FhG decoder V1.5 Build 50\n\t\t * \n\t\t * new drain code: lame -b320 BlackBird.wav --. plays fine with\n\t\t * GraphEdit.exe using FhG decoder V1.5 Build 50\n\t\t * \n\t\t * Robert Hegemann, 2010-02-13.\n\t\t */\n\t\t/*\n\t\t * drain as many bits as possible into previous frame ancillary data In\n\t\t * particular, in VBR mode ResvMax may have changed, and we have to make\n\t\t * sure main_data_begin does not create a reservoir bigger than ResvMax\n\t\t * mt 4/00\n\t\t */\n\t\t{\n\t\t\tvar mdb_bytes = Math.min(l3_side.main_data_begin * 8, stuffingBits) / 8;\n\t\t\tl3_side.resvDrain_pre += 8 * mdb_bytes;\n\t\t\tstuffingBits -= 8 * mdb_bytes;\n\t\t\tgfc.ResvSize -= 8 * mdb_bytes;\n\t\t\tl3_side.main_data_begin -= mdb_bytes;\n\t\t}\n\t\t/* drain the rest into this frames ancillary data */\n\t\tl3_side.resvDrain_post += stuffingBits;\n\t\tgfc.ResvSize -= stuffingBits;\n\t}\n}\n\nmodule.exports = Reservoir;\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isRegExp = require('../internals/is-regexp');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar TypeError = global.TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\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 call(then, 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\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\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_PROMISE_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 call(task, 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 call(task, 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 call(then, 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_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\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: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\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 && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { 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, PromisePrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","var NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","function HuffCodeTab(len, max, tab, hl) {\n this.xlen = len;\n this.linmax = max;\n this.table = tab;\n this.hlen = hl;\n}\n\nvar Tables = {};\n\n\nTables.t1HB = [\n 1, 1,\n 1, 0\n];\n\nTables.t2HB = [\n 1, 2, 1,\n 3, 1, 1,\n 3, 2, 0\n];\n\nTables.t3HB = [\n 3, 2, 1,\n 1, 1, 1,\n 3, 2, 0\n];\n\nTables.t5HB = [\n 1, 2, 6, 5,\n 3, 1, 4, 4,\n 7, 5, 7, 1,\n 6, 1, 1, 0\n];\n\nTables.t6HB = [\n 7, 3, 5, 1,\n 6, 2, 3, 2,\n 5, 4, 4, 1,\n 3, 3, 2, 0\n];\n\nTables.t7HB = [\n 1, 2, 10, 19, 16, 10,\n 3, 3, 7, 10, 5, 3,\n 11, 4, 13, 17, 8, 4,\n 12, 11, 18, 15, 11, 2,\n 7, 6, 9, 14, 3, 1,\n 6, 4, 5, 3, 2, 0\n];\n\nTables.t8HB = [\n 3, 4, 6, 18, 12, 5,\n 5, 1, 2, 16, 9, 3,\n 7, 3, 5, 14, 7, 3,\n 19, 17, 15, 13, 10, 4,\n 13, 5, 8, 11, 5, 1,\n 12, 4, 4, 1, 1, 0\n];\n\nTables.t9HB = [\n 7, 5, 9, 14, 15, 7,\n 6, 4, 5, 5, 6, 7,\n 7, 6, 8, 8, 8, 5,\n 15, 6, 9, 10, 5, 1,\n 11, 7, 9, 6, 4, 1,\n 14, 4, 6, 2, 6, 0\n];\n\nTables.t10HB = [\n 1, 2, 10, 23, 35, 30, 12, 17,\n 3, 3, 8, 12, 18, 21, 12, 7,\n 11, 9, 15, 21, 32, 40, 19, 6,\n 14, 13, 22, 34, 46, 23, 18, 7,\n 20, 19, 33, 47, 27, 22, 9, 3,\n 31, 22, 41, 26, 21, 20, 5, 3,\n 14, 13, 10, 11, 16, 6, 5, 1,\n 9, 8, 7, 8, 4, 4, 2, 0\n];\n\nTables.t11HB = [\n 3, 4, 10, 24, 34, 33, 21, 15,\n 5, 3, 4, 10, 32, 17, 11, 10,\n 11, 7, 13, 18, 30, 31, 20, 5,\n 25, 11, 19, 59, 27, 18, 12, 5,\n 35, 33, 31, 58, 30, 16, 7, 5,\n 28, 26, 32, 19, 17, 15, 8, 14,\n 14, 12, 9, 13, 14, 9, 4, 1,\n 11, 4, 6, 6, 6, 3, 2, 0\n];\n\nTables.t12HB = [\n 9, 6, 16, 33, 41, 39, 38, 26,\n 7, 5, 6, 9, 23, 16, 26, 11,\n 17, 7, 11, 14, 21, 30, 10, 7,\n 17, 10, 15, 12, 18, 28, 14, 5,\n 32, 13, 22, 19, 18, 16, 9, 5,\n 40, 17, 31, 29, 17, 13, 4, 2,\n 27, 12, 11, 15, 10, 7, 4, 1,\n 27, 12, 8, 12, 6, 3, 1, 0\n];\n\nTables.t13HB = [\n 1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19,\n 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14,\n 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16,\n 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14,\n 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24,\n 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17,\n 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15,\n 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42,\n 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16,\n 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11,\n 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22,\n 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7,\n 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5,\n 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3,\n 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2,\n 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1\n];\n\nTables.t15HB = [\n 7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63,\n 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36,\n 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33,\n 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29,\n 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27,\n 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38,\n 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30,\n 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25,\n 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20,\n 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15,\n 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9,\n 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11,\n 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7,\n 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3,\n 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1,\n 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0\n];\n\nTables.t16HB = [\n 1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17,\n 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9,\n 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16,\n 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26,\n 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9,\n 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16,\n 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10,\n 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8,\n 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7,\n 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11,\n 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4,\n 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6,\n 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4,\n 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2,\n 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0,\n 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3\n];\n\nTables.t24HB = [\n 15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88,\n 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42,\n 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18,\n 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16,\n 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14,\n 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12,\n 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10,\n 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17,\n 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16,\n 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11,\n 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10,\n 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6,\n 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4,\n 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2,\n 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0,\n 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3\n];\n\nTables.t32HB = [\n 1 << 0, 5 << 1, 4 << 1, 5 << 2, 6 << 1, 5 << 2, 4 << 2, 4 << 3,\n 7 << 1, 3 << 2, 6 << 2, 0 << 3, 7 << 2, 2 << 3, 3 << 3, 1 << 4\n];\n\nTables.t33HB = [\n 15 << 0, 14 << 1, 13 << 1, 12 << 2, 11 << 1, 10 << 2, 9 << 2, 8 << 3,\n 7 << 1, 6 << 2, 5 << 2, 4 << 3, 3 << 2, 2 << 3, 1 << 3, 0 << 4\n];\n\nTables.t1l = [\n 1, 4,\n 3, 5\n];\n\nTables.t2l = [\n 1, 4, 7,\n 4, 5, 7,\n 6, 7, 8\n];\n\nTables.t3l = [\n 2, 3, 7,\n 4, 4, 7,\n 6, 7, 8\n];\n\nTables.t5l = [\n 1, 4, 7, 8,\n 4, 5, 8, 9,\n 7, 8, 9, 10,\n 8, 8, 9, 10\n];\n\nTables.t6l = [\n 3, 4, 6, 8,\n 4, 4, 6, 7,\n 5, 6, 7, 8,\n 7, 7, 8, 9\n];\n\nTables.t7l = [\n 1, 4, 7, 9, 9, 10,\n 4, 6, 8, 9, 9, 10,\n 7, 7, 9, 10, 10, 11,\n 8, 9, 10, 11, 11, 11,\n 8, 9, 10, 11, 11, 12,\n 9, 10, 11, 12, 12, 12\n];\n\nTables.t8l = [\n 2, 4, 7, 9, 9, 10,\n 4, 4, 6, 10, 10, 10,\n 7, 6, 8, 10, 10, 11,\n 9, 10, 10, 11, 11, 12,\n 9, 9, 10, 11, 12, 12,\n 10, 10, 11, 11, 13, 13\n];\n\nTables.t9l = [\n 3, 4, 6, 7, 9, 10,\n 4, 5, 6, 7, 8, 10,\n 5, 6, 7, 8, 9, 10,\n 7, 7, 8, 9, 9, 10,\n 8, 8, 9, 9, 10, 11,\n 9, 9, 10, 10, 11, 11\n];\n\nTables.t10l = [\n 1, 4, 7, 9, 10, 10, 10, 11,\n 4, 6, 8, 9, 10, 11, 10, 10,\n 7, 8, 9, 10, 11, 12, 11, 11,\n 8, 9, 10, 11, 12, 12, 11, 12,\n 9, 10, 11, 12, 12, 12, 12, 12,\n 10, 11, 12, 12, 13, 13, 12, 13,\n 9, 10, 11, 12, 12, 12, 13, 13,\n 10, 10, 11, 12, 12, 13, 13, 13\n];\n\nTables.t11l = [\n 2, 4, 6, 8, 9, 10, 9, 10,\n 4, 5, 6, 8, 10, 10, 9, 10,\n 6, 7, 8, 9, 10, 11, 10, 10,\n 8, 8, 9, 11, 10, 12, 10, 11,\n 9, 10, 10, 11, 11, 12, 11, 12,\n 9, 10, 11, 12, 12, 13, 12, 13,\n 9, 9, 9, 10, 11, 12, 12, 12,\n 9, 9, 10, 11, 12, 12, 12, 12\n];\n\nTables.t12l = [\n 4, 4, 6, 8, 9, 10, 10, 10,\n 4, 5, 6, 7, 9, 9, 10, 10,\n 6, 6, 7, 8, 9, 10, 9, 10,\n 7, 7, 8, 8, 9, 10, 10, 10,\n 8, 8, 9, 9, 10, 10, 10, 11,\n 9, 9, 10, 10, 10, 11, 10, 11,\n 9, 9, 9, 10, 10, 11, 11, 12,\n 10, 10, 10, 11, 11, 11, 11, 12\n];\n\nTables.t13l = [\n 1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14,\n 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14,\n 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15,\n 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15,\n 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16,\n 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16,\n 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16,\n 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18,\n 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17,\n 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17,\n 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19,\n 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18,\n 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18,\n 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18,\n 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18,\n 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18\n];\n\nTables.t15l = [\n 3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14,\n 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13,\n 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13,\n 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14,\n 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14,\n 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15,\n 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15,\n 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15,\n 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15,\n 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15\n];\n\nTables.t16_5l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14,\n 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12\n];\n\nTables.t16l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13,\n 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10\n];\n\nTables.t24l = [\n 4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10,\n 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10,\n 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9,\n 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9,\n 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9,\n 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9,\n 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9,\n 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10,\n 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10,\n 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10,\n 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6\n];\n\nTables.t32l = [\n 1 + 0, 4 + 1, 4 + 1, 5 + 2, 4 + 1, 6 + 2, 5 + 2, 6 + 3,\n 4 + 1, 5 + 2, 5 + 2, 6 + 3, 5 + 2, 6 + 3, 6 + 3, 6 + 4\n];\n\nTables.t33l = [\n 4 + 0, 4 + 1, 4 + 1, 4 + 2, 4 + 1, 4 + 2, 4 + 2, 4 + 3,\n 4 + 1, 4 + 2, 4 + 2, 4 + 3, 4 + 2, 4 + 3, 4 + 3, 4 + 4\n];\n\nTables.ht = [\n /* xlen, linmax, table, hlen */\n new HuffCodeTab(0, 0, null, null),\n new HuffCodeTab(2, 0, Tables.t1HB, Tables.t1l),\n new HuffCodeTab(3, 0, Tables.t2HB, Tables.t2l),\n new HuffCodeTab(3, 0, Tables.t3HB, Tables.t3l),\n new HuffCodeTab(0, 0, null, null), /* Apparently not used */\n new HuffCodeTab(4, 0, Tables.t5HB, Tables.t5l),\n new HuffCodeTab(4, 0, Tables.t6HB, Tables.t6l),\n new HuffCodeTab(6, 0, Tables.t7HB, Tables.t7l),\n new HuffCodeTab(6, 0, Tables.t8HB, Tables.t8l),\n new HuffCodeTab(6, 0, Tables.t9HB, Tables.t9l),\n new HuffCodeTab(8, 0, Tables.t10HB, Tables.t10l),\n new HuffCodeTab(8, 0, Tables.t11HB, Tables.t11l),\n new HuffCodeTab(8, 0, Tables.t12HB, Tables.t12l),\n new HuffCodeTab(16, 0, Tables.t13HB, Tables.t13l),\n new HuffCodeTab(0, 0, null, Tables.t16_5l), /* Apparently not used */\n new HuffCodeTab(16, 0, Tables.t15HB, Tables.t15l),\n\n new HuffCodeTab(1, 1, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(2, 3, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(3, 7, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(4, 15, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(6, 63, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(8, 255, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(10, 1023, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(13, 8191, Tables.t16HB, Tables.t16l),\n\n new HuffCodeTab(4, 15, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(5, 31, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(6, 63, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(7, 127, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(8, 255, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(9, 511, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(11, 2047, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(13, 8191, Tables.t24HB, Tables.t24l),\n\n new HuffCodeTab(0, 0, Tables.t32HB, Tables.t32l),\n new HuffCodeTab(0, 0, Tables.t33HB, Tables.t33l),\n];\n\n/**\n * \n * for (i = 0; i < 16*16; i++) [\n * largetbl[i] = ((ht[16].hlen[i]) << 16) + ht[24].hlen[i];\n * ]\n * \n *\n */\nTables.largetbl = [\n 0x010004, 0x050005, 0x070007, 0x090008, 0x0a0009, 0x0a000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000c, 0x0c000c, 0x0d000c, 0x0d000c, 0x0d000c, 0x0e000d, 0x0a000a,\n 0x040005, 0x060006, 0x080007, 0x090008, 0x0a0009, 0x0b000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000b, 0x0c000c, 0x0d000c, 0x0e000c, 0x0d000c, 0x0e000c, 0x0a000a,\n 0x070007, 0x080007, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0c000b, 0x0d000b, 0x0d000c, 0x0d000c, 0x0e000c, 0x0e000d, 0x0b0009,\n 0x090008, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0c0009,\n 0x0a0009, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000a, 0x0d000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000d, 0x0b0009,\n 0x0a000a, 0x0a0009, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0e000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0c0009,\n 0x0b000a, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0d000b, 0x0d000b,\n 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000d, 0x0c0009,\n 0x0b000b, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b,\n 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x11000d, 0x11000d, 0x0c000a,\n 0x0b000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b,\n 0x0f000b, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000d, 0x10000d, 0x0c000a,\n 0x0c000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b, 0x0f000c,\n 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0f000d, 0x10000d, 0x0f000d, 0x0d000a,\n 0x0c000c, 0x0d000b, 0x0c000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c,\n 0x0f000c, 0x10000c, 0x10000c, 0x10000d, 0x11000d, 0x11000d, 0x10000d, 0x0c000a,\n 0x0d000c, 0x0d000c, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x10000c,\n 0x10000c, 0x10000c, 0x10000c, 0x10000d, 0x10000d, 0x0f000d, 0x10000d, 0x0d000a,\n 0x0d000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c,\n 0x0f000c, 0x11000c, 0x10000d, 0x10000d, 0x10000d, 0x10000d, 0x12000d, 0x0d000a,\n 0x0f000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000c,\n 0x10000d, 0x12000d, 0x11000d, 0x11000d, 0x11000d, 0x13000d, 0x11000d, 0x0d000a,\n 0x0e000d, 0x0f000c, 0x0d000c, 0x0e000c, 0x10000c, 0x10000c, 0x0f000c, 0x10000d,\n 0x10000d, 0x11000d, 0x12000d, 0x11000d, 0x13000d, 0x11000d, 0x10000d, 0x0d000a,\n 0x0a0009, 0x0a0009, 0x0a0009, 0x0b0009, 0x0b0009, 0x0c0009, 0x0c0009, 0x0c0009,\n 0x0d0009, 0x0d0009, 0x0d0009, 0x0d000a, 0x0d000a, 0x0d000a, 0x0d000a, 0x0a0006\n];\n/**\n * \n * for (i = 0; i < 3*3; i++) [\n * table23[i] = ((ht[2].hlen[i]) << 16) + ht[3].hlen[i];\n * ]\n * \n *\n */\nTables.table23 = [\n 0x010002, 0x040003, 0x070007,\n 0x040004, 0x050004, 0x070007,\n 0x060006, 0x070007, 0x080008\n];\n\n/**\n * \n * for (i = 0; i < 4*4; i++) [\n * table56[i] = ((ht[5].hlen[i]) << 16) + ht[6].hlen[i];\n * ]\n * \n *\n */\nTables.table56 = [\n 0x010003, 0x040004, 0x070006, 0x080008, 0x040004, 0x050004, 0x080006, 0x090007,\n 0x070005, 0x080006, 0x090007, 0x0a0008, 0x080007, 0x080007, 0x090008, 0x0a0009\n];\n\nTables.bitrate_table = [\n [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], /* MPEG 2 */\n [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], /* MPEG 1 */\n [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1], /* MPEG 2.5 */\n];\n\n/**\n * MPEG 2, MPEG 1, MPEG 2.5.\n */\nTables.samplerate_table = [\n [22050, 24000, 16000, -1],\n [44100, 48000, 32000, -1],\n [11025, 12000, 8000, -1],\n];\n\n/**\n * This is the scfsi_band table from 2.4.2.7 of the IS.\n */\nTables.scfsi_band = [0, 6, 11, 16, 21];\n\nmodule.exports = Tables;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar RangeError = global.RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.set.constructor');\n","module.exports = typeof window == 'object' && typeof Deno != 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es-x/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es-x/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar padStart = require('../internals/string-pad').start;\n\nvar RangeError = global.RangeError;\nvar abs = Math.abs;\nvar DatePrototype = Date.prototype;\nvar n$DateToISOString = DatePrototype.toISOString;\nvar getTime = uncurryThis(DatePrototype.getTime);\nvar getUTCDate = uncurryThis(DatePrototype.getUTCDate);\nvar getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear);\nvar getUTCHours = uncurryThis(DatePrototype.getUTCHours);\nvar getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds);\nvar getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes);\nvar getUTCMonth = uncurryThis(DatePrototype.getUTCMonth);\nvar getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds);\n\n// `Date.prototype.toISOString` method implementation\n// https://tc39.es/ecma262/#sec-date.prototype.toisostring\n// PhantomJS / old WebKit fails here:\nmodule.exports = (fails(function () {\n return n$DateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n n$DateToISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime(this))) throw RangeError('Invalid time value');\n var date = this;\n var year = getUTCFullYear(date);\n var milliseconds = getUTCMilliseconds(date);\n var sign = year < 0 ? '-' : year > 9999 ? '+' : '';\n return sign + padStart(abs(year), sign ? 6 : 4, 0) +\n '-' + padStart(getUTCMonth(date) + 1, 2, 0) +\n '-' + padStart(getUTCDate(date), 2, 0) +\n 'T' + padStart(getUTCHours(date), 2, 0) +\n ':' + padStart(getUTCMinutes(date), 2, 0) +\n ':' + padStart(getUTCSeconds(date), 2, 0) +\n '.' + padStart(milliseconds, 3, 0) +\n 'Z';\n} : n$DateToISOString;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (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 defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","//package mp3;\n\n/* MPEG modes */\nfunction MPEGMode(ordinal) {\n var _ordinal = ordinal;\n this.ordinal = function () {\n return _ordinal;\n }\n}\n\nMPEGMode.STEREO = new MPEGMode(0);\nMPEGMode.JOINT_STEREO = new MPEGMode(1);\nMPEGMode.DUAL_CHANNEL = new MPEGMode(2);\nMPEGMode.MONO = new MPEGMode(3);\nMPEGMode.NOT_SET = new MPEGMode(4);\n\nmodule.exports = MPEGMode;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Takehiro = require('./Takehiro.js');\nvar Tables = require('./Tables.js');\nvar Encoder = require('./Encoder.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nBitStream.EQ = function (a, b) {\n return (Math.abs(a) > Math.abs(b)) ? (Math.abs((a) - (b)) <= (Math\n .abs(a) * 1e-6))\n : (Math.abs((a) - (b)) <= (Math.abs(b) * 1e-6));\n};\n\nBitStream.NEQ = function (a, b) {\n return !BitStream.EQ(a, b);\n};\n\nfunction BitStream() {\n var self = this;\n var CRC16_POLYNOMIAL = 0x8005;\n\n /*\n * we work with ints, so when doing bit manipulation, we limit ourselves to\n * MAX_LENGTH-2 just to be on the safe side\n */\n var MAX_LENGTH = 32;\n\n //GainAnalysis ga;\n //MPGLib mpg;\n //Version ver;\n //VBRTag vbr;\n var ga = null;\n var mpg = null;\n var ver = null;\n var vbr = null;\n\n //public final void setModules(GainAnalysis ga, MPGLib mpg, Version ver,\n //\tVBRTag vbr) {\n\n this.setModules = function (_ga, _mpg, _ver, _vbr) {\n ga = _ga;\n mpg = _mpg;\n ver = _ver;\n vbr = _vbr;\n };\n\n /**\n * Bit stream buffer.\n */\n //private byte[] buf;\n var buf = null;\n /**\n * Bit counter of bit stream.\n */\n var totbit = 0;\n /**\n * Pointer to top byte in buffer.\n */\n var bufByteIdx = 0;\n /**\n * Pointer to top bit of top byte in buffer.\n */\n var bufBitIdx = 0;\n\n /**\n * compute bitsperframe and mean_bits for a layer III frame\n */\n this.getframebits = function (gfp) {\n var gfc = gfp.internal_flags;\n var bit_rate;\n\n /* get bitrate in kbps [?] */\n if (gfc.bitrate_index != 0)\n bit_rate = Tables.bitrate_table[gfp.version][gfc.bitrate_index];\n else\n bit_rate = gfp.brate;\n assert(8 <= bit_rate && bit_rate <= 640);\n\n /* main encoding routine toggles padding on and off */\n /* one Layer3 Slot consists of 8 bits */\n var bytes = 0 | (gfp.version + 1) * 72000 * bit_rate / gfp.out_samplerate + gfc.padding;\n return 8 * bytes;\n };\n\n function putheader_bits(gfc) {\n System.arraycopy(gfc.header[gfc.w_ptr].buf, 0, buf, bufByteIdx, gfc.sideinfo_len);\n bufByteIdx += gfc.sideinfo_len;\n totbit += gfc.sideinfo_len * 8;\n gfc.w_ptr = (gfc.w_ptr + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n }\n\n /**\n * write j bits into the bit stream\n */\n function putbits2(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n assert(gfc.header[gfc.w_ptr].write_timing >= totbit);\n if (gfc.header[gfc.w_ptr].write_timing == totbit) {\n putheader_bits(gfc);\n }\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * write j bits into the bit stream, ignoring frame headers\n */\n function putbits_noheaders(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * Some combinations of bitrate, Fs, and stereo make it impossible to stuff\n * out a frame using just main_data, due to the limited number of bits to\n * indicate main_data_length. In these situations, we put stuffing bits into\n * the ancillary data...\n */\n function drain_into_ancillary(gfp, remainingBits) {\n var gfc = gfp.internal_flags;\n var i;\n assert(remainingBits >= 0);\n\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4c, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x41, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4d, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x45, 8);\n remainingBits -= 8;\n }\n\n if (remainingBits >= 32) {\n var version = ver.getLameShortVersion();\n if (remainingBits >= 32)\n for (i = 0; i < version.length && remainingBits >= 8; ++i) {\n remainingBits -= 8;\n putbits2(gfc, version.charAt(i), 8);\n }\n }\n\n for (; remainingBits >= 1; remainingBits -= 1) {\n putbits2(gfc, gfc.ancillary_flag, 1);\n gfc.ancillary_flag ^= (!gfp.disable_reservoir ? 1 : 0);\n }\n\n assert(remainingBits == 0);\n\n }\n\n /**\n * write N bits into the header\n */\n function writeheader(gfc, val, j) {\n var ptr = gfc.header[gfc.h_ptr].ptr;\n\n while (j > 0) {\n var k = Math.min(j, 8 - (ptr & 7));\n j -= k;\n assert(j < MAX_LENGTH);\n /* >> 32 too large for 32 bit machines */\n\n gfc.header[gfc.h_ptr].buf[ptr >> 3] |= ((val >> j)) << (8 - (ptr & 7) - k);\n ptr += k;\n }\n gfc.header[gfc.h_ptr].ptr = ptr;\n }\n\n function CRC_update(value, crc) {\n value <<= 8;\n for (var i = 0; i < 8; i++) {\n value <<= 1;\n crc <<= 1;\n\n if ((((crc ^ value) & 0x10000) != 0))\n crc ^= CRC16_POLYNOMIAL;\n }\n return crc;\n }\n\n this.CRC_writeheader = function (gfc, header) {\n var crc = 0xffff;\n /* (jo) init crc16 for error_protection */\n\n crc = CRC_update(header[2] & 0xff, crc);\n crc = CRC_update(header[3] & 0xff, crc);\n for (var i = 6; i < gfc.sideinfo_len; i++) {\n crc = CRC_update(header[i] & 0xff, crc);\n }\n\n header[4] = (byte)(crc >> 8);\n header[5] = (byte)(crc & 255);\n };\n\n function encodeSideInfo2(gfp, bitsPerFrame) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var gr, ch;\n\n l3_side = gfc.l3_side;\n gfc.header[gfc.h_ptr].ptr = 0;\n Arrays.fill(gfc.header[gfc.h_ptr].buf, 0, gfc.sideinfo_len, 0);\n if (gfp.out_samplerate < 16000)\n writeheader(gfc, 0xffe, 12);\n else\n writeheader(gfc, 0xfff, 12);\n writeheader(gfc, (gfp.version), 1);\n writeheader(gfc, 4 - 3, 2);\n writeheader(gfc, (!gfp.error_protection ? 1 : 0), 1);\n writeheader(gfc, (gfc.bitrate_index), 4);\n writeheader(gfc, (gfc.samplerate_index), 2);\n writeheader(gfc, (gfc.padding), 1);\n writeheader(gfc, (gfp.extension), 1);\n writeheader(gfc, (gfp.mode.ordinal()), 2);\n writeheader(gfc, (gfc.mode_ext), 2);\n writeheader(gfc, (gfp.copyright), 1);\n writeheader(gfc, (gfp.original), 1);\n writeheader(gfc, (gfp.emphasis), 2);\n if (gfp.error_protection) {\n writeheader(gfc, 0, 16);\n /* dummy */\n }\n\n if (gfp.version == 1) {\n /* MPEG1 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 9);\n\n if (gfc.channels_out == 2)\n writeheader(gfc, l3_side.private_bits, 3);\n else\n writeheader(gfc, l3_side.private_bits, 5);\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var band;\n for (band = 0; band < 4; band++) {\n writeheader(gfc, l3_side.scfsi[ch][band], 1);\n }\n }\n\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 4);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.preflag, 1);\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n } else {\n /* MPEG2 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 8);\n writeheader(gfc, l3_side.private_bits, gfc.channels_out);\n\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 9);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n\n if (gfp.error_protection) {\n /* (jo) error_protection: add crc16 information to header */\n CRC_writeheader(gfc, gfc.header[gfc.h_ptr].buf);\n }\n\n {\n var old = gfc.h_ptr;\n assert(gfc.header[old].ptr == gfc.sideinfo_len * 8);\n\n gfc.h_ptr = (old + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n gfc.header[gfc.h_ptr].write_timing = gfc.header[old].write_timing\n + bitsPerFrame;\n\n if (gfc.h_ptr == gfc.w_ptr) {\n /* yikes! we are out of header buffer space */\n System.err\n .println(\"Error: MAX_HEADER_BUF too small in bitstream.c \\n\");\n }\n\n }\n }\n\n function huffman_coder_count1(gfc, gi) {\n /* Write count1 area */\n var h = Tables.ht[gi.count1table_select + 32];\n var i, bits = 0;\n\n var ix = gi.big_values;\n var xr = gi.big_values;\n assert(gi.count1table_select < 2);\n\n for (i = (gi.count1 - gi.big_values) / 4; i > 0; --i) {\n var huffbits = 0;\n var p = 0, v;\n\n v = gi.l3_enc[ix + 0];\n if (v != 0) {\n p += 8;\n if (gi.xr[xr + 0] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 1];\n if (v != 0) {\n p += 4;\n huffbits *= 2;\n if (gi.xr[xr + 1] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 2];\n if (v != 0) {\n p += 2;\n huffbits *= 2;\n if (gi.xr[xr + 2] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 3];\n if (v != 0) {\n p++;\n huffbits *= 2;\n if (gi.xr[xr + 3] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n ix += 4;\n xr += 4;\n putbits2(gfc, huffbits + h.table[p], h.hlen[p]);\n bits += h.hlen[p];\n }\n return bits;\n }\n\n /**\n * Implements the pseudocode of page 98 of the IS\n */\n function Huffmancode(gfc, tableindex, start, end, gi) {\n var h = Tables.ht[tableindex];\n var bits = 0;\n\n assert(tableindex < 32);\n if (0 == tableindex)\n return bits;\n\n for (var i = start; i < end; i += 2) {\n var cbits = 0;\n var xbits = 0;\n var linbits = h.xlen;\n var xlen = h.xlen;\n var ext = 0;\n var x1 = gi.l3_enc[i];\n var x2 = gi.l3_enc[i + 1];\n\n if (x1 != 0) {\n if (gi.xr[i] < 0)\n ext++;\n cbits--;\n }\n\n if (tableindex > 15) {\n /* use ESC-words */\n if (x1 > 14) {\n var linbits_x1 = x1 - 15;\n assert(linbits_x1 <= h.linmax);\n ext |= linbits_x1 << 1;\n xbits = linbits;\n x1 = 15;\n }\n\n if (x2 > 14) {\n var linbits_x2 = x2 - 15;\n assert(linbits_x2 <= h.linmax);\n ext <<= linbits;\n ext |= linbits_x2;\n xbits += linbits;\n x2 = 15;\n }\n xlen = 16;\n }\n\n if (x2 != 0) {\n ext <<= 1;\n if (gi.xr[i + 1] < 0)\n ext++;\n cbits--;\n }\n\n assert((x1 | x2) < 16);\n\n x1 = x1 * xlen + x2;\n xbits -= cbits;\n cbits += h.hlen[x1];\n\n assert(cbits <= MAX_LENGTH);\n assert(xbits <= MAX_LENGTH);\n\n putbits2(gfc, h.table[x1], cbits);\n putbits2(gfc, ext, xbits);\n bits += cbits + xbits;\n }\n return bits;\n }\n\n /**\n * Note the discussion of huffmancodebits() on pages 28 and 29 of the IS, as\n * well as the definitions of the side information on pages 26 and 27.\n */\n function ShortHuffmancodebits(gfc, gi) {\n var region1Start = 3 * gfc.scalefac_band.s[3];\n if (region1Start > gi.big_values)\n region1Start = gi.big_values;\n\n /* short blocks do not have a region2 */\n var bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n gi.big_values, gi);\n return bits;\n }\n\n function LongHuffmancodebits(gfc, gi) {\n var bigvalues, bits;\n var region1Start, region2Start;\n\n bigvalues = gi.big_values;\n assert(0 <= bigvalues && bigvalues <= 576);\n\n var i = gi.region0_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region1Start = gfc.scalefac_band.l[i];\n i += gi.region1_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region2Start = gfc.scalefac_band.l[i];\n\n if (region1Start > bigvalues)\n region1Start = bigvalues;\n\n if (region2Start > bigvalues)\n region2Start = bigvalues;\n\n bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n region2Start, gi);\n bits += Huffmancode(gfc, gi.table_select[2], region2Start, bigvalues,\n gi);\n return bits;\n }\n\n function writeMainData(gfp) {\n var gr, ch, sfb, data_bits, tot_bits = 0;\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n\n if (gfp.version == 1) {\n /* MPEG 1 */\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var slen1 = Takehiro.slen1_tab[gi.scalefac_compress];\n var slen2 = Takehiro.slen2_tab[gi.scalefac_compress];\n data_bits = 0;\n for (sfb = 0; sfb < gi.sfbdivide; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen1);\n data_bits += slen1;\n }\n for (; sfb < gi.sfbmax; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen2);\n data_bits += slen2;\n }\n assert(data_bits == gi.part2_length);\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length + gi.part2_length);\n tot_bits += data_bits;\n }\n /* for ch */\n }\n /* for gr */\n } else {\n /* MPEG 2 */\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var i, sfb_partition, scale_bits = 0;\n assert(gi.sfb_partition_table != null);\n data_bits = 0;\n sfb = 0;\n sfb_partition = 0;\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition] / 3;\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 0], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 1], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 2], 0), slen);\n scale_bits += 3 * slen;\n }\n }\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition];\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc, Math.max(gi.scalefac[sfb], 0), slen);\n scale_bits += slen;\n }\n }\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length);\n assert(scale_bits == gi.part2_length);\n tot_bits += scale_bits + data_bits;\n }\n /* for ch */\n }\n /* for gf */\n return tot_bits;\n }\n\n /* main_data */\n\n function TotalBytes() {\n this.total = 0;\n }\n\n /*\n * compute the number of bits required to flush all mp3 frames currently in\n * the buffer. This should be the same as the reservoir size. Only call this\n * routine between frames - i.e. only after all headers and data have been\n * added to the buffer by format_bitstream().\n *\n * Also compute total_bits_output = size of mp3 buffer (including frame\n * headers which may not have yet been send to the mp3 buffer) + number of\n * bits needed to flush all mp3 frames.\n *\n * total_bytes_output is the size of the mp3 output buffer if\n * lame_encode_flush_nogap() was called right now.\n */\n function compute_flushbits(gfp, total_bytes_output) {\n var gfc = gfp.internal_flags;\n var flushbits, remaining_headers;\n var bitsPerFrame;\n var last_ptr, first_ptr;\n first_ptr = gfc.w_ptr;\n /* first header to add to bitstream */\n last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n\n /* add this many bits to bitstream so we can flush all headers */\n flushbits = gfc.header[last_ptr].write_timing - totbit;\n total_bytes_output.total = flushbits;\n\n if (flushbits >= 0) {\n /* if flushbits >= 0, some headers have not yet been written */\n /* reduce flushbits by the size of the headers */\n remaining_headers = 1 + last_ptr - first_ptr;\n if (last_ptr < first_ptr)\n remaining_headers = 1 + last_ptr - first_ptr\n + LameInternalFlags.MAX_HEADER_BUF;\n flushbits -= remaining_headers * 8 * gfc.sideinfo_len;\n }\n\n /*\n * finally, add some bits so that the last frame is complete these bits\n * are not necessary to decode the last frame, but some decoders will\n * ignore last frame if these bits are missing\n */\n bitsPerFrame = self.getframebits(gfp);\n flushbits += bitsPerFrame;\n total_bytes_output.total += bitsPerFrame;\n /* round up: */\n if ((total_bytes_output.total % 8) != 0)\n total_bytes_output.total = 1 + (total_bytes_output.total / 8);\n else\n total_bytes_output.total = (total_bytes_output.total / 8);\n total_bytes_output.total += bufByteIdx + 1;\n\n if (flushbits < 0) {\n System.err.println(\"strange error flushing buffer ... \\n\");\n }\n return flushbits;\n }\n\n this.flush_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var flushbits;\n var last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n l3_side = gfc.l3_side;\n\n if ((flushbits = compute_flushbits(gfp, new TotalBytes())) < 0)\n return;\n drain_into_ancillary(gfp, flushbits);\n\n /* check that the 100% of the last frame has been written to bitstream */\n assert(gfc.header[last_ptr].write_timing + this.getframebits(gfp) == totbit);\n\n /*\n * we have padded out all frames with ancillary data, which is the same\n * as filling the bitreservoir with ancillary data, so :\n */\n gfc.ResvSize = 0;\n l3_side.main_data_begin = 0;\n\n /* save the ReplayGain value */\n if (gfc.findReplayGain) {\n var RadioGain = ga.GetTitleGain(gfc.rgdata);\n assert(NEQ(RadioGain, GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES));\n gfc.RadioGain = Math.floor(RadioGain * 10.0 + 0.5) | 0;\n /* round to nearest */\n }\n\n /* find the gain and scale change required for no clipping */\n if (gfc.findPeakSample) {\n gfc.noclipGainChange = Math.ceil(Math\n .log10(gfc.PeakSample / 32767.0) * 20.0 * 10.0) | 0;\n /* round up */\n\n if (gfc.noclipGainChange > 0) {\n /* clipping occurs */\n if (EQ(gfp.scale, 1.0) || EQ(gfp.scale, 0.0))\n gfc.noclipScale = (Math\n .floor((32767.0 / gfc.PeakSample) * 100.0) / 100.0);\n /* round down */\n else {\n /*\n * the user specified his own scaling factor. We could\n * suggest the scaling factor of\n * (32767.0/gfp.PeakSample)*(gfp.scale) but it's usually\n * very inaccurate. So we'd rather not advice him on the\n * scaling factor.\n */\n gfc.noclipScale = -1;\n }\n } else\n /* no clipping */\n gfc.noclipScale = -1;\n }\n };\n\n this.add_dummy_byte = function (gfp, val, n) {\n var gfc = gfp.internal_flags;\n var i;\n\n while (n-- > 0) {\n putbits_noheaders(gfc, val, 8);\n\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing += 8;\n }\n };\n\n /**\n * This is called after a frame of audio has been quantized and coded. It\n * will write the encoded audio to the bitstream. Note that from a layer3\n * encoder's perspective the bit stream is primarily a series of main_data()\n * blocks, with header and side information inserted at the proper locations\n * to maintain framing. (See Figure A.7 in the IS).\n */\n this.format_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n l3_side = gfc.l3_side;\n\n var bitsPerFrame = this.getframebits(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_pre);\n\n encodeSideInfo2(gfp, bitsPerFrame);\n var bits = 8 * gfc.sideinfo_len;\n bits += writeMainData(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_post);\n bits += l3_side.resvDrain_post;\n\n l3_side.main_data_begin += (bitsPerFrame - bits) / 8;\n\n /*\n * compare number of bits needed to clear all buffered mp3 frames with\n * what we think the resvsize is:\n */\n if (compute_flushbits(gfp, new TotalBytes()) != gfc.ResvSize) {\n System.err.println(\"Internal buffer inconsistency. flushbits <> ResvSize\");\n }\n\n /*\n * compare main_data_begin for the next frame with what we think the\n * resvsize is:\n */\n if ((l3_side.main_data_begin * 8) != gfc.ResvSize) {\n System.err.printf(\"bit reservoir error: \\n\"\n + \"l3_side.main_data_begin: %d \\n\"\n + \"Resvoir size: %d \\n\"\n + \"resv drain (post) %d \\n\"\n + \"resv drain (pre) %d \\n\"\n + \"header and sideinfo: %d \\n\"\n + \"data bits: %d \\n\"\n + \"total bits: %d (remainder: %d) \\n\"\n + \"bitsperframe: %d \\n\",\n 8 * l3_side.main_data_begin, gfc.ResvSize,\n l3_side.resvDrain_post, l3_side.resvDrain_pre,\n 8 * gfc.sideinfo_len, bits - l3_side.resvDrain_post - 8\n * gfc.sideinfo_len, bits, bits % 8, bitsPerFrame);\n\n System.err.println(\"This is a fatal error. It has several possible causes:\");\n System.err.println(\"90%% LAME compiled with buggy version of gcc using advanced optimizations\");\n System.err.println(\" 9%% Your system is overclocked\");\n System.err.println(\" 1%% bug in LAME encoding library\");\n\n gfc.ResvSize = l3_side.main_data_begin * 8;\n }\n //;\n assert(totbit % 8 == 0);\n\n if (totbit > 1000000000) {\n /*\n * to avoid totbit overflow, (at 8h encoding at 128kbs) lets reset\n * bit counter\n */\n var i;\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing -= totbit;\n totbit = 0;\n }\n\n return 0;\n };\n\n /**\n *
\n     * copy data out of the internal MP3 bit buffer into a user supplied\n     *       unsigned char buffer.\n     *\n     *       mp3data=0      indicates data in buffer is an id3tags and VBR tags\n     *       mp3data=1      data is real mp3 frame data.\n     * 
\n */\n this.copy_buffer = function (gfc, buffer, bufferPos, size, mp3data) {\n var minimum = bufByteIdx + 1;\n if (minimum <= 0)\n return 0;\n if (size != 0 && minimum > size) {\n /* buffer is too small */\n return -1;\n }\n System.arraycopy(buf, 0, buffer, bufferPos, minimum);\n bufByteIdx = -1;\n bufBitIdx = 0;\n\n if (mp3data != 0) {\n var crc = new_int(1);\n crc[0] = gfc.nMusicCRC;\n vbr.updateMusicCRC(crc, buffer, bufferPos, minimum);\n gfc.nMusicCRC = crc[0];\n\n /**\n * sum number of bytes belonging to the mp3 stream this info will be\n * written into the Xing/LAME header for seeking\n */\n if (minimum > 0) {\n gfc.VBR_seek_table.nBytesWritten += minimum;\n }\n\n if (gfc.decode_on_the_fly) { /* decode the frame */\n var pcm_buf = new_float_n([2, 1152]);\n var mp3_in = minimum;\n var samples_out = -1;\n var i;\n\n /* re-synthesis to pcm. Repeat until we get a samples_out=0 */\n while (samples_out != 0) {\n\n samples_out = mpg.hip_decode1_unclipped(gfc.hip, buffer,\n bufferPos, mp3_in, pcm_buf[0], pcm_buf[1]);\n /*\n * samples_out = 0: need more data to decode samples_out =\n * -1: error. Lets assume 0 pcm output samples_out = number\n * of samples output\n */\n\n /*\n * set the lenght of the mp3 input buffer to zero, so that\n * in the next iteration of the loop we will be querying\n * mpglib about buffered data\n */\n mp3_in = 0;\n\n if (samples_out == -1) {\n /*\n * error decoding. Not fatal, but might screw up the\n * ReplayGain tag. What should we do? Ignore for now\n */\n samples_out = 0;\n }\n if (samples_out > 0) {\n /* process the PCM data */\n\n /*\n * this should not be possible, and indicates we have\n * overflown the pcm_buf buffer\n */\n assert(samples_out <= 1152);\n\n if (gfc.findPeakSample) {\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[0][i];\n else if (-pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[0][i];\n }\n if (gfc.channels_out > 1)\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[1][i];\n else if (-pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[1][i];\n }\n }\n\n if (gfc.findReplayGain)\n if (ga.AnalyzeSamples(gfc.rgdata, pcm_buf[0], 0,\n pcm_buf[1], 0, samples_out,\n gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR)\n return -6;\n\n }\n /* if (samples_out>0) */\n }\n /* while (samples_out!=0) */\n }\n /* if (gfc.decode_on_the_fly) */\n\n }\n /* if (mp3data) */\n return minimum;\n };\n\n this.init_bit_stream_w = function (gfc) {\n buf = new_byte(Lame.LAME_MAXMP3BUFFER);\n\n gfc.h_ptr = gfc.w_ptr = 0;\n gfc.header[gfc.h_ptr].write_timing = 0;\n bufByteIdx = -1;\n bufBitIdx = 0;\n totbit = 0;\n };\n\n // From machine.h\n\n\n}\n\nmodule.exports = BitStream;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\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 TypeError = global.TypeError;\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 = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(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 hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Date = global.Date;\nvar getTime = uncurryThis(Date.prototype.getTime);\n\n// `Date.now` method\n// https://tc39.es/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return getTime(new Date());\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GainAnalysis = require('./GainAnalysis.js');\n\nfunction ReplayGain() {\n this.linprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * left input samples, with pre-buffer\n */\n this.linpre = 0;\n this.lstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"first step\" (i.e. post first filter) samples\n */\n this.lstep = 0;\n this.loutbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"out\" (i.e. post second filter) samples\n */\n this.lout = 0;\n this.rinprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * right input samples ...\n */\n this.rinpre = 0;\n this.rstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rstep = 0;\n this.routbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rout = 0;\n /**\n * number of samples required to reach number of milliseconds required\n * for RMS window\n */\n this.sampleWindow = 0;\n this.totsamp = 0;\n this.lsum = 0.;\n this.rsum = 0.;\n this.freqindex = 0;\n this.first = 0;\n this.A = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n this.B = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n\n}\n\nmodule.exports = ReplayGain;\n","//package mp3;\n\nfunction CalcNoiseResult() {\n /**\n * sum of quantization noise > masking\n */\n this.over_noise = 0.;\n /**\n * sum of all quantization noise\n */\n this.tot_noise = 0.;\n /**\n * max quantization noise\n */\n this.max_noise = 0.;\n /**\n * number of quantization noise > masking\n */\n this.over_count = 0;\n /**\n * SSD-like cost of distorted bands\n */\n this.over_SSD = 0;\n this.bits = 0;\n}\n\nmodule.exports = CalcNoiseResult;\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\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 (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","module.exports = require('./lib/linkify');\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n\ttoString: function toString() {\n\t\treturn this.v + '';\n\t}\n};\n\nfunction inheritsToken(value) {\n\tvar props = value ? { v: value } : {};\n\treturn (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\nvar DOMAIN = inheritsToken();\n\n/**\n\t@class AT\n\t@extends TextToken\n*/\nvar AT = inheritsToken('@');\n\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\nvar COLON = inheritsToken(':');\n\n/**\n\t@class DOT\n\t@extends TextToken\n*/\nvar DOT = inheritsToken('.');\n\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\nvar PUNCTUATION = inheritsToken();\n\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\nvar LOCALHOST = inheritsToken();\n\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\nvar NL = inheritsToken('\\n');\n\n/**\n\t@class NUM\n\t@extends TextToken\n*/\nvar NUM = inheritsToken();\n\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\nvar PLUS = inheritsToken('+');\n\n/**\n\t@class POUND\n\t@extends TextToken\n*/\nvar POUND = inheritsToken('#');\n\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\nvar PROTOCOL = inheritsToken();\n\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\nvar MAILTO = inheritsToken('mailto:');\n\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\nvar QUERY = inheritsToken('?');\n\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\nvar SLASH = inheritsToken('/');\n\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\nvar UNDERSCORE = inheritsToken('_');\n\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\nvar SYM = inheritsToken();\n\n/**\n\t@class TLD\n\t@extends TextToken\n*/\nvar TLD = inheritsToken();\n\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\nvar WS = inheritsToken();\n\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\n\nvar AMPERSAND = inheritsToken('&');\n\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\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","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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\n// eslint-disable-next-line es-x/no-object-create -- safe\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 : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\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 defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(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 (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\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 defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar n$ParseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = n$ParseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : n$ParseFloat;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction FFT() {\n\n var window = new_float(Encoder.BLKSIZE);\n var window_s = new_float(Encoder.BLKSIZE_s / 2);\n\n var costab = [\n 9.238795325112867e-01, 3.826834323650898e-01,\n 9.951847266721969e-01, 9.801714032956060e-02,\n 9.996988186962042e-01, 2.454122852291229e-02,\n 9.999811752826011e-01, 6.135884649154475e-03\n ];\n\n function fht(fz, fzPos, n) {\n var tri = 0;\n var k4;\n var fi;\n var gi;\n\n n <<= 1;\n /* to get BLKSIZE, because of 3DNow! ASM routine */\n var fn = fzPos + n;\n k4 = 4;\n do {\n var s1, c1;\n var i, k1, k2, k3, kx;\n kx = k4 >> 1;\n k1 = k4;\n k2 = k4 << 1;\n k3 = k2 + k1;\n k4 = k2 << 1;\n fi = fzPos;\n gi = fi + kx;\n do {\n var f0, f1, f2, f3;\n f1 = fz[fi + 0] - fz[fi + k1];\n f0 = fz[fi + 0] + fz[fi + k1];\n f3 = fz[fi + k2] - fz[fi + k3];\n f2 = fz[fi + k2] + fz[fi + k3];\n fz[fi + k2] = f0 - f2;\n fz[fi + 0] = f0 + f2;\n fz[fi + k3] = f1 - f3;\n fz[fi + k1] = f1 + f3;\n f1 = fz[gi + 0] - fz[gi + k1];\n f0 = fz[gi + 0] + fz[gi + k1];\n f3 = (Util.SQRT2 * fz[gi + k3]);\n f2 = (Util.SQRT2 * fz[gi + k2]);\n fz[gi + k2] = f0 - f2;\n fz[gi + 0] = f0 + f2;\n fz[gi + k3] = f1 - f3;\n fz[gi + k1] = f1 + f3;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c1 = costab[tri + 0];\n s1 = costab[tri + 1];\n for (i = 1; i < kx; i++) {\n var c2, s2;\n c2 = 1 - (2 * s1) * s1;\n s2 = (2 * s1) * c1;\n fi = fzPos + i;\n gi = fzPos + k1 - i;\n do {\n var a, b, g0, f0, f1, g1, f2, g2, f3, g3;\n b = s2 * fz[fi + k1] - c2 * fz[gi + k1];\n a = c2 * fz[fi + k1] + s2 * fz[gi + k1];\n f1 = fz[fi + 0] - a;\n f0 = fz[fi + 0] + a;\n g1 = fz[gi + 0] - b;\n g0 = fz[gi + 0] + b;\n b = s2 * fz[fi + k3] - c2 * fz[gi + k3];\n a = c2 * fz[fi + k3] + s2 * fz[gi + k3];\n f3 = fz[fi + k2] - a;\n f2 = fz[fi + k2] + a;\n g3 = fz[gi + k2] - b;\n g2 = fz[gi + k2] + b;\n b = s1 * f2 - c1 * g3;\n a = c1 * f2 + s1 * g3;\n fz[fi + k2] = f0 - a;\n fz[fi + 0] = f0 + a;\n fz[gi + k3] = g1 - b;\n fz[gi + k1] = g1 + b;\n b = c1 * g2 - s1 * f3;\n a = s1 * g2 + c1 * f3;\n fz[gi + k2] = g0 - a;\n fz[gi + 0] = g0 + a;\n fz[fi + k3] = f1 - b;\n fz[fi + k1] = f1 + b;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c2 = c1;\n c1 = c2 * costab[tri + 0] - s1 * costab[tri + 1];\n s1 = c2 * costab[tri + 1] + s1 * costab[tri + 0];\n }\n tri += 2;\n } while (k4 < n);\n }\n\n var rv_tbl = [0x00, 0x80, 0x40,\n 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10,\n 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70,\n 0xf0, 0x08, 0x88, 0x48, 0xc8, 0x28,\n 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58,\n 0xd8, 0x38, 0xb8, 0x78, 0xf8, 0x04,\n 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64,\n 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34,\n 0xb4, 0x74, 0xf4, 0x0c, 0x8c, 0x4c,\n 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c,\n 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c,\n 0xfc, 0x02, 0x82, 0x42, 0xc2, 0x22,\n 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52,\n 0xd2, 0x32, 0xb2, 0x72, 0xf2, 0x0a,\n 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a,\n 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a,\n 0xba, 0x7a, 0xfa, 0x06, 0x86, 0x46,\n 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16,\n 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76,\n 0xf6, 0x0e, 0x8e, 0x4e, 0xce, 0x2e,\n 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e,\n 0xde, 0x3e, 0xbe, 0x7e, 0xfe];\n\n this.fft_short = function (gfc, x_real, chn, buffer, bufPos) {\n for (var b = 0; b < 3; b++) {\n var x = Encoder.BLKSIZE_s / 2;\n var k = 0xffff & ((576 / 3) * (b + 1));\n var j = Encoder.BLKSIZE_s / 8 - 1;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[j << 2] & 0xff;\n\n f0 = window_s[i] * buffer[chn][bufPos + i + k];\n w = window_s[0x7f - i] * buffer[chn][bufPos + i + k + 0x80];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x40] * buffer[chn][bufPos + i + k + 0x40];\n w = window_s[0x3f - i] * buffer[chn][bufPos + i + k + 0xc0];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n x_real[b][x + 0] = f0 + f2;\n x_real[b][x + 2] = f0 - f2;\n x_real[b][x + 1] = f1 + f3;\n x_real[b][x + 3] = f1 - f3;\n\n f0 = window_s[i + 0x01] * buffer[chn][bufPos + i + k + 0x01];\n w = window_s[0x7e - i] * buffer[chn][bufPos + i + k + 0x81];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x41] * buffer[chn][bufPos + i + k + 0x41];\n w = window_s[0x3e - i] * buffer[chn][bufPos + i + k + 0xc1];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 0] = f0 + f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 2] = f0 - f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 1] = f1 + f3;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 3] = f1 - f3;\n } while (--j >= 0);\n\n fht(x_real[b], x, Encoder.BLKSIZE_s / 2);\n /* BLKSIZE_s/2 because of 3DNow! ASM routine */\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n }\n\n this.fft_long = function (gfc, y, chn, buffer, bufPos) {\n var jj = Encoder.BLKSIZE / 8 - 1;\n var x = Encoder.BLKSIZE / 2;\n\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[jj] & 0xff;\n f0 = window[i] * buffer[chn][bufPos + i];\n w = window[i + 0x200] * buffer[chn][bufPos + i + 0x200];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x100] * buffer[chn][bufPos + i + 0x100];\n w = window[i + 0x300] * buffer[chn][bufPos + i + 0x300];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n y[x + 0] = f0 + f2;\n y[x + 2] = f0 - f2;\n y[x + 1] = f1 + f3;\n y[x + 3] = f1 - f3;\n\n f0 = window[i + 0x001] * buffer[chn][bufPos + i + 0x001];\n w = window[i + 0x201] * buffer[chn][bufPos + i + 0x201];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x101] * buffer[chn][bufPos + i + 0x101];\n w = window[i + 0x301] * buffer[chn][bufPos + i + 0x301];\n f3 = f2 - w;\n f2 = f2 + w;\n\n y[x + Encoder.BLKSIZE / 2 + 0] = f0 + f2;\n y[x + Encoder.BLKSIZE / 2 + 2] = f0 - f2;\n y[x + Encoder.BLKSIZE / 2 + 1] = f1 + f3;\n y[x + Encoder.BLKSIZE / 2 + 3] = f1 - f3;\n } while (--jj >= 0);\n\n fht(y, x, Encoder.BLKSIZE / 2);\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n\n this.init_fft = function (gfc) {\n /* The type of window used here will make no real difference, but */\n /*\n * in the interest of merging nspsytune stuff - switch to blackman\n * window\n */\n for (var i = 0; i < Encoder.BLKSIZE; i++)\n /* blackman window */\n window[i] = (0.42 - 0.5 * Math.cos(2 * Math.PI * (i + .5)\n / Encoder.BLKSIZE) + 0.08 * Math.cos(4 * Math.PI * (i + .5)\n / Encoder.BLKSIZE));\n\n for (var i = 0; i < Encoder.BLKSIZE_s / 2; i++)\n window_s[i] = (0.5 * (1.0 - Math.cos(2.0 * Math.PI\n * (i + 0.5) / Encoder.BLKSIZE_s)));\n\n }\n\n}\n\nmodule.exports = FFT;\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\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-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","import Database from './database.js';\n\nfunction noop() { }\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\n\nconst dirty_components = [];\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\nconst outroing = new Set();\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\n// via https://unpkg.com/browse/emojibase-data@6.0.0/meta/groups.json\nconst allGroups = [\n [-1, '✨', 'custom'],\n [0, '😀', 'smileys-emotion'],\n [1, '👋', 'people-body'],\n [3, '🐱', 'animals-nature'],\n [4, '🍎', 'food-drink'],\n [5, '🏠️', 'travel-places'],\n [6, '⚽', 'activities'],\n [7, '📝', 'objects'],\n [8, '⛔️', 'symbols'],\n [9, '🏁', 'flags']\n].map(([id, emoji, name]) => ({ id, emoji, name }));\n\nconst groups = allGroups.slice(1);\nconst customGroup = allGroups[0];\n\nconst MIN_SEARCH_TEXT_LENGTH = 2;\nconst NUM_SKIN_TONES = 6;\n\n/* istanbul ignore next */\nconst rIC = typeof requestIdleCallback === 'function' ? requestIdleCallback : setTimeout;\n\n// check for ZWJ (zero width joiner) character\nfunction hasZwj (emoji) {\n return emoji.unicode.includes('\\u200d')\n}\n\n// Find one good representative emoji from each version to test by checking its color.\n// Ideally it should have color in the center. For some inspiration, see:\n// https://about.gitlab.com/blog/2018/05/30/journey-in-native-unicode-emoji/\n//\n// Note that for certain versions (12.1, 13.1), there is no point in testing them explicitly, because\n// all the emoji from this version are compound-emoji from previous versions. So they would pass a color\n// test, even in browsers that display them as double emoji. (E.g. \"face in clouds\" might render as\n// \"face without mouth\" plus \"fog\".) These emoji can only be filtered using the width test,\n// which happens in checkZwjSupport.js.\nconst versionsAndTestEmoji = {\n '🫠': 14,\n '🥲': 13.1, // smiling face with tear, technically from v13 but see note above\n '🥻': 12.1, // sari, technically from v12 but see note above\n '🥰': 11,\n '🤩': 5,\n '👱‍♀️': 4,\n '🤣': 3,\n '👁️‍🗨️': 2,\n '😀': 1,\n '😐️': 0.7,\n '😃': 0.6\n};\n\nconst TIMEOUT_BEFORE_LOADING_MESSAGE = 1000; // 1 second\nconst DEFAULT_SKIN_TONE_EMOJI = '🖐️';\nconst DEFAULT_NUM_COLUMNS = 8;\n\n// Based on https://fivethirtyeight.com/features/the-100-most-used-emojis/ and\n// https://blog.emojipedia.org/facebook-reveals-most-and-least-used-emojis/ with\n// a bit of my own curation. (E.g. avoid the \"OK\" gesture because of connotations:\n// https://emojipedia.org/ok-hand/)\nconst MOST_COMMONLY_USED_EMOJI = [\n '😊',\n '😒',\n '♥️',\n '👍️',\n '😍',\n '😂',\n '😭',\n '☺️',\n '😔',\n '😩',\n '😏',\n '💕',\n '🙌',\n '😘'\n];\n\n// It's important to list Twemoji Mozilla before everything else, because Mozilla bundles their\n// own font on some platforms (notably Windows and Linux as of this writing). Typically Mozilla\n// updates faster than the underlying OS, and we don't want to render older emoji in one font and\n// newer emoji in another font:\n// https://github.com/nolanlawson/emoji-picker-element/pull/268#issuecomment-1073347283\nconst FONT_FAMILY = '\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",' +\n '\"Noto Color Emoji\",\"EmojiOne Color\",\"Android Emoji\",sans-serif';\n\n/* istanbul ignore next */\nconst DEFAULT_CATEGORY_SORTING = (a, b) => a < b ? -1 : a > b ? 1 : 0;\n\n// Test if an emoji is supported by rendering it to canvas and checking that the color is not black\n\nconst getTextFeature = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = canvas.height = 1;\n\n const ctx = canvas.getContext('2d');\n ctx.textBaseline = 'top';\n ctx.font = `100px ${FONT_FAMILY}`;\n ctx.fillStyle = color;\n ctx.scale(0.01, 0.01);\n ctx.fillText(text, 0, 0);\n\n return ctx.getImageData(0, 0, 1, 1).data\n};\n\nconst compareFeatures = (feature1, feature2) => {\n const feature1Str = [...feature1].join(',');\n const feature2Str = [...feature2].join(',');\n // This is RGBA, so for 0,0,0, we are checking that the first RGB is not all zeroes.\n // Most of the time when unsupported this is 0,0,0,0, but on Chrome on Mac it is\n // 0,0,0,61 - there is a transparency here.\n return feature1Str === feature2Str && !feature1Str.startsWith('0,0,0,')\n};\n\nfunction testColorEmojiSupported (text) {\n // Render white and black and then compare them to each other and ensure they're the same\n // color, and neither one is black. This shows that the emoji was rendered in color.\n const feature1 = getTextFeature(text, '#000');\n const feature2 = getTextFeature(text, '#fff');\n return feature1 && feature2 && compareFeatures(feature1, feature2)\n}\n\n// rather than check every emoji ever, which would be expensive, just check some representatives from the\n\nfunction determineEmojiSupportLevel () {\n const entries = Object.entries(versionsAndTestEmoji);\n try {\n // start with latest emoji and work backwards\n for (const [emoji, version] of entries) {\n if (testColorEmojiSupported(emoji)) {\n return version\n }\n }\n } catch (e) { // canvas error\n } finally {\n }\n // In case of an error, be generous and just assume all emoji are supported (e.g. for canvas errors\n // due to anti-fingerprinting add-ons). Better to show some gray boxes than nothing at all.\n return entries[0][1] // first one in the list is the most recent version\n}\n\n// Check which emojis we know for sure aren't supported, based on Unicode version level\nconst emojiSupportLevelPromise = new Promise(resolve => (\n rIC(() => (\n resolve(determineEmojiSupportLevel()) // delay so ideally this can run while IDB is first populating\n ))\n));\n// determine which emojis containing ZWJ (zero width joiner) characters\n// are supported (rendered as one glyph) rather than unsupported (rendered as two or more glyphs)\nconst supportedZwjEmojis = new Map();\n\nconst VARIATION_SELECTOR = '\\ufe0f';\nconst SKINTONE_MODIFIER = '\\ud83c';\nconst ZWJ = '\\u200d';\nconst LIGHT_SKIN_TONE = 0x1F3FB;\nconst LIGHT_SKIN_TONE_MODIFIER = 0xdffb;\n\n// TODO: this is a naive implementation, we can improve it later\n// It's only used for the skintone picker, so as long as people don't customize with\n// really exotic emoji then it should work fine\nfunction applySkinTone (str, skinTone) {\n if (skinTone === 0) {\n return str\n }\n const zwjIndex = str.indexOf(ZWJ);\n if (zwjIndex !== -1) {\n return str.substring(0, zwjIndex) +\n String.fromCodePoint(LIGHT_SKIN_TONE + skinTone - 1) +\n str.substring(zwjIndex)\n }\n if (str.endsWith(VARIATION_SELECTOR)) {\n str = str.substring(0, str.length - 1);\n }\n return str + SKINTONE_MODIFIER + String.fromCodePoint(LIGHT_SKIN_TONE_MODIFIER + skinTone - 1)\n}\n\nfunction halt (event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\n// Implementation left/right or up/down navigation, circling back when you\n// reach the start/end of the list\nfunction incrementOrDecrement (decrement, val, arr) {\n val += (decrement ? -1 : 1);\n if (val < 0) {\n val = arr.length - 1;\n } else if (val >= arr.length) {\n val = 0;\n }\n return val\n}\n\n// like lodash's uniqBy but much smaller\nfunction uniqBy (arr, func) {\n const set = new Set();\n const res = [];\n for (const item of arr) {\n const key = func(item);\n if (!set.has(key)) {\n set.add(key);\n res.push(item);\n }\n }\n return res\n}\n\n// We don't need all the data on every emoji, and there are specific things we need\n// for the UI, so build a \"view model\" from the emoji object we got from the database\n\nfunction summarizeEmojisForUI (emojis, emojiSupportLevel) {\n const toSimpleSkinsMap = skins => {\n const res = {};\n for (const skin of skins) {\n // ignore arrays like [1, 2] with multiple skin tones\n // also ignore variants that are in an unsupported emoji version\n // (these do exist - variants from a different version than their base emoji)\n if (typeof skin.tone === 'number' && skin.version <= emojiSupportLevel) {\n res[skin.tone] = skin.unicode;\n }\n }\n return res\n };\n\n return emojis.map(({ unicode, skins, shortcodes, url, name, category }) => ({\n unicode,\n name,\n shortcodes,\n url,\n category,\n id: unicode || name,\n skins: skins && toSimpleSkinsMap(skins),\n title: (shortcodes || []).join(', ')\n }))\n}\n\n// import rAF from one place so that the bundle size is a bit smaller\nconst rAF = requestAnimationFrame;\n\n// Svelte action to calculate the width of an element and auto-update\n\nlet resizeObserverSupported = typeof ResizeObserver === 'function';\n\nfunction calculateWidth (node, onUpdate) {\n let resizeObserver;\n if (resizeObserverSupported) {\n resizeObserver = new ResizeObserver(entries => (\n onUpdate(entries[0].contentRect.width)\n ));\n resizeObserver.observe(node);\n } else { // just set the width once, don't bother trying to track it\n rAF(() => (\n onUpdate(node.getBoundingClientRect().width)\n ));\n }\n\n // cleanup function (called on destroy)\n return {\n destroy () {\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n }\n }\n}\n\n// get the width of the text inside of a DOM node, via https://stackoverflow.com/a/59525891/680742\nfunction calculateTextWidth (node) {\n /* istanbul ignore else */\n {\n const range = document.createRange();\n range.selectNode(node.firstChild);\n return range.getBoundingClientRect().width\n }\n}\n\nlet baselineEmojiWidth;\n\nfunction checkZwjSupport (zwjEmojisToCheck, baselineEmoji, emojiToDomNode) {\n for (const emoji of zwjEmojisToCheck) {\n const domNode = emojiToDomNode(emoji);\n const emojiWidth = calculateTextWidth(domNode);\n if (typeof baselineEmojiWidth === 'undefined') { // calculate the baseline emoji width only once\n baselineEmojiWidth = calculateTextWidth(baselineEmoji);\n }\n // On Windows, some supported emoji are ~50% bigger than the baseline emoji, but what we really want to guard\n // against are the ones that are 2x the size, because those are truly broken (person with red hair = person with\n // floating red wig, black cat = cat with black square, polar bear = bear with snowflake, etc.)\n // So here we set the threshold at 1.8 times the size of the baseline emoji.\n const supported = emojiWidth / 1.8 < baselineEmojiWidth;\n supportedZwjEmojis.set(emoji.unicode, supported);\n }\n}\n\n// Measure after style/layout are complete\n\nconst requestPostAnimationFrame = callback => {\n rAF(() => {\n setTimeout(callback);\n });\n};\n\n// like lodash's uniq\n\nfunction uniq (arr) {\n return uniqBy(arr, _ => _)\n}\n\n/* src/picker/components/Picker/Picker.svelte generated by Svelte v3.46.4 */\n\nconst { Map: Map_1 } = globals;\n\nfunction get_each_context(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_1(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[66] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_2(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_3(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[69] = list[i];\n\treturn child_ctx;\n}\n\nfunction get_each_context_4(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[72] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\n// (43:38) {#each skinTones as skinTone, i (skinTone)}\nfunction create_each_block_4(key_1, ctx) {\n\tlet div;\n\tlet t_value = /*skinTone*/ ctx[72] + \"\";\n\tlet t;\n\tlet div_id_value;\n\tlet div_class_value;\n\tlet div_aria_selected_value;\n\tlet div_title_value;\n\tlet div_aria_label_value;\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"id\", div_id_value = \"skintone-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div, \"class\", div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(div, \"aria-selected\", div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div, \"role\", \"option\");\n\t\t\tattr(div, \"title\", div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tattr(div, \"tabindex\", \"-1\");\n\t\t\tattr(div, \"aria-label\", div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tthis.first = div;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tappend(div, t);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && t_value !== (t_value = /*skinTone*/ ctx[72] + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && div_id_value !== (div_id_value = \"skintone-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div, \"id\", div_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_class_value !== (div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(div, \"class\", div_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_aria_selected_value !== (div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div, \"aria-selected\", div_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_title_value !== (div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"title\", div_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_aria_label_value !== (div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"aria-label\", div_aria_label_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t}\n\t};\n}\n\n// (53:33) {#each groups as group (group.id)}\nfunction create_each_block_3(key_1, ctx) {\n\tlet button;\n\tlet div;\n\tlet t_value = /*group*/ ctx[69].emoji + \"\";\n\tlet t;\n\tlet button_aria_controls_value;\n\tlet button_aria_label_value;\n\tlet button_aria_selected_value;\n\tlet button_title_value;\n\tlet mounted;\n\tlet dispose;\n\n\tfunction click_handler() {\n\t\treturn /*click_handler*/ ctx[49](/*group*/ ctx[69]);\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"class\", \"nav-emoji emoji\");\n\t\t\tattr(button, \"role\", \"tab\");\n\t\t\tattr(button, \"class\", \"nav-button\");\n\t\t\tattr(button, \"aria-controls\", button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id);\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id);\n\t\t\tattr(button, \"title\", button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tappend(button, div);\n\t\t\tappend(div, t);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = listen(button, \"click\", click_handler);\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*groups*/ 4096 && t_value !== (t_value = /*group*/ ctx[69].emoji + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*groups*/ 4096 && button_aria_controls_value !== (button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-controls\", button_aria_controls_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_aria_label_value !== (button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup, groups*/ 12304 && button_aria_selected_value !== (button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_title_value !== (button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tmounted = false;\n\t\t\tdispose();\n\t\t}\n\t};\n}\n\n// (93:100) {:else}\nfunction create_else_block_1(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (93:40) {#if emoji.unicode}\nfunction create_if_block_1(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (88:53) {#each emojiWithCategory.emojis as emoji, i (emoji.id)}\nfunction create_each_block_2(key_1, ctx) {\n\tlet button;\n\tlet button_role_value;\n\tlet button_aria_selected_value;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_class_value;\n\tlet button_id_value;\n\n\tfunction select_block_type(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block_1;\n\t\treturn create_else_block_1;\n\t}\n\n\tlet current_block_type = select_block_type(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem');\n\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '');\n\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\n\t\t\tattr(button, \"class\", button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(button, \"id\", button_id_value = \"emo-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && button_role_value !== (button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem')) {\n\t\t\t\tattr(button, \"role\", button_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_aria_selected_value !== (button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '')) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_class_value !== (button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(button, \"class\", button_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_id_value !== (button_id_value = \"emo-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\n// (69:36) {#each currentEmojisWithCategories as emojiWithCategory, i (emojiWithCategory.category)}\nfunction create_each_block_1(key_1, ctx) {\n\tlet div0;\n\n\tlet t_value = (/*searchMode*/ ctx[4]\n\t? /*i18n*/ ctx[0].searchResultsLabel\n\t: /*emojiWithCategory*/ ctx[66].category\n\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\";\n\n\tlet t;\n\tlet div0_id_value;\n\tlet div0_class_value;\n\tlet div1;\n\tlet each_blocks = [];\n\tlet each_1_lookup = new Map_1();\n\tlet div1_role_value;\n\tlet div1_aria_labelledby_value;\n\tlet div1_id_value;\n\tlet each_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\tconst get_key = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value_2.length; i += 1) {\n\t\tlet child_ctx = get_each_context_2(ctx, each_value_2, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach_1_lookup.set(key, each_blocks[i] = create_each_block_2(key, child_ctx));\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv0 = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tdiv1 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tattr(div0, \"id\", div0_id_value = \"menu-label-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div0, \"class\", div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div0, \"aria-hidden\", \"true\");\n\t\t\tattr(div1, \"class\", \"emoji-menu\");\n\t\t\tattr(div1, \"role\", div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu');\n\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65]);\n\t\t\tattr(div1, \"id\", div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '');\n\t\t\tthis.first = div0;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div0, anchor);\n\t\t\tappend(div0, t);\n\t\t\tinsert(target, div1, anchor);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div1, null);\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentEmojisWithCategories, currentGroup*/ 40977 && t_value !== (t_value = (/*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_id_value !== (div0_id_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div0, \"id\", div0_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_class_value !== (div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div0, \"class\", div0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin*/ 402686256) {\n\t\t\t\teach_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value_2, each_1_lookup, div1, destroy_block, create_each_block_2, null, get_each_context_2);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_role_value !== (div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu')) {\n\t\t\t\tattr(div1, \"role\", div1_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div1_aria_labelledby_value !== (div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_id_value !== (div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '')) {\n\t\t\t\tattr(div1, \"id\", div1_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div0);\n\t\t\tif (detaching) detach(div1);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\t\t}\n\t};\n}\n\n// (102:94) {:else}\nfunction create_else_block(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (102:34) {#if emoji.unicode}\nfunction create_if_block(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (98:102) {#each currentFavorites as emoji, i (emoji.id)}\nfunction create_each_block(key_1, ctx) {\n\tlet button;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_id_value;\n\n\tfunction select_block_type_1(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block;\n\t\treturn create_else_block;\n\t}\n\n\tlet current_block_type = select_block_type_1(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", \"menuitem\");\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\t\t\tattr(button, \"class\", \"emoji\");\n\t\t\tattr(button, \"id\", button_id_value = \"fav-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type_1(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_id_value !== (button_id_value = \"fav-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\nfunction create_fragment(ctx) {\n\tlet section;\n\tlet div0;\n\tlet div4;\n\tlet div1;\n\tlet input;\n\tlet input_placeholder_value;\n\tlet input_aria_expanded_value;\n\tlet input_aria_activedescendant_value;\n\tlet label;\n\tlet t0_value = /*i18n*/ ctx[0].searchLabel + \"\";\n\tlet t0;\n\tlet span0;\n\tlet t1_value = /*i18n*/ ctx[0].searchDescription + \"\";\n\tlet t1;\n\tlet div2;\n\tlet button0;\n\tlet t2;\n\tlet button0_class_value;\n\tlet div2_class_value;\n\tlet span1;\n\tlet t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\";\n\tlet t3;\n\tlet div3;\n\tlet each_blocks_3 = [];\n\tlet each0_lookup = new Map_1();\n\tlet div3_class_value;\n\tlet div3_aria_label_value;\n\tlet div3_aria_activedescendant_value;\n\tlet div3_aria_hidden_value;\n\tlet div5;\n\tlet each_blocks_2 = [];\n\tlet each1_lookup = new Map_1();\n\tlet div5_aria_label_value;\n\tlet div7;\n\tlet div6;\n\tlet div8;\n\tlet t4;\n\tlet div8_class_value;\n\tlet div10;\n\tlet div9;\n\tlet each_blocks_1 = [];\n\tlet each2_lookup = new Map_1();\n\tlet div10_class_value;\n\tlet div10_role_value;\n\tlet div10_aria_label_value;\n\tlet div10_id_value;\n\tlet div11;\n\tlet each_blocks = [];\n\tlet each3_lookup = new Map_1();\n\tlet div11_class_value;\n\tlet div11_aria_label_value;\n\tlet button1;\n\tlet section_aria_label_value;\n\tlet mounted;\n\tlet dispose;\n\tlet each_value_4 = /*skinTones*/ ctx[9];\n\tconst get_key = ctx => /*skinTone*/ ctx[72];\n\n\tfor (let i = 0; i < each_value_4.length; i += 1) {\n\t\tlet child_ctx = get_each_context_4(ctx, each_value_4, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach0_lookup.set(key, each_blocks_3[i] = create_each_block_4(key, child_ctx));\n\t}\n\n\tlet each_value_3 = /*groups*/ ctx[12];\n\tconst get_key_1 = ctx => /*group*/ ctx[69].id;\n\n\tfor (let i = 0; i < each_value_3.length; i += 1) {\n\t\tlet child_ctx = get_each_context_3(ctx, each_value_3, i);\n\t\tlet key = get_key_1(child_ctx);\n\t\teach1_lookup.set(key, each_blocks_2[i] = create_each_block_3(key, child_ctx));\n\t}\n\n\tlet each_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\tconst get_key_2 = ctx => /*emojiWithCategory*/ ctx[66].category;\n\n\tfor (let i = 0; i < each_value_1.length; i += 1) {\n\t\tlet child_ctx = get_each_context_1(ctx, each_value_1, i);\n\t\tlet key = get_key_2(child_ctx);\n\t\teach2_lookup.set(key, each_blocks_1[i] = create_each_block_1(key, child_ctx));\n\t}\n\n\tlet each_value = /*currentFavorites*/ ctx[10];\n\tconst get_key_3 = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value.length; i += 1) {\n\t\tlet child_ctx = get_each_context(ctx, each_value, i);\n\t\tlet key = get_key_3(child_ctx);\n\t\teach3_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));\n\t}\n\n\treturn {\n\t\tc() {\n\t\t\tsection = element(\"section\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tdiv4 = element(\"div\");\n\t\t\tdiv1 = element(\"div\");\n\t\t\tinput = element(\"input\");\n\t\t\tlabel = element(\"label\");\n\t\t\tt0 = text(t0_value);\n\t\t\tspan0 = element(\"span\");\n\t\t\tt1 = text(t1_value);\n\t\t\tdiv2 = element(\"div\");\n\t\t\tbutton0 = element(\"button\");\n\t\t\tt2 = text(/*skinToneButtonText*/ ctx[21]);\n\t\t\tspan1 = element(\"span\");\n\t\t\tt3 = text(t3_value);\n\t\t\tdiv3 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].c();\n\t\t\t}\n\n\t\t\tdiv5 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].c();\n\t\t\t}\n\n\t\t\tdiv7 = element(\"div\");\n\t\t\tdiv6 = element(\"div\");\n\t\t\tdiv8 = element(\"div\");\n\t\t\tt4 = text(/*message*/ ctx[18]);\n\t\t\tdiv10 = element(\"div\");\n\t\t\tdiv9 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].c();\n\t\t\t}\n\n\t\t\tdiv11 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tbutton1 = element(\"button\");\n\t\t\tbutton1.textContent = \"😀\";\n\t\t\tattr(div0, \"class\", \"pad-top\");\n\t\t\tattr(input, \"id\", \"search\");\n\t\t\tattr(input, \"class\", \"search\");\n\t\t\tattr(input, \"type\", \"search\");\n\t\t\tattr(input, \"role\", \"combobox\");\n\t\t\tattr(input, \"enterkeyhint\", \"search\");\n\t\t\tattr(input, \"placeholder\", input_placeholder_value = /*i18n*/ ctx[0].searchLabel);\n\t\t\tattr(input, \"autocapitalize\", \"none\");\n\t\t\tattr(input, \"autocomplete\", \"off\");\n\t\t\tattr(input, \"spellcheck\", \"true\");\n\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length));\n\t\t\tattr(input, \"aria-controls\", \"search-results\");\n\t\t\tattr(input, \"aria-describedby\", \"search-description\");\n\t\t\tattr(input, \"aria-autocomplete\", \"list\");\n\n\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '');\n\n\t\t\tattr(label, \"class\", \"sr-only\");\n\t\t\tattr(label, \"for\", \"search\");\n\t\t\tattr(span0, \"id\", \"search-description\");\n\t\t\tattr(span0, \"class\", \"sr-only\");\n\t\t\tattr(div1, \"class\", \"search-wrapper\");\n\t\t\tattr(button0, \"id\", \"skintone-button\");\n\t\t\tattr(button0, \"class\", button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''));\n\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"aria-describedby\", \"skintone-description\");\n\t\t\tattr(button0, \"aria-haspopup\", \"listbox\");\n\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(button0, \"aria-controls\", \"skintone-list\");\n\n\t\t\tattr(div2, \"class\", div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''));\n\n\t\t\tattr(span1, \"id\", \"skintone-description\");\n\t\t\tattr(span1, \"class\", \"sr-only\");\n\t\t\tattr(div3, \"id\", \"skintone-list\");\n\n\t\t\tattr(div3, \"class\", div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'));\n\n\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? 0\n\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\n\t\t\tattr(div3, \"role\", \"listbox\");\n\t\t\tattr(div3, \"aria-label\", div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel);\n\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(div4, \"class\", \"search-row\");\n\t\t\tattr(div5, \"class\", \"nav\");\n\t\t\tattr(div5, \"role\", \"tablist\");\n\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\tattr(div5, \"aria-label\", div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel);\n\t\t\tattr(div6, \"class\", \"indicator\");\n\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\tattr(div7, \"class\", \"indicator-wrapper\");\n\t\t\tattr(div8, \"class\", div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'));\n\t\t\tattr(div8, \"role\", \"alert\");\n\t\t\tattr(div8, \"aria-live\", \"polite\");\n\n\t\t\tattr(div10, \"class\", div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div10, \"role\", div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel');\n\n\t\t\tattr(div10, \"aria-label\", div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]);\n\n\t\t\tattr(div10, \"id\", div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`);\n\n\t\t\tattr(div10, \"tabindex\", \"0\");\n\t\t\tattr(div11, \"class\", div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''));\n\t\t\tattr(div11, \"role\", \"menu\");\n\t\t\tattr(div11, \"aria-label\", div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel);\n\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\tattr(button1, \"aria-hidden\", \"true\");\n\t\t\tattr(button1, \"tabindex\", \"-1\");\n\t\t\tattr(button1, \"class\", \"abs-pos hidden emoji\");\n\t\t\tattr(section, \"class\", \"picker\");\n\t\t\tattr(section, \"aria-label\", section_aria_label_value = /*i18n*/ ctx[0].regionLabel);\n\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, section, anchor);\n\t\t\tappend(section, div0);\n\t\t\tappend(section, div4);\n\t\t\tappend(div4, div1);\n\t\t\tappend(div1, input);\n\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\tappend(div1, label);\n\t\t\tappend(label, t0);\n\t\t\tappend(div1, span0);\n\t\t\tappend(span0, t1);\n\t\t\tappend(div4, div2);\n\t\t\tappend(div2, button0);\n\t\t\tappend(button0, t2);\n\t\t\tappend(div4, span1);\n\t\t\tappend(span1, t3);\n\t\t\tappend(div4, div3);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].m(div3, null);\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](div3);\n\t\t\tappend(section, div5);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].m(div5, null);\n\t\t\t}\n\n\t\t\tappend(section, div7);\n\t\t\tappend(div7, div6);\n\t\t\tappend(section, div8);\n\t\t\tappend(div8, t4);\n\t\t\tappend(section, div10);\n\t\t\tappend(div10, div9);\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].m(div9, null);\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](div10);\n\t\t\tappend(section, div11);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div11, null);\n\t\t\t}\n\n\t\t\tappend(section, button1);\n\t\t\t/*button1_binding*/ ctx[51](button1);\n\t\t\t/*section_binding*/ ctx[52](section);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(input, \"input\", /*input_input_handler*/ ctx[47]),\n\t\t\t\t\tlisten(input, \"keydown\", /*onSearchKeydown*/ ctx[30]),\n\t\t\t\t\tlisten(button0, \"click\", /*onClickSkinToneButton*/ ctx[35]),\n\t\t\t\t\tlisten(div3, \"focusout\", /*onSkinToneOptionsFocusOut*/ ctx[38]),\n\t\t\t\t\tlisten(div3, \"click\", /*onSkinToneOptionsClick*/ ctx[34]),\n\t\t\t\t\tlisten(div3, \"keydown\", /*onSkinToneOptionsKeydown*/ ctx[36]),\n\t\t\t\t\tlisten(div3, \"keyup\", /*onSkinToneOptionsKeyup*/ ctx[37]),\n\t\t\t\t\tlisten(div5, \"keydown\", /*onNavKeydown*/ ctx[32]),\n\t\t\t\t\taction_destroyer(/*calculateEmojiGridStyle*/ ctx[29].call(null, div9)),\n\t\t\t\t\tlisten(div10, \"click\", /*onEmojiClick*/ ctx[33]),\n\t\t\t\t\tlisten(div11, \"click\", /*onEmojiClick*/ ctx[33])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*i18n*/ 1 && input_placeholder_value !== (input_placeholder_value = /*i18n*/ ctx[0].searchLabel)) {\n\t\t\t\tattr(input, \"placeholder\", input_placeholder_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojis*/ 18 && input_aria_expanded_value !== (input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length))) {\n\t\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSearchItemId*/ 67108864 && input_aria_activedescendant_value !== (input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '')) {\n\t\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t0_value !== (t0_value = /*i18n*/ ctx[0].searchLabel + \"\")) set_data(t0, t0_value);\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t1_value !== (t1_value = /*i18n*/ ctx[0].searchDescription + \"\")) set_data(t1, t1_value);\n\t\t\tif (dirty[0] & /*skinToneButtonText*/ 2097152) set_data(t2, /*skinToneButtonText*/ ctx[21]);\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && button0_class_value !== (button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''))) {\n\t\t\t\tattr(button0, \"class\", button0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpandedAfterAnimation*/ 524288 && div2_class_value !== (div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''))) {\n\t\t\t\tattr(div2, \"class\", div2_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t3_value !== (t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\")) set_data(t3, t3_value);\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone, i18n*/ 1049089) {\n\t\t\t\teach_value_4 = /*skinTones*/ ctx[9];\n\t\t\t\teach_blocks_3 = update_keyed_each(each_blocks_3, dirty, get_key, 1, ctx, each_value_4, each0_lookup, div3, destroy_block, create_each_block_4, null, get_each_context_4);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_class_value !== (div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'))) {\n\t\t\t\tattr(div3, \"class\", div3_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t\t? 0\n\t\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div3_aria_label_value !== (div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel)) {\n\t\t\t\tattr(div3, \"aria-label\", div3_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSkinTone*/ 1048576 && div3_aria_activedescendant_value !== (div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_aria_hidden_value !== (div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6])) {\n\t\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups, i18n, searchMode, currentGroup*/ 12305 | dirty[1] & /*onNavClick*/ 1) {\n\t\t\t\teach_value_3 = /*groups*/ ctx[12];\n\t\t\t\teach_blocks_2 = update_keyed_each(each_blocks_2, dirty, get_key_1, 1, ctx, each_value_3, each1_lookup, div5, destroy_block, create_each_block_3, null, get_each_context_3);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups*/ 4096) {\n\t\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div5_aria_label_value !== (div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel)) {\n\t\t\t\tattr(div5, \"aria-label\", div5_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*isRtl, currentGroupIndex*/ 16779264) {\n\t\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144) set_data(t4, /*message*/ ctx[18]);\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div8_class_value !== (div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'))) {\n\t\t\t\tattr(div8, \"class\", div8_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin, i18n, currentGroup*/ 402694449) {\n\t\t\t\teach_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\t\t\t\teach_blocks_1 = update_keyed_each(each_blocks_1, dirty, get_key_2, 1, ctx, each_value_1, each2_lookup, div9, destroy_block, create_each_block_1, null, get_each_context_1);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*databaseLoaded, message*/ 278528 && div10_class_value !== (div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div10, \"class\", div10_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div10_role_value !== (div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel')) {\n\t\t\t\tattr(div10, \"role\", div10_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentGroup*/ 8209 && div10_aria_label_value !== (div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name])) {\n\t\t\t\tattr(div10, \"aria-label\", div10_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup*/ 8208 && div10_id_value !== (div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`)) {\n\t\t\t\tattr(div10, \"id\", div10_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*labelWithSkin, currentFavorites, currentSkinTone, unicodeWithSkin*/ 402654464) {\n\t\t\t\teach_value = /*currentFavorites*/ ctx[10];\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key_3, 1, ctx, each_value, each3_lookup, div11, destroy_block, create_each_block, null, get_each_context);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div11_class_value !== (div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''))) {\n\t\t\t\tattr(div11, \"class\", div11_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div11_aria_label_value !== (div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel)) {\n\t\t\t\tattr(div11, \"aria-label\", div11_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*scrollbarWidth*/ 33554432) {\n\t\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && section_aria_label_value !== (section_aria_label_value = /*i18n*/ ctx[0].regionLabel)) {\n\t\t\t\tattr(section, \"aria-label\", section_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*pickerStyle*/ 4194304) {\n\t\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t\t}\n\t\t},\n\t\ti: noop,\n\t\to: noop,\n\t\td(detaching) {\n\t\t\tif (detaching) detach(section);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].d();\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](null);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].d();\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].d();\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](null);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\n\t\t\t/*button1_binding*/ ctx[51](null);\n\t\t\t/*section_binding*/ ctx[52](null);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance($$self, $$props, $$invalidate) {\n\tlet { skinToneEmoji } = $$props;\n\tlet { i18n } = $$props;\n\tlet { database } = $$props;\n\tlet { customEmoji } = $$props;\n\tlet { customCategorySorting } = $$props;\n\n\t// private\n\tlet initialLoad = true;\n\n\tlet currentEmojis = [];\n\tlet currentEmojisWithCategories = []; // eslint-disable-line no-unused-vars\n\tlet rawSearchText = '';\n\tlet searchText = '';\n\tlet rootElement;\n\tlet baselineEmoji;\n\tlet tabpanelElement;\n\tlet searchMode = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItem = -1;\n\tlet message; // eslint-disable-line no-unused-vars\n\tlet skinTonePickerExpanded = false;\n\tlet skinTonePickerExpandedAfterAnimation = false; // eslint-disable-line no-unused-vars\n\tlet skinToneDropdown;\n\tlet currentSkinTone = 0;\n\tlet activeSkinTone = 0;\n\tlet skinToneButtonText; // eslint-disable-line no-unused-vars\n\tlet pickerStyle; // eslint-disable-line no-unused-vars\n\tlet skinToneButtonLabel = ''; // eslint-disable-line no-unused-vars\n\tlet skinTones = [];\n\tlet currentFavorites = []; // eslint-disable-line no-unused-vars\n\tlet defaultFavoriteEmojis;\n\tlet numColumns = DEFAULT_NUM_COLUMNS;\n\tlet isRtl = false;\n\tlet scrollbarWidth = 0; // eslint-disable-line no-unused-vars\n\tlet currentGroupIndex = 0;\n\tlet groups$1 = groups;\n\tlet currentGroup;\n\tlet databaseLoaded = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItemId; // eslint-disable-line no-unused-vars\n\n\t//\n\t// Utils/helpers\n\t//\n\tconst focus = id => {\n\t\trootElement.getRootNode().getElementById(id).focus();\n\t};\n\n\t// fire a custom event that crosses the shadow boundary\n\tconst fireEvent = (name, detail) => {\n\t\trootElement.dispatchEvent(new CustomEvent(name, { detail, bubbles: true, composed: true }));\n\t};\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst unicodeWithSkin = (emoji, currentSkinTone) => currentSkinTone && emoji.skins && emoji.skins[currentSkinTone] || emoji.unicode;\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst labelWithSkin = (emoji, currentSkinTone) => uniq([\n\t\temoji.name || unicodeWithSkin(emoji, currentSkinTone),\n\t\t...emoji.shortcodes || []\n\t]).join(', ');\n\n\t// Detect a skintone option button\n\tconst isSkinToneOption = element => (/^skintone-/).test(element.id);\n\n\t//\n\t// Determine the emoji support level (in requestIdleCallback)\n\t//\n\temojiSupportLevelPromise.then(level => {\n\t\t// Can't actually test emoji support in Jest/JSDom, emoji never render in color in Cairo\n\t\t/* istanbul ignore next */\n\t\tif (!level) {\n\t\t\t$$invalidate(18, message = i18n.emojiUnsupportedMessage);\n\t\t}\n\t});\n\n\t//\n\t// Calculate the width of the emoji grid. This serves two purposes:\n\t// 1) Re-calculate the --num-columns var because it may have changed\n\t// 2) Re-calculate the scrollbar width because it may have changed\n\t// (i.e. because the number of items changed)\n\t// 3) Re-calculate whether we're in RTL mode or not.\n\t//\n\t// The benefit of doing this in one place is to align with rAF/ResizeObserver\n\t// and do all the calculations in one go. RTL vs LTR is not strictly width-related,\n\t// but since we're already reading the style here, and since it's already aligned with\n\t// the rAF loop, this is the most appropriate place to do it perf-wise.\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction calculateEmojiGridStyle(node) {\n\t\treturn calculateWidth(node, width => {\n\t\t\t/* istanbul ignore next */\n\t\t\tif (\"production\" !== 'test') {\n\t\t\t\t// jsdom throws errors for this kind of fancy stuff\n\t\t\t\t// read all the style/layout calculations we need to make\n\t\t\t\tconst style = getComputedStyle(rootElement);\n\n\t\t\t\tconst newNumColumns = parseInt(style.getPropertyValue('--num-columns'), 10);\n\t\t\t\tconst newIsRtl = style.getPropertyValue('direction') === 'rtl';\n\t\t\t\tconst parentWidth = node.parentElement.getBoundingClientRect().width;\n\t\t\t\tconst newScrollbarWidth = parentWidth - width;\n\n\t\t\t\t// write to Svelte variables\n\t\t\t\t$$invalidate(46, numColumns = newNumColumns);\n\n\t\t\t\t$$invalidate(25, scrollbarWidth = newScrollbarWidth); // eslint-disable-line no-unused-vars\n\t\t\t\t$$invalidate(24, isRtl = newIsRtl); // eslint-disable-line no-unused-vars\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction checkZwjSupportAndUpdate(zwjEmojisToCheck) {\n\t\tconst rootNode = rootElement.getRootNode();\n\t\tconst emojiToDomNode = emoji => rootNode.getElementById(`emo-${emoji.id}`);\n\t\tcheckZwjSupport(zwjEmojisToCheck, baselineEmoji, emojiToDomNode);\n\n\t\t// force update\n\t\t$$invalidate(1, currentEmojis = currentEmojis); // eslint-disable-line no-self-assign\n\t}\n\n\tfunction isZwjSupported(emoji) {\n\t\treturn !emoji.unicode || !hasZwj(emoji) || supportedZwjEmojis.get(emoji.unicode);\n\t}\n\n\tasync function filterEmojisByVersion(emojis) {\n\t\tconst emojiSupportLevel = await emojiSupportLevelPromise;\n\n\t\t// !version corresponds to custom emoji\n\t\treturn emojis.filter(({ version }) => !version || version <= emojiSupportLevel);\n\t}\n\n\tasync function summarizeEmojis(emojis) {\n\t\treturn summarizeEmojisForUI(emojis, await emojiSupportLevelPromise);\n\t}\n\n\tasync function getEmojisByGroup(group) {\n\n\t\tif (typeof group === 'undefined') {\n\t\t\treturn [];\n\t\t}\n\n\t\t// -1 is custom emoji\n\t\tconst emoji = group === -1\n\t\t? customEmoji\n\t\t: await database.getEmojiByGroup(group);\n\n\t\treturn summarizeEmojis(await filterEmojisByVersion(emoji));\n\t}\n\n\tasync function getEmojisBySearchQuery(query) {\n\t\treturn summarizeEmojis(await filterEmojisByVersion(await database.getEmojiBySearchQuery(query)));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSearchKeydown(event) {\n\t\tif (!searchMode || !currentEmojis.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst goToNextOrPrevious = previous => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(5, activeSearchItem = incrementOrDecrement(previous, activeSearchItem, currentEmojis));\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn goToNextOrPrevious(false);\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn goToNextOrPrevious(true);\n\t\t\tcase 'Enter':\n\t\t\t\tif (activeSearchItem !== -1) {\n\t\t\t\t\thalt(event);\n\t\t\t\t\treturn clickEmoji(currentEmojis[activeSearchItem].id);\n\t\t\t\t} else if (currentEmojis.length) {\n\t\t\t\t\t$$invalidate(5, activeSearchItem = 0);\n\t\t\t\t}\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on nav\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavClick(group) {\n\t\t$$invalidate(2, rawSearchText = '');\n\t\t$$invalidate(44, searchText = '');\n\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t$$invalidate(11, currentGroupIndex = groups$1.findIndex(_ => _.id === group.id));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavKeydown(event) {\n\t\tconst { target, key } = event;\n\n\t\tconst doFocus = el => {\n\t\t\tif (el) {\n\t\t\t\thalt(event);\n\t\t\t\tel.focus();\n\t\t\t}\n\t\t};\n\n\t\tswitch (key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\treturn doFocus(target.previousSibling);\n\t\t\tcase 'ArrowRight':\n\t\t\t\treturn doFocus(target.nextSibling);\n\t\t\tcase 'Home':\n\t\t\t\treturn doFocus(target.parentElement.firstChild);\n\t\t\tcase 'End':\n\t\t\t\treturn doFocus(target.parentElement.lastChild);\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on an emoji\n\t//\n\tasync function clickEmoji(unicodeOrName) {\n\t\tconst emoji = await database.getEmojiByUnicodeOrName(unicodeOrName);\n\t\tconst emojiSummary = [...currentEmojis, ...currentFavorites].find(_ => _.id === unicodeOrName);\n\t\tconst skinTonedUnicode = emojiSummary.unicode && unicodeWithSkin(emojiSummary, currentSkinTone);\n\t\tawait database.incrementFavoriteEmojiCount(unicodeOrName);\n\n\t\tfireEvent('emoji-click', {\n\t\t\temoji,\n\t\t\tskinTone: currentSkinTone,\n\t\t\t...skinTonedUnicode && { unicode: skinTonedUnicode },\n\t\t\t...emojiSummary.name && { name: emojiSummary.name }\n\t\t});\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onEmojiClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!target.classList.contains('emoji')) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst id = target.id.substring(4); // replace 'emo-' or 'fav-' prefix\n\n\t\t/* no await */\n\t\tclickEmoji(id);\n\t}\n\n\t//\n\t// Handle user input on the skintone picker\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!isSkinToneOption(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst skinTone = parseInt(target.id.slice(9), 10); // remove 'skintone-' prefix\n\t\t$$invalidate(8, currentSkinTone = skinTone);\n\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\tfocus('skintone-button');\n\t\tfireEvent('skin-tone-change', { skinTone });\n\n\t\t/* no await */\n\t\tdatabase.setPreferredSkinTone(skinTone);\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onClickSkinToneButton(event) {\n\t\t$$invalidate(6, skinTonePickerExpanded = !skinTonePickerExpanded);\n\t\t$$invalidate(20, activeSkinTone = currentSkinTone);\n\n\t\tif (skinTonePickerExpanded) {\n\t\t\thalt(event);\n\t\t\trAF(() => focus(`skintone-${activeSkinTone}`));\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeydown(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst changeActiveSkinTone = async nextSkinTone => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(20, activeSkinTone = nextSkinTone);\n\t\t\tawait tick();\n\t\t\tfocus(`skintone-${activeSkinTone}`);\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(true, activeSkinTone, skinTones));\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(false, activeSkinTone, skinTones));\n\t\t\tcase 'Home':\n\t\t\t\treturn changeActiveSkinTone(0);\n\t\t\tcase 'End':\n\t\t\t\treturn changeActiveSkinTone(skinTones.length - 1);\n\t\t\tcase 'Enter':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t\tcase 'Escape':\n\t\t\t\thalt(event);\n\t\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t\t\treturn focus('skintone-button');\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeyup(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase ' ':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsFocusOut(event) {\n\t\t// On blur outside of the skintone options, collapse the skintone picker.\n\t\t// Except if focus is just moving to another skintone option, e.g. pressing up/down to change focus\n\t\tconst { relatedTarget } = event;\n\n\t\tif (!relatedTarget || !isSkinToneOption(relatedTarget)) {\n\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t}\n\t}\n\n\tfunction input_input_handler() {\n\t\trawSearchText = this.value;\n\t\t$$invalidate(2, rawSearchText);\n\t}\n\n\tfunction div3_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tskinToneDropdown = $$value;\n\t\t\t$$invalidate(7, skinToneDropdown);\n\t\t});\n\t}\n\n\tconst click_handler = group => onNavClick(group);\n\n\tfunction div10_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\ttabpanelElement = $$value;\n\t\t\t$$invalidate(3, tabpanelElement);\n\t\t});\n\t}\n\n\tfunction button1_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tbaselineEmoji = $$value;\n\t\t\t$$invalidate(17, baselineEmoji);\n\t\t});\n\t}\n\n\tfunction section_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\trootElement = $$value;\n\t\t\t$$invalidate(16, rootElement);\n\t\t});\n\t}\n\n\t$$self.$$set = $$props => {\n\t\tif ('skinToneEmoji' in $$props) $$invalidate(40, skinToneEmoji = $$props.skinToneEmoji);\n\t\tif ('i18n' in $$props) $$invalidate(0, i18n = $$props.i18n);\n\t\tif ('database' in $$props) $$invalidate(39, database = $$props.database);\n\t\tif ('customEmoji' in $$props) $$invalidate(41, customEmoji = $$props.customEmoji);\n\t\tif ('customCategorySorting' in $$props) $$invalidate(42, customCategorySorting = $$props.customCategorySorting);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[1] & /*customEmoji, database*/ 1280) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the customEmoji\n\t\t\t//\n\t\t\t{\n\t\t\t\tif (customEmoji && database) {\n\t\t\t\t\t$$invalidate(39, database.customEmoji = customEmoji, database);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n*/ 1 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the database object\n\t\t\t//\n\t\t\t{\n\t\t\t\t// show a Loading message if it takes a long time, or show an error if there's a network/IDB error\n\t\t\t\tasync function handleDatabaseLoading() {\n\t\t\t\t\tlet showingLoadingMessage = false;\n\n\t\t\t\t\tconst timeoutHandle = setTimeout(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tshowingLoadingMessage = true;\n\t\t\t\t\t\t\t$$invalidate(18, message = i18n.loadingMessage);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTIMEOUT_BEFORE_LOADING_MESSAGE\n\t\t\t\t\t);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait database.ready();\n\t\t\t\t\t\t$$invalidate(14, databaseLoaded = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t} catch(err) {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t$$invalidate(18, message = i18n.networkErrorMessage);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tclearTimeout(timeoutHandle);\n\n\t\t\t\t\t\tif (showingLoadingMessage) {\n\t\t\t\t\t\t\t// Seems safer than checking the i18n string, which may change\n\t\t\t\t\t\t\tshowingLoadingMessage = false;\n\n\t\t\t\t\t\t\t$$invalidate(18, message = ''); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (database) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\thandleDatabaseLoading();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) {\n\t\t\t{\n\t\t\t\tif (customEmoji && customEmoji.length) {\n\t\t\t\t\t$$invalidate(12, groups$1 = [customGroup, ...groups]);\n\t\t\t\t} else if (groups$1 !== groups) {\n\t\t\t\t\tif (currentGroupIndex) {\n\t\t\t\t\t\t// If the current group is anything other than \"custom\" (which is first), decrement.\n\t\t\t\t\t\t// This fixes the odd case where you set customEmoji, then pick a category, then unset customEmoji\n\t\t\t\t\t\t$$invalidate(11, currentGroupIndex--, currentGroupIndex);\n\t\t\t\t\t}\n\n\t\t\t\t\t$$invalidate(12, groups$1 = groups);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Handle user input on the search input\n\t\t\t//\n\t\t\t{\n\t\t\t\trIC(() => {\n\t\t\t\t\t$$invalidate(44, searchText = (rawSearchText || '').trim()); // defer to avoid input delays, plus we can trim here\n\t\t\t\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144) {\n\t\t\t//\n\t\t\t// Update the current group based on the currentGroupIndex\n\t\t\t//\n\t\t\t$$invalidate(13, currentGroup = groups$1[currentGroupIndex]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded, currentGroup*/ 24576 | $$self.$$.dirty[1] & /*searchText*/ 8192) {\n\t\t\t//\n\t\t\t// Set or update the currentEmojis. Check for invalid ZWJ renderings\n\t\t\t// (i.e. double emoji).\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateEmojis() {\n\n\t\t\t\t\tif (!databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(1, currentEmojis = []);\n\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t} else if (searchText.length >= MIN_SEARCH_TEXT_LENGTH) {\n\t\t\t\t\t\tconst currentSearchText = searchText;\n\t\t\t\t\t\tconst newEmojis = await getEmojisBySearchQuery(currentSearchText);\n\n\t\t\t\t\t\tif (currentSearchText === searchText) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = true);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (currentGroup) {\n\t\t\t\t\t\tconst currentGroupId = currentGroup.id;\n\t\t\t\t\t\tconst newEmojis = await getEmojisByGroup(currentGroupId);\n\n\t\t\t\t\t\tif (currentGroupId === currentGroup.id) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdateEmojis();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, searchMode*/ 4112) {\n\t\t\t//\n\t\t\t// Global styles for the entire picker\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(22, pickerStyle = `\n --font-family: ${FONT_FAMILY};\n --num-groups: ${groups$1.length}; \n --indicator-opacity: ${searchMode ? 0 : 1}; \n --num-skintones: ${NUM_SKIN_TONES};`);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the preferred skin tone\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updatePreferredSkinTone() {\n\t\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(8, currentSkinTone = await database.getPreferredSkinTone());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdatePreferredSkinTone();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[1] & /*skinToneEmoji*/ 512) {\n\t\t\t$$invalidate(9, skinTones = Array(NUM_SKIN_TONES).fill().map((_, i) => applySkinTone(skinToneEmoji, i)));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTones, currentSkinTone*/ 768) {\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(21, skinToneButtonText = skinTones[currentSkinTone]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n, currentSkinTone*/ 257) {\n\t\t\t$$invalidate(23, skinToneButtonLabel = i18n.skinToneLabel.replace('{skinTone}', i18n.skinTones[currentSkinTone]));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the favorites emojis\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateDefaultFavoriteEmojis() {\n\t\t\t\t\t$$invalidate(45, defaultFavoriteEmojis = (await Promise.all(MOST_COMMONLY_USED_EMOJI.map(unicode => database.getEmojiByUnicodeOrName(unicode)))).filter(Boolean)); // filter because in Jest tests we don't have all the emoji in the DB\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateDefaultFavoriteEmojis();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database, numColumns, defaultFavoriteEmojis*/ 49408) {\n\t\t\t{\n\t\t\t\tasync function updateFavorites() {\n\t\t\t\t\tconst dbFavorites = await database.getTopFavoriteEmoji(numColumns);\n\t\t\t\t\tconst favorites = await summarizeEmojis(uniqBy([...dbFavorites, ...defaultFavoriteEmojis], _ => _.unicode || _.name).slice(0, numColumns));\n\t\t\t\t\t$$invalidate(10, currentFavorites = favorites);\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded && defaultFavoriteEmojis) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateFavorites();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, tabpanelElement*/ 10) {\n\t\t\t// Some emojis have their ligatures rendered as two or more consecutive emojis\n\t\t\t// We want to treat these the same as unsupported emojis, so we compare their\n\t\t\t// widths against the baseline widths and remove them as necessary\n\t\t\t{\n\t\t\t\tconst zwjEmojisToCheck = currentEmojis.filter(emoji => emoji.unicode).filter(emoji => hasZwj(emoji) && !supportedZwjEmojis.has(emoji.unicode)); // filter custom emoji\n\n\t\t\t\tif (zwjEmojisToCheck.length) {\n\t\t\t\t\t// render now, check their length later\n\t\t\t\t\trAF(() => checkZwjSupportAndUpdate(zwjEmojisToCheck));\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(1, currentEmojis = currentEmojis.filter(isZwjSupported));\n\n\t\t\t\t\trAF(() => {\n\t\t\t\t\t\t// Avoid Svelte doing an invalidation on the \"setter\" here.\n\t\t\t\t\t\t// At best the invalidation is useless, at worst it can cause infinite loops:\n\t\t\t\t\t\t// https://github.com/nolanlawson/emoji-picker-element/pull/180\n\t\t\t\t\t\t// https://github.com/sveltejs/svelte/issues/6521\n\t\t\t\t\t\t// Also note tabpanelElement can be null if the element is disconnected\n\t\t\t\t\t\t// immediately after connected, hence `|| {}`\n\t\t\t\t\t\t(tabpanelElement || {}).scrollTop = 0; // reset scroll top to 0 when emojis change\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, currentFavorites*/ 1026 | $$self.$$.dirty[1] & /*initialLoad*/ 4096) {\n\t\t\t{\n\t\t\t\t// consider initialLoad to be complete when the first tabpanel and favorites are rendered\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (\"production\" !== 'production' || false) {\n\t\t\t\t\tif (currentEmojis.length && currentFavorites.length && initialLoad) {\n\t\t\t\t\t\t$$invalidate(43, initialLoad = false);\n\t\t\t\t\t\trequestPostAnimationFrame(() => (void 0));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*searchMode, currentEmojis*/ 18 | $$self.$$.dirty[1] & /*customCategorySorting*/ 2048) {\n\t\t\t//\n\t\t\t// Derive currentEmojisWithCategories from currentEmojis. This is always done even if there\n\t\t\t// are no categories, because it's just easier to code the HTML this way.\n\t\t\t//\n\t\t\t{\n\t\t\t\tfunction calculateCurrentEmojisWithCategories() {\n\t\t\t\t\tif (searchMode) {\n\t\t\t\t\t\treturn [{ category: '', emojis: currentEmojis }];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst categoriesToEmoji = new Map();\n\n\t\t\t\t\tfor (const emoji of currentEmojis) {\n\t\t\t\t\t\tconst category = emoji.category || '';\n\t\t\t\t\t\tlet emojis = categoriesToEmoji.get(category);\n\n\t\t\t\t\t\tif (!emojis) {\n\t\t\t\t\t\t\temojis = [];\n\t\t\t\t\t\t\tcategoriesToEmoji.set(category, emojis);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\temojis.push(emoji);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [...categoriesToEmoji.entries()].map(([category, emojis]) => ({ category, emojis })).sort((a, b) => customCategorySorting(a.category, b.category));\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\t$$invalidate(15, currentEmojisWithCategories = calculateCurrentEmojisWithCategories());\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*activeSearchItem, currentEmojis*/ 34) {\n\t\t\t//\n\t\t\t// Handle active search item (i.e. pressing up or down while searching)\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(26, activeSearchItemId = activeSearchItem !== -1 && currentEmojis[activeSearchItem].id);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTonePickerExpanded, skinToneDropdown*/ 192) {\n\t\t\t// To make the animation nicer, change the z-index of the skintone picker button\n\t\t\t// *after* the animation has played. This makes it appear that the picker box\n\t\t\t// is expanding \"below\" the button\n\t\t\t{\n\t\t\t\tif (skinTonePickerExpanded) {\n\t\t\t\t\tskinToneDropdown.addEventListener(\n\t\t\t\t\t\t'transitionend',\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ once: true }\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = false); // eslint-disable-line no-unused-vars\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\ti18n,\n\t\tcurrentEmojis,\n\t\trawSearchText,\n\t\ttabpanelElement,\n\t\tsearchMode,\n\t\tactiveSearchItem,\n\t\tskinTonePickerExpanded,\n\t\tskinToneDropdown,\n\t\tcurrentSkinTone,\n\t\tskinTones,\n\t\tcurrentFavorites,\n\t\tcurrentGroupIndex,\n\t\tgroups$1,\n\t\tcurrentGroup,\n\t\tdatabaseLoaded,\n\t\tcurrentEmojisWithCategories,\n\t\trootElement,\n\t\tbaselineEmoji,\n\t\tmessage,\n\t\tskinTonePickerExpandedAfterAnimation,\n\t\tactiveSkinTone,\n\t\tskinToneButtonText,\n\t\tpickerStyle,\n\t\tskinToneButtonLabel,\n\t\tisRtl,\n\t\tscrollbarWidth,\n\t\tactiveSearchItemId,\n\t\tunicodeWithSkin,\n\t\tlabelWithSkin,\n\t\tcalculateEmojiGridStyle,\n\t\tonSearchKeydown,\n\t\tonNavClick,\n\t\tonNavKeydown,\n\t\tonEmojiClick,\n\t\tonSkinToneOptionsClick,\n\t\tonClickSkinToneButton,\n\t\tonSkinToneOptionsKeydown,\n\t\tonSkinToneOptionsKeyup,\n\t\tonSkinToneOptionsFocusOut,\n\t\tdatabase,\n\t\tskinToneEmoji,\n\t\tcustomEmoji,\n\t\tcustomCategorySorting,\n\t\tinitialLoad,\n\t\tsearchText,\n\t\tdefaultFavoriteEmojis,\n\t\tnumColumns,\n\t\tinput_input_handler,\n\t\tdiv3_binding,\n\t\tclick_handler,\n\t\tdiv10_binding,\n\t\tbutton1_binding,\n\t\tsection_binding\n\t];\n}\n\nclass Picker extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\n\t\tinit(\n\t\t\tthis,\n\t\t\toptions,\n\t\t\tinstance,\n\t\t\tcreate_fragment,\n\t\t\tsafe_not_equal,\n\t\t\t{\n\t\t\t\tskinToneEmoji: 40,\n\t\t\t\ti18n: 0,\n\t\t\t\tdatabase: 39,\n\t\t\t\tcustomEmoji: 41,\n\t\t\t\tcustomCategorySorting: 42\n\t\t\t},\n\t\t\tnull,\n\t\t\t[-1, -1, -1]\n\t\t);\n\t}\n}\n\nconst DEFAULT_DATA_SOURCE = 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json';\nconst DEFAULT_LOCALE = 'en';\n\nvar enI18n = {\n categoriesLabel: 'Categories',\n emojiUnsupportedMessage: 'Your browser does not support color emoji.',\n favoritesLabel: 'Favorites',\n loadingMessage: 'Loading…',\n networkErrorMessage: 'Could not load emoji.',\n regionLabel: 'Emoji picker',\n searchDescription: 'When search results are available, press up or down to select and enter to choose.',\n searchLabel: 'Search',\n searchResultsLabel: 'Search results',\n skinToneDescription: 'When expanded, press up or down to select and enter to choose.',\n skinToneLabel: 'Choose a skin tone (currently {skinTone})',\n skinTonesLabel: 'Skin tones',\n skinTones: [\n 'Default',\n 'Light',\n 'Medium-Light',\n 'Medium',\n 'Medium-Dark',\n 'Dark'\n ],\n categories: {\n custom: 'Custom',\n 'smileys-emotion': 'Smileys and emoticons',\n 'people-body': 'People and body',\n 'animals-nature': 'Animals and nature',\n 'food-drink': 'Food and drink',\n 'travel-places': 'Travel and places',\n activities: 'Activities',\n objects: 'Objects',\n symbols: 'Symbols',\n flags: 'Flags'\n }\n};\n\nconst PROPS = [\n 'customEmoji',\n 'customCategorySorting',\n 'database',\n 'dataSource',\n 'i18n',\n 'locale',\n 'skinToneEmoji'\n];\n\nclass PickerElement extends HTMLElement {\n constructor (props) {\n super();\n this.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = \":host{--emoji-size:1.375rem;--emoji-padding:0.5rem;--category-emoji-size:var(--emoji-size);--category-emoji-padding:var(--emoji-padding);--indicator-height:3px;--input-border-radius:0.5rem;--input-border-size:1px;--input-font-size:1rem;--input-line-height:1.5;--input-padding:0.25rem;--num-columns:8;--outline-size:2px;--border-size:1px;--skintone-border-radius:1rem;--category-font-size:1rem;display:flex;width:min-content;height:400px}:host,:host(.light){--background:#fff;--border-color:#e0e0e0;--indicator-color:#385ac1;--input-border-color:#999;--input-font-color:#111;--input-placeholder-color:#999;--outline-color:#999;--category-font-color:#111;--button-active-background:#e6e6e6;--button-hover-background:#d9d9d9}:host(.dark){--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}@media (prefers-color-scheme:dark){:host{--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}}:host([hidden]){display:none}button{margin:0;padding:0;border:0;background:0 0;box-shadow:none;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0}input{padding:0;margin:0;line-height:1.15;font-family:inherit}input[type=search]{-webkit-appearance:none}:focus{outline:var(--outline-color) solid var(--outline-size);outline-offset:calc(-1*var(--outline-size))}:host([data-js-focus-visible]) :focus:not([data-focus-visible-added]){outline:0}:focus:not(:focus-visible){outline:0}.hide-focus{outline:0}*{box-sizing:border-box}.picker{contain:content;display:flex;flex-direction:column;background:var(--background);border:var(--border-size) solid var(--border-color);width:100%;height:100%;overflow:hidden;--total-emoji-size:calc(var(--emoji-size) + (2 * var(--emoji-padding)));--total-category-emoji-size:calc(var(--category-emoji-size) + (2 * var(--category-emoji-padding)))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{opacity:0;pointer-events:none}.abs-pos{position:absolute;left:0;top:0}.gone{display:none!important}.skintone-button-wrapper,.skintone-list{background:var(--background);z-index:3}.skintone-button-wrapper.expanded{z-index:1}.skintone-list{position:absolute;inset-inline-end:0;top:0;z-index:2;overflow:visible;border-bottom:var(--border-size) solid var(--border-color);border-radius:0 0 var(--skintone-border-radius) var(--skintone-border-radius);will-change:transform;transition:transform .2s ease-in-out;transform-origin:center 0}@media (prefers-reduced-motion:reduce){.skintone-list{transition-duration:.001s}}@supports not (inset-inline-end:0){.skintone-list{right:0}}.skintone-list.no-animate{transition:none}.tabpanel{overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:transform;min-height:0;flex:1;contain:content}.emoji-menu{display:grid;grid-template-columns:repeat(var(--num-columns),var(--total-emoji-size));justify-content:space-around;align-items:flex-start;width:100%}.category{padding:var(--emoji-padding);font-size:var(--category-font-size);color:var(--category-font-color)}.custom-emoji,.emoji,button.emoji{height:var(--total-emoji-size);width:var(--total-emoji-size)}.emoji,button.emoji{font-size:var(--emoji-size);display:flex;align-items:center;justify-content:center;border-radius:100%;line-height:1;overflow:hidden;font-family:var(--font-family);cursor:pointer}@media (hover:hover) and (pointer:fine){.emoji:hover,button.emoji:hover{background:var(--button-hover-background)}}.emoji.active,.emoji:active,button.emoji.active,button.emoji:active{background:var(--button-active-background)}.custom-emoji{padding:var(--emoji-padding);object-fit:contain;pointer-events:none;background-repeat:no-repeat;background-position:center center;background-size:var(--emoji-size) var(--emoji-size)}.nav,.nav-button{align-items:center}.nav{display:grid;justify-content:space-between;contain:content}.nav-button{display:flex;justify-content:center}.nav-emoji{font-size:var(--category-emoji-size);width:var(--total-category-emoji-size);height:var(--total-category-emoji-size)}.indicator-wrapper{display:flex;border-bottom:1px solid var(--border-color)}.indicator{width:calc(100%/var(--num-groups));height:var(--indicator-height);opacity:var(--indicator-opacity);background-color:var(--indicator-color);will-change:transform,opacity;transition:opacity .1s linear,transform .25s ease-in-out}@media (prefers-reduced-motion:reduce){.indicator{will-change:opacity;transition:opacity .1s linear}}.pad-top,input.search{background:var(--background);width:100%}.pad-top{height:var(--emoji-padding);z-index:3}.search-row{display:flex;align-items:center;position:relative;padding-inline-start:var(--emoji-padding);padding-bottom:var(--emoji-padding)}.search-wrapper{flex:1;min-width:0}input.search{padding:var(--input-padding);border-radius:var(--input-border-radius);border:var(--input-border-size) solid var(--input-border-color);color:var(--input-font-color);font-size:var(--input-font-size);line-height:var(--input-line-height)}input.search::placeholder{color:var(--input-placeholder-color)}.favorites{display:flex;flex-direction:row;border-top:var(--border-size) solid var(--border-color);contain:content}.message{padding:var(--emoji-padding)}\";\n this.shadowRoot.appendChild(style);\n this._ctx = {\n // Set defaults\n locale: DEFAULT_LOCALE,\n dataSource: DEFAULT_DATA_SOURCE,\n skinToneEmoji: DEFAULT_SKIN_TONE_EMOJI,\n customCategorySorting: DEFAULT_CATEGORY_SORTING,\n customEmoji: null,\n i18n: enI18n,\n ...props\n };\n // Handle properties set before the element was upgraded\n for (const prop of PROPS) {\n if (prop !== 'database' && Object.prototype.hasOwnProperty.call(this, prop)) {\n this._ctx[prop] = this[prop];\n delete this[prop];\n }\n }\n this._dbFlush(); // wait for a flush before creating the db, in case the user calls e.g. a setter or setAttribute\n }\n\n connectedCallback () {\n this._cmp = new Picker({\n target: this.shadowRoot,\n props: this._ctx\n });\n }\n\n disconnectedCallback () {\n this._cmp.$destroy();\n this._cmp = undefined;\n\n const { database } = this._ctx;\n if (database) {\n database.close()\n // only happens if the database failed to load in the first place, so we don't care)\n .catch(err => console.error(err));\n }\n }\n\n static get observedAttributes () {\n return ['locale', 'data-source', 'skin-tone-emoji'] // complex objects aren't supported, also use kebab-case\n }\n\n attributeChangedCallback (attrName, oldValue, newValue) {\n // convert from kebab-case to camelcase\n // see https://github.com/sveltejs/svelte/issues/3852#issuecomment-665037015\n this._set(\n attrName.replace(/-([a-z])/g, (_, up) => up.toUpperCase()),\n newValue\n );\n }\n\n _set (prop, newValue) {\n this._ctx[prop] = newValue;\n if (this._cmp) {\n this._cmp.$set({ [prop]: newValue });\n }\n if (['locale', 'dataSource'].includes(prop)) {\n this._dbFlush();\n }\n }\n\n _dbCreate () {\n const { locale, dataSource, database } = this._ctx;\n // only create a new database if we really need to\n if (!database || database.locale !== locale || database.dataSource !== dataSource) {\n this._set('database', new Database({ locale, dataSource }));\n }\n }\n\n // Update the Database in one microtask if the locale/dataSource change. We do one microtask\n // so we don't create two Databases if e.g. both the locale and the dataSource change\n _dbFlush () {\n Promise.resolve().then(() => (\n this._dbCreate()\n ));\n }\n}\n\nconst definitions = {};\n\nfor (const prop of PROPS) {\n definitions[prop] = {\n get () {\n if (prop === 'database') {\n // in rare cases, the microtask may not be flushed yet, so we need to instantiate the DB\n // now if the user is asking for it\n this._dbCreate();\n }\n return this._ctx[prop]\n },\n set (val) {\n if (prop === 'database') {\n throw new Error('database is read-only')\n }\n this._set(prop, val);\n }\n };\n}\n\nObject.defineProperties(PickerElement.prototype, definitions);\n\n/* istanbul ignore else */\nif (!customElements.get('emoji-picker')) { // if already defined, do nothing (e.g. same script imported twice)\n customElements.define('emoji-picker', PickerElement);\n}\n\nexport { PickerElement as default };\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=2c0ab9be&\"\nimport script from \"./Loader.vue?vue&type=script&lang=js&\"\nexport * from \"./Loader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{\n\t\t'vac-box-search': _vm.showSearchBar,\n\t\t'vac-box-empty': !_vm.showSearchBar\n\t}},[(_vm.showSearch)?[(!_vm.loadingRooms && _vm.rooms.length)?_c('div',{staticClass:\"vac-icon-search\"},[_vm._t(\"search-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"search\"}})]})],2):_vm._e(),(!_vm.loadingRooms && _vm.rooms.length)?_c('input',{staticClass:\"vac-input\",attrs:{\"type\":\"search\",\"placeholder\":_vm.textMessages.SEARCH,\"autocomplete\":\"off\"},on:{\"input\":function($event){return _vm.$emit('search-room', $event)}}}):_vm._e()]:_vm._e(),(_vm.showAddRoom)?_c('div',{staticClass:\"vac-svg-button vac-add-icon\",on:{\"click\":function($event){return _vm.$emit('add-room')}}},[_vm._t(\"add-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"add\"}})]})],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"version\":\"1.1\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":(\"0 0 \" + _vm.size + \" \" + _vm.size)}},[_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path}}),(_vm.svgItem[_vm.name].path2)?_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path2}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SvgIcon.vue?vue&type=template&id=e01c0bf4&\"\nimport script from \"./SvgIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsSearch.vue?vue&type=template&id=1fc42a9b&\"\nimport script from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-container\"},[_vm._t(\"room-list-item\",function(){return [_vm._t(\"room-list-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_c('div',{staticClass:\"vac-name-container vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-title-container\"},[(_vm.userStatus)?_c('div',{staticClass:\"vac-state-circle\",class:{ 'vac-state-online': _vm.userStatus === 'online' }}):_vm._e(),_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.room.lastMessage)?_c('div',{staticClass:\"vac-text-date\"},[_vm._v(\" \"+_vm._s(_vm.room.lastMessage.timestamp)+\" \")]):_vm._e()]),_c('div',{staticClass:\"vac-text-last\",class:{\n\t\t\t\t\t'vac-message-new':\n\t\t\t\t\t\t_vm.room.lastMessage && _vm.room.lastMessage.new && !_vm.typingUsers\n\t\t\t\t}},[(_vm.isMessageCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.room.lastMessage.distributed\n\t\t\t\t\t\t\t\t\t? 'double-checkmark'\n\t\t\t\t\t\t\t\t\t: 'checkmark',\"param\":_vm.room.lastMessage.seen ? 'seen' : ''}})]},null,{ message: _vm.room.lastMessage })],2):_vm._e(),(_vm.room.lastMessage && !_vm.room.lastMessage.deleted && _vm.isAudio)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]}),_vm._v(\" \"+_vm._s(_vm.formattedDuration)+\" \")],2):(_vm.room.lastMessage)?_c('format-message',{attrs:{\"content\":_vm.getLastMessage,\"deleted\":!!_vm.room.lastMessage.deleted && !_vm.typingUsers,\"users\":_vm.room.users,\"linkify\":false,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"single-line\":true},scopedSlots:_vm._u([{key:\"deleted-icon\",fn:function(data){return [_vm._t(\"deleted-icon\",null,null,data)]}}],null,true)}):_vm._e(),(!_vm.room.lastMessage && _vm.typingUsers)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_vm._e(),_c('div',{staticClass:\"vac-room-options-container\"},[(_vm.room.unreadCount)?_c('div',{staticClass:\"vac-badge-counter vac-room-badge\"},[_vm._v(\" \"+_vm._s(_vm.room.unreadCount)+\" \")]):_vm._e(),_vm._t(\"room-list-options\",function(){return [(_vm.roomActions.length)?_c('div',{staticClass:\"vac-svg-button vac-list-room-options\",on:{\"click\":function($event){$event.stopPropagation();_vm.roomMenuOpened = _vm.room.roomId}}},[_vm._t(\"room-list-options-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"room\"}})]})],2):_vm._e(),(_vm.roomActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.roomMenuOpened === _vm.room.roomId)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeRoomMenu),expression:\"closeRoomMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.roomActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.roomActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]},null,{ room: _vm.room })],2)],1)])]},null,{ room: _vm.room })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-format-message-wrapper\",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:\"vac-format-container\"},[_c(message.url ? 'a' : 'span',{tag:\"component\",class:{\n\t\t\t\t\t'vac-text-ellipsis': _vm.singleLine,\n\t\t\t\t\t'vac-text-bold': message.bold,\n\t\t\t\t\t'vac-text-italic': _vm.deleted || message.italic,\n\t\t\t\t\t'vac-text-strike': message.strike,\n\t\t\t\t\t'vac-text-underline': message.underline,\n\t\t\t\t\t'vac-text-inline-code': !_vm.singleLine && message.inline,\n\t\t\t\t\t'vac-text-multiline-code': !_vm.singleLine && message.multiline,\n\t\t\t\t\t'vac-text-tag': !_vm.singleLine && !_vm.reply && message.tag\n\t\t\t\t},attrs:{\"href\":message.href,\"target\":message.href ? _vm.linkOptions.target : null,\"rel\":message.href ? _vm.linkOptions.rel : null},on:{\"click\":function($event){return _vm.openTag(message)}}},[_vm._t(\"deleted-icon\",function(){return [(_vm.deleted)?_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}}):_vm._e()]},null,{ deleted: _vm.deleted }),(message.url && message.image)?[_c('div',{staticClass:\"vac-image-link-container\"},[_c('div',{staticClass:\"vac-image-link\",style:({\n\t\t\t\t\t\t\t\t'background-image': (\"url('\" + (message.value) + \"')\"),\n\t\t\t\t\t\t\t\theight: message.height\n\t\t\t\t\t\t\t})})]),_c('div',{staticClass:\"vac-image-link-message\"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',{domProps:{\"innerHTML\":_vm._s(message.value)}},[_vm._v(\" \"+_vm._s(message.value)+\" \")])]],2)],1)}),0):_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.formattedContent)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","const linkify = require('linkifyjs')\n// require('linkifyjs/plugins/hashtag')(linkify)\n\nexport default (text, doLinkify, textFormatting) => {\n\tconst typeMarkdown = {\n\t\tbold: textFormatting.bold,\n\t\titalic: textFormatting.italic,\n\t\tstrike: textFormatting.strike,\n\t\tunderline: textFormatting.underline,\n\t\tmultilineCode: textFormatting.multilineCode,\n\t\tinlineCode: textFormatting.inlineCode\n\t}\n\n\tconst pseudoMarkdown = {\n\t\t[typeMarkdown.bold]: {\n\t\t\tend: '\\\\' + typeMarkdown.bold,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'bold'\n\t\t},\n\t\t[typeMarkdown.italic]: {\n\t\t\tend: typeMarkdown.italic,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'italic'\n\t\t},\n\t\t[typeMarkdown.strike]: {\n\t\t\tend: typeMarkdown.strike,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'strike'\n\t\t},\n\t\t[typeMarkdown.underline]: {\n\t\t\tend: typeMarkdown.underline,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'underline'\n\t\t},\n\t\t[typeMarkdown.multilineCode]: {\n\t\t\tend: typeMarkdown.multilineCode,\n\t\t\tallowed_chars: '(.|\\n)',\n\t\t\ttype: 'multiline-code'\n\t\t},\n\t\t[typeMarkdown.inlineCode]: {\n\t\t\tend: typeMarkdown.inlineCode,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'inline-code'\n\t\t},\n\t\t'': {\n\t\t\tallowed_chars: '.',\n\t\t\tend: '',\n\t\t\ttype: 'tag'\n\t\t}\n\t}\n\n\tconst json = compileToJSON(text, pseudoMarkdown)\n\n\tconst html = compileToHTML(json, pseudoMarkdown)\n\n\tconst result = [].concat.apply([], html)\n\n\tif (doLinkify) linkifyResult(result)\n\n\treturn result\n}\n\nfunction compileToJSON(str, pseudoMarkdown) {\n\tlet result = []\n\tlet minIndexOf = -1\n\tlet minIndexOfKey = null\n\n\tlet links = linkify.find(str)\n\tlet minIndexFromLink = false\n\n\tif (links.length > 0) {\n\t\tminIndexOf = str.indexOf(links[0].value)\n\t\tminIndexFromLink = true\n\t}\n\n\tObject.keys(pseudoMarkdown).forEach(startingValue => {\n\t\tconst io = str.indexOf(startingValue)\n\t\tif (io >= 0 && (minIndexOf < 0 || io < minIndexOf)) {\n\t\t\tminIndexOf = io\n\t\t\tminIndexOfKey = startingValue\n\t\t\tminIndexFromLink = false\n\t\t}\n\t})\n\n\tif (minIndexFromLink && minIndexOfKey !== -1) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tlet strLink = str.substr(minIndexOf, links[0].value.length)\n\t\tlet strRight = str.substr(minIndexOf + links[0].value.length)\n\t\tresult.push(strLeft)\n\t\tresult.push(strLink)\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t}\n\n\tif (minIndexOfKey) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tconst char = minIndexOfKey\n\t\tlet strRight = str.substr(minIndexOf + char.length)\n\n\t\tif (str.replace(/\\s/g, '').length === char.length * 2) {\n\t\t\treturn [str]\n\t\t}\n\n\t\tconst match = strRight.match(\n\t\t\tnew RegExp(\n\t\t\t\t'^(' +\n\t\t\t\t\t(pseudoMarkdown[char].allowed_chars || '.') +\n\t\t\t\t\t'*' +\n\t\t\t\t\t(pseudoMarkdown[char].end ? '?' : '') +\n\t\t\t\t\t')' +\n\t\t\t\t\t(pseudoMarkdown[char].end\n\t\t\t\t\t\t? '(' + pseudoMarkdown[char].end + ')'\n\t\t\t\t\t\t: ''),\n\t\t\t\t'm'\n\t\t\t)\n\t\t)\n\t\tif (!match || !match[1]) {\n\t\t\tstrLeft = strLeft + char\n\t\t\tresult.push(strLeft)\n\t\t} else {\n\t\t\tif (strLeft) {\n\t\t\t\tresult.push(strLeft)\n\t\t\t}\n\t\t\tconst object = {\n\t\t\t\tstart: char,\n\t\t\t\tcontent: compileToJSON(match[1], pseudoMarkdown),\n\t\t\t\tend: match[2],\n\t\t\t\ttype: pseudoMarkdown[char].type\n\t\t\t}\n\t\t\tresult.push(object)\n\t\t\tstrRight = strRight.substr(match[0].length)\n\t\t}\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t} else {\n\t\tif (str) {\n\t\t\treturn [str]\n\t\t} else {\n\t\t\treturn []\n\t\t}\n\t}\n}\n\nfunction compileToHTML(json, pseudoMarkdown) {\n\tconst result = []\n\n\tjson.forEach(item => {\n\t\tif (typeof item === 'string') {\n\t\t\tresult.push({ types: [], value: item })\n\t\t} else {\n\t\t\tif (pseudoMarkdown[item.start]) {\n\t\t\t\tresult.push(parseContent(item))\n\t\t\t}\n\t\t}\n\t})\n\n\treturn result\n}\n\nfunction parseContent(item) {\n\tconst result = []\n\titerateContent(item, result, [])\n\treturn result\n}\n\nfunction iterateContent(item, result, types) {\n\titem.content.forEach(it => {\n\t\tif (typeof it === 'string') {\n\t\t\tresult.push({\n\t\t\t\ttypes: removeDuplicates(types.concat([item.type])),\n\t\t\t\tvalue: it\n\t\t\t})\n\t\t} else {\n\t\t\titerateContent(\n\t\t\t\tit,\n\t\t\t\tresult,\n\t\t\t\tremoveDuplicates([it.type].concat([item.type]).concat(types))\n\t\t\t)\n\t\t}\n\t})\n}\n\nfunction removeDuplicates(items) {\n\treturn [...new Set(items)]\n}\n\nfunction linkifyResult(array) {\n\tconst result = []\n\n\tarray.forEach(arr => {\n\t\tconst links = linkify.find(arr.value)\n\n\t\tif (links.length) {\n\t\t\tconst spaces = arr.value.replace(links[0].value, '')\n\t\t\tresult.push({ types: arr.types, value: spaces })\n\n\t\t\tarr.types = ['url'].concat(arr.types)\n\t\t\tarr.href = links[0].href\n\t\t\tarr.value = links[0].value\n\t\t}\n\n\t\tresult.push(arr)\n\t})\n\n\treturn result\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormatMessage.vue?vue&type=template&id=3a015d3f&\"\nimport script from \"./FormatMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./FormatMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (room, currentUserId, textMessages) => {\n\tif (room.typingUsers && room.typingUsers.length) {\n\t\tconst typingUsers = room.users.filter(user => {\n\t\t\tif (user._id === currentUserId) return\n\t\t\tif (room.typingUsers.indexOf(user._id) === -1) return\n\t\t\tif (user.status && user.status.state === 'offline') return\n\t\t\treturn true\n\t\t})\n\n\t\tif (!typingUsers.length) return\n\n\t\tif (room.users.length === 2) {\n\t\t\treturn textMessages.IS_TYPING\n\t\t} else {\n\t\t\treturn (\n\t\t\t\ttypingUsers.map(user => user.username).join(', ') +\n\t\t\t\t' ' +\n\t\t\t\ttextMessages.IS_TYPING\n\t\t\t)\n\t\t}\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomContent.vue?vue&type=template&id=6888cbad&\"\nimport script from \"./RoomContent.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (items, prop, val, startsWith = false) => {\n\tif (!val || val === '') return items\n\n\treturn items.filter(v => {\n\t\tif (startsWith) return formatString(v[prop]).startsWith(formatString(val))\n\t\treturn formatString(v[prop]).includes(formatString(val))\n\t})\n}\n\nfunction formatString(string) {\n\treturn string\n\t\t.toLowerCase()\n\t\t.normalize('NFD')\n\t\t.replace(/[\\u0300-\\u036f]/g, '')\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsList.vue?vue&type=template&id=e9cbf0d4&\"\nimport script from \"./RoomsList.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isMobile && !_vm.showRoomsList) || !_vm.isMobile || _vm.singleRoom),expression:\"(isMobile && !showRoomsList) || !isMobile || singleRoom\"}],staticClass:\"vac-col-messages\",on:{\"touchstart\":_vm.touchStart}},[(_vm.showNoRoom)?_vm._t(\"no-room-selected\",function(){return [_c('div',{staticClass:\"vac-container-center vac-room-empty\"},[_c('div',[_vm._v(_vm._s(_vm.textMessages.ROOM_EMPTY))])])]}):_c('room-header',{attrs:{\"current-user-id\":_vm.currentUserId,\"text-messages\":_vm.textMessages,\"single-room\":_vm.singleRoom,\"show-rooms-list\":_vm.showRoomsList,\"is-mobile\":_vm.isMobile,\"room-info-enabled\":_vm.roomInfoEnabled,\"menu-actions\":_vm.menuActions,\"room\":_vm.room,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"message-selection-actions\":_vm.messageSelectionActions,\"selected-messages-total\":_vm.selectedMessages.length},on:{\"toggle-rooms-list\":function($event){return _vm.$emit('toggle-rooms-list')},\"room-info\":function($event){return _vm.$emit('room-info')},\"menu-action-handler\":function($event){return _vm.$emit('menu-action-handler', $event)},\"message-selection-action-handler\":_vm.messageSelectionActionHandler,\"cancel-message-selection\":function($event){_vm.messageSelectionEnabled = false}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{ref:\"scrollContainer\",staticClass:\"vac-container-scroll\",attrs:{\"id\":\"messages-list\"},on:{\"scroll\":_vm.onContainerScroll}},[_c('loader',{attrs:{\"show\":_vm.loadingMessages},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-messages-container\"},[_c('div',{class:{ 'vac-messages-hidden': _vm.loadingMessages }},[_c('transition',{attrs:{\"name\":\"vac-fade-message\"}},[_c('div',[(_vm.showNoMessages)?_c('div',{staticClass:\"vac-text-started\"},[_vm._t(\"messages-empty\",function(){return [_vm._v(\" \"+_vm._s(_vm.textMessages.MESSAGES_EMPTY)+\" \")]})],2):_vm._e(),(_vm.showMessagesStarted)?_c('div',{staticClass:\"vac-text-started\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.CONVERSATION_STARTED)+\" \"+_vm._s(_vm.messages[0].date)+\" \")]):_vm._e()])]),(_vm.messages.length && !_vm.messagesLoaded)?_c('div',{attrs:{\"id\":\"infinite-loader-messages\"}},[_c('loader',{attrs:{\"show\":true,\"infinite\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e(),_c('transition-group',{key:_vm.roomId,attrs:{\"name\":\"vac-fade-message\",\"tag\":\"span\"}},_vm._l((_vm.messages),function(m,i){return _c('div',{key:m.indexId || m._id},[_c('room-message',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":m,\"index\":i,\"messages\":_vm.messages,\"edited-message-id\":_vm.editedMessageId,\"message-actions\":_vm.messageActions,\"room-users\":_vm.room.users,\"text-messages\":_vm.textMessages,\"new-messages\":_vm.newMessages,\"show-reaction-emojis\":_vm.showReactionEmojis,\"show-new-messages-divider\":_vm.showNewMessagesDivider,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"username-options\":_vm.usernameOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"selected-messages\":_vm.selectedMessages},on:{\"message-added\":_vm.onMessageAdded,\"message-action-handler\":_vm.messageActionHandler,\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag,\"open-failed-message\":function($event){return _vm.$emit('open-failed-message', $event)},\"send-message-reaction\":_vm.sendMessageReaction,\"select-message\":_vm.selectMessage,\"unselect-message\":_vm.unselectMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),0)],1)])],1),(!_vm.loadingMessages)?_c('div',[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollIcon)?_c('div',{staticClass:\"vac-icon-scroll\",on:{\"click\":_vm.scrollToBottom}},[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollMessagesCount)?_c('div',{staticClass:\"vac-badge-counter vac-messages-count\"},[_vm._v(\" \"+_vm._s(_vm.scrollMessagesCount)+\" \")]):_vm._e()]),_vm._t(\"scroll-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"scroll\"}})]})],2):_vm._e()])],1):_vm._e(),_c('room-footer',{attrs:{\"room\":_vm.room,\"room-id\":_vm.roomId,\"room-message\":_vm.roomMessage,\"text-messages\":_vm.textMessages,\"show-send-icon\":_vm.showSendIcon,\"show-files\":_vm.showFiles,\"show-audio\":_vm.showAudio,\"show-emojis\":_vm.showEmojis,\"show-footer\":_vm.showFooter,\"accepted-files\":_vm.acceptedFiles,\"textarea-action-enabled\":_vm.textareaActionEnabled,\"user-tags-enabled\":_vm.userTagsEnabled,\"emojis-suggestion-enabled\":_vm.emojisSuggestionEnabled,\"templates-text\":_vm.templatesText,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"audio-bit-rate\":_vm.audioBitRate,\"audio-sample-rate\":_vm.audioSampleRate,\"init-reply-message\":_vm.initReplyMessage,\"init-edit-message\":_vm.initEditMessage},on:{\"update-edited-message-id\":function($event){_vm.editedMessageId = $event},\"edit-message\":function($event){return _vm.$emit('edit-message', $event)},\"send-message\":function($event){return _vm.$emit('send-message', $event)},\"typing-message\":function($event){return _vm.$emit('typing-message', $event)},\"textarea-action-handler\":function($event){return _vm.$emit('textarea-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-header vac-app-border-b\"},[_vm._t(\"room-header\",function(){return [_c('div',{staticClass:\"vac-room-wrapper\"},[_c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageSelectionEnabled)?_c('div',{staticClass:\"vac-room-selection\"},[_vm._l((_vm.messageSelectionActions),function(action){return _c('div',{key:action.name,attrs:{\"id\":action.name}},[_c('div',{staticClass:\"vac-selection-button\",on:{\"click\":function($event){return _vm.messageSelectionActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \"),_c('span',{staticClass:\"vac-selection-button-count\"},[_vm._v(\" \"+_vm._s(_vm.selectedMessagesTotal)+\" \")])])])}),_c('div',{staticClass:\"vac-selection-cancel vac-item-clickable\",on:{\"click\":function($event){return _vm.$emit('cancel-message-selection')}}},[_vm._v(\" \"+_vm._s(_vm.textMessages.CANCEL_SELECT_MESSAGE)+\" \")])],2):_vm._e()]),(!_vm.messageSelectionEnabled && _vm.messageSelectionAnimationEnded)?[(!_vm.singleRoom)?_c('div',{staticClass:\"vac-svg-button vac-toggle-button\",class:{ 'vac-rotate-icon-init': !_vm.isMobile, 'vac-rotate-icon': !_vm.showRoomsList && !_vm.isMobile },on:{\"click\":function($event){return _vm.$emit('toggle-rooms-list')}}},[_vm._t(\"toggle-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"toggle\"}})]})],2):_vm._e(),_c('div',{staticClass:\"vac-info-wrapper\",class:{ 'vac-item-clickable': _vm.roomInfoEnabled },on:{\"click\":function($event){return _vm.$emit('room-info')}}},[_vm._t(\"room-header-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_vm._t(\"room-header-info\",function(){return [_c('div',{staticClass:\"vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.typingUsers)?_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.userStatus)+\" \")])])]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2),(_vm.room.roomId)?_vm._t(\"room-options\",function(){return [(_vm.menuActions.length)?_c('div',{staticClass:\"vac-svg-button vac-room-options\",on:{\"click\":function($event){_vm.menuOpened = !_vm.menuOpened}}},[_vm._t(\"menu-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"menu\"}})]})],2):_vm._e(),(_vm.menuActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.menuOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.menuActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.menuActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]}):_vm._e()]:_vm._e()],2)]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\t\t\t\n\t\t\n\t\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomHeader.vue?vue&type=template&id=938fbc28&\"\nimport script from \"./RoomHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(Object.keys(_vm.room).length && _vm.showFooter),expression:\"Object.keys(room).length && showFooter\"}],staticClass:\"vac-room-footer\",class:{\n\t\t'vac-app-box-shadow': _vm.shadowFooter\n\t},attrs:{\"id\":\"room-footer\"}},[_c('room-emojis',{attrs:{\"filtered-emojis\":_vm.filteredEmojis,\"select-item\":_vm.selectEmojiItem,\"active-up-or-down\":_vm.activeUpOrDownEmojis},on:{\"select-emoji\":function($event){return _vm.selectEmoji($event)},\"activate-item\":function($event){_vm.activeUpOrDownEmojis = 0}}}),_c('room-users-tag',{attrs:{\"filtered-users-tag\":_vm.filteredUsersTag,\"select-item\":_vm.selectUsersTagItem,\"active-up-or-down\":_vm.activeUpOrDownUsersTag},on:{\"select-user-tag\":function($event){return _vm.selectUserTag($event)},\"activate-item\":function($event){_vm.activeUpOrDownUsersTag = 0}}}),_c('room-templates-text',{attrs:{\"filtered-templates-text\":_vm.filteredTemplatesText,\"select-item\":_vm.selectTemplatesTextItem,\"active-up-or-down\":_vm.activeUpOrDownTemplatesText},on:{\"select-template-text\":function($event){return _vm.selectTemplateText($event)},\"activate-item\":function($event){_vm.activeUpOrDownTemplatesText = 0}}}),_c('room-message-reply',{attrs:{\"room\":_vm.room,\"message-reply\":_vm.messageReply,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('room-files',{attrs:{\"files\":_vm.files},on:{\"remove-file\":_vm.removeFile,\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-box-footer\",class:{ 'vac-box-footer-border': !_vm.files.length }},[(_vm.showAudio && !_vm.files.length)?_c('div',{staticClass:\"vac-icon-textarea-left\"},[(_vm.isRecording)?[_c('div',{staticClass:\"vac-svg-button vac-icon-audio-stop\",on:{\"click\":_vm.stopRecorder}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2),_c('div',{staticClass:\"vac-dot-audio-record\"}),_c('div',{staticClass:\"vac-dot-audio-record-time\"},[_vm._v(\" \"+_vm._s(_vm.recordedTime)+\" \")]),_c('div',{staticClass:\"vac-svg-button vac-icon-audio-confirm\",on:{\"click\":function($event){return _vm.toggleRecorder(false)}}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"checkmark\"}})]})],2)]:_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.toggleRecorder(true)}}},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]})],2)],2):_vm._e(),_c('textarea',{ref:\"roomTextarea\",staticClass:\"vac-textarea\",class:{\n\t\t\t\t'vac-textarea-outline': _vm.editedMessage._id\n\t\t\t},style:({\n\t\t\t\t'min-height': \"20px\",\n\t\t\t\t'padding-left': \"12px\"\n\t\t\t}),attrs:{\"id\":\"roomTextarea\",\"placeholder\":_vm.textMessages.TYPE_MESSAGE},on:{\"input\":_vm.onChangeInput,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.escapeTextarea.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.updateActiveUpOrDown(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.updateActiveUpOrDown(1)}],\"paste\":_vm.onPasteImage}}),_c('div',{staticClass:\"vac-icon-textarea\"},[(_vm.editedMessage._id)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.resetMessage}},[_vm._t(\"edit-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2):_vm._e(),(_vm.showEmojis)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(function () { return (_vm.emojiOpened = false); }),expression:\"() => (emojiOpened = false)\"}]},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{attrs:{\"emoji-opened\":_vm.emojiOpened,\"position-top\":true},on:{\"add-emoji\":_vm.addEmoji,\"open-emoji\":function($event){_vm.emojiOpened = $event}},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.addEmoji},{ emojiOpened: _vm.emojiOpened })],2):_vm._e(),(_vm.showFiles)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.launchFilePicker}},[_vm._t(\"paperclip-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"paperclip\"}})]})],2):_vm._e(),(_vm.textareaActionEnabled)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.textareaActionHandler}},[_vm._t(\"custom-action-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"deleted\"}})]})],2):_vm._e(),(_vm.showFiles)?_c('input',{ref:\"file\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\",\"accept\":_vm.acceptedFiles},on:{\"change\":function($event){return _vm.onFileChange($event.target.files)}}}):_vm._e(),(_vm.showSendIcon)?_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-send-disabled': _vm.isMessageEmpty },on:{\"click\":_vm.sendMessage}},[_vm._t(\"send-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"send\",\"param\":_vm.isMessageEmpty || _vm.isFileLoading ? 'disabled' : ''}})]})],2):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import Picker from './picker.js'\nimport Database from './database.js'\nexport { Picker, Database }\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-emoji-wrapper\"},[_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{\"click\":_vm.openEmoji}},[_vm._t(\"emoji-picker-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"emoji\",\"param\":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{\"name\":\"vac-slide-up\",\"appear\":\"\"}},[_c('div',{staticClass:\"vac-emoji-picker\",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({\n\t\t\t\t\theight: (_vm.emojiPickerHeight + \"px\"),\n\t\t\t\t\ttop: _vm.positionTop ? _vm.emojiPickerHeight : (_vm.emojiPickerTop + \"px\"),\n\t\t\t\t\tright: _vm.emojiPickerRight,\n\t\t\t\t\tdisplay: _vm.emojiPickerTop || !_vm.emojiReaction ? 'initial' : 'none'\n\t\t\t\t})},[(_vm.emojiOpened)?_c('emoji-picker',{ref:\"emojiPicker\"}):_vm._e()],1)])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmojiPickerContainer.vue?vue&type=template&id=44125154&\"\nimport script from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.files.length)?_c('div',{staticClass:\"vac-room-files-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-files-box\"},_vm._l((_vm.files),function(file,i){return _c('div',{key:i},[_c('room-file',{attrs:{\"file\":file,\"index\":i},on:{\"remove-file\":function($event){return _vm.$emit('remove-file', $event)}}})],1)}),0),_c('div',{staticClass:\"vac-icon-close\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-file-container\"},[_c('loader',{attrs:{\"show\":_vm.file.loading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-svg-button vac-icon-remove\",on:{\"click\":function($event){return _vm.$emit('remove-file', _vm.index)}}},[_vm._t(\"image-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close\",\"param\":\"image\"}})]})],2),(_vm.isImage)?_c('div',{staticClass:\"vac-message-image\",class:{ 'vac-blur-loading': _vm.file.loading },style:({\n\t\t\t'background-image': (\"url('\" + (_vm.file.localUrl || _vm.file.url) + \"')\")\n\t\t})}):(_vm.isVideo)?_c('video',{class:{ 'vac-blur-loading': _vm.file.loading },attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.localUrl || _vm.file.url}})]):_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-blur-loading': _vm.file.loading }},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.file.name)+\" \")]),(_vm.file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.file.extension)+\" \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFile.vue?vue&type=template&id=c0a62836&\"\nimport script from \"./RoomFile.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFiles.vue?vue&type=template&id=60413016&\"\nimport script from \"./RoomFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageReply)?_c('div',{staticClass:\"vac-reply-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-reply-box\"},[_c('div',{staticClass:\"vac-reply-info\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.messageReply.username)+\" \")]),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.messageReply.content,\"users\":_vm.room.users,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)]),(_vm.isImage)?_c('img',{staticClass:\"vac-image-reply\",attrs:{\"src\":_vm.firstFile.url}}):(_vm.isVideo)?_c('video',{staticClass:\"vac-image-reply\",attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})]):(_vm.isAudio)?_c('audio-player',{staticClass:\"vac-audio-reply\",attrs:{\"src\":_vm.firstFile.url},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-image-reply vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"vac-icon-reply\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"vac-audio-player\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.playback}},[(_vm.isPlaying)?_vm._t(\"audio-pause-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-pause\"}})]}):_vm._t(\"audio-play-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-play\"}})]})],2),_c('audio-control',{attrs:{\"percentage\":_vm.progress,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"change-linehead\":_vm.onUpdateProgress,\"hover-audio-progress\":function($event){return _vm.$emit('hover-audio-progress', $event)}}}),_c('audio',{attrs:{\"id\":_vm.playerUniqId,\"src\":_vm.audioSource}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"progress\",staticClass:\"vac-player-bar\",on:{\"mousedown\":_vm.onMouseDown,\"mouseover\":function($event){return _vm.$emit('hover-audio-progress', true)},\"mouseout\":function($event){return _vm.$emit('hover-audio-progress', false)}}},[_c('div',{staticClass:\"vac-player-progress\"},[_c('div',{staticClass:\"vac-line-container\"},[_c('div',{staticClass:\"vac-line-progress\",style:({ width: (_vm.percentage + \"%\") })}),_c('div',{staticClass:\"vac-line-dot\",class:{ 'vac-line-dot__active': _vm.isMouseDown },style:({ left: (_vm.percentage + \"%\") })})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=1721db79&\"\nimport script from \"./AudioControl.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioControl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioPlayer.vue?vue&type=template&id=d8b85268&\"\nimport script from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessageReply.vue?vue&type=template&id=86b41b08&\"\nimport script from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredUsersTag.length)?_c('div',{staticClass:\"vac-tags-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredUsersTag),function(user,index){return _c('div',{key:user._id,staticClass:\"vac-tags-box\",class:{ 'vac-tags-box-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-user-tag', user)}}},[_c('div',{staticClass:\"vac-tags-info\"},[(user.avatar)?_c('div',{staticClass:\"vac-avatar vac-tags-avatar\",style:({ 'background-image': (\"url('\" + (user.avatar) + \"')\") })}):_vm._e(),_c('div',{staticClass:\"vac-tags-username\"},[_vm._v(\" \"+_vm._s(user.username)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomUsersTag.vue?vue&type=template&id=082c6732&\"\nimport script from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredEmojis.length)?_c('div',{staticClass:\"vac-emojis-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredEmojis),function(emoji,index){return _c('div',{key:emoji,staticClass:\"vac-emoji-element\",class:{ 'vac-emoji-element-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-emoji', emoji)}}},[_vm._v(\" \"+_vm._s(emoji)+\" \")])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomEmojis.vue?vue&type=template&id=b6026542&\"\nimport script from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredTemplatesText.length)?_c('div',{staticClass:\"vac-template-container vac-app-box-shadow\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredTemplatesText),function(template,index){return _c('div',{key:index,staticClass:\"vac-template-box\",class:{ 'vac-template-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-template-text', template)}}},[_c('div',{staticClass:\"vac-template-info\"},[_c('div',{staticClass:\"vac-template-tag\"},[_vm._v(\" /\"+_vm._s(template.tag)+\" \")]),_c('div',{staticClass:\"vac-template-text\"},[_vm._v(\" \"+_vm._s(template.text)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomTemplatesText.vue?vue&type=template&id=113f1c86&\"\nimport script from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nlet lamejs\ntry {\n\tlamejs = require('lamejs')\n} catch (_) {\n\tlamejs = { missing: true }\n}\n\nconst { Mp3Encoder } = lamejs\n\nexport default class {\n\tconstructor(config) {\n\t\tif (lamejs.missing) {\n\t\t\tthrow new Error(\n\t\t\t\t'You must add lamejs in your dependencies to use the audio recorder. Please run \"npm install lamejs --save\"'\n\t\t\t)\n\t\t}\n\n\t\tthis.bitRate = config.bitRate\n\t\tthis.sampleRate = config.sampleRate\n\t\tthis.dataBuffer = []\n\t\tthis.encoder = new Mp3Encoder(1, this.sampleRate, this.bitRate)\n\t}\n\n\tencode(arrayBuffer) {\n\t\tconst maxSamples = 1152\n\t\tconst samples = this._convertBuffer(arrayBuffer)\n\t\tlet remaining = samples.length\n\n\t\tfor (let i = 0; remaining >= 0; i += maxSamples) {\n\t\t\tconst left = samples.subarray(i, i + maxSamples)\n\t\t\tconst buffer = this.encoder.encodeBuffer(left)\n\t\t\tthis.dataBuffer.push(new Int8Array(buffer))\n\t\t\tremaining -= maxSamples\n\t\t}\n\t}\n\n\tfinish() {\n\t\tthis.dataBuffer.push(this.encoder.flush())\n\t\tconst blob = new Blob(this.dataBuffer, { type: 'audio/mp3' })\n\t\tthis.dataBuffer = []\n\n\t\treturn {\n\t\t\tid: Date.now(),\n\t\t\tblob: blob,\n\t\t\turl: URL.createObjectURL(blob)\n\t\t}\n\t}\n\n\t_floatTo16BitPCM(input, output) {\n\t\tfor (let i = 0; i < input.length; i++) {\n\t\t\tconst s = Math.max(-1, Math.min(1, input[i]))\n\t\t\toutput[i] = s < 0 ? s * 0x8000 : s * 0x7fff\n\t\t}\n\t}\n\n\t_convertBuffer(arrayBuffer) {\n\t\tconst data = new Float32Array(arrayBuffer)\n\t\tconst out = new Int16Array(arrayBuffer.length)\n\t\tthis._floatTo16BitPCM(data, out)\n\t\treturn out\n\t}\n}\n","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nimport Mp3Encoder from './mp3-encoder'\n\nexport default class {\n\tconstructor(options = {}) {\n\t\tthis.beforeRecording = options.beforeRecording\n\t\tthis.pauseRecording = options.pauseRecording\n\t\tthis.afterRecording = options.afterRecording\n\t\tthis.micFailed = options.micFailed\n\n\t\tthis.encoderOptions = {\n\t\t\tbitRate: options.bitRate,\n\t\t\tsampleRate: options.sampleRate\n\t\t}\n\n\t\tthis.bufferSize = 4096\n\t\tthis.records = []\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.duration = 0\n\t\tthis.volume = 0\n\n\t\tthis._duration = 0\n\t}\n\n\tstart() {\n\t\tconst constraints = {\n\t\t\tvideo: false,\n\t\t\taudio: {\n\t\t\t\tchannelCount: 1,\n\t\t\t\techoCancellation: false\n\t\t\t}\n\t\t}\n\n\t\tthis.beforeRecording && this.beforeRecording('start recording')\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia(constraints)\n\t\t\t.then(this._micCaptured.bind(this))\n\t\t\t.catch(this._micError.bind(this))\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = true\n\n\t\tif (!this.lameEncoder) {\n\t\t\tthis.lameEncoder = new Mp3Encoder(this.encoderOptions)\n\t\t}\n\t}\n\n\tstop() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\t\tthis.context.close()\n\n\t\tlet record = null\n\n\t\trecord = this.lameEncoder.finish()\n\n\t\trecord.duration = this.duration\n\t\tthis.records.push(record)\n\n\t\tthis._duration = 0\n\t\tthis.duration = 0\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.afterRecording && this.afterRecording(record)\n\t}\n\n\tpause() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\n\t\tthis._duration = this.duration\n\t\tthis.isPause = true\n\n\t\tthis.pauseRecording && this.pauseRecording('pause recording')\n\t}\n\n\t_micCaptured(stream) {\n\t\tthis.context = new (window.AudioContext || window.webkitAudioContext)()\n\t\tthis.duration = this._duration\n\t\tthis.input = this.context.createMediaStreamSource(stream)\n\t\tthis.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1)\n\t\tthis.stream = stream\n\n\t\tthis.processor.onaudioprocess = ev => {\n\t\t\tconst sample = ev.inputBuffer.getChannelData(0)\n\t\t\tlet sum = 0.0\n\n\t\t\tif (this.lameEncoder) {\n\t\t\t\tthis.lameEncoder.encode(sample)\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < sample.length; ++i) {\n\t\t\t\tsum += sample[i] * sample[i]\n\t\t\t}\n\n\t\t\tthis.duration =\n\t\t\t\tparseFloat(this._duration) +\n\t\t\t\tparseFloat(this.context.currentTime.toFixed(2))\n\t\t\tthis.volume = Math.sqrt(sum / sample.length).toFixed(2)\n\t\t}\n\n\t\tthis.input.connect(this.processor)\n\t\tthis.processor.connect(this.context.destination)\n\t}\n\n\t_micError(error) {\n\t\tthis.micFailed && this.micFailed(error)\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFooter.vue?vue&type=template&id=457f6483&\"\nimport script from \"./RoomFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFooter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"message\",staticClass:\"vac-message-wrapper\",attrs:{\"id\":_vm.message._id}},[(_vm.showDate)?_c('div',{staticClass:\"vac-card-info vac-card-date\"},[_vm._v(\" \"+_vm._s(_vm.message.date)+\" \")]):_vm._e(),(_vm.newMessage._id === _vm.message._id)?_c('div',{staticClass:\"vac-line-new\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.NEW_MESSAGES)+\" \")]):_vm._e(),(_vm.message.system)?_c('div',{staticClass:\"vac-card-info vac-card-system\"},[_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_c('div',{staticClass:\"vac-message-box\",class:{ 'vac-offset-current': _vm.message.senderId === _vm.currentUserId },on:{\"click\":_vm.selectMessage}},[_vm._t(\"message\",function(){return [(_vm.message.avatar && _vm.message.senderId !== _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasSenderUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-offset\"}):_vm._e(),_c('div',{staticClass:\"vac-message-container\",class:{\n\t\t\t\t\t'vac-message-container-offset': _vm.messageOffset\n\t\t\t\t}},[_c('div',{staticClass:\"vac-message-card\",class:{\n\t\t\t\t\t\t'vac-message-highlight': _vm.isMessageHover,\n\t\t\t\t\t\t'vac-message-current': _vm.message.senderId === _vm.currentUserId,\n\t\t\t\t\t\t'vac-message-deleted': _vm.message.deleted,\n\t\t\t\t\t\t'vac-item-clickable': _vm.messageSelectionEnabled,\n\t\t\t\t\t\t'vac-message-selected': _vm.isMessageSelected\n\t\t\t\t\t},on:{\"mouseover\":_vm.onHoverMessage,\"mouseleave\":_vm.onLeaveMessage}},[(_vm.showUsername)?_c('div',{staticClass:\"vac-text-username\",class:{\n\t\t\t\t\t\t\t'vac-username-reply': !_vm.message.deleted && _vm.message.replyMessage\n\t\t\t\t\t\t}},[_c('span',[_vm._v(_vm._s(_vm.message.username))])]):_vm._e(),(!_vm.message.deleted && _vm.message.replyMessage)?_c('message-reply',{attrs:{\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),(_vm.message.deleted)?_c('div',[_vm._t(\"deleted-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}})]}),_c('span',[_vm._v(_vm._s(_vm.textMessages.MESSAGE_DELETED))])],2):(!_vm.message.files || !_vm.message.files.length)?_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(!_vm.isAudio || _vm.message.files.length > 1)?_c('message-files',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):[_c('audio-player',{attrs:{\"message-id\":_vm.message._id,\"src\":_vm.message.files[0].url,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.message.deleted)?_c('div',{staticClass:\"vac-progress-time\"},[_vm._v(\" \"+_vm._s(_vm.progressTime)+\" \")]):_vm._e()],_c('div',{staticClass:\"vac-text-timestamp\"},[(_vm.message.edited && !_vm.message.deleted)?_c('div',{staticClass:\"vac-icon-edited\"},[_vm._t(\"pencil-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"pencil\"}})]})],2):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.message.timestamp))]),(_vm.isCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.message.distributed ? 'double-checkmark' : 'checkmark',\"param\":_vm.message.seen ? 'seen' : ''}})]},null,{ message: _vm.message })],2):_vm._e()]),_c('message-actions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"message-actions\":_vm.messageActions,\"show-reaction-emojis\":_vm.showReactionEmojis,\"message-hover\":_vm.messageHover,\"hover-message-id\":_vm.hoverMessageId,\"hover-audio-progress\":_vm.hoverAudioProgress},on:{\"update-message-hover\":function($event){_vm.messageHover = $event},\"update-options-opened\":function($event){_vm.optionsOpened = $event},\"update-emoji-opened\":function($event){_vm.emojiOpened = $event},\"message-action-handler\":_vm.messageActionHandler,\"send-message-reaction\":_vm.sendMessageReaction},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2),_c('message-reactions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message},on:{\"send-message-reaction\":_vm.sendMessageReaction}})],1),_vm._t(\"message-failure\",function(){return [(_vm.message.failure && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-failure-container vac-svg-button\",class:{\n\t\t\t\t\t\t'vac-failure-container-avatar':\n\t\t\t\t\t\t\t_vm.message.avatar && _vm.message.senderId === _vm.currentUserId\n\t\t\t\t\t},on:{\"click\":function($event){return _vm.$emit('open-failed-message', { message: _vm.message })}}},[_c('div',{staticClass:\"vac-failure-text\"},[_vm._v(\" ! \")])]):_vm._e()]},null,{ message: _vm.message }),(_vm.message.avatar && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar vac-avatar-current\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasCurrentUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-current-offset\"}):_vm._e()]},null,{ message: _vm.message })],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-reply-message\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.replyUsername)+\" \")]),(_vm.isImage)?_c('div',{staticClass:\"vac-image-reply-container\"},[_c('div',{staticClass:\"vac-message-image vac-message-image-reply\",style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.firstFile.url) + \"')\")\n\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-reply-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})])]):(_vm.isAudio)?_c('audio-player',{attrs:{\"src\":_vm.firstFile.url},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.message.replyMessage.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReply.vue?vue&type=template&id=514045b4&\"\nimport script from \"./MessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-files-container\"},[_vm._l((_vm.imageVideoFiles),function(file,idx){return _c('div',{key:idx + 'iv'},[_c('message-file',{attrs:{\"file\":file,\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"index\":idx,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":function($event){return _vm.$emit('open-file', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_vm._l((_vm.otherFiles),function(file,idx){return _c('div',{key:idx + 'a',staticClass:\"vac-file-wrapper\"},[(file.progress >= 0)?_c('progress-bar',{style:({ top: '44px' }),attrs:{\"progress\":file.progress}}):_vm._e(),_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-file-container-progress': file.progress >= 0 },on:{\"click\":function($event){return _vm.openFile($event, file, 'download')}}},[_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(file.name)+\" \")]),(file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(file.extension)+\" \")]):_vm._e()])],1)}),_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":function($event){return _vm.$emit('open-user-tag', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-fade-spinner\",\"appear\":\"\"}},[_c('div',{ref:\"progress\",staticClass:\"vac-progress-wrapper\"},[_c('svg',{attrs:{\"height\":_vm.radius * 2,\"width\":_vm.radius * 2}},[_c('circle',{style:({\n\t\t\t\t\tstrokeDashoffset: _vm.strokeDashoffset,\n\t\t\t\t\tstrokeLinecap: 'round'\n\t\t\t\t}),attrs:{\"stroke\":\"rgba(255, 255, 255, 0.7)\",\"stroke-dasharray\":_vm.circumference + ' ' + _vm.circumference,\"stroke-width\":_vm.stroke,\"fill\":\"transparent\",\"r\":_vm.normalizedRadius,\"cx\":_vm.radius,\"cy\":_vm.radius}})]),_c('div',{staticClass:\"vac-progress-content\",style:({\n\t\t\t\theight: _vm.radius * 2 - 19 + 'px',\n\t\t\t\twidth: _vm.radius * 2 - 19 + 'px'\n\t\t\t})},[_c('div',{staticClass:\"vac-progress-text\"},[_vm._v(\" \"+_vm._s(_vm.progress)),_c('span',{staticClass:\"vac-progress-pourcent\"},[_vm._v(\"%\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressBar.vue?vue&type=template&id=561521ed&\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-file-container\"},[(_vm.isImage)?_c('div',{ref:'imageRef' + _vm.index,staticClass:\"vac-message-image-container\",on:{\"mouseover\":function($event){_vm.imageHover = true},\"mouseleave\":function($event){_vm.imageHover = false},\"click\":function($event){return _vm.openFile($event, 'preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"progress\":_vm.file.progress}}):_c('loader',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"show\":_vm.isImageLoading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-message-image\",class:{\n\t\t\t\t'vac-blur-loading':\n\t\t\t\t\t_vm.isImageLoading && _vm.message.senderId === _vm.currentUserId\n\t\t\t},style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.isImageLoading ? _vm.file.preview || _vm.file.url : _vm.file.url) + \"')\"),\n\t\t\t\t'max-height': ((_vm.imageResponsive.maxHeight) + \"px\")\n\t\t\t})},[_c('transition',{attrs:{\"name\":\"vac-fade-image\"}},[(!_vm.messageSelectionEnabled && _vm.imageHover && !_vm.isImageLoading)?_c('div',{staticClass:\"vac-image-buttons\"},[_c('div',{staticClass:\"vac-svg-button vac-button-view\",on:{\"click\":function($event){return _vm.openFile($event, 'preview')}}},[_vm._t(\"eye-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"eye\"}})]})],2),_c('div',{staticClass:\"vac-svg-button vac-button-download\",on:{\"click\":function($event){return _vm.openFile($event, 'download')}}},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2)]):_vm._e()])],1)],1):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-container\",on:{\"click\":function($event){$event.preventDefault();return _vm.openFile('preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{attrs:{\"progress\":_vm.file.progress}}):_vm._e(),_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFile.vue?vue&type=template&id=442d693d&\"\nimport script from \"./MessageFile.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFiles.vue?vue&type=template&id=ebb72a26&\"\nimport script from \"./MessageFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-actions-wrapper\"},[_c('div',{staticClass:\"vac-options-container\",style:({\n\t\t\tdisplay: _vm.hoverAudioProgress ? 'none' : 'initial',\n\t\t\twidth:\n\t\t\t\t_vm.filteredMessageActions.length && _vm.showReactionEmojis ? '70px' : '45px'\n\t\t})},[_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},[(_vm.isMessageActions || _vm.isMessageReactions)?_c('div',{key:\"1\",staticClass:\"vac-blur-container\",class:{\n\t\t\t\t\t'vac-options-me': _vm.message.senderId === _vm.currentUserId\n\t\t\t\t}}):_vm._e(),(_vm.isMessageActions)?_c('div',{key:\"2\",ref:\"actionIcon\",staticClass:\"vac-svg-button vac-message-options\",on:{\"click\":_vm.openOptions}},[_vm._t(\"dropdown-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"message\"}})]})],2):_vm._e(),(_vm.isMessageReactions)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeEmoji),expression:\"closeEmoji\"}],key:\"3\"},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{staticClass:\"vac-message-emojis\",style:({ right: _vm.isMessageActions ? '30px' : '5px' }),attrs:{\"emoji-opened\":_vm.emojiOpened,\"emoji-reaction\":true,\"position-right\":_vm.message.senderId === _vm.currentUserId},on:{\"add-emoji\":_vm.sendMessageReaction,\"open-emoji\":_vm.openEmoji},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-reaction-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.sendMessageReaction},{ emojiOpened: _vm.emojiOpened })],2):_vm._e()])],1),(_vm.filteredMessageActions.length)?_c('transition',{attrs:{\"name\":_vm.message.senderId === _vm.currentUserId\n\t\t\t\t? 'vac-slide-left'\n\t\t\t\t: 'vac-slide-right'}},[(_vm.optionsOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeOptions),expression:\"closeOptions\"}],ref:\"menuOptions\",staticClass:\"vac-menu-options\",class:{\n\t\t\t\t'vac-menu-left': _vm.message.senderId !== _vm.currentUserId\n\t\t\t},style:({ top: (_vm.menuOptionsTop + \"px\") })},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.filteredMessageActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.messageActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageActions.vue?vue&type=template&id=27f1a961&\"\nimport script from \"./MessageActions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageActions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.message.deleted)?_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},_vm._l((_vm.message.reactions),function(reaction,key){return _c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(reaction.length),expression:\"reaction.length\"}],key:key + 0,staticClass:\"vac-button-reaction\",class:{\n\t\t\t'vac-reaction-me': reaction.indexOf(_vm.currentUserId) !== -1\n\t\t},style:({\n\t\t\tfloat: _vm.message.senderId === _vm.currentUserId ? 'right' : 'left'\n\t\t}),on:{\"click\":function($event){return _vm.sendMessageReaction({ unicode: key }, reaction)}}},[_vm._v(\" \"+_vm._s(key)),_c('span',[_vm._v(_vm._s(reaction.length))])])}),0):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReactions.vue?vue&type=template&id=3fc44a38&\"\nimport script from \"./MessageReactions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReactions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessage.vue?vue&type=template&id=545cd2c3&\"\nimport script from \"./RoomMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Room.vue?vue&type=template&id=5c60aee1&\"\nimport script from \"./Room.vue?vue&type=script&lang=js&\"\nexport * from \"./Room.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal\",staticClass:\"vac-media-preview\",attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeModal.apply(null, arguments)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeModal.apply(null, arguments)}}},[_c('transition',{attrs:{\"name\":\"vac-bounce-preview\",\"appear\":\"\"}},[(_vm.isImage)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('div',{staticClass:\"vac-image-preview\",style:({\n\t\t\t\t\t'background-image': (\"url('\" + (_vm.file.url) + \"')\")\n\t\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\",\"autoplay\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])]):_vm._e()]),_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"preview-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\",\"param\":\"preview\"}})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MediaPreview.vue?vue&type=template&id=2d3ea15a&\"\nimport script from \"./MediaPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaPreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\tROOMS_EMPTY: 'No rooms',\n\tROOM_EMPTY: 'No room selected',\n\tNEW_MESSAGES: 'New Messages',\n\tMESSAGE_DELETED: 'This message was deleted',\n\tMESSAGES_EMPTY: 'No messages',\n\tCONVERSATION_STARTED: 'Conversation started on:',\n\tTYPE_MESSAGE: 'Type message',\n\tSEARCH: 'Search',\n\tIS_ONLINE: 'is online',\n\tLAST_SEEN: 'last seen ',\n\tIS_TYPING: 'is writing...',\n\tCANCEL_SELECT_MESSAGE: 'Cancel'\n}\n","export const defaultThemeStyles = {\n\tlight: {\n\t\tgeneral: {\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorButtonClear: '#1976d2',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#fff',\n\t\t\tcolorPlaceholder: '#9ca6af',\n\t\t\tcolorCaret: '#1976d2',\n\t\t\tcolorSpinner: '#333',\n\t\t\tborderStyle: '1px solid #e1e4e8',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#fff',\n\t\t\tcolorRoomName: '#0a0a0a',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#f8f9fa',\n\t\t\tborderStyleInput: '1px solid #e1e4e8',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#e5e5e6',\n\t\t\tbackgroundTagActive: '#e5e5e6',\n\t\t\tbackgroundTag: '#f8f9fa'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#f8f9fa'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6',\n\t\t\tbackgroundActive: '#e5effa',\n\t\t\tcolorActive: '#1976d2',\n\t\t\tborderColorSearch: '#e1e5e8'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundMe: '#ccf2cf',\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#dadfe2',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#757e85',\n\t\t\tcolorUsername: '#9ca6af',\n\t\t\tcolorTimestamp: '#828c94',\n\t\t\tbackgroundDate: '#e5effa',\n\t\t\tcolorDate: '#505a62',\n\t\t\tbackgroundSystem: '#e5effa',\n\t\t\tcolorSystem: '#505a62',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.08)',\n\t\t\tcolorReplyUsername: '#0a0a0a',\n\t\t\tcolorReply: '#6e6e6e',\n\t\t\tcolorTag: '#0d579c',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#1976d2',\n\t\t\tbackgroundScrollCounter: '#0696c7',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: '#eee',\n\t\t\tborderStyleReaction: '1px solid #eee',\n\t\t\tbackgroundReactionHover: '#fff',\n\t\t\tborderStyleReactionHover: '1px solid #ddd',\n\t\t\tcolorReactionCounter: '#0a0a0a',\n\t\t\tbackgroundReactionMe: '#cfecf5',\n\t\t\tborderStyleReactionMe: '1px solid #3b98b8',\n\t\t\tbackgroundReactionHoverMe: '#cfecf5',\n\t\t\tborderStyleReactionHoverMe: '1px solid #3b98b8',\n\t\t\tcolorReactionCounterMe: '#0b59b3',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundAudioProgress: '#455247',\n\t\t\tbackgroundAudioProgressSelector: '#455247',\n\t\t\tcolorFileExtension: '#757e85'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#0a0a0a',\n\t\t\tcolorMessage: '#67717a',\n\t\t\tcolorTimestamp: '#a2aeb8',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#9ca6af',\n\t\t\tbackgroundCounterBadge: '#0696c7',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#fff'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#9ca6af',\n\t\t\tadd: '#1976d2',\n\t\t\ttoggle: '#0a0a0a',\n\t\t\tmenu: '#0a0a0a',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#1976d2',\n\t\t\tcloseOutline: '#000',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#1976d2',\n\t\t\tsendDisabled: '#9ca6af',\n\t\t\temoji: '#1976d2',\n\t\t\temojiReaction: 'rgba(0, 0, 0, 0.3)',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#9e9e9e',\n\t\t\tcheckmark: '#9e9e9e',\n\t\t\tcheckmarkSeen: '#0696c7',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#9e9e9e',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#1976d2',\n\t\t\taudioPlay: '#455247',\n\t\t\taudioPause: '#455247',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t},\n\tdark: {\n\t\tgeneral: {\n\t\t\tcolor: '#fff',\n\t\t\tcolorButtonClear: '#fff',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#202223',\n\t\t\tcolorPlaceholder: '#596269',\n\t\t\tcolorCaret: '#fff',\n\t\t\tcolorSpinner: '#fff',\n\t\t\tborderStyle: 'none',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#181a1b',\n\t\t\tcolorRoomName: '#fff',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#131415',\n\t\t\tborderStyleInput: 'none',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#1b1c1c',\n\t\t\tbackgroundTagActive: '#1b1c1c',\n\t\t\tbackgroundTag: '#131415'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#131415'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#181a1b',\n\t\t\tbackgroundHover: '#202224',\n\t\t\tbackgroundActive: '#151617',\n\t\t\tcolorActive: '#fff',\n\t\t\tborderColorSearch: '#181a1b'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#2a2c33',\n\t\t\tbackgroundHover: '#26282e'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#22242a',\n\t\t\tbackgroundMe: '#1f7e80',\n\t\t\tcolor: '#fff',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#1b1c21',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#a2a5a8',\n\t\t\tcolorUsername: '#b3bac9',\n\t\t\tcolorTimestamp: '#ebedf2',\n\t\t\tbackgroundDate: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorDate: '#bec5cc',\n\t\t\tbackgroundSystem: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorSystem: '#bec5cc',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.18)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.18)',\n\t\t\tcolorReplyUsername: '#fff',\n\t\t\tcolorReply: '#d6d6d6',\n\t\t\tcolorTag: '#f0c60a',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#fff',\n\t\t\tbackgroundScrollCounter: '#1976d2',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: 'none',\n\t\t\tborderStyleReaction: 'none',\n\t\t\tbackgroundReactionHover: '#202223',\n\t\t\tborderStyleReactionHover: 'none',\n\t\t\tcolorReactionCounter: '#fff',\n\t\t\tbackgroundReactionMe: '#4e9ad1',\n\t\t\tborderStyleReactionMe: 'none',\n\t\t\tbackgroundReactionHoverMe: '#4e9ad1',\n\t\t\tborderStyleReactionHoverMe: 'none',\n\t\t\tcolorReactionCounterMe: '#fff',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(255, 255, 255, 0.15)',\n\t\t\tbackgroundAudioProgress: '#b7d4d3',\n\t\t\tbackgroundAudioProgressSelector: '#b7d4d3',\n\t\t\tcolorFileExtension: '#a2a5a8'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#fff',\n\t\t\tcolorMessage: '#6c7278',\n\t\t\tcolorTimestamp: '#6c7278',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#596269',\n\t\t\tbackgroundCounterBadge: '#1976d2',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#343740'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#596269',\n\t\t\tadd: '#fff',\n\t\t\ttoggle: '#fff',\n\t\t\tmenu: '#fff',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#fff',\n\t\t\tcloseOutline: '#fff',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#fff',\n\t\t\tsendDisabled: '#646a70',\n\t\t\temoji: '#fff',\n\t\t\temojiReaction: '#fff',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#ebedf2',\n\t\t\tcheckmark: '#ebedf2',\n\t\t\tcheckmarkSeen: '#f0d90a',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#fff',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#fff',\n\t\t\taudioPlay: '#b7d4d3',\n\t\t\taudioPause: '#b7d4d3',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t}\n}\n\nexport const cssThemeVars = ({\n\tgeneral,\n\tcontainer,\n\theader,\n\tfooter,\n\tsidemenu,\n\tcontent,\n\tdropdown,\n\tmessage,\n\tmarkdown,\n\troom,\n\temoji,\n\ticons\n}) => {\n\treturn {\n\t\t// general\n\t\t'--chat-color': general.color,\n\t\t'--chat-color-button-clear': general.colorButtonClear,\n\t\t'--chat-color-button': general.colorButton,\n\t\t'--chat-bg-color-button': general.backgroundColorButton,\n\t\t'--chat-bg-color-input': general.backgroundInput,\n\t\t'--chat-color-spinner': general.colorSpinner,\n\t\t'--chat-color-placeholder': general.colorPlaceholder,\n\t\t'--chat-color-caret': general.colorCaret,\n\t\t'--chat-border-style': general.borderStyle,\n\t\t'--chat-bg-scroll-icon': general.backgroundScrollIcon,\n\n\t\t// container\n\t\t'--chat-container-border': container.border,\n\t\t'--chat-container-border-radius': container.borderRadius,\n\t\t'--chat-container-box-shadow': container.boxShadow,\n\n\t\t// header\n\t\t'--chat-header-bg-color': header.background,\n\t\t'--chat-header-color-name': header.colorRoomName,\n\t\t'--chat-header-color-info': header.colorRoomInfo,\n\n\t\t// footer\n\t\t'--chat-footer-bg-color': footer.background,\n\t\t'--chat-border-style-input': footer.borderStyleInput,\n\t\t'--chat-border-color-input-selected': footer.borderInputSelected,\n\t\t'--chat-footer-bg-color-reply': footer.backgroundReply,\n\t\t'--chat-footer-bg-color-tag-active': footer.backgroundTagActive,\n\t\t'--chat-footer-bg-color-tag': footer.backgroundTag,\n\n\t\t// content\n\t\t'--chat-content-bg-color': content.background,\n\n\t\t// sidemenu\n\t\t'--chat-sidemenu-bg-color': sidemenu.background,\n\t\t'--chat-sidemenu-bg-color-hover': sidemenu.backgroundHover,\n\t\t'--chat-sidemenu-bg-color-active': sidemenu.backgroundActive,\n\t\t'--chat-sidemenu-color-active': sidemenu.colorActive,\n\t\t'--chat-sidemenu-border-color-search': sidemenu.borderColorSearch,\n\n\t\t// dropdown\n\t\t'--chat-dropdown-bg-color': dropdown.background,\n\t\t'--chat-dropdown-bg-color-hover': dropdown.backgroundHover,\n\n\t\t// message\n\t\t'--chat-message-bg-color': message.background,\n\t\t'--chat-message-bg-color-me': message.backgroundMe,\n\t\t'--chat-message-color-started': message.colorStarted,\n\t\t'--chat-message-bg-color-deleted': message.backgroundDeleted,\n\t\t'--chat-message-bg-color-selected': message.backgroundSelected,\n\t\t'--chat-message-color-deleted': message.colorDeleted,\n\t\t'--chat-message-color-username': message.colorUsername,\n\t\t'--chat-message-color-timestamp': message.colorTimestamp,\n\t\t'--chat-message-bg-color-date': message.backgroundDate,\n\t\t'--chat-message-color-date': message.colorDate,\n\t\t'--chat-message-bg-color-system': message.backgroundSystem,\n\t\t'--chat-message-color-system': message.colorSystem,\n\t\t'--chat-message-color': message.color,\n\t\t'--chat-message-bg-color-media': message.backgroundMedia,\n\t\t'--chat-message-bg-color-reply': message.backgroundReply,\n\t\t'--chat-message-color-reply-username': message.colorReplyUsername,\n\t\t'--chat-message-color-reply-content': message.colorReply,\n\t\t'--chat-message-color-tag': message.colorTag,\n\t\t'--chat-message-bg-color-image': message.backgroundImage,\n\t\t'--chat-message-color-new-messages': message.colorNewMessages,\n\t\t'--chat-message-bg-color-scroll-counter': message.backgroundScrollCounter,\n\t\t'--chat-message-color-scroll-counter': message.colorScrollCounter,\n\t\t'--chat-message-bg-color-reaction': message.backgroundReaction,\n\t\t'--chat-message-border-style-reaction': message.borderStyleReaction,\n\t\t'--chat-message-bg-color-reaction-hover': message.backgroundReactionHover,\n\t\t'--chat-message-border-style-reaction-hover':\n\t\t\tmessage.borderStyleReactionHover,\n\t\t'--chat-message-color-reaction-counter': message.colorReactionCounter,\n\t\t'--chat-message-bg-color-reaction-me': message.backgroundReactionMe,\n\t\t'--chat-message-border-style-reaction-me': message.borderStyleReactionMe,\n\t\t'--chat-message-bg-color-reaction-hover-me':\n\t\t\tmessage.backgroundReactionHoverMe,\n\t\t'--chat-message-border-style-reaction-hover-me':\n\t\t\tmessage.borderStyleReactionHoverMe,\n\t\t'--chat-message-color-reaction-counter-me': message.colorReactionCounterMe,\n\t\t'--chat-message-bg-color-audio-record': message.backgroundAudioRecord,\n\t\t'--chat-message-bg-color-audio-line': message.backgroundAudioLine,\n\t\t'--chat-message-bg-color-audio-progress': message.backgroundAudioProgress,\n\t\t'--chat-message-bg-color-audio-progress-selector':\n\t\t\tmessage.backgroundAudioProgressSelector,\n\t\t'--chat-message-color-file-extension': message.colorFileExtension,\n\n\t\t// markdown\n\t\t'--chat-markdown-bg': markdown.background,\n\t\t'--chat-markdown-border': markdown.border,\n\t\t'--chat-markdown-color': markdown.color,\n\t\t'--chat-markdown-color-multi': markdown.colorMulti,\n\n\t\t// room\n\t\t'--chat-room-color-username': room.colorUsername,\n\t\t'--chat-room-color-message': room.colorMessage,\n\t\t'--chat-room-color-timestamp': room.colorTimestamp,\n\t\t'--chat-room-color-online': room.colorStateOnline,\n\t\t'--chat-room-color-offline': room.colorStateOffline,\n\t\t'--chat-room-bg-color-badge': room.backgroundCounterBadge,\n\t\t'--chat-room-color-badge': room.colorCounterBadge,\n\n\t\t// emoji\n\t\t'--chat-emoji-bg-color': emoji.background,\n\n\t\t// icons\n\t\t'--chat-icon-color-search': icons.search,\n\t\t'--chat-icon-color-add': icons.add,\n\t\t'--chat-icon-color-toggle': icons.toggle,\n\t\t'--chat-icon-color-menu': icons.menu,\n\t\t'--chat-icon-color-close': icons.close,\n\t\t'--chat-icon-color-close-image': icons.closeImage,\n\t\t'--chat-icon-color-file': icons.file,\n\t\t'--chat-icon-color-paperclip': icons.paperclip,\n\t\t'--chat-icon-color-close-outline': icons.closeOutline,\n\t\t'--chat-icon-color-close-preview': icons.closePreview,\n\t\t'--chat-icon-color-send': icons.send,\n\t\t'--chat-icon-color-send-disabled': icons.sendDisabled,\n\t\t'--chat-icon-color-emoji': icons.emoji,\n\t\t'--chat-icon-color-emoji-reaction': icons.emojiReaction,\n\t\t'--chat-icon-color-document': icons.document,\n\t\t'--chat-icon-color-pencil': icons.pencil,\n\t\t'--chat-icon-color-checkmark': icons.checkmark,\n\t\t'--chat-icon-color-checkmark-seen': icons.checkmarkSeen,\n\t\t'--chat-icon-color-eye': icons.eye,\n\t\t'--chat-icon-color-dropdown-message': icons.dropdownMessage,\n\t\t'--chat-icon-bg-dropdown-message': icons.dropdownMessageBackground,\n\t\t'--chat-icon-color-dropdown-room': icons.dropdownRoom,\n\t\t'--chat-icon-color-dropdown-scroll': icons.dropdownScroll,\n\t\t'--chat-icon-color-microphone': icons.microphone,\n\t\t'--chat-icon-color-audio-play': icons.audioPlay,\n\t\t'--chat-icon-color-audio-pause': icons.audioPause,\n\t\t'--chat-icon-color-audio-cancel': icons.audioCancel,\n\t\t'--chat-icon-color-audio-confirm': icons.audioConfirm\n\t}\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChatWindow.vue?vue&type=template&id=1349ffc2&\"\nimport script from \"./ChatWindow.vue?vue&type=script&lang=js&\"\nexport * from \"./ChatWindow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChatWindow.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ChatWindow from './ChatWindow'\n\nObject.defineProperty(ChatWindow, 'install', {\n\tconfigurable: false,\n\tenumerable: false,\n\tvalue(Vue) {\n\t\tVue.component('ChatWindow', ChatWindow)\n\t}\n})\n\nexport default ChatWindow\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\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","/* eslint-disable es-x/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","//package mp3;\n\n/**\n * Layer III side information.\n *\n * @author Ken\n *\n */\n\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction ScaleFac(arrL, arrS, arr21, arr12) {\n\n this.l = new_int(1 + Encoder.SBMAX_l);\n this.s = new_int(1 + Encoder.SBMAX_s);\n this.psfb21 = new_int(1 + Encoder.PSFB21);\n this.psfb12 = new_int(1 + Encoder.PSFB12);\n var l = this.l;\n var s = this.s;\n\n if (arguments.length == 4) {\n //public ScaleFac(final int[] arrL, final int[] arrS, final int[] arr21,\n // final int[] arr12) {\n this.arrL = arguments[0];\n this.arrS = arguments[1];\n this.arr21 = arguments[2];\n this.arr12 = arguments[3];\n\n System.arraycopy(this.arrL, 0, l, 0, Math.min(this.arrL.length, this.l.length));\n System.arraycopy(this.arrS, 0, s, 0, Math.min(this.arrS.length, this.s.length));\n System.arraycopy(this.arr21, 0, this.psfb21, 0, Math.min(this.arr21.length, this.psfb21.length));\n System.arraycopy(this.arr12, 0, this.psfb12, 0, Math.min(this.arr12.length, this.psfb12.length));\n }\n}\n\nmodule.exports = ScaleFac;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-advanced-chat.js b/dist/vue-advanced-chat.js index 7d091106..c3c8eed2 100644 --- a/dist/vue-advanced-chat.js +++ b/dist/vue-advanced-chat.js @@ -419,7 +419,7 @@ module.exports = NATIVE_BIND ? Function.bind : function bind(that /* , ...args * /***/ "057f": /***/ (function(module, exports, __webpack_require__) { -/* eslint-disable es/no-object-getownpropertynames -- safe */ +/* eslint-disable es-x/no-object-getownpropertynames -- safe */ var classof = __webpack_require__("c6b6"); var toIndexedObject = __webpack_require__("fc6a"); var $getOwnPropertyNames = __webpack_require__("241c").f; @@ -458,7 +458,7 @@ var toPropertyKey = __webpack_require__("a04b"); var hasOwn = __webpack_require__("1a2d"); var IE8_DOM_DEFINE = __webpack_require__("0cfb"); -// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method @@ -664,7 +664,7 @@ var createElement = __webpack_require__("cc12"); // Thanks to IE8 for its funny defineProperty module.exports = !DESCRIPTORS && !fails(function () { - // eslint-disable-next-line es/no-object-defineproperty -- required for testing + // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } }).a != 7; @@ -676,8 +676,9 @@ module.exports = !DESCRIPTORS && !fails(function () { /***/ "0d03": /***/ (function(module, exports, __webpack_require__) { +// TODO: Remove from `core-js@4` var uncurryThis = __webpack_require__("e330"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var DatePrototype = Date.prototype; var INVALID_DATE = 'Invalid Date'; @@ -688,7 +689,7 @@ var getTime = uncurryThis(DatePrototype.getTime); // `Date.prototype.toString` method // https://tc39.es/ecma262/#sec-date.prototype.tostring if (String(new Date(NaN)) != INVALID_DATE) { - redefine(DatePrototype, TO_STRING, function toString() { + defineBuiltIn(DatePrototype, TO_STRING, function toString() { var value = getTime(this); // eslint-disable-next-line no-self-compare -- NaN check return value === value ? un$DateToString(this) : INVALID_DATE; @@ -806,13 +807,60 @@ module.exports = function repeat(count) { // `SameValue` abstract operation // https://tc39.es/ecma262/#sec-samevalue -// eslint-disable-next-line es/no-object-is -- safe +// eslint-disable-next-line es-x/no-object-is -- safe module.exports = Object.is || function is(x, y) { // eslint-disable-next-line no-self-compare -- NaN check return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; }; +/***/ }), + +/***/ "13d2": +/***/ (function(module, exports, __webpack_require__) { + +var fails = __webpack_require__("d039"); +var isCallable = __webpack_require__("1626"); +var hasOwn = __webpack_require__("1a2d"); +var defineProperty = __webpack_require__("9bf2").f; +var CONFIGURABLE_FUNCTION_NAME = __webpack_require__("5e77").CONFIGURABLE; +var inspectSource = __webpack_require__("8925"); +var InternalStateModule = __webpack_require__("69f3"); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; + +var CONFIGURABLE_LENGTH = !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (String(name).slice(0, 7) === 'Symbol(') { + name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + defineProperty(value, 'name', { value: name, configurable: true }); + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + /***/ }), /***/ "13d5": @@ -869,7 +917,7 @@ var min = Math.min; // `Array.prototype.copyWithin` method implementation // https://tc39.es/ecma262/#sec-array.prototype.copywithin -// eslint-disable-next-line es/no-array-prototype-copywithin -- safe +// eslint-disable-next-line es-x/no-array-prototype-copywithin -- safe module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { var O = toObject(this); var len = lengthOfArrayLike(O); @@ -920,6 +968,53 @@ module.exports = function (R, S) { }; +/***/ }), + +/***/ "14e5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var call = __webpack_require__("c65b"); +var aCallable = __webpack_require__("59ed"); +var newPromiseCapabilityModule = __webpack_require__("f069"); +var perform = __webpack_require__("e667"); +var iterate = __webpack_require__("2266"); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__("5eed"); + +// `Promise.all` method +// https://tc39.es/ecma262/#sec-promise.all +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + /***/ }), /***/ "159b": @@ -1255,7 +1350,7 @@ var STRICT_METHOD = arrayMethodIsStrict('forEach'); // https://tc39.es/ecma262/#sec-array.prototype.foreach module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); -// eslint-disable-next-line es/no-array-prototype-foreach -- safe +// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe } : [].forEach; @@ -1304,6 +1399,7 @@ var hasOwnProperty = uncurryThis({}.hasOwnProperty); // `HasOwnProperty` abstract operation // https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es-x/no-object-hasown -- safe module.exports = Object.hasOwn || function hasOwn(it, key) { return hasOwnProperty(toObject(it), key); }; @@ -1354,6 +1450,23 @@ var getBuiltIn = __webpack_require__("d066"); module.exports = getBuiltIn('document', 'documentElement'); +/***/ }), + +/***/ "1c59": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var collection = __webpack_require__("6d61"); +var collectionStrong = __webpack_require__("6566"); + +// `Set` constructor +// https://tc39.es/ecma262/#sec-set-objects +collection('Set', function (init) { + return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + /***/ }), /***/ "1c7e": @@ -1377,7 +1490,7 @@ try { iteratorWithReturn[ITERATOR] = function () { return this; }; - // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + // eslint-disable-next-line es-x/no-array-from, no-throw-literal -- required for testing Array.from(iteratorWithReturn, function () { throw 2; }); } catch (error) { /* empty */ } @@ -1420,12 +1533,28 @@ var defineProperties = __webpack_require__("37e8").f; // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties -// eslint-disable-next-line es/no-object-defineproperties -- safe +// eslint-disable-next-line es-x/no-object-defineproperties -- safe $({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, { defineProperties: defineProperties }); +/***/ }), + +/***/ "1d57": +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__("23e7"); +var global = __webpack_require__("da84"); +var setTimeout = __webpack_require__("20cc").setTimeout; + +// ie9- setTimeout additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout +$({ global: true, bind: true, forced: global.setTimeout !== setTimeout }, { + setTimeout: setTimeout +}); + + /***/ }), /***/ "1d80": @@ -1469,6 +1598,44 @@ module.exports = function (METHOD_NAME) { }; +/***/ }), + +/***/ "20cc": +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__("da84"); +var apply = __webpack_require__("2ba4"); +var isCallable = __webpack_require__("1626"); +var userAgent = __webpack_require__("342f"); +var arraySlice = __webpack_require__("f36a"); +var validateArgumentsLength = __webpack_require__("d6d6"); + +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check +var Function = global.Function; + +var wrap = function (scheduler) { + return MSIE ? function (handler, timeout /* , ...arguments */) { + var boundArgs = validateArgumentsLength(arguments.length, 1) > 2; + var fn = isCallable(handler) ? handler : Function(handler); + var args = boundArgs ? arraySlice(arguments, 2) : undefined; + return scheduler(boundArgs ? function () { + apply(fn, this, args); + } : fn, timeout); + } : scheduler; +}; + +// ie9- setTimeout & setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers +module.exports = { + // `setTimeout` method + // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout + setTimeout: wrap(global.setTimeout), + // `setInterval` method + // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval + setInterval: wrap(global.setInterval) +}; + + /***/ }), /***/ "219c": @@ -1487,7 +1654,6 @@ var IE_OR_EDGE = __webpack_require__("d998"); var V8 = __webpack_require__("2d00"); var WEBKIT = __webpack_require__("512c"); -var Array = global.Array; var aTypedArray = ArrayBufferViewCore.aTypedArray; var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; var Uint16Array = global.Uint16Array; @@ -1668,7 +1834,7 @@ module.exports = function (index, length) { var global = __webpack_require__("da84"); var getOwnPropertyDescriptor = __webpack_require__("06cf").f; var createNonEnumerableProperty = __webpack_require__("9112"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var setGlobal = __webpack_require__("ce4e"); var copyConstructorProperties = __webpack_require__("e893"); var isForced = __webpack_require__("94ca"); @@ -1716,8 +1882,7 @@ module.exports = function (options, source) { if (options.sham || (targetProperty && targetProperty.sham)) { createNonEnumerableProperty(sourceProperty, 'sham', true); } - // extend global - redefine(target, key, sourceProperty, options); + defineBuiltIn(target, key, sourceProperty, options); } }; @@ -1734,7 +1899,7 @@ var hiddenKeys = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames -// eslint-disable-next-line es/no-object-getownpropertynames -- safe +// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return internalObjectKeys(O, hiddenKeys); }; @@ -4866,19 +5031,16 @@ exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initi "use strict"; -var uncurryThis = __webpack_require__("e330"); var PROPER_FUNCTION_NAME = __webpack_require__("5e77").PROPER; -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var anObject = __webpack_require__("825a"); -var isPrototypeOf = __webpack_require__("3a9b"); var $toString = __webpack_require__("577e"); var fails = __webpack_require__("d039"); -var regExpFlags = __webpack_require__("ad6d"); +var getRegExpFlags = __webpack_require__("90d8"); var TO_STRING = 'toString'; var RegExpPrototype = RegExp.prototype; var n$ToString = RegExpPrototype[TO_STRING]; -var getFlags = uncurryThis(regExpFlags); var NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); // FF44- RegExp#toString has a wrong name @@ -4887,12 +5049,11 @@ var INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING; // `RegExp.prototype.toString` method // https://tc39.es/ecma262/#sec-regexp.prototype.tostring if (NOT_GENERIC || INCORRECT_NAME) { - redefine(RegExp.prototype, TO_STRING, function toString() { + defineBuiltIn(RegExp.prototype, TO_STRING, function toString() { var R = anObject(this); - var p = $toString(R.source); - var rf = R.flags; - var f = $toString(rf === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf); - return '/' + p + '/' + f; + var pattern = $toString(R.source); + var flags = $toString(getRegExpFlags(R)); + return '/' + pattern + '/' + flags; }, { unsafe: true }); } @@ -4996,7 +5157,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray; var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; var FORCED = fails(function () { - // eslint-disable-next-line es/no-typed-arrays -- required for testing + // eslint-disable-next-line es-x/no-typed-arrays -- required for testing new Int8Array(1).slice(); }); @@ -5048,1144 +5209,117 @@ module.exports = function (iterator, kind, value) { /***/ "2b3d": /***/ (function(module, exports, __webpack_require__) { -"use strict"; +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__("4002"); -// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` -__webpack_require__("3ca3"); -var $ = __webpack_require__("23e7"); -var DESCRIPTORS = __webpack_require__("83ab"); -var USE_NATIVE_URL = __webpack_require__("0d3b"); -var global = __webpack_require__("da84"); -var bind = __webpack_require__("0366"); -var uncurryThis = __webpack_require__("e330"); -var defineProperties = __webpack_require__("37e8").f; -var redefine = __webpack_require__("6eeb"); -var anInstance = __webpack_require__("19aa"); -var hasOwn = __webpack_require__("1a2d"); -var assign = __webpack_require__("60da"); -var arrayFrom = __webpack_require__("4df4"); -var arraySlice = __webpack_require__("4dae"); -var codeAt = __webpack_require__("6547").codeAt; -var toASCII = __webpack_require__("5fb2"); -var $toString = __webpack_require__("577e"); -var setToStringTag = __webpack_require__("d44e"); -var validateArgumentsLength = __webpack_require__("d6d6"); -var URLSearchParamsModule = __webpack_require__("9861"); -var InternalStateModule = __webpack_require__("69f3"); -var setInternalState = InternalStateModule.set; -var getInternalURLState = InternalStateModule.getterFor('URL'); -var URLSearchParams = URLSearchParamsModule.URLSearchParams; -var getInternalSearchParamsState = URLSearchParamsModule.getState; +/***/ }), -var NativeURL = global.URL; -var TypeError = global.TypeError; -var parseInt = global.parseInt; -var floor = Math.floor; -var pow = Math.pow; -var charAt = uncurryThis(''.charAt); -var exec = uncurryThis(/./.exec); -var join = uncurryThis([].join); -var numberToString = uncurryThis(1.0.toString); -var pop = uncurryThis([].pop); -var push = uncurryThis([].push); -var replace = uncurryThis(''.replace); -var shift = uncurryThis([].shift); -var split = uncurryThis(''.split); -var stringSlice = uncurryThis(''.slice); -var toLowerCase = uncurryThis(''.toLowerCase); -var unshift = uncurryThis([].unshift); +/***/ "2ba4": +/***/ (function(module, exports, __webpack_require__) { -var INVALID_AUTHORITY = 'Invalid authority'; -var INVALID_SCHEME = 'Invalid scheme'; -var INVALID_HOST = 'Invalid host'; -var INVALID_PORT = 'Invalid port'; +var NATIVE_BIND = __webpack_require__("40d5"); -var ALPHA = /[a-z]/i; -// eslint-disable-next-line regexp/no-obscure-range -- safe -var ALPHANUMERIC = /[\d+-.a-z]/i; -var DIGIT = /\d/; -var HEX_START = /^0x/i; -var OCT = /^[0-7]+$/; -var DEC = /^\d+$/; -var HEX = /^[\da-f]+$/i; -/* eslint-disable regexp/no-control-character -- safe */ -var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; -var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; -var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g; -var TAB_AND_NEW_LINE = /[\t\n\r]/g; -/* eslint-enable regexp/no-control-character -- safe */ -var EOF; +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; -// https://url.spec.whatwg.org/#ipv4-number-parser -var parseIPv4 = function (input) { - var parts = split(input, '.'); - var partsLength, numbers, index, part, radix, number, ipv4; - if (parts.length && parts[parts.length - 1] == '') { - parts.length--; - } - partsLength = parts.length; - if (partsLength > 4) return input; - numbers = []; - for (index = 0; index < partsLength; index++) { - part = parts[index]; - if (part == '') return input; - radix = 10; - if (part.length > 1 && charAt(part, 0) == '0') { - radix = exec(HEX_START, part) ? 16 : 8; - part = stringSlice(part, radix == 8 ? 1 : 2); - } - if (part === '') { - number = 0; - } else { - if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input; - number = parseInt(part, radix); - } - push(numbers, number); - } - for (index = 0; index < partsLength; index++) { - number = numbers[index]; - if (index == partsLength - 1) { - if (number >= pow(256, 5 - partsLength)) return null; - } else if (number > 255) return null; - } - ipv4 = pop(numbers); - for (index = 0; index < numbers.length; index++) { - ipv4 += numbers[index] * pow(256, 3 - index); - } - return ipv4; -}; +// eslint-disable-next-line es-x/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); -// https://url.spec.whatwg.org/#concept-ipv6-parser -// eslint-disable-next-line max-statements -- TODO -var parseIPv6 = function (input) { - var address = [0, 0, 0, 0, 0, 0, 0, 0]; - var pieceIndex = 0; - var compress = null; - var pointer = 0; - var value, length, numbersSeen, ipv4Piece, number, swaps, swap; - var chr = function () { - return charAt(input, pointer); - }; +/***/ }), - if (chr() == ':') { - if (charAt(input, 1) != ':') return; - pointer += 2; - pieceIndex++; - compress = pieceIndex; - } - while (chr()) { - if (pieceIndex == 8) return; - if (chr() == ':') { - if (compress !== null) return; - pointer++; - pieceIndex++; - compress = pieceIndex; - continue; - } - value = length = 0; - while (length < 4 && exec(HEX, chr())) { - value = value * 16 + parseInt(chr(), 16); - pointer++; - length++; - } - if (chr() == '.') { - if (length == 0) return; - pointer -= length; - if (pieceIndex > 6) return; - numbersSeen = 0; - while (chr()) { - ipv4Piece = null; - if (numbersSeen > 0) { - if (chr() == '.' && numbersSeen < 4) pointer++; - else return; - } - if (!exec(DIGIT, chr())) return; - while (exec(DIGIT, chr())) { - number = parseInt(chr(), 10); - if (ipv4Piece === null) ipv4Piece = number; - else if (ipv4Piece == 0) return; - else ipv4Piece = ipv4Piece * 10 + number; - if (ipv4Piece > 255) return; - pointer++; - } - address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; - numbersSeen++; - if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; - } - if (numbersSeen != 4) return; - break; - } else if (chr() == ':') { - pointer++; - if (!chr()) return; - } else if (chr()) return; - address[pieceIndex++] = value; - } - if (compress !== null) { - swaps = pieceIndex - compress; - pieceIndex = 7; - while (pieceIndex != 0 && swaps > 0) { - swap = address[pieceIndex]; - address[pieceIndex--] = address[compress + swaps - 1]; - address[compress + --swaps] = swap; - } - } else if (pieceIndex != 8) return; - return address; -}; +/***/ "2c3e": +/***/ (function(module, exports, __webpack_require__) { -var findLongestZeroSequence = function (ipv6) { - var maxIndex = null; - var maxLength = 1; - var currStart = null; - var currLength = 0; - var index = 0; - for (; index < 8; index++) { - if (ipv6[index] !== 0) { - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - currStart = null; - currLength = 0; - } else { - if (currStart === null) currStart = index; - ++currLength; - } - } - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - return maxIndex; -}; +var global = __webpack_require__("da84"); +var DESCRIPTORS = __webpack_require__("83ab"); +var MISSED_STICKY = __webpack_require__("9f7f").MISSED_STICKY; +var classof = __webpack_require__("c6b6"); +var defineBuiltInAccessor = __webpack_require__("edd0"); +var getInternalState = __webpack_require__("69f3").get; -// https://url.spec.whatwg.org/#host-serializing -var serializeHost = function (host) { - var result, index, compress, ignore0; - // ipv4 - if (typeof host == 'number') { - result = []; - for (index = 0; index < 4; index++) { - unshift(result, host % 256); - host = floor(host / 256); - } return join(result, '.'); - // ipv6 - } else if (typeof host == 'object') { - result = ''; - compress = findLongestZeroSequence(host); - for (index = 0; index < 8; index++) { - if (ignore0 && host[index] === 0) continue; - if (ignore0) ignore0 = false; - if (compress === index) { - result += index ? ':' : '::'; - ignore0 = true; - } else { - result += numberToString(host[index], 16); - if (index < 7) result += ':'; +var RegExpPrototype = RegExp.prototype; +var TypeError = global.TypeError; + +// `RegExp.prototype.sticky` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky +if (DESCRIPTORS && MISSED_STICKY) { + defineBuiltInAccessor(RegExpPrototype, 'sticky', { + configurable: true, + get: function sticky() { + if (this === RegExpPrototype) return undefined; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).sticky; } + throw TypeError('Incompatible receiver, RegExp required'); } - return '[' + result + ']'; - } return host; -}; - -var C0ControlPercentEncodeSet = {}; -var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { - ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 -}); -var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { - '#': 1, '?': 1, '{': 1, '}': 1 -}); -var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { - '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 -}); + }); +} -var percentEncode = function (chr, set) { - var code = codeAt(chr, 0); - return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); -}; -// https://url.spec.whatwg.org/#special-scheme -var specialSchemes = { - ftp: 21, - file: null, - http: 80, - https: 443, - ws: 80, - wss: 443 -}; +/***/ }), -// https://url.spec.whatwg.org/#windows-drive-letter -var isWindowsDriveLetter = function (string, normalized) { - var second; - return string.length == 2 && exec(ALPHA, charAt(string, 0)) - && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|')); -}; +/***/ "2ca0": +/***/ (function(module, exports, __webpack_require__) { -// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter -var startsWithWindowsDriveLetter = function (string) { - var third; - return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( - string.length == 2 || - ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#') - ); -}; +"use strict"; -// https://url.spec.whatwg.org/#single-dot-path-segment -var isSingleDot = function (segment) { - return segment === '.' || toLowerCase(segment) === '%2e'; -}; +var $ = __webpack_require__("23e7"); +var uncurryThis = __webpack_require__("e330"); +var getOwnPropertyDescriptor = __webpack_require__("06cf").f; +var toLength = __webpack_require__("50c4"); +var toString = __webpack_require__("577e"); +var notARegExp = __webpack_require__("5a34"); +var requireObjectCoercible = __webpack_require__("1d80"); +var correctIsRegExpLogic = __webpack_require__("ab13"); +var IS_PURE = __webpack_require__("c430"); -// https://url.spec.whatwg.org/#double-dot-path-segment -var isDoubleDot = function (segment) { - segment = toLowerCase(segment); - return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; -}; +// eslint-disable-next-line es-x/no-string-prototype-startswith -- safe +var un$StartsWith = uncurryThis(''.startsWith); +var stringSlice = uncurryThis(''.slice); +var min = Math.min; -// States: -var SCHEME_START = {}; -var SCHEME = {}; -var NO_SCHEME = {}; -var SPECIAL_RELATIVE_OR_AUTHORITY = {}; -var PATH_OR_AUTHORITY = {}; -var RELATIVE = {}; -var RELATIVE_SLASH = {}; -var SPECIAL_AUTHORITY_SLASHES = {}; -var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; -var AUTHORITY = {}; -var HOST = {}; -var HOSTNAME = {}; -var PORT = {}; -var FILE = {}; -var FILE_SLASH = {}; -var FILE_HOST = {}; -var PATH_START = {}; -var PATH = {}; -var CANNOT_BE_A_BASE_URL_PATH = {}; -var QUERY = {}; -var FRAGMENT = {}; +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); + return descriptor && !descriptor.writable; +}(); -var URLState = function (url, isBase, base) { - var urlString = $toString(url); - var baseState, failure, searchParams; - if (isBase) { - failure = this.parse(urlString); - if (failure) throw TypeError(failure); - this.searchParams = null; - } else { - if (base !== undefined) baseState = new URLState(base, true); - failure = this.parse(urlString, null, baseState); - if (failure) throw TypeError(failure); - searchParams = getInternalSearchParamsState(new URLSearchParams()); - searchParams.bindURL(this); - this.searchParams = searchParams; +// `String.prototype.startsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = toString(searchString); + return un$StartsWith + ? un$StartsWith(that, search, index) + : stringSlice(that, index, index + search.length) === search; } -}; - -URLState.prototype = { - type: 'URL', - // https://url.spec.whatwg.org/#url-parsing - // eslint-disable-next-line max-statements -- TODO - parse: function (input, stateOverride, base) { - var url = this; - var state = stateOverride || SCHEME_START; - var pointer = 0; - var buffer = ''; - var seenAt = false; - var seenBracket = false; - var seenPasswordToken = false; - var codePoints, chr, bufferCodePoints, failure; - - input = $toString(input); - - if (!stateOverride) { - url.scheme = ''; - url.username = ''; - url.password = ''; - url.host = null; - url.port = null; - url.path = []; - url.query = null; - url.fragment = null; - url.cannotBeABaseURL = false; - input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); - } - - input = replace(input, TAB_AND_NEW_LINE, ''); - - codePoints = arrayFrom(input); - - while (pointer <= codePoints.length) { - chr = codePoints[pointer]; - switch (state) { - case SCHEME_START: - if (chr && exec(ALPHA, chr)) { - buffer += toLowerCase(chr); - state = SCHEME; - } else if (!stateOverride) { - state = NO_SCHEME; - continue; - } else return INVALID_SCHEME; - break; - - case SCHEME: - if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) { - buffer += toLowerCase(chr); - } else if (chr == ':') { - if (stateOverride && ( - (url.isSpecial() != hasOwn(specialSchemes, buffer)) || - (buffer == 'file' && (url.includesCredentials() || url.port !== null)) || - (url.scheme == 'file' && !url.host) - )) return; - url.scheme = buffer; - if (stateOverride) { - if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null; - return; - } - buffer = ''; - if (url.scheme == 'file') { - state = FILE; - } else if (url.isSpecial() && base && base.scheme == url.scheme) { - state = SPECIAL_RELATIVE_OR_AUTHORITY; - } else if (url.isSpecial()) { - state = SPECIAL_AUTHORITY_SLASHES; - } else if (codePoints[pointer + 1] == '/') { - state = PATH_OR_AUTHORITY; - pointer++; - } else { - url.cannotBeABaseURL = true; - push(url.path, ''); - state = CANNOT_BE_A_BASE_URL_PATH; - } - } else if (!stateOverride) { - buffer = ''; - state = NO_SCHEME; - pointer = 0; - continue; - } else return INVALID_SCHEME; - break; - - case NO_SCHEME: - if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME; - if (base.cannotBeABaseURL && chr == '#') { - url.scheme = base.scheme; - url.path = arraySlice(base.path); - url.query = base.query; - url.fragment = ''; - url.cannotBeABaseURL = true; - state = FRAGMENT; - break; - } - state = base.scheme == 'file' ? FILE : RELATIVE; - continue; - - case SPECIAL_RELATIVE_OR_AUTHORITY: - if (chr == '/' && codePoints[pointer + 1] == '/') { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - pointer++; - } else { - state = RELATIVE; - continue; - } break; - - case PATH_OR_AUTHORITY: - if (chr == '/') { - state = AUTHORITY; - break; - } else { - state = PATH; - continue; - } - - case RELATIVE: - url.scheme = base.scheme; - if (chr == EOF) { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = arraySlice(base.path); - url.query = base.query; - } else if (chr == '/' || (chr == '\\' && url.isSpecial())) { - state = RELATIVE_SLASH; - } else if (chr == '?') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = arraySlice(base.path); - url.query = ''; - state = QUERY; - } else if (chr == '#') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = arraySlice(base.path); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = arraySlice(base.path); - url.path.length--; - state = PATH; - continue; - } break; - - case RELATIVE_SLASH: - if (url.isSpecial() && (chr == '/' || chr == '\\')) { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - } else if (chr == '/') { - state = AUTHORITY; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - state = PATH; - continue; - } break; - - case SPECIAL_AUTHORITY_SLASHES: - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue; - pointer++; - break; - - case SPECIAL_AUTHORITY_IGNORE_SLASHES: - if (chr != '/' && chr != '\\') { - state = AUTHORITY; - continue; - } break; - - case AUTHORITY: - if (chr == '@') { - if (seenAt) buffer = '%40' + buffer; - seenAt = true; - bufferCodePoints = arrayFrom(buffer); - for (var i = 0; i < bufferCodePoints.length; i++) { - var codePoint = bufferCodePoints[i]; - if (codePoint == ':' && !seenPasswordToken) { - seenPasswordToken = true; - continue; - } - var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); - if (seenPasswordToken) url.password += encodedCodePoints; - else url.username += encodedCodePoints; - } - buffer = ''; - } else if ( - chr == EOF || chr == '/' || chr == '?' || chr == '#' || - (chr == '\\' && url.isSpecial()) - ) { - if (seenAt && buffer == '') return INVALID_AUTHORITY; - pointer -= arrayFrom(buffer).length + 1; - buffer = ''; - state = HOST; - } else buffer += chr; - break; - - case HOST: - case HOSTNAME: - if (stateOverride && url.scheme == 'file') { - state = FILE_HOST; - continue; - } else if (chr == ':' && !seenBracket) { - if (buffer == '') return INVALID_HOST; - failure = url.parseHost(buffer); - if (failure) return failure; - buffer = ''; - state = PORT; - if (stateOverride == HOSTNAME) return; - } else if ( - chr == EOF || chr == '/' || chr == '?' || chr == '#' || - (chr == '\\' && url.isSpecial()) - ) { - if (url.isSpecial() && buffer == '') return INVALID_HOST; - if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return; - failure = url.parseHost(buffer); - if (failure) return failure; - buffer = ''; - state = PATH_START; - if (stateOverride) return; - continue; - } else { - if (chr == '[') seenBracket = true; - else if (chr == ']') seenBracket = false; - buffer += chr; - } break; - - case PORT: - if (exec(DIGIT, chr)) { - buffer += chr; - } else if ( - chr == EOF || chr == '/' || chr == '?' || chr == '#' || - (chr == '\\' && url.isSpecial()) || - stateOverride - ) { - if (buffer != '') { - var port = parseInt(buffer, 10); - if (port > 0xFFFF) return INVALID_PORT; - url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; - buffer = ''; - } - if (stateOverride) return; - state = PATH_START; - continue; - } else return INVALID_PORT; - break; - - case FILE: - url.scheme = 'file'; - if (chr == '/' || chr == '\\') state = FILE_SLASH; - else if (base && base.scheme == 'file') { - if (chr == EOF) { - url.host = base.host; - url.path = arraySlice(base.path); - url.query = base.query; - } else if (chr == '?') { - url.host = base.host; - url.path = arraySlice(base.path); - url.query = ''; - state = QUERY; - } else if (chr == '#') { - url.host = base.host; - url.path = arraySlice(base.path); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { - url.host = base.host; - url.path = arraySlice(base.path); - url.shortenPath(); - } - state = PATH; - continue; - } - } else { - state = PATH; - continue; - } break; - - case FILE_SLASH: - if (chr == '/' || chr == '\\') { - state = FILE_HOST; - break; - } - if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { - if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]); - else url.host = base.host; - } - state = PATH; - continue; - - case FILE_HOST: - if (chr == EOF || chr == '/' || chr == '\\' || chr == '?' || chr == '#') { - if (!stateOverride && isWindowsDriveLetter(buffer)) { - state = PATH; - } else if (buffer == '') { - url.host = ''; - if (stateOverride) return; - state = PATH_START; - } else { - failure = url.parseHost(buffer); - if (failure) return failure; - if (url.host == 'localhost') url.host = ''; - if (stateOverride) return; - buffer = ''; - state = PATH_START; - } continue; - } else buffer += chr; - break; - - case PATH_START: - if (url.isSpecial()) { - state = PATH; - if (chr != '/' && chr != '\\') continue; - } else if (!stateOverride && chr == '?') { - url.query = ''; - state = QUERY; - } else if (!stateOverride && chr == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (chr != EOF) { - state = PATH; - if (chr != '/') continue; - } break; - - case PATH: - if ( - chr == EOF || chr == '/' || - (chr == '\\' && url.isSpecial()) || - (!stateOverride && (chr == '?' || chr == '#')) - ) { - if (isDoubleDot(buffer)) { - url.shortenPath(); - if (chr != '/' && !(chr == '\\' && url.isSpecial())) { - push(url.path, ''); - } - } else if (isSingleDot(buffer)) { - if (chr != '/' && !(chr == '\\' && url.isSpecial())) { - push(url.path, ''); - } - } else { - if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { - if (url.host) url.host = ''; - buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter - } - push(url.path, buffer); - } - buffer = ''; - if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) { - while (url.path.length > 1 && url.path[0] === '') { - shift(url.path); - } - } - if (chr == '?') { - url.query = ''; - state = QUERY; - } else if (chr == '#') { - url.fragment = ''; - state = FRAGMENT; - } - } else { - buffer += percentEncode(chr, pathPercentEncodeSet); - } break; - - case CANNOT_BE_A_BASE_URL_PATH: - if (chr == '?') { - url.query = ''; - state = QUERY; - } else if (chr == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (chr != EOF) { - url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); - } break; - - case QUERY: - if (!stateOverride && chr == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (chr != EOF) { - if (chr == "'" && url.isSpecial()) url.query += '%27'; - else if (chr == '#') url.query += '%23'; - else url.query += percentEncode(chr, C0ControlPercentEncodeSet); - } break; - - case FRAGMENT: - if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); - break; - } - - pointer++; - } - }, - // https://url.spec.whatwg.org/#host-parsing - parseHost: function (input) { - var result, codePoints, index; - if (charAt(input, 0) == '[') { - if (charAt(input, input.length - 1) != ']') return INVALID_HOST; - result = parseIPv6(stringSlice(input, 1, -1)); - if (!result) return INVALID_HOST; - this.host = result; - // opaque host - } else if (!this.isSpecial()) { - if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST; - result = ''; - codePoints = arrayFrom(input); - for (index = 0; index < codePoints.length; index++) { - result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); - } - this.host = result; - } else { - input = toASCII(input); - if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST; - result = parseIPv4(input); - if (result === null) return INVALID_HOST; - this.host = result; - } - }, - // https://url.spec.whatwg.org/#cannot-have-a-username-password-port - cannotHaveUsernamePasswordPort: function () { - return !this.host || this.cannotBeABaseURL || this.scheme == 'file'; - }, - // https://url.spec.whatwg.org/#include-credentials - includesCredentials: function () { - return this.username != '' || this.password != ''; - }, - // https://url.spec.whatwg.org/#is-special - isSpecial: function () { - return hasOwn(specialSchemes, this.scheme); - }, - // https://url.spec.whatwg.org/#shorten-a-urls-path - shortenPath: function () { - var path = this.path; - var pathSize = path.length; - if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { - path.length--; - } - }, - // https://url.spec.whatwg.org/#concept-url-serializer - serialize: function () { - var url = this; - var scheme = url.scheme; - var username = url.username; - var password = url.password; - var host = url.host; - var port = url.port; - var path = url.path; - var query = url.query; - var fragment = url.fragment; - var output = scheme + ':'; - if (host !== null) { - output += '//'; - if (url.includesCredentials()) { - output += username + (password ? ':' + password : '') + '@'; - } - output += serializeHost(host); - if (port !== null) output += ':' + port; - } else if (scheme == 'file') output += '//'; - output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; - if (query !== null) output += '?' + query; - if (fragment !== null) output += '#' + fragment; - return output; - }, - // https://url.spec.whatwg.org/#dom-url-href - setHref: function (href) { - var failure = this.parse(href); - if (failure) throw TypeError(failure); - this.searchParams.update(); - }, - // https://url.spec.whatwg.org/#dom-url-origin - getOrigin: function () { - var scheme = this.scheme; - var port = this.port; - if (scheme == 'blob') try { - return new URLConstructor(scheme.path[0]).origin; - } catch (error) { - return 'null'; - } - if (scheme == 'file' || !this.isSpecial()) return 'null'; - return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); - }, - // https://url.spec.whatwg.org/#dom-url-protocol - getProtocol: function () { - return this.scheme + ':'; - }, - setProtocol: function (protocol) { - this.parse($toString(protocol) + ':', SCHEME_START); - }, - // https://url.spec.whatwg.org/#dom-url-username - getUsername: function () { - return this.username; - }, - setUsername: function (username) { - var codePoints = arrayFrom($toString(username)); - if (this.cannotHaveUsernamePasswordPort()) return; - this.username = ''; - for (var i = 0; i < codePoints.length; i++) { - this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }, - // https://url.spec.whatwg.org/#dom-url-password - getPassword: function () { - return this.password; - }, - setPassword: function (password) { - var codePoints = arrayFrom($toString(password)); - if (this.cannotHaveUsernamePasswordPort()) return; - this.password = ''; - for (var i = 0; i < codePoints.length; i++) { - this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }, - // https://url.spec.whatwg.org/#dom-url-host - getHost: function () { - var host = this.host; - var port = this.port; - return host === null ? '' - : port === null ? serializeHost(host) - : serializeHost(host) + ':' + port; - }, - setHost: function (host) { - if (this.cannotBeABaseURL) return; - this.parse(host, HOST); - }, - // https://url.spec.whatwg.org/#dom-url-hostname - getHostname: function () { - var host = this.host; - return host === null ? '' : serializeHost(host); - }, - setHostname: function (hostname) { - if (this.cannotBeABaseURL) return; - this.parse(hostname, HOSTNAME); - }, - // https://url.spec.whatwg.org/#dom-url-port - getPort: function () { - var port = this.port; - return port === null ? '' : $toString(port); - }, - setPort: function (port) { - if (this.cannotHaveUsernamePasswordPort()) return; - port = $toString(port); - if (port == '') this.port = null; - else this.parse(port, PORT); - }, - // https://url.spec.whatwg.org/#dom-url-pathname - getPathname: function () { - var path = this.path; - return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; - }, - setPathname: function (pathname) { - if (this.cannotBeABaseURL) return; - this.path = []; - this.parse(pathname, PATH_START); - }, - // https://url.spec.whatwg.org/#dom-url-search - getSearch: function () { - var query = this.query; - return query ? '?' + query : ''; - }, - setSearch: function (search) { - search = $toString(search); - if (search == '') { - this.query = null; - } else { - if ('?' == charAt(search, 0)) search = stringSlice(search, 1); - this.query = ''; - this.parse(search, QUERY); - } - this.searchParams.update(); - }, - // https://url.spec.whatwg.org/#dom-url-searchparams - getSearchParams: function () { - return this.searchParams.facade; - }, - // https://url.spec.whatwg.org/#dom-url-hash - getHash: function () { - var fragment = this.fragment; - return fragment ? '#' + fragment : ''; - }, - setHash: function (hash) { - hash = $toString(hash); - if (hash == '') { - this.fragment = null; - return; - } - if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1); - this.fragment = ''; - this.parse(hash, FRAGMENT); - }, - update: function () { - this.query = this.searchParams.serialize() || null; - } -}; - -// `URL` constructor -// https://url.spec.whatwg.org/#url-class -var URLConstructor = function URL(url /* , base */) { - var that = anInstance(this, URLPrototype); - var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; - var state = setInternalState(that, new URLState(url, false, base)); - if (!DESCRIPTORS) { - that.href = state.serialize(); - that.origin = state.getOrigin(); - that.protocol = state.getProtocol(); - that.username = state.getUsername(); - that.password = state.getPassword(); - that.host = state.getHost(); - that.hostname = state.getHostname(); - that.port = state.getPort(); - that.pathname = state.getPathname(); - that.search = state.getSearch(); - that.searchParams = state.getSearchParams(); - that.hash = state.getHash(); - } -}; - -var URLPrototype = URLConstructor.prototype; - -var accessorDescriptor = function (getter, setter) { - return { - get: function () { - return getInternalURLState(this)[getter](); - }, - set: setter && function (value) { - return getInternalURLState(this)[setter](value); - }, - configurable: true, - enumerable: true - }; -}; - -if (DESCRIPTORS) { - defineProperties(URLPrototype, { - // `URL.prototype.href` accessors pair - // https://url.spec.whatwg.org/#dom-url-href - href: accessorDescriptor('serialize', 'setHref'), - // `URL.prototype.origin` getter - // https://url.spec.whatwg.org/#dom-url-origin - origin: accessorDescriptor('getOrigin'), - // `URL.prototype.protocol` accessors pair - // https://url.spec.whatwg.org/#dom-url-protocol - protocol: accessorDescriptor('getProtocol', 'setProtocol'), - // `URL.prototype.username` accessors pair - // https://url.spec.whatwg.org/#dom-url-username - username: accessorDescriptor('getUsername', 'setUsername'), - // `URL.prototype.password` accessors pair - // https://url.spec.whatwg.org/#dom-url-password - password: accessorDescriptor('getPassword', 'setPassword'), - // `URL.prototype.host` accessors pair - // https://url.spec.whatwg.org/#dom-url-host - host: accessorDescriptor('getHost', 'setHost'), - // `URL.prototype.hostname` accessors pair - // https://url.spec.whatwg.org/#dom-url-hostname - hostname: accessorDescriptor('getHostname', 'setHostname'), - // `URL.prototype.port` accessors pair - // https://url.spec.whatwg.org/#dom-url-port - port: accessorDescriptor('getPort', 'setPort'), - // `URL.prototype.pathname` accessors pair - // https://url.spec.whatwg.org/#dom-url-pathname - pathname: accessorDescriptor('getPathname', 'setPathname'), - // `URL.prototype.search` accessors pair - // https://url.spec.whatwg.org/#dom-url-search - search: accessorDescriptor('getSearch', 'setSearch'), - // `URL.prototype.searchParams` getter - // https://url.spec.whatwg.org/#dom-url-searchparams - searchParams: accessorDescriptor('getSearchParams'), - // `URL.prototype.hash` accessors pair - // https://url.spec.whatwg.org/#dom-url-hash - hash: accessorDescriptor('getHash', 'setHash') - }); -} - -// `URL.prototype.toJSON` method -// https://url.spec.whatwg.org/#dom-url-tojson -redefine(URLPrototype, 'toJSON', function toJSON() { - return getInternalURLState(this).serialize(); -}, { enumerable: true }); - -// `URL.prototype.toString` method -// https://url.spec.whatwg.org/#URL-stringification-behavior -redefine(URLPrototype, 'toString', function toString() { - return getInternalURLState(this).serialize(); -}, { enumerable: true }); - -if (NativeURL) { - var nativeCreateObjectURL = NativeURL.createObjectURL; - var nativeRevokeObjectURL = NativeURL.revokeObjectURL; - // `URL.createObjectURL` method - // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL - if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL)); - // `URL.revokeObjectURL` method - // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL - if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL)); -} - -setToStringTag(URLConstructor, 'URL'); - -$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { - URL: URLConstructor -}); - - -/***/ }), - -/***/ "2ba4": -/***/ (function(module, exports, __webpack_require__) { - -var NATIVE_BIND = __webpack_require__("40d5"); - -var FunctionPrototype = Function.prototype; -var apply = FunctionPrototype.apply; -var call = FunctionPrototype.call; - -// eslint-disable-next-line es/no-reflect -- safe -module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { - return call.apply(apply, arguments); -}); - - -/***/ }), - -/***/ "2c3e": -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__("da84"); -var DESCRIPTORS = __webpack_require__("83ab"); -var MISSED_STICKY = __webpack_require__("9f7f").MISSED_STICKY; -var classof = __webpack_require__("c6b6"); -var defineProperty = __webpack_require__("9bf2").f; -var getInternalState = __webpack_require__("69f3").get; - -var RegExpPrototype = RegExp.prototype; -var TypeError = global.TypeError; - -// `RegExp.prototype.sticky` getter -// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky -if (DESCRIPTORS && MISSED_STICKY) { - defineProperty(RegExpPrototype, 'sticky', { - configurable: true, - get: function () { - if (this === RegExpPrototype) return undefined; - // We can't use InternalStateModule.getterFor because - // we don't add metadata for regexps created by a literal. - if (classof(this) === 'RegExp') { - return !!getInternalState(this).sticky; - } - throw TypeError('Incompatible receiver, RegExp required'); - } - }); -} +}); /***/ }), -/***/ "2ca0": +/***/ "2ca8": /***/ (function(module, exports, __webpack_require__) { -"use strict"; - var $ = __webpack_require__("23e7"); -var uncurryThis = __webpack_require__("e330"); -var getOwnPropertyDescriptor = __webpack_require__("06cf").f; -var toLength = __webpack_require__("50c4"); -var toString = __webpack_require__("577e"); -var notARegExp = __webpack_require__("5a34"); -var requireObjectCoercible = __webpack_require__("1d80"); -var correctIsRegExpLogic = __webpack_require__("ab13"); -var IS_PURE = __webpack_require__("c430"); - -// eslint-disable-next-line es/no-string-prototype-startswith -- safe -var un$StartsWith = uncurryThis(''.startsWith); -var stringSlice = uncurryThis(''.slice); -var min = Math.min; - -var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); -// https://github.com/zloirock/core-js/pull/702 -var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { - var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); - return descriptor && !descriptor.writable; -}(); +var global = __webpack_require__("da84"); +var setInterval = __webpack_require__("20cc").setInterval; -// `String.prototype.startsWith` method -// https://tc39.es/ecma262/#sec-string.prototype.startswith -$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { - startsWith: function startsWith(searchString /* , position = 0 */) { - var that = toString(requireObjectCoercible(this)); - notARegExp(searchString); - var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); - var search = toString(searchString); - return un$StartsWith - ? un$StartsWith(that, search, index) - : stringSlice(that, index, index + search.length) === search; - } +// ie9- setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval +$({ global: true, bind: true, forced: global.setInterval !== setInterval }, { + setInterval: setInterval }); @@ -7163,6 +6297,40 @@ var getBuiltIn = __webpack_require__("d066"); module.exports = getBuiltIn('navigator', 'userAgent') || ''; +/***/ }), + +/***/ "3529": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var call = __webpack_require__("c65b"); +var aCallable = __webpack_require__("59ed"); +var newPromiseCapabilityModule = __webpack_require__("f069"); +var perform = __webpack_require__("e667"); +var iterate = __webpack_require__("2266"); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__("5eed"); + +// `Promise.race` method +// https://tc39.es/ecma262/#sec-promise.race +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + race: function race(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + /***/ }), /***/ "35a1": @@ -7310,7 +6478,7 @@ var objectKeys = __webpack_require__("df75"); // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties -// eslint-disable-next-line es/no-object-defineproperties -- safe +// eslint-disable-next-line es-x/no-object-defineproperties -- safe exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var props = toIndexedObject(Properties); @@ -7802,186 +6970,1247 @@ function Presets() { ret = -1; VBR_q = 0; } - if (9 < VBR_q) { - ret = -1; - VBR_q = 9; + if (9 < VBR_q) { + ret = -1; + VBR_q = 9; + } + + gfp.VBR_q = VBR_q; + gfp.VBR_q_frac = 0; + return ret; + } + +} + +module.exports = Presets; + + +/***/ }), + +/***/ "3a7b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var $findIndex = __webpack_require__("b727").findIndex; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex +exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), + +/***/ "3a9b": +/***/ (function(module, exports, __webpack_require__) { + +var uncurryThis = __webpack_require__("e330"); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), + +/***/ "3bbe": +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__("da84"); +var isCallable = __webpack_require__("1626"); + +var String = global.String; +var TypeError = global.TypeError; + +module.exports = function (argument) { + if (typeof argument == 'object' || isCallable(argument)) return argument; + throw TypeError("Can't set " + String(argument) + ' as a prototype'); +}; + + +/***/ }), + +/***/ "3c5d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__("da84"); +var call = __webpack_require__("c65b"); +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var lengthOfArrayLike = __webpack_require__("07fa"); +var toOffset = __webpack_require__("182d"); +var toIndexedObject = __webpack_require__("7b0b"); +var fails = __webpack_require__("d039"); + +var RangeError = global.RangeError; +var Int8Array = global.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es-x/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), + +/***/ "3ca3": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var charAt = __webpack_require__("6547").charAt; +var toString = __webpack_require__("577e"); +var InternalStateModule = __webpack_require__("69f3"); +var defineIterator = __webpack_require__("7dd0"); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return { value: undefined, done: true }; + point = charAt(string, index); + state.index += point.length; + return { value: point, done: false }; +}); + + +/***/ }), + +/***/ "3d87": +/***/ (function(module, exports, __webpack_require__) { + +var NATIVE_SYMBOL = __webpack_require__("4930"); + +/* eslint-disable es-x/no-symbol -- safe */ +module.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor; + + +/***/ }), + +/***/ "3f8c": +/***/ (function(module, exports) { + +module.exports = {}; + + +/***/ }), + +/***/ "3fcc": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var $map = __webpack_require__("b727").map; +var typedArraySpeciesConstructor = __webpack_require__("b6b7"); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.map` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map +exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + return new (typedArraySpeciesConstructor(O))(length); + }); +}); + + +/***/ }), + +/***/ "4002": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__("3ca3"); +var $ = __webpack_require__("23e7"); +var DESCRIPTORS = __webpack_require__("83ab"); +var USE_NATIVE_URL = __webpack_require__("0d3b"); +var global = __webpack_require__("da84"); +var bind = __webpack_require__("0366"); +var uncurryThis = __webpack_require__("e330"); +var defineBuiltIn = __webpack_require__("cb2d"); +var defineBuiltInAccessor = __webpack_require__("edd0"); +var anInstance = __webpack_require__("19aa"); +var hasOwn = __webpack_require__("1a2d"); +var assign = __webpack_require__("60da"); +var arrayFrom = __webpack_require__("4df4"); +var arraySlice = __webpack_require__("4dae"); +var codeAt = __webpack_require__("6547").codeAt; +var toASCII = __webpack_require__("5fb2"); +var $toString = __webpack_require__("577e"); +var setToStringTag = __webpack_require__("d44e"); +var validateArgumentsLength = __webpack_require__("d6d6"); +var URLSearchParamsModule = __webpack_require__("5352"); +var InternalStateModule = __webpack_require__("69f3"); + +var setInternalState = InternalStateModule.set; +var getInternalURLState = InternalStateModule.getterFor('URL'); +var URLSearchParams = URLSearchParamsModule.URLSearchParams; +var getInternalSearchParamsState = URLSearchParamsModule.getState; + +var NativeURL = global.URL; +var TypeError = global.TypeError; +var parseInt = global.parseInt; +var floor = Math.floor; +var pow = Math.pow; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var join = uncurryThis([].join); +var numberToString = uncurryThis(1.0.toString); +var pop = uncurryThis([].pop); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var toLowerCase = uncurryThis(''.toLowerCase); +var unshift = uncurryThis([].unshift); + +var INVALID_AUTHORITY = 'Invalid authority'; +var INVALID_SCHEME = 'Invalid scheme'; +var INVALID_HOST = 'Invalid host'; +var INVALID_PORT = 'Invalid port'; + +var ALPHA = /[a-z]/i; +// eslint-disable-next-line regexp/no-obscure-range -- safe +var ALPHANUMERIC = /[\d+-.a-z]/i; +var DIGIT = /\d/; +var HEX_START = /^0x/i; +var OCT = /^[0-7]+$/; +var DEC = /^\d+$/; +var HEX = /^[\da-f]+$/i; +/* eslint-disable regexp/no-control-character -- safe */ +var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; +var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; +var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g; +var TAB_AND_NEW_LINE = /[\t\n\r]/g; +/* eslint-enable regexp/no-control-character -- safe */ +var EOF; + +// https://url.spec.whatwg.org/#ipv4-number-parser +var parseIPv4 = function (input) { + var parts = split(input, '.'); + var partsLength, numbers, index, part, radix, number, ipv4; + if (parts.length && parts[parts.length - 1] == '') { + parts.length--; + } + partsLength = parts.length; + if (partsLength > 4) return input; + numbers = []; + for (index = 0; index < partsLength; index++) { + part = parts[index]; + if (part == '') return input; + radix = 10; + if (part.length > 1 && charAt(part, 0) == '0') { + radix = exec(HEX_START, part) ? 16 : 8; + part = stringSlice(part, radix == 8 ? 1 : 2); + } + if (part === '') { + number = 0; + } else { + if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input; + number = parseInt(part, radix); + } + push(numbers, number); + } + for (index = 0; index < partsLength; index++) { + number = numbers[index]; + if (index == partsLength - 1) { + if (number >= pow(256, 5 - partsLength)) return null; + } else if (number > 255) return null; + } + ipv4 = pop(numbers); + for (index = 0; index < numbers.length; index++) { + ipv4 += numbers[index] * pow(256, 3 - index); + } + return ipv4; +}; + +// https://url.spec.whatwg.org/#concept-ipv6-parser +// eslint-disable-next-line max-statements -- TODO +var parseIPv6 = function (input) { + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var pointer = 0; + var value, length, numbersSeen, ipv4Piece, number, swaps, swap; + + var chr = function () { + return charAt(input, pointer); + }; + + if (chr() == ':') { + if (charAt(input, 1) != ':') return; + pointer += 2; + pieceIndex++; + compress = pieceIndex; + } + while (chr()) { + if (pieceIndex == 8) return; + if (chr() == ':') { + if (compress !== null) return; + pointer++; + pieceIndex++; + compress = pieceIndex; + continue; + } + value = length = 0; + while (length < 4 && exec(HEX, chr())) { + value = value * 16 + parseInt(chr(), 16); + pointer++; + length++; + } + if (chr() == '.') { + if (length == 0) return; + pointer -= length; + if (pieceIndex > 6) return; + numbersSeen = 0; + while (chr()) { + ipv4Piece = null; + if (numbersSeen > 0) { + if (chr() == '.' && numbersSeen < 4) pointer++; + else return; + } + if (!exec(DIGIT, chr())) return; + while (exec(DIGIT, chr())) { + number = parseInt(chr(), 10); + if (ipv4Piece === null) ipv4Piece = number; + else if (ipv4Piece == 0) return; + else ipv4Piece = ipv4Piece * 10 + number; + if (ipv4Piece > 255) return; + pointer++; } - - gfp.VBR_q = VBR_q; - gfp.VBR_q_frac = 0; - return ret; + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + numbersSeen++; + if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; + } + if (numbersSeen != 4) return; + break; + } else if (chr() == ':') { + pointer++; + if (!chr()) return; + } else if (chr()) return; + address[pieceIndex++] = value; + } + if (compress !== null) { + swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex != 0 && swaps > 0) { + swap = address[pieceIndex]; + address[pieceIndex--] = address[compress + swaps - 1]; + address[compress + --swaps] = swap; } + } else if (pieceIndex != 8) return; + return address; +}; -} - -module.exports = Presets; +var findLongestZeroSequence = function (ipv6) { + var maxIndex = null; + var maxLength = 1; + var currStart = null; + var currLength = 0; + var index = 0; + for (; index < 8; index++) { + if (ipv6[index] !== 0) { + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + currStart = null; + currLength = 0; + } else { + if (currStart === null) currStart = index; + ++currLength; + } + } + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + return maxIndex; +}; +// https://url.spec.whatwg.org/#host-serializing +var serializeHost = function (host) { + var result, index, compress, ignore0; + // ipv4 + if (typeof host == 'number') { + result = []; + for (index = 0; index < 4; index++) { + unshift(result, host % 256); + host = floor(host / 256); + } return join(result, '.'); + // ipv6 + } else if (typeof host == 'object') { + result = ''; + compress = findLongestZeroSequence(host); + for (index = 0; index < 8; index++) { + if (ignore0 && host[index] === 0) continue; + if (ignore0) ignore0 = false; + if (compress === index) { + result += index ? ':' : '::'; + ignore0 = true; + } else { + result += numberToString(host[index], 16); + if (index < 7) result += ':'; + } + } + return '[' + result + ']'; + } return host; +}; -/***/ }), +var C0ControlPercentEncodeSet = {}; +var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { + ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 +}); +var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { + '#': 1, '?': 1, '{': 1, '}': 1 +}); +var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { + '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 +}); -/***/ "3a7b": -/***/ (function(module, exports, __webpack_require__) { +var percentEncode = function (chr, set) { + var code = codeAt(chr, 0); + return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); +}; -"use strict"; +// https://url.spec.whatwg.org/#special-scheme +var specialSchemes = { + ftp: 21, + file: null, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; -var ArrayBufferViewCore = __webpack_require__("ebb5"); -var $findIndex = __webpack_require__("b727").findIndex; +// https://url.spec.whatwg.org/#windows-drive-letter +var isWindowsDriveLetter = function (string, normalized) { + var second; + return string.length == 2 && exec(ALPHA, charAt(string, 0)) + && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|')); +}; -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter +var startsWithWindowsDriveLetter = function (string) { + var third; + return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( + string.length == 2 || + ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#') + ); +}; -// `%TypedArray%.prototype.findIndex` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex -exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { - return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); -}); +// https://url.spec.whatwg.org/#single-dot-path-segment +var isSingleDot = function (segment) { + return segment === '.' || toLowerCase(segment) === '%2e'; +}; +// https://url.spec.whatwg.org/#double-dot-path-segment +var isDoubleDot = function (segment) { + segment = toLowerCase(segment); + return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; +}; -/***/ }), +// States: +var SCHEME_START = {}; +var SCHEME = {}; +var NO_SCHEME = {}; +var SPECIAL_RELATIVE_OR_AUTHORITY = {}; +var PATH_OR_AUTHORITY = {}; +var RELATIVE = {}; +var RELATIVE_SLASH = {}; +var SPECIAL_AUTHORITY_SLASHES = {}; +var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; +var AUTHORITY = {}; +var HOST = {}; +var HOSTNAME = {}; +var PORT = {}; +var FILE = {}; +var FILE_SLASH = {}; +var FILE_HOST = {}; +var PATH_START = {}; +var PATH = {}; +var CANNOT_BE_A_BASE_URL_PATH = {}; +var QUERY = {}; +var FRAGMENT = {}; -/***/ "3a9b": -/***/ (function(module, exports, __webpack_require__) { +var URLState = function (url, isBase, base) { + var urlString = $toString(url); + var baseState, failure, searchParams; + if (isBase) { + failure = this.parse(urlString); + if (failure) throw TypeError(failure); + this.searchParams = null; + } else { + if (base !== undefined) baseState = new URLState(base, true); + failure = this.parse(urlString, null, baseState); + if (failure) throw TypeError(failure); + searchParams = getInternalSearchParamsState(new URLSearchParams()); + searchParams.bindURL(this); + this.searchParams = searchParams; + } +}; -var uncurryThis = __webpack_require__("e330"); +URLState.prototype = { + type: 'URL', + // https://url.spec.whatwg.org/#url-parsing + // eslint-disable-next-line max-statements -- TODO + parse: function (input, stateOverride, base) { + var url = this; + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, chr, bufferCodePoints, failure; -module.exports = uncurryThis({}.isPrototypeOf); + input = $toString(input); + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); + } -/***/ }), + input = replace(input, TAB_AND_NEW_LINE, ''); -/***/ "3bbe": -/***/ (function(module, exports, __webpack_require__) { + codePoints = arrayFrom(input); -var global = __webpack_require__("da84"); -var isCallable = __webpack_require__("1626"); + while (pointer <= codePoints.length) { + chr = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (chr && exec(ALPHA, chr)) { + buffer += toLowerCase(chr); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; + continue; + } else return INVALID_SCHEME; + break; -var String = global.String; -var TypeError = global.TypeError; + case SCHEME: + if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) { + buffer += toLowerCase(chr); + } else if (chr == ':') { + if (stateOverride && ( + (url.isSpecial() != hasOwn(specialSchemes, buffer)) || + (buffer == 'file' && (url.includesCredentials() || url.port !== null)) || + (url.scheme == 'file' && !url.host) + )) return; + url.scheme = buffer; + if (stateOverride) { + if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null; + return; + } + buffer = ''; + if (url.scheme == 'file') { + state = FILE; + } else if (url.isSpecial() && base && base.scheme == url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (url.isSpecial()) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] == '/') { + state = PATH_OR_AUTHORITY; + pointer++; + } else { + url.cannotBeABaseURL = true; + push(url.path, ''); + state = CANNOT_BE_A_BASE_URL_PATH; + } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else return INVALID_SCHEME; + break; -module.exports = function (argument) { - if (typeof argument == 'object' || isCallable(argument)) return argument; - throw TypeError("Can't set " + String(argument) + ' as a prototype'); -}; + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME; + if (base.cannotBeABaseURL && chr == '#') { + url.scheme = base.scheme; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme == 'file' ? FILE : RELATIVE; + continue; + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (chr == '/' && codePoints[pointer + 1] == '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; -/***/ }), + case PATH_OR_AUTHORITY: + if (chr == '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } -/***/ "3c5d": -/***/ (function(module, exports, __webpack_require__) { + case RELATIVE: + url.scheme = base.scheme; + if (chr == EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + } else if (chr == '/' || (chr == '\\' && url.isSpecial())) { + state = RELATIVE_SLASH; + } else if (chr == '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + } else if (chr == '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.path.length--; + state = PATH; + continue; + } break; -"use strict"; + case RELATIVE_SLASH: + if (url.isSpecial() && (chr == '/' || chr == '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (chr == '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; -var global = __webpack_require__("da84"); -var call = __webpack_require__("c65b"); -var ArrayBufferViewCore = __webpack_require__("ebb5"); -var lengthOfArrayLike = __webpack_require__("07fa"); -var toOffset = __webpack_require__("182d"); -var toIndexedObject = __webpack_require__("7b0b"); -var fails = __webpack_require__("d039"); + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue; + pointer++; + break; -var RangeError = global.RangeError; -var Int8Array = global.Int8Array; -var Int8ArrayPrototype = Int8Array && Int8Array.prototype; -var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (chr != '/' && chr != '\\') { + state = AUTHORITY; + continue; + } break; -var WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () { - // eslint-disable-next-line es/no-typed-arrays -- required for testing - var array = new Uint8ClampedArray(2); - call($set, array, { length: 1, 0: 3 }, 1); - return array[1] !== 3; -}); + case AUTHORITY: + if (chr == '@') { + if (seenAt) buffer = '%40' + buffer; + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint == ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) url.password += encodedCodePoints; + else url.username += encodedCodePoints; + } + buffer = ''; + } else if ( + chr == EOF || chr == '/' || chr == '?' || chr == '#' || + (chr == '\\' && url.isSpecial()) + ) { + if (seenAt && buffer == '') return INVALID_AUTHORITY; + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else buffer += chr; + break; -// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other -var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { - var array = new Int8Array(2); - array.set(1); - array.set('2', 1); - return array[0] !== 0 || array[1] !== 2; -}); + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme == 'file') { + state = FILE_HOST; + continue; + } else if (chr == ':' && !seenBracket) { + if (buffer == '') return INVALID_HOST; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PORT; + if (stateOverride == HOSTNAME) return; + } else if ( + chr == EOF || chr == '/' || chr == '?' || chr == '#' || + (chr == '\\' && url.isSpecial()) + ) { + if (url.isSpecial() && buffer == '') return INVALID_HOST; + if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PATH_START; + if (stateOverride) return; + continue; + } else { + if (chr == '[') seenBracket = true; + else if (chr == ']') seenBracket = false; + buffer += chr; + } break; -// `%TypedArray%.prototype.set` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set -exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { - aTypedArray(this); - var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); - var src = toIndexedObject(arrayLike); - if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); - var length = this.length; - var len = lengthOfArrayLike(src); - var index = 0; - if (len + offset > length) throw RangeError('Wrong length'); - while (index < len) this[offset + index] = src[index++]; -}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + case PORT: + if (exec(DIGIT, chr)) { + buffer += chr; + } else if ( + chr == EOF || chr == '/' || chr == '?' || chr == '#' || + (chr == '\\' && url.isSpecial()) || + stateOverride + ) { + if (buffer != '') { + var port = parseInt(buffer, 10); + if (port > 0xFFFF) return INVALID_PORT; + url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) return; + state = PATH_START; + continue; + } else return INVALID_PORT; + break; + case FILE: + url.scheme = 'file'; + if (chr == '/' || chr == '\\') state = FILE_SLASH; + else if (base && base.scheme == 'file') { + if (chr == EOF) { + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + } else if (chr == '?') { + url.host = base.host; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + } else if (chr == '#') { + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + url.host = base.host; + url.path = arraySlice(base.path); + url.shortenPath(); + } + state = PATH; + continue; + } + } else { + state = PATH; + continue; + } break; -/***/ }), + case FILE_SLASH: + if (chr == '/' || chr == '\\') { + state = FILE_HOST; + break; + } + if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]); + else url.host = base.host; + } + state = PATH; + continue; -/***/ "3ca3": -/***/ (function(module, exports, __webpack_require__) { + case FILE_HOST: + if (chr == EOF || chr == '/' || chr == '\\' || chr == '?' || chr == '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { + state = PATH; + } else if (buffer == '') { + url.host = ''; + if (stateOverride) return; + state = PATH_START; + } else { + failure = url.parseHost(buffer); + if (failure) return failure; + if (url.host == 'localhost') url.host = ''; + if (stateOverride) return; + buffer = ''; + state = PATH_START; + } continue; + } else buffer += chr; + break; -"use strict"; + case PATH_START: + if (url.isSpecial()) { + state = PATH; + if (chr != '/' && chr != '\\') continue; + } else if (!stateOverride && chr == '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && chr == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr != EOF) { + state = PATH; + if (chr != '/') continue; + } break; -var charAt = __webpack_require__("6547").charAt; -var toString = __webpack_require__("577e"); -var InternalStateModule = __webpack_require__("69f3"); -var defineIterator = __webpack_require__("7dd0"); + case PATH: + if ( + chr == EOF || chr == '/' || + (chr == '\\' && url.isSpecial()) || + (!stateOverride && (chr == '?' || chr == '#')) + ) { + if (isDoubleDot(buffer)) { + url.shortenPath(); + if (chr != '/' && !(chr == '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else if (isSingleDot(buffer)) { + if (chr != '/' && !(chr == '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else { + if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) url.host = ''; + buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter + } + push(url.path, buffer); + } + buffer = ''; + if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) { + while (url.path.length > 1 && url.path[0] === '') { + shift(url.path); + } + } + if (chr == '?') { + url.query = ''; + state = QUERY; + } else if (chr == '#') { + url.fragment = ''; + state = FRAGMENT; + } + } else { + buffer += percentEncode(chr, pathPercentEncodeSet); + } break; -var STRING_ITERATOR = 'String Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + case CANNOT_BE_A_BASE_URL_PATH: + if (chr == '?') { + url.query = ''; + state = QUERY; + } else if (chr == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr != EOF) { + url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); + } break; -// `String.prototype[@@iterator]` method -// https://tc39.es/ecma262/#sec-string.prototype-@@iterator -defineIterator(String, 'String', function (iterated) { - setInternalState(this, { - type: STRING_ITERATOR, - string: toString(iterated), - index: 0 - }); -// `%StringIteratorPrototype%.next` method -// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next -}, function next() { - var state = getInternalState(this); - var string = state.string; - var index = state.index; - var point; - if (index >= string.length) return { value: undefined, done: true }; - point = charAt(string, index); - state.index += point.length; - return { value: point, done: false }; -}); + case QUERY: + if (!stateOverride && chr == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr != EOF) { + if (chr == "'" && url.isSpecial()) url.query += '%27'; + else if (chr == '#') url.query += '%23'; + else url.query += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + case FRAGMENT: + if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); + break; + } -/***/ }), + pointer++; + } + }, + // https://url.spec.whatwg.org/#host-parsing + parseHost: function (input) { + var result, codePoints, index; + if (charAt(input, 0) == '[') { + if (charAt(input, input.length - 1) != ']') return INVALID_HOST; + result = parseIPv6(stringSlice(input, 1, -1)); + if (!result) return INVALID_HOST; + this.host = result; + // opaque host + } else if (!this.isSpecial()) { + if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST; + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + this.host = result; + } else { + input = toASCII(input); + if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST; + result = parseIPv4(input); + if (result === null) return INVALID_HOST; + this.host = result; + } + }, + // https://url.spec.whatwg.org/#cannot-have-a-username-password-port + cannotHaveUsernamePasswordPort: function () { + return !this.host || this.cannotBeABaseURL || this.scheme == 'file'; + }, + // https://url.spec.whatwg.org/#include-credentials + includesCredentials: function () { + return this.username != '' || this.password != ''; + }, + // https://url.spec.whatwg.org/#is-special + isSpecial: function () { + return hasOwn(specialSchemes, this.scheme); + }, + // https://url.spec.whatwg.org/#shorten-a-urls-path + shortenPath: function () { + var path = this.path; + var pathSize = path.length; + if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { + path.length--; + } + }, + // https://url.spec.whatwg.org/#concept-url-serializer + serialize: function () { + var url = this; + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (url.includesCredentials()) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) output += ':' + port; + } else if (scheme == 'file') output += '//'; + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + if (query !== null) output += '?' + query; + if (fragment !== null) output += '#' + fragment; + return output; + }, + // https://url.spec.whatwg.org/#dom-url-href + setHref: function (href) { + var failure = this.parse(href); + if (failure) throw TypeError(failure); + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-origin + getOrigin: function () { + var scheme = this.scheme; + var port = this.port; + if (scheme == 'blob') try { + return new URLConstructor(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } + if (scheme == 'file' || !this.isSpecial()) return 'null'; + return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); + }, + // https://url.spec.whatwg.org/#dom-url-protocol + getProtocol: function () { + return this.scheme + ':'; + }, + setProtocol: function (protocol) { + this.parse($toString(protocol) + ':', SCHEME_START); + }, + // https://url.spec.whatwg.org/#dom-url-username + getUsername: function () { + return this.username; + }, + setUsername: function (username) { + var codePoints = arrayFrom($toString(username)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.username = ''; + for (var i = 0; i < codePoints.length; i++) { + this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-password + getPassword: function () { + return this.password; + }, + setPassword: function (password) { + var codePoints = arrayFrom($toString(password)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.password = ''; + for (var i = 0; i < codePoints.length; i++) { + this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-host + getHost: function () { + var host = this.host; + var port = this.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; + }, + setHost: function (host) { + if (this.cannotBeABaseURL) return; + this.parse(host, HOST); + }, + // https://url.spec.whatwg.org/#dom-url-hostname + getHostname: function () { + var host = this.host; + return host === null ? '' : serializeHost(host); + }, + setHostname: function (hostname) { + if (this.cannotBeABaseURL) return; + this.parse(hostname, HOSTNAME); + }, + // https://url.spec.whatwg.org/#dom-url-port + getPort: function () { + var port = this.port; + return port === null ? '' : $toString(port); + }, + setPort: function (port) { + if (this.cannotHaveUsernamePasswordPort()) return; + port = $toString(port); + if (port == '') this.port = null; + else this.parse(port, PORT); + }, + // https://url.spec.whatwg.org/#dom-url-pathname + getPathname: function () { + var path = this.path; + return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + }, + setPathname: function (pathname) { + if (this.cannotBeABaseURL) return; + this.path = []; + this.parse(pathname, PATH_START); + }, + // https://url.spec.whatwg.org/#dom-url-search + getSearch: function () { + var query = this.query; + return query ? '?' + query : ''; + }, + setSearch: function (search) { + search = $toString(search); + if (search == '') { + this.query = null; + } else { + if ('?' == charAt(search, 0)) search = stringSlice(search, 1); + this.query = ''; + this.parse(search, QUERY); + } + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-searchparams + getSearchParams: function () { + return this.searchParams.facade; + }, + // https://url.spec.whatwg.org/#dom-url-hash + getHash: function () { + var fragment = this.fragment; + return fragment ? '#' + fragment : ''; + }, + setHash: function (hash) { + hash = $toString(hash); + if (hash == '') { + this.fragment = null; + return; + } + if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1); + this.fragment = ''; + this.parse(hash, FRAGMENT); + }, + update: function () { + this.query = this.searchParams.serialize() || null; + } +}; -/***/ "3f8c": -/***/ (function(module, exports) { +// `URL` constructor +// https://url.spec.whatwg.org/#url-class +var URLConstructor = function URL(url /* , base */) { + var that = anInstance(this, URLPrototype); + var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; + var state = setInternalState(that, new URLState(url, false, base)); + if (!DESCRIPTORS) { + that.href = state.serialize(); + that.origin = state.getOrigin(); + that.protocol = state.getProtocol(); + that.username = state.getUsername(); + that.password = state.getPassword(); + that.host = state.getHost(); + that.hostname = state.getHostname(); + that.port = state.getPort(); + that.pathname = state.getPathname(); + that.search = state.getSearch(); + that.searchParams = state.getSearchParams(); + that.hash = state.getHash(); + } +}; -module.exports = {}; +var URLPrototype = URLConstructor.prototype; +var accessorDescriptor = function (getter, setter) { + return { + get: function () { + return getInternalURLState(this)[getter](); + }, + set: setter && function (value) { + return getInternalURLState(this)[setter](value); + }, + configurable: true, + enumerable: true + }; +}; -/***/ }), +if (DESCRIPTORS) { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref')); + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin')); + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol')); + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername')); + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword')); + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost')); + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname')); + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort')); + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname')); + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch')); + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams')); + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash')); +} -/***/ "3fcc": -/***/ (function(module, exports, __webpack_require__) { +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +defineBuiltIn(URLPrototype, 'toJSON', function toJSON() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); -"use strict"; +// `URL.prototype.toString` method +// https://url.spec.whatwg.org/#URL-stringification-behavior +defineBuiltIn(URLPrototype, 'toString', function toString() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); -var ArrayBufferViewCore = __webpack_require__("ebb5"); -var $map = __webpack_require__("b727").map; -var typedArraySpeciesConstructor = __webpack_require__("b6b7"); +if (NativeURL) { + var nativeCreateObjectURL = NativeURL.createObjectURL; + var nativeRevokeObjectURL = NativeURL.revokeObjectURL; + // `URL.createObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL)); + // `URL.revokeObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL + if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL)); +} -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +setToStringTag(URLConstructor, 'URL'); -// `%TypedArray%.prototype.map` method -// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map -exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { - return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { - return new (typedArraySpeciesConstructor(O))(length); - }); +$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { + URL: URLConstructor }); @@ -8005,6 +8234,7 @@ module.exports = uncurryThis(1.0.valueOf); var fails = __webpack_require__("d039"); module.exports = !fails(function () { + // eslint-disable-next-line es-x/no-function-prototype-bind -- safe var test = (function () { /* empty */ }).bind(); // eslint-disable-next-line no-prototype-builtins -- safe return typeof test != 'function' || test.hasOwnProperty('prototype'); @@ -8317,7 +8547,7 @@ var forEach = __webpack_require__("17c2"); // `Array.prototype.forEach` method // https://tc39.es/ecma262/#sec-array.prototype.foreach -// eslint-disable-next-line es/no-array-prototype-foreach -- safe +// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe $({ target: 'Array', proto: true, forced: [].forEach != forEach }, { forEach: forEach }); @@ -8515,41 +8745,65 @@ exports.createTokenClass = createTokenClass; /***/ }), -/***/ "4795": +/***/ "4738": /***/ (function(module, exports, __webpack_require__) { -var $ = __webpack_require__("23e7"); var global = __webpack_require__("da84"); -var apply = __webpack_require__("2ba4"); +var NativePromiseConstructor = __webpack_require__("d256"); var isCallable = __webpack_require__("1626"); -var userAgent = __webpack_require__("342f"); -var arraySlice = __webpack_require__("f36a"); -var validateArgumentsLength = __webpack_require__("d6d6"); +var isForced = __webpack_require__("94ca"); +var inspectSource = __webpack_require__("8925"); +var wellKnownSymbol = __webpack_require__("b622"); +var IS_BROWSER = __webpack_require__("6069"); +var IS_PURE = __webpack_require__("c430"); +var V8_VERSION = __webpack_require__("2d00"); -var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check -var Function = global.Function; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var SPECIES = wellKnownSymbol('species'); +var SUBCLASSING = false; +var NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent); -var wrap = function (scheduler) { - return function (handler, timeout /* , ...arguments */) { - var boundArgs = validateArgumentsLength(arguments.length, 1) > 2; - var fn = isCallable(handler) ? handler : Function(handler); - var args = boundArgs ? arraySlice(arguments, 2) : undefined; - return scheduler(boundArgs ? function () { - apply(fn, this, args); - } : fn, timeout); +var FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; + // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution + if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false; + // Detect correctness of subclassing with @@species support + var promise = new NativePromiseConstructor(function (resolve) { resolve(1); }); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; + if (!SUBCLASSING) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_PROMISE_REJECTION_EVENT; +}); + +module.exports = { + CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR, + REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT, + SUBCLASSING: SUBCLASSING }; -// ie9- setTimeout & setInterval additional parameters fix -// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers -$({ global: true, bind: true, forced: MSIE }, { - // `setTimeout` method - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout - setTimeout: wrap(global.setTimeout), - // `setInterval` method - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval - setInterval: wrap(global.setInterval) -}); + +/***/ }), + +/***/ "4795": +/***/ (function(module, exports, __webpack_require__) { + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__("2ca8"); +__webpack_require__("1d57"); /***/ }), @@ -8600,11 +8854,11 @@ module.exports = function (input, pref) { /***/ "4930": /***/ (function(module, exports, __webpack_require__) { -/* eslint-disable es/no-symbol -- required for testing */ +/* eslint-disable es-x/no-symbol -- required for testing */ var V8_VERSION = __webpack_require__("2d00"); var fails = __webpack_require__("d039"); -// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing module.exports = !!Object.getOwnPropertySymbols && !fails(function () { var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion @@ -9587,14 +9841,14 @@ var uncurryThis = __webpack_require__("e330"); var isForced = __webpack_require__("94ca"); var inheritIfRequired = __webpack_require__("7156"); var createNonEnumerableProperty = __webpack_require__("9112"); -var defineProperty = __webpack_require__("9bf2").f; var getOwnPropertyNames = __webpack_require__("241c").f; var isPrototypeOf = __webpack_require__("3a9b"); var isRegExp = __webpack_require__("44e7"); var toString = __webpack_require__("577e"); -var regExpFlags = __webpack_require__("ad6d"); +var getRegExpFlags = __webpack_require__("90d8"); var stickyHelpers = __webpack_require__("9f7f"); -var redefine = __webpack_require__("6eeb"); +var proxyAccessor = __webpack_require__("aeb0"); +var defineBuiltIn = __webpack_require__("cb2d"); var fails = __webpack_require__("d039"); var hasOwn = __webpack_require__("1a2d"); var enforceInternalState = __webpack_require__("69f3").enforce; @@ -9607,7 +9861,6 @@ var MATCH = wellKnownSymbol('match'); var NativeRegExp = global.RegExp; var RegExpPrototype = NativeRegExp.prototype; var SyntaxError = global.SyntaxError; -var getFlags = uncurryThis(regExpFlags); var exec = uncurryThis(RegExpPrototype.exec); var charAt = uncurryThis(''.charAt); var replace = uncurryThis(''.replace); @@ -9716,7 +9969,7 @@ if (isForced('RegExp', BASE_FORCED)) { if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) { pattern = pattern.source; - if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags(rawPattern); + if (flagsAreUndefined) flags = getRegExpFlags(rawPattern); } pattern = pattern === undefined ? '' : toString(pattern); @@ -9761,21 +10014,13 @@ if (isForced('RegExp', BASE_FORCED)) { return result; }; - var proxy = function (key) { - key in RegExpWrapper || defineProperty(RegExpWrapper, key, { - configurable: true, - get: function () { return NativeRegExp[key]; }, - set: function (it) { NativeRegExp[key] = it; } - }); - }; - for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) { - proxy(keys[index++]); + proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]); } RegExpPrototype.constructor = RegExpWrapper; RegExpWrapper.prototype = RegExpPrototype; - redefine(global, 'RegExp', RegExpWrapper); + defineBuiltIn(global, 'RegExp', RegExpWrapper); } // https://tc39.es/ecma262/#sec-get-regexp-@@species @@ -10063,7 +10308,7 @@ var isObject = __webpack_require__("861d"); var classof = __webpack_require__("c6b6"); var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__("d86b"); -// eslint-disable-next-line es/no-object-isextensible -- safe +// eslint-disable-next-line es-x/no-object-isextensible -- safe var $isExtensible = Object.isExtensible; var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); }); @@ -10266,6 +10511,406 @@ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNa }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); +/***/ }), + +/***/ "5352": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__("e260"); +var $ = __webpack_require__("23e7"); +var global = __webpack_require__("da84"); +var call = __webpack_require__("c65b"); +var uncurryThis = __webpack_require__("e330"); +var DESCRIPTORS = __webpack_require__("83ab"); +var USE_NATIVE_URL = __webpack_require__("0d3b"); +var defineBuiltIn = __webpack_require__("cb2d"); +var defineBuiltIns = __webpack_require__("6964"); +var setToStringTag = __webpack_require__("d44e"); +var createIteratorConstructor = __webpack_require__("9ed3"); +var InternalStateModule = __webpack_require__("69f3"); +var anInstance = __webpack_require__("19aa"); +var isCallable = __webpack_require__("1626"); +var hasOwn = __webpack_require__("1a2d"); +var bind = __webpack_require__("0366"); +var classof = __webpack_require__("f5df"); +var anObject = __webpack_require__("825a"); +var isObject = __webpack_require__("861d"); +var $toString = __webpack_require__("577e"); +var create = __webpack_require__("7c73"); +var createPropertyDescriptor = __webpack_require__("5c6c"); +var getIterator = __webpack_require__("9a1f"); +var getIteratorMethod = __webpack_require__("35a1"); +var validateArgumentsLength = __webpack_require__("d6d6"); +var wellKnownSymbol = __webpack_require__("b622"); +var arraySort = __webpack_require__("addb"); + +var ITERATOR = wellKnownSymbol('iterator'); +var URL_SEARCH_PARAMS = 'URLSearchParams'; +var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); +var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); +// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Avoid NodeJS experimental warning +var safeGetBuiltIn = function (name) { + if (!DESCRIPTORS) return global[name]; + var descriptor = getOwnPropertyDescriptor(global, name); + return descriptor && descriptor.value; +}; + +var nativeFetch = safeGetBuiltIn('fetch'); +var NativeRequest = safeGetBuiltIn('Request'); +var Headers = safeGetBuiltIn('Headers'); +var RequestPrototype = NativeRequest && NativeRequest.prototype; +var HeadersPrototype = Headers && Headers.prototype; +var RegExp = global.RegExp; +var TypeError = global.TypeError; +var decodeURIComponent = global.decodeURIComponent; +var encodeURIComponent = global.encodeURIComponent; +var charAt = uncurryThis(''.charAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var splice = uncurryThis([].splice); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); + +var plus = /\+/g; +var sequences = Array(4); + +var percentSequence = function (bytes) { + return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); +}; + +var percentDecode = function (sequence) { + try { + return decodeURIComponent(sequence); + } catch (error) { + return sequence; + } +}; + +var deserialize = function (it) { + var result = replace(it, plus, ' '); + var bytes = 4; + try { + return decodeURIComponent(result); + } catch (error) { + while (bytes) { + result = replace(result, percentSequence(bytes--), percentDecode); + } + return result; + } +}; + +var find = /[!'()~]|%20/g; + +var replacements = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+' +}; + +var replacer = function (match) { + return replacements[match]; +}; + +var serialize = function (it) { + return replace(encodeURIComponent(it), find, replacer); +}; + +var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + setInternalState(this, { + type: URL_SEARCH_PARAMS_ITERATOR, + iterator: getIterator(getInternalParamsState(params).entries), + kind: kind + }); +}, 'Iterator', function next() { + var state = getInternalIteratorState(this); + var kind = state.kind; + var step = state.iterator.next(); + var entry = step.value; + if (!step.done) { + step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; + } return step; +}, true); + +var URLSearchParamsState = function (init) { + this.entries = []; + this.url = null; + + if (init !== undefined) { + if (isObject(init)) this.parseObject(init); + else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)); + } +}; + +URLSearchParamsState.prototype = { + type: URL_SEARCH_PARAMS, + bindURL: function (url) { + this.url = url; + this.update(); + }, + parseObject: function (object) { + var iteratorMethod = getIteratorMethod(object); + var iterator, next, step, entryIterator, entryNext, first, second; + + if (iteratorMethod) { + iterator = getIterator(object, iteratorMethod); + next = iterator.next; + while (!(step = call(next, iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = call(entryNext, entryIterator)).done || + (second = call(entryNext, entryIterator)).done || + !call(entryNext, entryIterator).done + ) throw TypeError('Expected sequence with length 2'); + push(this.entries, { key: $toString(first.value), value: $toString(second.value) }); + } + } else for (var key in object) if (hasOwn(object, key)) { + push(this.entries, { key: key, value: $toString(object[key]) }); + } + }, + parseQuery: function (query) { + if (query) { + var attributes = split(query, '&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = split(attribute, '='); + push(this.entries, { + key: deserialize(shift(entry)), + value: deserialize(join(entry, '=')) + }); + } + } + } + }, + serialize: function () { + var entries = this.entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + push(result, serialize(entry.key) + '=' + serialize(entry.value)); + } return join(result, '&'); + }, + update: function () { + this.entries.length = 0; + this.parseQuery(this.url.query); + }, + updateURL: function () { + if (this.url) this.url.update(); + } +}; + +// `URLSearchParams` constructor +// https://url.spec.whatwg.org/#interface-urlsearchparams +var URLSearchParamsConstructor = function URLSearchParams(/* init */) { + anInstance(this, URLSearchParamsPrototype); + var init = arguments.length > 0 ? arguments[0] : undefined; + setInternalState(this, new URLSearchParamsState(init)); +}; + +var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + +defineBuiltIns(URLSearchParamsPrototype, { + // `URLSearchParams.prototype.append` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-append + append: function append(name, value) { + validateArgumentsLength(arguments.length, 2); + var state = getInternalParamsState(this); + push(state.entries, { key: $toString(name), value: $toString(value) }); + state.updateURL(); + }, + // `URLSearchParams.prototype.delete` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-delete + 'delete': function (name) { + validateArgumentsLength(arguments.length, 1); + var state = getInternalParamsState(this); + var entries = state.entries; + var key = $toString(name); + var index = 0; + while (index < entries.length) { + if (entries[index].key === key) splice(entries, index, 1); + else index++; + } + state.updateURL(); + }, + // `URLSearchParams.prototype.get` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-get + get: function get(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = $toString(name); + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) return entries[index].value; + } + return null; + }, + // `URLSearchParams.prototype.getAll` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-getall + getAll: function getAll(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = $toString(name); + var result = []; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) push(result, entries[index].value); + } + return result; + }, + // `URLSearchParams.prototype.has` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-has + has: function has(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = $toString(name); + var index = 0; + while (index < entries.length) { + if (entries[index++].key === key) return true; + } + return false; + }, + // `URLSearchParams.prototype.set` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-set + set: function set(name, value) { + validateArgumentsLength(arguments.length, 1); + var state = getInternalParamsState(this); + var entries = state.entries; + var found = false; + var key = $toString(name); + var val = $toString(value); + var index = 0; + var entry; + for (; index < entries.length; index++) { + entry = entries[index]; + if (entry.key === key) { + if (found) splice(entries, index--, 1); + else { + found = true; + entry.value = val; + } + } + } + if (!found) push(entries, { key: key, value: val }); + state.updateURL(); + }, + // `URLSearchParams.prototype.sort` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-sort + sort: function sort() { + var state = getInternalParamsState(this); + arraySort(state.entries, function (a, b) { + return a.key > b.key ? 1 : -1; + }); + state.updateURL(); + }, + // `URLSearchParams.prototype.forEach` method + forEach: function forEach(callback /* , thisArg */) { + var entries = getInternalParamsState(this).entries; + var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined); + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + boundFunction(entry.value, entry.key, this); + } + }, + // `URLSearchParams.prototype.keys` method + keys: function keys() { + return new URLSearchParamsIterator(this, 'keys'); + }, + // `URLSearchParams.prototype.values` method + values: function values() { + return new URLSearchParamsIterator(this, 'values'); + }, + // `URLSearchParams.prototype.entries` method + entries: function entries() { + return new URLSearchParamsIterator(this, 'entries'); + } +}, { enumerable: true }); + +// `URLSearchParams.prototype[@@iterator]` method +defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); + +// `URLSearchParams.prototype.toString` method +// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior +defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() { + return getInternalParamsState(this).serialize(); +}, { enumerable: true }); + +setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); + +$({ global: true, forced: !USE_NATIVE_URL }, { + URLSearchParams: URLSearchParamsConstructor +}); + +// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` +if (!USE_NATIVE_URL && isCallable(Headers)) { + var headersHas = uncurryThis(HeadersPrototype.has); + var headersSet = uncurryThis(HeadersPrototype.set); + + var wrapRequestOptions = function (init) { + if (isObject(init)) { + var body = init.body; + var headers; + if (classof(body) === URL_SEARCH_PARAMS) { + headers = init.headers ? new Headers(init.headers) : new Headers(); + if (!headersHas(headers, 'content-type')) { + headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + return create(init, { + body: createPropertyDescriptor(0, $toString(body)), + headers: createPropertyDescriptor(0, headers) + }); + } + } return init; + }; + + if (isCallable(nativeFetch)) { + $({ global: true, enumerable: true, noTargetGet: true, forced: true }, { + fetch: function fetch(input /* , init */) { + return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + } + }); + } + + if (isCallable(NativeRequest)) { + var RequestConstructor = function Request(input /* , init */) { + anInstance(this, RequestPrototype); + return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + }; + + RequestPrototype.constructor = RequestConstructor; + RequestConstructor.prototype = RequestPrototype; + + $({ global: true, forced: true, noTargetGet: true }, { + Request: RequestConstructor + }); + } +} + +module.exports = { + URLSearchParams: URLSearchParamsConstructor, + getState: getInternalParamsState +}; + + /***/ }), /***/ "5692": @@ -10277,10 +10922,10 @@ var store = __webpack_require__("c6cd"); (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.21.1', + version: '3.22.4', mode: IS_PURE ? 'pure' : 'global', copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.22.4/LICENSE', source: 'https://github.com/zloirock/core-js' }); @@ -10322,6 +10967,33 @@ module.exports = function (argument) { }; +/***/ }), + +/***/ "57b9": +/***/ (function(module, exports, __webpack_require__) { + +var call = __webpack_require__("c65b"); +var getBuiltIn = __webpack_require__("d066"); +var wellKnownSymbol = __webpack_require__("b622"); +var defineBuiltIn = __webpack_require__("cb2d"); + +module.exports = function () { + var Symbol = getBuiltIn('Symbol'); + var SymbolPrototype = Symbol && Symbol.prototype; + var valueOf = SymbolPrototype && SymbolPrototype.valueOf; + var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + + if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) { + // `Symbol.prototype[@@toPrimitive]` method + // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive + // eslint-disable-next-line no-unused-vars -- required for .length + defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) { + return call(valueOf, this); + }, { arity: 1 }); + } +}; + + /***/ }), /***/ "5899": @@ -10726,6 +11398,31 @@ module.exports = function (it) { }; +/***/ }), + +/***/ "5a47": +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__("23e7"); +var NATIVE_SYMBOL = __webpack_require__("4930"); +var fails = __webpack_require__("d039"); +var getOwnPropertySymbolsModule = __webpack_require__("7418"); +var toObject = __webpack_require__("7b0b"); + +// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +var FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); }); + +// `Object.getOwnPropertySymbols` method +// https://tc39.es/ecma262/#sec-object.getownpropertysymbols +$({ target: 'Object', stat: true, forced: FORCED }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : []; + } +}); + + /***/ }), /***/ "5a74": @@ -11138,7 +11835,7 @@ function normalizeComponent ( } } -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/ChatWindow.vue?vue&type=template&id=1aef5270&shadow +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/ChatWindow.vue?vue&type=template&id=1aef5270&shadow var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-card-window",style:([{ height: _vm.height }, _vm.cssVars])},[_c('div',{staticClass:"vac-chat-container"},[(!_vm.singleRoom)?_c('rooms-list',{attrs:{"current-user-id":_vm.currentUserId,"rooms":_vm.orderedRooms,"loading-rooms":_vm.loadingRooms,"rooms-loaded":_vm.roomsLoaded,"room":_vm.room,"room-actions":_vm.roomActions,"text-messages":_vm.t,"show-search":_vm.showSearch,"show-add-room":_vm.showAddRoom,"show-rooms-list":_vm.showRoomsList,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"is-mobile":_vm.isMobile,"scroll-distance":_vm.scrollDistance},on:{"fetch-room":_vm.fetchRoom,"fetch-more-rooms":_vm.fetchMoreRooms,"loading-more-rooms":function($event){_vm.loadingMoreRooms = $event},"add-room":_vm.addRoom,"room-action-handler":_vm.roomActionHandler},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),_c('room',{attrs:{"current-user-id":_vm.currentUserId,"rooms":_vm.rooms,"room-id":_vm.room.roomId || '',"load-first-room":_vm.loadFirstRoom,"messages":_vm.messages,"room-message":_vm.roomMessage,"messages-loaded":_vm.messagesLoaded,"menu-actions":_vm.menuActions,"message-actions":_vm.messageActions,"message-selection-actions":_vm.messageSelectionActions,"auto-scroll":_vm.autoScroll,"show-send-icon":_vm.showSendIcon,"show-files":_vm.showFiles,"show-audio":_vm.showAudio,"audio-bit-rate":_vm.audioBitRate,"audio-sample-rate":_vm.audioSampleRate,"show-emojis":_vm.showEmojis,"show-reaction-emojis":_vm.showReactionEmojis,"show-new-messages-divider":_vm.showNewMessagesDivider,"show-footer":_vm.showFooter,"text-messages":_vm.t,"single-room":_vm.singleRoom,"show-rooms-list":_vm.showRoomsList,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"is-mobile":_vm.isMobile,"loading-rooms":_vm.loadingRooms,"room-info-enabled":_vm.roomInfoEnabled,"textarea-action-enabled":_vm.textareaActionEnabled,"user-tags-enabled":_vm.userTagsEnabled,"emojis-suggestion-enabled":_vm.emojisSuggestionEnabled,"scroll-distance":_vm.scrollDistance,"accepted-files":_vm.acceptedFiles,"templates-text":_vm.templatesText,"username-options":_vm.usernameOptions},on:{"toggle-rooms-list":_vm.toggleRoomsList,"room-info":_vm.roomInfo,"fetch-messages":_vm.fetchMessages,"send-message":_vm.sendMessage,"edit-message":_vm.editMessage,"delete-message":_vm.deleteMessage,"open-file":_vm.openFile,"open-user-tag":_vm.openUserTag,"open-failed-message":_vm.openFailedMessage,"menu-action-handler":_vm.menuActionHandler,"message-action-handler":_vm.messageActionHandler,"message-selection-action-handler":_vm.messageSelectionActionHandler,"send-message-reaction":_vm.sendMessageReaction,"typing-message":_vm.typingMessage,"textarea-action-handler":_vm.textareaActionHandler},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1),_c('transition',{attrs:{"name":"vac-fade-preview","appear":""}},[(_vm.showMediaPreview)?_c('media-preview',{attrs:{"file":_vm.previewFile},on:{"close-media-preview":function($event){_vm.showMediaPreview = false}}}):_vm._e()],1)],1)} var staticRenderFns = [] @@ -11247,7 +11944,7 @@ var es_array_find = __webpack_require__("7db0"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.entries.js var es_object_entries = __webpack_require__("4fad"); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomsList.vue?vue&type=template&id=e9cbf0d4& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomsList.vue?vue&type=template&id=e9cbf0d4& var RoomsListvue_type_template_id_e9cbf0d4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.showRoomsList),expression:"showRoomsList"}],staticClass:"vac-rooms-container",class:{ 'vac-rooms-container-full': _vm.isMobile, 'vac-app-border-r': !_vm.isMobile }},[_vm._t("rooms-header"),_vm._t("rooms-list-search",function(){return [_c('rooms-search',{attrs:{"rooms":_vm.rooms,"loading-rooms":_vm.loadingRooms,"text-messages":_vm.textMessages,"show-search":_vm.showSearch,"show-add-room":_vm.showAddRoom},on:{"search-room":_vm.searchRoom,"add-room":function($event){return _vm.$emit('add-room')}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})]}),_c('loader',{attrs:{"show":_vm.loadingRooms},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.loadingRooms && !_vm.rooms.length)?_c('div',{staticClass:"vac-rooms-empty"},[_vm._t("rooms-empty",function(){return [_vm._v(" "+_vm._s(_vm.textMessages.ROOMS_EMPTY)+" ")]})],2):_vm._e(),(!_vm.loadingRooms)?_c('div',{staticClass:"vac-room-list",attrs:{"id":"rooms-list"}},[_vm._l((_vm.filteredRooms),function(fRoom){return _c('div',{key:fRoom.roomId,staticClass:"vac-room-item",class:{ 'vac-room-selected': _vm.selectedRoomId === fRoom.roomId },attrs:{"id":fRoom.roomId},on:{"click":function($event){return _vm.openRoom(fRoom)}}},[_c('room-content',{attrs:{"current-user-id":_vm.currentUserId,"room":fRoom,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"text-messages":_vm.textMessages,"room-actions":_vm.roomActions},on:{"room-action-handler":function($event){return _vm.$emit('room-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_c('transition',{attrs:{"name":"vac-fade-message"}},[(_vm.rooms.length && !_vm.loadingRooms)?_c('div',{attrs:{"id":"infinite-loader-rooms"}},[_c('loader',{attrs:{"show":_vm.showLoader,"infinite":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e()])],2):_vm._e()],2)} var RoomsListvue_type_template_id_e9cbf0d4_staticRenderFns = [] @@ -11257,7 +11954,7 @@ var RoomsListvue_type_template_id_e9cbf0d4_staticRenderFns = [] // EXTERNAL MODULE: ./node_modules/core-js/modules/web.timers.js var web_timers = __webpack_require__("4795"); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Loader/Loader.vue?vue&type=template&id=2c0ab9be& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Loader/Loader.vue?vue&type=template&id=2c0ab9be& var Loadervue_type_template_id_2c0ab9be_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-fade-spinner","appear":""}},[(_vm.show)?_c('div',{staticClass:"vac-loader-wrapper",class:{ 'vac-container-center': !_vm.infinite, 'vac-container-top': _vm.infinite @@ -11320,7 +12017,7 @@ var component = normalizeComponent( ) /* harmony default export */ var Loader = (component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?vue&type=template&id=1fc42a9b& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?vue&type=template&id=1fc42a9b& var RoomsSearchvue_type_template_id_1fc42a9b_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'vac-box-search': _vm.showSearchBar, 'vac-box-empty': !_vm.showSearchBar @@ -11330,7 +12027,7 @@ var RoomsSearchvue_type_template_id_1fc42a9b_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?vue&type=template&id=1fc42a9b& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SvgIcon/SvgIcon.vue?vue&type=template&id=e01c0bf4& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SvgIcon/SvgIcon.vue?vue&type=template&id=e01c0bf4& var SvgIconvue_type_template_id_e01c0bf4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{"xmlns":"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","version":"1.1","width":"24","height":"24","viewBox":("0 0 " + _vm.size + " " + _vm.size)}},[_c('path',{attrs:{"id":_vm.svgId,"d":_vm.svgItem[_vm.name].path}}),(_vm.svgItem[_vm.name].path2)?_c('path',{attrs:{"id":_vm.svgId,"d":_vm.svgItem[_vm.name].path2}}):_vm._e()])} var SvgIconvue_type_template_id_e01c0bf4_staticRenderFns = [] @@ -11567,7 +12264,7 @@ var RoomsSearch_component = normalizeComponent( ) /* harmony default export */ var RoomsSearch = (RoomsSearch_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomContent/RoomContent.vue?vue&type=template&id=6888cbad& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/RoomsList/RoomContent/RoomContent.vue?vue&type=template&id=6888cbad& var RoomContentvue_type_template_id_6888cbad_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-room-container"},[_vm._t("room-list-item",function(){return [_vm._t("room-list-avatar",function(){return [(_vm.room.avatar)?_c('div',{staticClass:"vac-avatar",style:({ 'background-image': ("url('" + (_vm.room.avatar) + "')") })}):_vm._e()]},null,{ room: _vm.room }),_c('div',{staticClass:"vac-name-container vac-text-ellipsis"},[_c('div',{staticClass:"vac-title-container"},[(_vm.userStatus)?_c('div',{staticClass:"vac-state-circle",class:{ 'vac-state-online': _vm.userStatus === 'online' }}):_vm._e(),_c('div',{staticClass:"vac-room-name vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.room.roomName)+" ")]),(_vm.room.lastMessage)?_c('div',{staticClass:"vac-text-date"},[_vm._v(" "+_vm._s(_vm.room.lastMessage.timestamp)+" ")]):_vm._e()]),_c('div',{staticClass:"vac-text-last",class:{ 'vac-message-new': _vm.room.lastMessage && _vm.room.lastMessage.new && !_vm.typingUsers @@ -11583,8 +12280,8 @@ var RoomContentvue_type_template_id_6888cbad_staticRenderFns = [] var v_click_outside_umd = __webpack_require__("c28b"); var v_click_outside_umd_default = /*#__PURE__*/__webpack_require__.n(v_click_outside_umd); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FormatMessage/FormatMessage.vue?vue&type=template&id=934b3d7e& -var FormatMessagevue_type_template_id_934b3d7e_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-format-message-wrapper",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:"vac-format-container"},[_c(message.url ? 'a' : 'span',{tag:"component",class:{ +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FormatMessage/FormatMessage.vue?vue&type=template&id=3a015d3f& +var FormatMessagevue_type_template_id_3a015d3f_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-format-message-wrapper",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:"vac-format-container"},[_c(message.url ? 'a' : 'span',{tag:"component",class:{ 'vac-text-ellipsis': _vm.singleLine, 'vac-text-bold': message.bold, 'vac-text-italic': _vm.deleted || message.italic, @@ -11596,11 +12293,11 @@ var FormatMessagevue_type_template_id_934b3d7e_render = function () {var _vm=thi },attrs:{"href":message.href,"target":message.href ? _vm.linkOptions.target : null,"rel":message.href ? _vm.linkOptions.rel : null},on:{"click":function($event){return _vm.openTag(message)}}},[_vm._t("deleted-icon",function(){return [(_vm.deleted)?_c('svg-icon',{staticClass:"vac-icon-deleted",attrs:{"name":"deleted"}}):_vm._e()]},null,{ deleted: _vm.deleted }),(message.url && message.image)?[_c('div',{staticClass:"vac-image-link-container"},[_c('div',{staticClass:"vac-image-link",style:({ 'background-image': ("url('" + (message.value) + "')"), height: message.height - })})]),_c('div',{staticClass:"vac-image-link-message"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',[_vm._v(_vm._s(message.value))])]],2)],1)}),0):_c('div',[_vm._v(" "+_vm._s(_vm.formattedContent)+" ")])])} -var FormatMessagevue_type_template_id_934b3d7e_staticRenderFns = [] + })})]),_c('div',{staticClass:"vac-image-link-message"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',{domProps:{"innerHTML":_vm._s(message.value)}},[_vm._v(" "+_vm._s(message.value)+" ")])]],2)],1)}),0):_c('div',{domProps:{"innerHTML":_vm._s(_vm.formattedContent)}})])} +var FormatMessagevue_type_template_id_3a015d3f_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/FormatMessage/FormatMessage.vue?vue&type=template&id=934b3d7e& +// CONCATENATED MODULE: ./src/components/FormatMessage/FormatMessage.vue?vue&type=template&id=3a015d3f& // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.is-array.js var es_array_is_array = __webpack_require__("277d"); @@ -11983,6 +12680,7 @@ var constants = __webpack_require__("c9d9"); + // @@ -12105,6 +12803,7 @@ var constants = __webpack_require__("c9d9"); m.multiline = _this.checkType(m, 'multiline-code'); m.tag = _this.checkType(m, 'tag'); m.image = _this.checkImageType(m); + m.value = _this.replaceEmojiByElement(m.value); }); return message; }, @@ -12167,6 +12866,25 @@ var constants = __webpack_require__("c9d9"); }); this.$emit('open-user-tag', user); } + }, + replaceEmojiByElement: function replaceEmojiByElement(value) { + var emojiSize; + + if (this.singleLine) { + emojiSize = 16; + } else { + var onlyEmojis = this.containsOnlyEmojis(); + emojiSize = onlyEmojis ? 28 : 20; + } + + return value.replaceAll(/(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFF]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])/g, function (v) { + return "").concat(v, ""); + }); + }, + containsOnlyEmojis: function containsOnlyEmojis() { + var onlyEmojis = this.content.replace(new RegExp("[\0-\u1EEFf]", 'g'), ''); + var visibleChars = this.content.replace(new RegExp('[\n\rs]+|( )+', 'g'), ''); + return onlyEmojis.length === visibleChars.length; } } }); @@ -12182,8 +12900,8 @@ var constants = __webpack_require__("c9d9"); var FormatMessage_component = normalizeComponent( FormatMessage_FormatMessagevue_type_script_lang_js_, - FormatMessagevue_type_template_id_934b3d7e_render, - FormatMessagevue_type_template_id_934b3d7e_staticRenderFns, + FormatMessagevue_type_template_id_3a015d3f_render, + FormatMessagevue_type_template_id_3a015d3f_staticRenderFns, false, null, null, @@ -12776,14 +13494,14 @@ var RoomsList_component = normalizeComponent( ) /* harmony default export */ var RoomsList = (RoomsList_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/Room.vue?vue&type=template&id=5c60aee1& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/Room.vue?vue&type=template&id=5c60aee1& var Roomvue_type_template_id_5c60aee1_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"show",rawName:"v-show",value:((_vm.isMobile && !_vm.showRoomsList) || !_vm.isMobile || _vm.singleRoom),expression:"(isMobile && !showRoomsList) || !isMobile || singleRoom"}],staticClass:"vac-col-messages",on:{"touchstart":_vm.touchStart}},[(_vm.showNoRoom)?_vm._t("no-room-selected",function(){return [_c('div',{staticClass:"vac-container-center vac-room-empty"},[_c('div',[_vm._v(_vm._s(_vm.textMessages.ROOM_EMPTY))])])]}):_c('room-header',{attrs:{"current-user-id":_vm.currentUserId,"text-messages":_vm.textMessages,"single-room":_vm.singleRoom,"show-rooms-list":_vm.showRoomsList,"is-mobile":_vm.isMobile,"room-info-enabled":_vm.roomInfoEnabled,"menu-actions":_vm.menuActions,"room":_vm.room,"message-selection-enabled":_vm.messageSelectionEnabled,"message-selection-actions":_vm.messageSelectionActions,"selected-messages-total":_vm.selectedMessages.length},on:{"toggle-rooms-list":function($event){return _vm.$emit('toggle-rooms-list')},"room-info":function($event){return _vm.$emit('room-info')},"menu-action-handler":function($event){return _vm.$emit('menu-action-handler', $event)},"message-selection-action-handler":_vm.messageSelectionActionHandler,"cancel-message-selection":function($event){_vm.messageSelectionEnabled = false}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{ref:"scrollContainer",staticClass:"vac-container-scroll",attrs:{"id":"messages-list"},on:{"scroll":_vm.onContainerScroll}},[_c('loader',{attrs:{"show":_vm.loadingMessages},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:"vac-messages-container"},[_c('div',{class:{ 'vac-messages-hidden': _vm.loadingMessages }},[_c('transition',{attrs:{"name":"vac-fade-message"}},[_c('div',[(_vm.showNoMessages)?_c('div',{staticClass:"vac-text-started"},[_vm._t("messages-empty",function(){return [_vm._v(" "+_vm._s(_vm.textMessages.MESSAGES_EMPTY)+" ")]})],2):_vm._e(),(_vm.showMessagesStarted)?_c('div',{staticClass:"vac-text-started"},[_vm._v(" "+_vm._s(_vm.textMessages.CONVERSATION_STARTED)+" "+_vm._s(_vm.messages[0].date)+" ")]):_vm._e()])]),(_vm.messages.length && !_vm.messagesLoaded)?_c('div',{attrs:{"id":"infinite-loader-messages"}},[_c('loader',{attrs:{"show":true,"infinite":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e(),_c('transition-group',{key:_vm.roomId,attrs:{"name":"vac-fade-message","tag":"span"}},_vm._l((_vm.messages),function(m,i){return _c('div',{key:m.indexId || m._id},[_c('room-message',{attrs:{"current-user-id":_vm.currentUserId,"message":m,"index":i,"messages":_vm.messages,"edited-message-id":_vm.editedMessageId,"message-actions":_vm.messageActions,"room-users":_vm.room.users,"text-messages":_vm.textMessages,"new-messages":_vm.newMessages,"show-reaction-emojis":_vm.showReactionEmojis,"show-new-messages-divider":_vm.showNewMessagesDivider,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"username-options":_vm.usernameOptions,"message-selection-enabled":_vm.messageSelectionEnabled,"selected-messages":_vm.selectedMessages},on:{"message-added":_vm.onMessageAdded,"message-action-handler":_vm.messageActionHandler,"open-file":_vm.openFile,"open-user-tag":_vm.openUserTag,"open-failed-message":function($event){return _vm.$emit('open-failed-message', $event)},"send-message-reaction":_vm.sendMessageReaction,"select-message":_vm.selectMessage,"unselect-message":_vm.unselectMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),0)],1)])],1),(!_vm.loadingMessages)?_c('div',[_c('transition',{attrs:{"name":"vac-bounce"}},[(_vm.scrollIcon)?_c('div',{staticClass:"vac-icon-scroll",on:{"click":_vm.scrollToBottom}},[_c('transition',{attrs:{"name":"vac-bounce"}},[(_vm.scrollMessagesCount)?_c('div',{staticClass:"vac-badge-counter vac-messages-count"},[_vm._v(" "+_vm._s(_vm.scrollMessagesCount)+" ")]):_vm._e()]),_vm._t("scroll-icon",function(){return [_c('svg-icon',{attrs:{"name":"dropdown","param":"scroll"}})]})],2):_vm._e()])],1):_vm._e(),_c('room-footer',{attrs:{"room":_vm.room,"room-id":_vm.roomId,"room-message":_vm.roomMessage,"text-messages":_vm.textMessages,"show-send-icon":_vm.showSendIcon,"show-files":_vm.showFiles,"show-audio":_vm.showAudio,"show-emojis":_vm.showEmojis,"show-footer":_vm.showFooter,"accepted-files":_vm.acceptedFiles,"textarea-action-enabled":_vm.textareaActionEnabled,"user-tags-enabled":_vm.userTagsEnabled,"emojis-suggestion-enabled":_vm.emojisSuggestionEnabled,"templates-text":_vm.templatesText,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"audio-bit-rate":_vm.audioBitRate,"audio-sample-rate":_vm.audioSampleRate,"init-reply-message":_vm.initReplyMessage,"init-edit-message":_vm.initEditMessage},on:{"update-edited-message-id":function($event){_vm.editedMessageId = $event},"edit-message":function($event){return _vm.$emit('edit-message', $event)},"send-message":function($event){return _vm.$emit('send-message', $event)},"typing-message":function($event){return _vm.$emit('typing-message', $event)},"textarea-action-handler":function($event){return _vm.$emit('textarea-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)} var Roomvue_type_template_id_5c60aee1_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/Room/Room.vue?vue&type=template&id=5c60aee1& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomHeader/RoomHeader.vue?vue&type=template&id=938fbc28& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomHeader/RoomHeader.vue?vue&type=template&id=938fbc28& var RoomHeadervue_type_template_id_938fbc28_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-room-header vac-app-border-b"},[_vm._t("room-header",function(){return [_c('div',{staticClass:"vac-room-wrapper"},[_c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.messageSelectionEnabled)?_c('div',{staticClass:"vac-room-selection"},[_vm._l((_vm.messageSelectionActions),function(action){return _c('div',{key:action.name,attrs:{"id":action.name}},[_c('div',{staticClass:"vac-selection-button",on:{"click":function($event){return _vm.messageSelectionActionHandler(action)}}},[_vm._v(" "+_vm._s(action.title)+" "),_c('span',{staticClass:"vac-selection-button-count"},[_vm._v(" "+_vm._s(_vm.selectedMessagesTotal)+" ")])])])}),_c('div',{staticClass:"vac-selection-cancel vac-item-clickable",on:{"click":function($event){return _vm.$emit('cancel-message-selection')}}},[_vm._v(" "+_vm._s(_vm.textMessages.CANCEL_SELECT_MESSAGE)+" ")])],2):_vm._e()]),(!_vm.messageSelectionEnabled && _vm.messageSelectionAnimationEnded)?[(!_vm.singleRoom)?_c('div',{staticClass:"vac-svg-button vac-toggle-button",class:{ 'vac-rotate-icon-init': !_vm.isMobile, 'vac-rotate-icon': !_vm.showRoomsList && !_vm.isMobile },on:{"click":function($event){return _vm.$emit('toggle-rooms-list')}}},[_vm._t("toggle-icon",function(){return [_c('svg-icon',{attrs:{"name":"toggle"}})]})],2):_vm._e(),_c('div',{staticClass:"vac-info-wrapper",class:{ 'vac-item-clickable': _vm.roomInfoEnabled },on:{"click":function($event){return _vm.$emit('room-info')}}},[_vm._t("room-header-avatar",function(){return [(_vm.room.avatar)?_c('div',{staticClass:"vac-avatar",style:({ 'background-image': ("url('" + (_vm.room.avatar) + "')") })}):_vm._e()]},null,{ room: _vm.room }),_vm._t("room-header-info",function(){return [_c('div',{staticClass:"vac-text-ellipsis"},[_c('div',{staticClass:"vac-room-name vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.room.roomName)+" ")]),(_vm.typingUsers)?_c('div',{staticClass:"vac-room-info vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.typingUsers)+" ")]):_c('div',{staticClass:"vac-room-info vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.userStatus)+" ")])])]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2),(_vm.room.roomId)?_vm._t("room-options",function(){return [(_vm.menuActions.length)?_c('div',{staticClass:"vac-svg-button vac-room-options",on:{"click":function($event){_vm.menuOpened = !_vm.menuOpened}}},[_vm._t("menu-icon",function(){return [_c('svg-icon',{attrs:{"name":"menu"}})]})],2):_vm._e(),(_vm.menuActions.length)?_c('transition',{attrs:{"name":"vac-slide-left"}},[(_vm.menuOpened)?_c('div',{directives:[{name:"click-outside",rawName:"v-click-outside",value:(_vm.closeMenu),expression:"closeMenu"}],staticClass:"vac-menu-options"},[_c('div',{staticClass:"vac-menu-list"},_vm._l((_vm.menuActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:"vac-menu-item",on:{"click":function($event){return _vm.menuActionHandler(action)}}},[_vm._v(" "+_vm._s(action.title)+" ")])])}),0)]):_vm._e()]):_vm._e()]}):_vm._e()]:_vm._e()],2)]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2)} var RoomHeadervue_type_template_id_938fbc28_staticRenderFns = [] @@ -13036,7 +13754,7 @@ var RoomHeader_component = normalizeComponent( ) /* harmony default export */ var RoomHeader = (RoomHeader_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFooter.vue?vue&type=template&id=457f6483& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFooter.vue?vue&type=template&id=457f6483& var RoomFootervue_type_template_id_457f6483_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"show",rawName:"v-show",value:(Object.keys(_vm.room).length && _vm.showFooter),expression:"Object.keys(room).length && showFooter"}],staticClass:"vac-room-footer",class:{ 'vac-app-box-shadow': _vm.shadowFooter },attrs:{"id":"room-footer"}},[_c('room-emojis',{attrs:{"filtered-emojis":_vm.filteredEmojis,"select-item":_vm.selectEmojiItem,"active-up-or-down":_vm.activeUpOrDownEmojis},on:{"select-emoji":function($event){return _vm.selectEmoji($event)},"activate-item":function($event){_vm.activeUpOrDownEmojis = 0}}}),_c('room-users-tag',{attrs:{"filtered-users-tag":_vm.filteredUsersTag,"select-item":_vm.selectUsersTagItem,"active-up-or-down":_vm.activeUpOrDownUsersTag},on:{"select-user-tag":function($event){return _vm.selectUserTag($event)},"activate-item":function($event){_vm.activeUpOrDownUsersTag = 0}}}),_c('room-templates-text',{attrs:{"filtered-templates-text":_vm.filteredTemplatesText,"select-item":_vm.selectTemplatesTextItem,"active-up-or-down":_vm.activeUpOrDownTemplatesText},on:{"select-template-text":function($event){return _vm.selectTemplateText($event)},"activate-item":function($event){_vm.activeUpOrDownTemplatesText = 0}}}),_c('room-message-reply',{attrs:{"room":_vm.room,"message-reply":_vm.messageReply,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions},on:{"reset-message":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('room-files',{attrs:{"files":_vm.files},on:{"remove-file":_vm.removeFile,"reset-message":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:"vac-box-footer",class:{ 'vac-box-footer-border': !_vm.files.length }},[(_vm.showAudio && !_vm.files.length)?_c('div',{staticClass:"vac-icon-textarea-left"},[(_vm.isRecording)?[_c('div',{staticClass:"vac-svg-button vac-icon-audio-stop",on:{"click":_vm.stopRecorder}},[_vm._t("audio-stop-icon",function(){return [_c('svg-icon',{attrs:{"name":"close-outline"}})]})],2),_c('div',{staticClass:"vac-dot-audio-record"}),_c('div',{staticClass:"vac-dot-audio-record-time"},[_vm._v(" "+_vm._s(_vm.recordedTime)+" ")]),_c('div',{staticClass:"vac-svg-button vac-icon-audio-confirm",on:{"click":function($event){return _vm.toggleRecorder(false)}}},[_vm._t("audio-stop-icon",function(){return [_c('svg-icon',{attrs:{"name":"checkmark"}})]})],2)]:_c('div',{staticClass:"vac-svg-button",on:{"click":function($event){return _vm.toggleRecorder(true)}}},[_vm._t("microphone-icon",function(){return [_c('svg-icon',{staticClass:"vac-icon-microphone",attrs:{"name":"microphone"}})]})],2)],2):_vm._e(),_c('textarea',{ref:"roomTextarea",staticClass:"vac-textarea",class:{ @@ -13124,17 +13842,17 @@ var database = __webpack_require__("da58"); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?vue&type=template&id=4b3cfd82& -var EmojiPickerContainervue_type_template_id_4b3cfd82_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-emoji-wrapper"},[_c('div',{staticClass:"vac-svg-button",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{"click":_vm.openEmoji}},[_vm._t("emoji-picker-icon",function(){return [_c('svg-icon',{attrs:{"name":"emoji","param":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{"name":"vac-slide-up","appear":""}},[_c('div',{staticClass:"vac-emoji-picker",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({ +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?vue&type=template&id=44125154& +var EmojiPickerContainervue_type_template_id_44125154_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-emoji-wrapper"},[_c('div',{staticClass:"vac-svg-button",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{"click":_vm.openEmoji}},[_vm._t("emoji-picker-icon",function(){return [_c('svg-icon',{attrs:{"name":"emoji","param":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{"name":"vac-slide-up","appear":""}},[_c('div',{staticClass:"vac-emoji-picker",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({ height: (_vm.emojiPickerHeight + "px"), top: _vm.positionTop ? _vm.emojiPickerHeight : (_vm.emojiPickerTop + "px"), right: _vm.emojiPickerRight, display: _vm.emojiPickerTop || !_vm.emojiReaction ? 'initial' : 'none' })},[(_vm.emojiOpened)?_c('emoji-picker',{ref:"emojiPicker"}):_vm._e()],1)])]:_vm._e()],2)} -var EmojiPickerContainervue_type_template_id_4b3cfd82_staticRenderFns = [] +var EmojiPickerContainervue_type_template_id_44125154_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?vue&type=template&id=4b3cfd82& +// CONCATENATED MODULE: ./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?vue&type=template&id=44125154& // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?vue&type=script&lang=js& @@ -13235,28 +13953,24 @@ var EmojiPickerContainervue_type_template_id_4b3cfd82_staticRenderFns = [] this.setEmojiPickerPosition(ev.clientY, ev.view.innerWidth, ev.view.innerHeight); }, setEmojiPickerPosition: function setEmojiPickerPosition(clientY, innerWidth, innerHeight) { - var _this2 = this; - - setTimeout(function () { - var mobileSize = innerWidth < 500 || innerHeight < 700; - var roomFooterRef = document.getElementById('room-footer'); + var mobileSize = innerWidth < 500 || innerHeight < 700; + var roomFooterRef = document.getElementById('room-footer'); - if (!roomFooterRef) { - if (mobileSize) _this2.emojiPickerRight = '-50px'; - return; - } + if (!roomFooterRef) { + if (mobileSize) this.emojiPickerRight = '-50px'; + return; + } - if (mobileSize) { - _this2.emojiPickerRight = innerWidth / 2 - 150 + 'px'; - _this2.emojiPickerTop = 100; - _this2.emojiPickerHeight = innerHeight - 200; - } else { - var roomFooterTop = roomFooterRef.getBoundingClientRect().top; - var pickerTopPosition = roomFooterTop - clientY > _this2.emojiPickerHeight - 50; - if (pickerTopPosition) _this2.emojiPickerTop = clientY + 10;else _this2.emojiPickerTop = clientY - _this2.emojiPickerHeight - 10; - _this2.emojiPickerRight = _this2.positionTop ? '-50px' : _this2.positionRight ? '60px' : ''; - } - }); + if (mobileSize) { + this.emojiPickerRight = innerWidth / 2 - (this.positionTop ? 200 : 150) + 'px'; + this.emojiPickerTop = 100; + this.emojiPickerHeight = innerHeight - 200; + } else { + var roomFooterTop = roomFooterRef.getBoundingClientRect().top; + var pickerTopPosition = roomFooterTop - clientY > this.emojiPickerHeight - 50; + if (pickerTopPosition) this.emojiPickerTop = clientY + 10;else this.emojiPickerTop = clientY - this.emojiPickerHeight - 10; + this.emojiPickerRight = this.positionTop ? '0px' : this.positionRight ? '60px' : ''; + } } } }); @@ -13272,8 +13986,8 @@ var EmojiPickerContainervue_type_template_id_4b3cfd82_staticRenderFns = [] var EmojiPickerContainer_component = normalizeComponent( EmojiPickerContainer_EmojiPickerContainervue_type_script_lang_js_, - EmojiPickerContainervue_type_template_id_4b3cfd82_render, - EmojiPickerContainervue_type_template_id_4b3cfd82_staticRenderFns, + EmojiPickerContainervue_type_template_id_44125154_render, + EmojiPickerContainervue_type_template_id_44125154_staticRenderFns, false, null, null, @@ -13282,14 +13996,14 @@ var EmojiPickerContainer_component = normalizeComponent( ) /* harmony default export */ var EmojiPickerContainer = (EmojiPickerContainer_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?vue&type=template&id=60413016& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?vue&type=template&id=60413016& var RoomFilesvue_type_template_id_60413016_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.files.length)?_c('div',{staticClass:"vac-room-files-container",style:({ bottom: (_vm.footerHeight + "px") })},[_c('div',{staticClass:"vac-files-box"},_vm._l((_vm.files),function(file,i){return _c('div',{key:i},[_c('room-file',{attrs:{"file":file,"index":i},on:{"remove-file":function($event){return _vm.$emit('remove-file', $event)}}})],1)}),0),_c('div',{staticClass:"vac-icon-close"},[_c('div',{staticClass:"vac-svg-button",on:{"click":function($event){return _vm.$emit('reset-message')}}},[_vm._t("reply-close-icon",function(){return [_c('svg-icon',{attrs:{"name":"close-outline"}})]})],2)])]):_vm._e()])} var RoomFilesvue_type_template_id_60413016_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?vue&type=template&id=60413016& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?vue&type=template&id=c0a62836& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?vue&type=template&id=c0a62836& var RoomFilevue_type_template_id_c0a62836_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-room-file-container"},[_c('loader',{attrs:{"show":_vm.file.loading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:"vac-svg-button vac-icon-remove",on:{"click":function($event){return _vm.$emit('remove-file', _vm.index)}}},[_vm._t("image-close-icon",function(){return [_c('svg-icon',{attrs:{"name":"close","param":"image"}})]})],2),(_vm.isImage)?_c('div',{staticClass:"vac-message-image",class:{ 'vac-blur-loading': _vm.file.loading },style:({ 'background-image': ("url('" + (_vm.file.localUrl || _vm.file.url) + "')") })}):(_vm.isVideo)?_c('video',{class:{ 'vac-blur-loading': _vm.file.loading },attrs:{"controls":""}},[_c('source',{attrs:{"src":_vm.file.localUrl || _vm.file.url}})]):_c('div',{staticClass:"vac-file-container",class:{ 'vac-blur-loading': _vm.file.loading }},[_c('div',[_vm._t("file-icon",function(){return [_c('svg-icon',{attrs:{"name":"file"}})]})],2),_c('div',{staticClass:"vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.file.name)+" ")]),(_vm.file.extension)?_c('div',{staticClass:"vac-text-ellipsis vac-text-extension"},[_vm._v(" "+_vm._s(_vm.file.extension)+" ")]):_vm._e()])],1)} @@ -13481,21 +14195,21 @@ var RoomFiles_component = normalizeComponent( ) /* harmony default export */ var RoomFiles = (RoomFiles_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?vue&type=template&id=86b41b08& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?vue&type=template&id=86b41b08& var RoomMessageReplyvue_type_template_id_86b41b08_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.messageReply)?_c('div',{staticClass:"vac-reply-container",style:({ bottom: (_vm.footerHeight + "px") })},[_c('div',{staticClass:"vac-reply-box"},[_c('div',{staticClass:"vac-reply-info"},[_c('div',{staticClass:"vac-reply-username"},[_vm._v(" "+_vm._s(_vm.messageReply.username)+" ")]),_c('div',{staticClass:"vac-reply-content"},[_c('format-message',{attrs:{"content":_vm.messageReply.content,"users":_vm.room.users,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"reply":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)]),(_vm.isImage)?_c('img',{staticClass:"vac-image-reply",attrs:{"src":_vm.firstFile.url}}):(_vm.isVideo)?_c('video',{staticClass:"vac-image-reply",attrs:{"controls":""}},[_c('source',{attrs:{"src":_vm.firstFile.url}})]):(_vm.isAudio)?_c('audio-player',{staticClass:"vac-audio-reply",attrs:{"src":_vm.firstFile.url},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:"vac-image-reply vac-file-container"},[_c('div',[_vm._t("file-icon",function(){return [_c('svg-icon',{attrs:{"name":"file"}})]})],2),_c('div',{staticClass:"vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.firstFile.name)+" ")]),(_vm.firstFile.extension)?_c('div',{staticClass:"vac-text-ellipsis vac-text-extension"},[_vm._v(" "+_vm._s(_vm.firstFile.extension)+" ")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:"vac-icon-reply"},[_c('div',{staticClass:"vac-svg-button",on:{"click":function($event){return _vm.$emit('reset-message')}}},[_vm._t("reply-close-icon",function(){return [_c('svg-icon',{attrs:{"name":"close-outline"}})]})],2)])]):_vm._e()])} var RoomMessageReplyvue_type_template_id_86b41b08_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?vue&type=template&id=86b41b08& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?vue&type=template&id=d8b85268& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?vue&type=template&id=d8b85268& var AudioPlayervue_type_template_id_d8b85268_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:"vac-audio-player"},[_c('div',{staticClass:"vac-svg-button",on:{"click":_vm.playback}},[(_vm.isPlaying)?_vm._t("audio-pause-icon",function(){return [_c('svg-icon',{attrs:{"name":"audio-pause"}})]}):_vm._t("audio-play-icon",function(){return [_c('svg-icon',{attrs:{"name":"audio-play"}})]})],2),_c('audio-control',{attrs:{"percentage":_vm.progress,"message-selection-enabled":_vm.messageSelectionEnabled},on:{"change-linehead":_vm.onUpdateProgress,"hover-audio-progress":function($event){return _vm.$emit('hover-audio-progress', $event)}}}),_c('audio',{attrs:{"id":_vm.playerUniqId,"src":_vm.audioSource}})],1)])} var AudioPlayervue_type_template_id_d8b85268_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?vue&type=template&id=d8b85268& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?vue&type=template&id=1721db79& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?vue&type=template&id=1721db79& var AudioControlvue_type_template_id_1721db79_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"progress",staticClass:"vac-player-bar",on:{"mousedown":_vm.onMouseDown,"mouseover":function($event){return _vm.$emit('hover-audio-progress', true)},"mouseout":function($event){return _vm.$emit('hover-audio-progress', false)}}},[_c('div',{staticClass:"vac-player-progress"},[_c('div',{staticClass:"vac-line-container"},[_c('div',{staticClass:"vac-line-progress",style:({ width: (_vm.percentage + "%") })}),_c('div',{staticClass:"vac-line-dot",class:{ 'vac-line-dot__active': _vm.isMouseDown },style:({ left: (_vm.percentage + "%") })})])])])} var AudioControlvue_type_template_id_1721db79_staticRenderFns = [] @@ -13893,7 +14607,7 @@ var RoomMessageReply_component = normalizeComponent( ) /* harmony default export */ var RoomMessageReply = (RoomMessageReply_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?vue&type=template&id=082c6732& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?vue&type=template&id=082c6732& var RoomUsersTagvue_type_template_id_082c6732_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.filteredUsersTag.length)?_c('div',{staticClass:"vac-tags-container",style:({ bottom: (_vm.footerHeight + "px") })},_vm._l((_vm.filteredUsersTag),function(user,index){return _c('div',{key:user._id,staticClass:"vac-tags-box",class:{ 'vac-tags-box-active': index === _vm.activeItem },on:{"mouseover":function($event){_vm.activeItem = index},"click":function($event){return _vm.$emit('select-user-tag', user)}}},[_c('div',{staticClass:"vac-tags-info"},[(user.avatar)?_c('div',{staticClass:"vac-avatar vac-tags-avatar",style:({ 'background-image': ("url('" + (user.avatar) + "')") })}):_vm._e(),_c('div',{staticClass:"vac-tags-username"},[_vm._v(" "+_vm._s(user.username)+" ")])])])}),0):_vm._e()])} var RoomUsersTagvue_type_template_id_082c6732_staticRenderFns = [] @@ -14003,7 +14717,7 @@ var RoomUsersTag_component = normalizeComponent( ) /* harmony default export */ var RoomUsersTag = (RoomUsersTag_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?vue&type=template&id=b6026542& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?vue&type=template&id=b6026542& var RoomEmojisvue_type_template_id_b6026542_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.filteredEmojis.length)?_c('div',{staticClass:"vac-emojis-container",style:({ bottom: (_vm.footerHeight + "px") })},_vm._l((_vm.filteredEmojis),function(emoji,index){return _c('div',{key:emoji,staticClass:"vac-emoji-element",class:{ 'vac-emoji-element-active': index === _vm.activeItem },on:{"mouseover":function($event){_vm.activeItem = index},"click":function($event){return _vm.$emit('select-emoji', emoji)}}},[_vm._v(" "+_vm._s(emoji)+" ")])}),0):_vm._e()])} var RoomEmojisvue_type_template_id_b6026542_staticRenderFns = [] @@ -14104,7 +14818,7 @@ var RoomEmojis_component = normalizeComponent( ) /* harmony default export */ var RoomEmojis = (RoomEmojis_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?vue&type=template&id=113f1c86& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?vue&type=template&id=113f1c86& var RoomTemplatesTextvue_type_template_id_113f1c86_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-slide-up"}},[(_vm.filteredTemplatesText.length)?_c('div',{staticClass:"vac-template-container vac-app-box-shadow",style:({ bottom: (_vm.footerHeight + "px") })},_vm._l((_vm.filteredTemplatesText),function(template,index){return _c('div',{key:index,staticClass:"vac-template-box",class:{ 'vac-template-active': index === _vm.activeItem },on:{"mouseover":function($event){_vm.activeItem = index},"click":function($event){return _vm.$emit('select-template-text', template)}}},[_c('div',{staticClass:"vac-template-info"},[_c('div',{staticClass:"vac-template-tag"},[_vm._v(" /"+_vm._s(template.tag)+" ")]),_c('div',{staticClass:"vac-template-text"},[_vm._v(" "+_vm._s(template.text)+" ")])])])}),0):_vm._e()])} var RoomTemplatesTextvue_type_template_id_113f1c86_staticRenderFns = [] @@ -15552,7 +16266,7 @@ var RoomFooter_component = normalizeComponent( ) /* harmony default export */ var RoomFooter = (RoomFooter_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/RoomMessage.vue?vue&type=template&id=545cd2c3& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/RoomMessage.vue?vue&type=template&id=545cd2c3& var RoomMessagevue_type_template_id_545cd2c3_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"message",staticClass:"vac-message-wrapper",attrs:{"id":_vm.message._id}},[(_vm.showDate)?_c('div',{staticClass:"vac-card-info vac-card-date"},[_vm._v(" "+_vm._s(_vm.message.date)+" ")]):_vm._e(),(_vm.newMessage._id === _vm.message._id)?_c('div',{staticClass:"vac-line-new"},[_vm._v(" "+_vm._s(_vm.textMessages.NEW_MESSAGES)+" ")]):_vm._e(),(_vm.message.system)?_c('div',{staticClass:"vac-card-info vac-card-system"},[_c('format-message',{attrs:{"content":_vm.message.content,"users":_vm.roomUsers,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions},on:{"open-user-tag":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_c('div',{staticClass:"vac-message-box",class:{ 'vac-offset-current': _vm.message.senderId === _vm.currentUserId },on:{"click":_vm.selectMessage}},[_vm._t("message",function(){return [(_vm.message.avatar && _vm.message.senderId !== _vm.currentUserId)?_c('div',{staticClass:"vac-avatar",style:({ 'background-image': ("url('" + (_vm.message.avatar) + "')") })}):_vm._e(),(_vm.hasSenderUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:"vac-avatar-offset"}):_vm._e(),_c('div',{staticClass:"vac-message-container",class:{ 'vac-message-container-offset': _vm.messageOffset }},[_c('div',{staticClass:"vac-message-card",class:{ @@ -15575,7 +16289,7 @@ var RoomMessagevue_type_template_id_545cd2c3_staticRenderFns = [] // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js var es_array_reduce = __webpack_require__("13d5"); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?vue&type=template&id=514045b4& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?vue&type=template&id=514045b4& var MessageReplyvue_type_template_id_514045b4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-reply-message"},[_c('div',{staticClass:"vac-reply-username"},[_vm._v(" "+_vm._s(_vm.replyUsername)+" ")]),(_vm.isImage)?_c('div',{staticClass:"vac-image-reply-container"},[_c('div',{staticClass:"vac-message-image vac-message-image-reply",style:({ 'background-image': ("url('" + (_vm.firstFile.url) + "')") })})]):(_vm.isVideo)?_c('div',{staticClass:"vac-video-reply-container"},[_c('video',{attrs:{"width":"100%","height":"100%","controls":""}},[_c('source',{attrs:{"src":_vm.firstFile.url}})])]):(_vm.isAudio)?_c('audio-player',{attrs:{"src":_vm.firstFile.url},on:{"update-progress-time":function($event){_vm.progressTime = $event},"hover-audio-progress":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:"vac-file-container"},[_c('div',[_vm._t("file-icon",function(){return [_c('svg-icon',{attrs:{"name":"file"}})]})],2),_c('div',{staticClass:"vac-text-ellipsis"},[_vm._v(" "+_vm._s(_vm.firstFile.name)+" ")]),(_vm.firstFile.extension)?_c('div',{staticClass:"vac-text-ellipsis vac-text-extension"},[_vm._v(" "+_vm._s(_vm.firstFile.extension)+" ")]):_vm._e()]):_vm._e(),_c('div',{staticClass:"vac-reply-content"},[_c('format-message',{attrs:{"content":_vm.message.replyMessage.content,"users":_vm.roomUsers,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions,"reply":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)],1)} @@ -15737,14 +16451,14 @@ var MessageReply_component = normalizeComponent( ) /* harmony default export */ var MessageReply = (MessageReply_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?vue&type=template&id=ebb72a26& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?vue&type=template&id=ebb72a26& var MessageFilesvue_type_template_id_ebb72a26_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-message-files-container"},[_vm._l((_vm.imageVideoFiles),function(file,idx){return _c('div',{key:idx + 'iv'},[_c('message-file',{attrs:{"file":file,"current-user-id":_vm.currentUserId,"message":_vm.message,"index":idx,"message-selection-enabled":_vm.messageSelectionEnabled},on:{"open-file":function($event){return _vm.$emit('open-file', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_vm._l((_vm.otherFiles),function(file,idx){return _c('div',{key:idx + 'a',staticClass:"vac-file-wrapper"},[(file.progress >= 0)?_c('progress-bar',{style:({ top: '44px' }),attrs:{"progress":file.progress}}):_vm._e(),_c('div',{staticClass:"vac-file-container",class:{ 'vac-file-container-progress': file.progress >= 0 },on:{"click":function($event){return _vm.openFile($event, file, 'download')}}},[_c('div',{staticClass:"vac-svg-button"},[_vm._t("document-icon",function(){return [_c('svg-icon',{attrs:{"name":"document"}})]})],2),_c('div',{staticClass:"vac-text-ellipsis"},[_vm._v(" "+_vm._s(file.name)+" ")]),(file.extension)?_c('div',{staticClass:"vac-text-ellipsis vac-text-extension"},[_vm._v(" "+_vm._s(file.extension)+" ")]):_vm._e()])],1)}),_c('format-message',{attrs:{"content":_vm.message.content,"users":_vm.roomUsers,"text-formatting":_vm.textFormatting,"link-options":_vm.linkOptions},on:{"open-user-tag":function($event){return _vm.$emit('open-user-tag', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)} var MessageFilesvue_type_template_id_ebb72a26_staticRenderFns = [] // CONCATENATED MODULE: ./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?vue&type=template&id=ebb72a26& -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ProgressBar/ProgressBar.vue?vue&type=template&id=561521ed& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ProgressBar/ProgressBar.vue?vue&type=template&id=561521ed& var ProgressBarvue_type_template_id_561521ed_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{"name":"vac-fade-spinner","appear":""}},[_c('div',{ref:"progress",staticClass:"vac-progress-wrapper"},[_c('svg',{attrs:{"height":_vm.radius * 2,"width":_vm.radius * 2}},[_c('circle',{style:({ strokeDashoffset: _vm.strokeDashoffset, strokeLinecap: 'round' @@ -15840,7 +16554,7 @@ var ProgressBar_component = normalizeComponent( ) /* harmony default export */ var ProgressBar = (ProgressBar_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?vue&type=template&id=442d693d& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?vue&type=template&id=442d693d& var MessageFilevue_type_template_id_442d693d_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-message-file-container"},[(_vm.isImage)?_c('div',{ref:'imageRef' + _vm.index,staticClass:"vac-message-image-container",on:{"mouseover":function($event){_vm.imageHover = true},"mouseleave":function($event){_vm.imageHover = false},"click":function($event){return _vm.openFile($event, 'preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{style:({ top: ((_vm.imageResponsive.loaderTop) + "px") }),attrs:{"progress":_vm.file.progress}}):_c('loader',{style:({ top: ((_vm.imageResponsive.loaderTop) + "px") }),attrs:{"show":_vm.isImageLoading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:"vac-message-image",class:{ 'vac-blur-loading': _vm.isImageLoading && _vm.message.senderId === _vm.currentUserId @@ -16204,7 +16918,7 @@ var MessageFiles_component = normalizeComponent( ) /* harmony default export */ var MessageFiles = (MessageFiles_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?vue&type=template&id=27f1a961& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?vue&type=template&id=27f1a961& var MessageActionsvue_type_template_id_27f1a961_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vac-message-actions-wrapper"},[_c('div',{staticClass:"vac-options-container",style:({ display: _vm.hoverAudioProgress ? 'none' : 'initial', width: @@ -16465,7 +17179,7 @@ var MessageActions_component = normalizeComponent( ) /* harmony default export */ var MessageActions = (MessageActions_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?vue&type=template&id=3fc44a38& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?vue&type=template&id=3fc44a38& var MessageReactionsvue_type_template_id_3fc44a38_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.message.deleted)?_c('transition-group',{attrs:{"name":"vac-slide-left","tag":"span"}},_vm._l((_vm.message.reactions),function(reaction,key){return _c('button',{directives:[{name:"show",rawName:"v-show",value:(reaction.length),expression:"reaction.length"}],key:key + 0,staticClass:"vac-button-reaction",class:{ 'vac-reaction-me': reaction.indexOf(_vm.currentUserId) !== -1 },style:({ @@ -17724,7 +18438,7 @@ var Room_component = normalizeComponent( ) /* harmony default export */ var Room = (Room_component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"38d332d2-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/MediaPreview/MediaPreview.vue?vue&type=template&id=2d3ea15a& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"207d51d4-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/lib/MediaPreview/MediaPreview.vue?vue&type=template&id=2d3ea15a& var MediaPreviewvue_type_template_id_2d3ea15a_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"modal",staticClass:"vac-media-preview",attrs:{"tabindex":"0"},on:{"click":function($event){$event.stopPropagation();return _vm.closeModal.apply(null, arguments)},"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }return _vm.closeModal.apply(null, arguments)}}},[_c('transition',{attrs:{"name":"vac-bounce-preview","appear":""}},[(_vm.isImage)?_c('div',{staticClass:"vac-media-preview-container"},[_c('div',{staticClass:"vac-image-preview",style:({ 'background-image': ("url('" + (_vm.file.url) + "')") })})]):(_vm.isVideo)?_c('div',{staticClass:"vac-media-preview-container"},[_c('video',{attrs:{"width":"100%","height":"100%","controls":"","autoplay":""}},[_c('source',{attrs:{"src":_vm.file.url}})])]):_vm._e()]),_c('div',{staticClass:"vac-svg-button"},[_vm._t("preview-close-icon",function(){return [_c('svg-icon',{attrs:{"name":"close-outline","param":"preview"}})]})],2)],1)} @@ -18895,15 +19609,13 @@ var isCallable = __webpack_require__("1626"); var isRegExp = __webpack_require__("44e7"); var toString = __webpack_require__("577e"); var getMethod = __webpack_require__("dc4a"); -var regExpFlags = __webpack_require__("ad6d"); +var getRegExpFlags = __webpack_require__("90d8"); var getSubstitution = __webpack_require__("0cb2"); var wellKnownSymbol = __webpack_require__("b622"); var IS_PURE = __webpack_require__("c430"); var REPLACE = wellKnownSymbol('replace'); -var RegExpPrototype = RegExp.prototype; var TypeError = global.TypeError; -var getFlags = uncurryThis(regExpFlags); var indexOf = uncurryThis(''.indexOf); var replace = uncurryThis(''.replace); var stringSlice = uncurryThis(''.slice); @@ -18927,10 +19639,7 @@ $({ target: 'String', proto: true }, { if (searchValue != null) { IS_REG_EXP = isRegExp(searchValue); if (IS_REG_EXP) { - flags = toString(requireObjectCoercible('flags' in RegExpPrototype - ? searchValue.flags - : getFlags(searchValue) - )); + flags = toString(requireObjectCoercible(getRegExpFlags(searchValue))); if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes'); } replacer = getMethod(searchValue, REPLACE); @@ -18987,7 +19696,7 @@ var DESCRIPTORS = __webpack_require__("83ab"); var hasOwn = __webpack_require__("1a2d"); var FunctionPrototype = Function.prototype; -// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; var EXISTS = hasOwn(FunctionPrototype, 'name'); @@ -19002,6 +19711,316 @@ module.exports = { }; +/***/ }), + +/***/ "5e7e": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var IS_PURE = __webpack_require__("c430"); +var IS_NODE = __webpack_require__("605d"); +var global = __webpack_require__("da84"); +var call = __webpack_require__("c65b"); +var defineBuiltIn = __webpack_require__("cb2d"); +var setPrototypeOf = __webpack_require__("d2bb"); +var setToStringTag = __webpack_require__("d44e"); +var setSpecies = __webpack_require__("2626"); +var aCallable = __webpack_require__("59ed"); +var isCallable = __webpack_require__("1626"); +var isObject = __webpack_require__("861d"); +var anInstance = __webpack_require__("19aa"); +var speciesConstructor = __webpack_require__("4840"); +var task = __webpack_require__("2cf4").set; +var microtask = __webpack_require__("b575"); +var hostReportErrors = __webpack_require__("44de"); +var perform = __webpack_require__("e667"); +var Queue = __webpack_require__("01b4"); +var InternalStateModule = __webpack_require__("69f3"); +var NativePromiseConstructor = __webpack_require__("d256"); +var PromiseConstructorDetection = __webpack_require__("4738"); +var newPromiseCapabilityModule = __webpack_require__("f069"); + +var PROMISE = 'Promise'; +var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR; +var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT; +var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var PromiseConstructor = NativePromiseConstructor; +var PromisePrototype = NativePromisePrototype; +var TypeError = global.TypeError; +var document = global.document; +var process = global.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; + +var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; + +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; + +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state == FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } +}; + +var notify = function (state, isReject) { + if (state.notified) return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) onUnhandled(state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + global.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; + +var internalReject = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; + +var internalResolve = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (state.facade === value) throw TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, + bind(internalResolve, wrapper, state), + bind(internalReject, wrapper, state) + ); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED_PROMISE_CONSTRUCTOR) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalPromiseState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + + PromisePrototype = PromiseConstructor.prototype; + + // eslint-disable-next-line no-unused-vars -- required for `.length` + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: undefined + }); + }; + + // `Promise.prototype.then` method + // https://tc39.es/ecma262/#sec-promise.prototype.then + Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state == PENDING) state.reactions.add(reaction); + else microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + }); + + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalPromiseState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + + if (!NATIVE_PROMISE_SUBCLASSING) { + // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs + defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + } + + // make `.constructor === Promise` work for native promise-based APIs + try { + delete NativePromisePrototype.constructor; + } catch (error) { /* empty */ } + + // make `instanceof Promise` work for native promise-based APIs + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} + +$({ global: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + + +/***/ }), + +/***/ "5eed": +/***/ (function(module, exports, __webpack_require__) { + +var NativePromiseConstructor = __webpack_require__("d256"); +var checkCorrectnessOfIteration = __webpack_require__("1c7e"); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__("4738").CONSTRUCTOR; + +module.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) { + NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ }); +}); + + /***/ }), /***/ "5f84": @@ -19750,16 +20769,8 @@ module.exports = classof(global.process) == 'process'; /***/ "6062": /***/ (function(module, exports, __webpack_require__) { -"use strict"; - -var collection = __webpack_require__("6d61"); -var collectionStrong = __webpack_require__("6566"); - -// `Set` constructor -// https://tc39.es/ecma262/#sec-set-objects -collection('Set', function (init) { - return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; -}, collectionStrong); +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__("1c59"); /***/ }), @@ -19767,7 +20778,7 @@ collection('Set', function (init) { /***/ "6069": /***/ (function(module, exports) { -module.exports = typeof window == 'object'; +module.exports = typeof window == 'object' && typeof Deno != 'object'; /***/ }), @@ -19841,9 +20852,9 @@ var propertyIsEnumerableModule = __webpack_require__("d1e7"); var toObject = __webpack_require__("7b0b"); var IndexedObject = __webpack_require__("44ad"); -// eslint-disable-next-line es/no-object-assign -- safe +// eslint-disable-next-line es-x/no-object-assign -- safe var $assign = Object.assign; -// eslint-disable-next-line es/no-object-defineproperty -- required for testing +// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing var defineProperty = Object.defineProperty; var concat = uncurryThis([].concat); @@ -19863,7 +20874,7 @@ module.exports = !$assign || fails(function () { // should work with symbols and should have deterministic property order (V8 bug) var A = {}; var B = {}; - // eslint-disable-next-line es/no-symbol -- safe + // eslint-disable-next-line es-x/no-symbol -- safe var symbol = Symbol(); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; @@ -19902,7 +20913,7 @@ var DESCRIPTORS = __webpack_require__("83ab"); var NATIVE_ARRAY_BUFFER = __webpack_require__("a981"); var FunctionName = __webpack_require__("5e77"); var createNonEnumerableProperty = __webpack_require__("9112"); -var redefineAll = __webpack_require__("e2cc"); +var defineBuiltIns = __webpack_require__("6964"); var fails = __webpack_require__("d039"); var anInstance = __webpack_require__("19aa"); var toIntegerOrInfinity = __webpack_require__("5926"); @@ -20031,7 +21042,7 @@ if (!NATIVE_ARRAY_BUFFER) { addGetter($DataView, 'byteOffset'); } - redefineAll(DataViewPrototype, { + defineBuiltIns(DataViewPrototype, { getInt8: function getInt8(byteOffset) { return get(this, 1, byteOffset)[0] << 24 >> 24; }, @@ -20125,7 +21136,7 @@ if (!NATIVE_ARRAY_BUFFER) { var $setInt8 = uncurryThis(DataViewPrototype.setInt8); testView.setInt8(0, 2147483648); testView.setInt8(1, 2147483649); - if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, { + if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, { setInt8: function setInt8(byteOffset, value) { $setInt8(this, byteOffset, value << 24 >> 24); }, @@ -20265,7 +21276,7 @@ module.exports = { var defineProperty = __webpack_require__("9bf2").f; var create = __webpack_require__("7c73"); -var redefineAll = __webpack_require__("e2cc"); +var defineBuiltIns = __webpack_require__("6964"); var bind = __webpack_require__("0366"); var anInstance = __webpack_require__("19aa"); var iterate = __webpack_require__("2266"); @@ -20335,7 +21346,7 @@ module.exports = { } }; - redefineAll(Prototype, { + defineBuiltIns(Prototype, { // `{ Map, Set }.prototype.clear()` methods // https://tc39.es/ecma262/#sec-map.prototype.clear // https://tc39.es/ecma262/#sec-set.prototype.clear @@ -20395,7 +21406,7 @@ module.exports = { } }); - redefineAll(Prototype, IS_MAP ? { + defineBuiltIns(Prototype, IS_MAP ? { // `Map.prototype.get(key)` method // https://tc39.es/ecma262/#sec-map.prototype.get get: function get(key) { @@ -20565,6 +21576,19 @@ module.exports = !construct || fails(function () { }) ? isConstructorLegacy : isConstructorModern; +/***/ }), + +/***/ "6964": +/***/ (function(module, exports, __webpack_require__) { + +var defineBuiltIn = __webpack_require__("cb2d"); + +module.exports = function (target, src, options) { + for (var key in src) defineBuiltIn(target, key, src[key], options); + return target; +}; + + /***/ }), /***/ "69b2": @@ -21685,7 +22709,7 @@ var $ = __webpack_require__("23e7"); var global = __webpack_require__("da84"); var uncurryThis = __webpack_require__("e330"); var isForced = __webpack_require__("94ca"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var InternalMetadataModule = __webpack_require__("f183"); var iterate = __webpack_require__("2266"); var anInstance = __webpack_require__("19aa"); @@ -21707,7 +22731,7 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { var fixMethod = function (KEY) { var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); - redefine(NativePrototype, KEY, + defineBuiltIn(NativePrototype, KEY, KEY == 'add' ? function add(value) { uncurriedNativeMethod(this, value === 0 ? 0 : value); return this; @@ -21792,6 +22816,7 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { /***/ "6eba": /***/ (function(module, exports, __webpack_require__) { +// TODO: Remove from `core-js@4` var $ = __webpack_require__("23e7"); var global = __webpack_require__("da84"); var uncurryThis = __webpack_require__("e330"); @@ -21808,59 +22833,6 @@ $({ target: 'Date', stat: true }, { }); -/***/ }), - -/***/ "6eeb": -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__("da84"); -var isCallable = __webpack_require__("1626"); -var hasOwn = __webpack_require__("1a2d"); -var createNonEnumerableProperty = __webpack_require__("9112"); -var setGlobal = __webpack_require__("ce4e"); -var inspectSource = __webpack_require__("8925"); -var InternalStateModule = __webpack_require__("69f3"); -var CONFIGURABLE_FUNCTION_NAME = __webpack_require__("5e77").CONFIGURABLE; - -var getInternalState = InternalStateModule.get; -var enforceInternalState = InternalStateModule.enforce; -var TEMPLATE = String(String).split('String'); - -(module.exports = function (O, key, value, options) { - var unsafe = options ? !!options.unsafe : false; - var simple = options ? !!options.enumerable : false; - var noTargetGet = options ? !!options.noTargetGet : false; - var name = options && options.name !== undefined ? options.name : key; - var state; - if (isCallable(value)) { - if (String(name).slice(0, 7) === 'Symbol(') { - name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; - } - if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { - createNonEnumerableProperty(value, 'name', name); - } - state = enforceInternalState(value); - if (!state.source) { - state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); - } - } - if (O === global) { - if (simple) O[key] = value; - else setGlobal(key, value); - return; - } else if (!unsafe) { - delete O[key]; - } else if (!noTargetGet && O[key]) { - simple = true; - } - if (simple) O[key] = value; - else createNonEnumerableProperty(O, key, value); -// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative -})(Function.prototype, 'toString', function toString() { - return isCallable(this) && getInternalState(this).source || inspectSource(this); -}); - - /***/ }), /***/ "6f53": @@ -21904,6 +22876,32 @@ module.exports = { }; +/***/ }), + +/***/ "7149": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var getBuiltIn = __webpack_require__("d066"); +var IS_PURE = __webpack_require__("c430"); +var NativePromiseConstructor = __webpack_require__("d256"); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__("4738").CONSTRUCTOR; +var promiseResolve = __webpack_require__("cdf9"); + +var PromiseConstructorWrapper = getBuiltIn('Promise'); +var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR; + +// `Promise.resolve` method +// https://tc39.es/ecma262/#sec-promise.resolve +$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, { + resolve: function resolve(x) { + return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x); + } +}); + + /***/ }), /***/ "7156": @@ -22092,7 +23090,7 @@ exportTypedArrayMethod('fill', function fill(value /* , start, end */) { /***/ "7418": /***/ (function(module, exports) { -// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe exports.f = Object.getOwnPropertySymbols; @@ -22736,7 +23734,7 @@ var defineProperty = __webpack_require__("9bf2").f; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty -// eslint-disable-next-line es/no-object-defineproperty -- safe +// eslint-disable-next-line es-x/no-object-defineproperty -- safe $({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, { defineProperty: defineProperty }); @@ -22835,6 +23833,7 @@ hiddenKeys[IE_PROTO] = true; // `Object.create` method // https://tc39.es/ecma262/#sec-object.create +// eslint-disable-next-line es-x/no-object-create -- safe module.exports = Object.create || function create(O, Properties) { var result; if (O !== null) { @@ -22894,7 +23893,7 @@ var getPrototypeOf = __webpack_require__("e163"); var setPrototypeOf = __webpack_require__("d2bb"); var setToStringTag = __webpack_require__("d44e"); var createNonEnumerableProperty = __webpack_require__("9112"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var wellKnownSymbol = __webpack_require__("b622"); var Iterators = __webpack_require__("3f8c"); var IteratorsCore = __webpack_require__("ae93"); @@ -22941,7 +23940,7 @@ module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, I if (setPrototypeOf) { setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { - redefine(CurrentIteratorPrototype, ITERATOR, returnThis); + defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); } } // Set @@toStringTag to native iterators @@ -22969,14 +23968,14 @@ module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, I }; if (FORCED) for (KEY in methods) { if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { - redefine(IterablePrototype, KEY, methods[KEY]); + defineBuiltIn(IterablePrototype, KEY, methods[KEY]); } } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); } // define iterator if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { - redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); } Iterators[NAME] = defaultIterator; @@ -23352,7 +24351,7 @@ var fails = __webpack_require__("d039"); // Detect IE8's incomplete defineProperty implementation module.exports = !fails(function () { - // eslint-disable-next-line es/no-object-defineproperty -- required for testing + // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; }); @@ -25617,11 +26616,17 @@ function instance($$self, $$props, $$invalidate) { } } - if ($$self.$$.dirty[0] & /*groups*/ 4096 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) { + if ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) { { if (customEmoji && customEmoji.length) { $$invalidate(12, groups$1 = [customGroup, ...groups]); } else if (groups$1 !== groups) { + if (currentGroupIndex) { + // If the current group is anything other than "custom" (which is first), decrement. + // This fixes the odd case where you set customEmoji, then pick a category, then unset customEmoji + $$invalidate(11, currentGroupIndex--, currentGroupIndex); + } + $$invalidate(12, groups$1 = groups); } } @@ -26396,6 +27401,25 @@ exportTypedArrayMethod('at', function at(index) { }); +/***/ }), + +/***/ "90d8": +/***/ (function(module, exports, __webpack_require__) { + +var call = __webpack_require__("c65b"); +var hasOwn = __webpack_require__("1a2d"); +var isPrototypeOf = __webpack_require__("3a9b"); +var regExpFlags = __webpack_require__("ad6d"); + +var RegExpPrototype = RegExp.prototype; + +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) + ? call(regExpFlags, R) : flags; +}; + + /***/ }), /***/ "90e3": @@ -27643,390 +28667,8 @@ module.exports = L3Side; /***/ "9861": /***/ (function(module, exports, __webpack_require__) { -"use strict"; - -// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` -__webpack_require__("e260"); -var $ = __webpack_require__("23e7"); -var global = __webpack_require__("da84"); -var getBuiltIn = __webpack_require__("d066"); -var call = __webpack_require__("c65b"); -var uncurryThis = __webpack_require__("e330"); -var USE_NATIVE_URL = __webpack_require__("0d3b"); -var redefine = __webpack_require__("6eeb"); -var redefineAll = __webpack_require__("e2cc"); -var setToStringTag = __webpack_require__("d44e"); -var createIteratorConstructor = __webpack_require__("9ed3"); -var InternalStateModule = __webpack_require__("69f3"); -var anInstance = __webpack_require__("19aa"); -var isCallable = __webpack_require__("1626"); -var hasOwn = __webpack_require__("1a2d"); -var bind = __webpack_require__("0366"); -var classof = __webpack_require__("f5df"); -var anObject = __webpack_require__("825a"); -var isObject = __webpack_require__("861d"); -var $toString = __webpack_require__("577e"); -var create = __webpack_require__("7c73"); -var createPropertyDescriptor = __webpack_require__("5c6c"); -var getIterator = __webpack_require__("9a1f"); -var getIteratorMethod = __webpack_require__("35a1"); -var validateArgumentsLength = __webpack_require__("d6d6"); -var wellKnownSymbol = __webpack_require__("b622"); -var arraySort = __webpack_require__("addb"); - -var ITERATOR = wellKnownSymbol('iterator'); -var URL_SEARCH_PARAMS = 'URLSearchParams'; -var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); -var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); - -var n$Fetch = getBuiltIn('fetch'); -var N$Request = getBuiltIn('Request'); -var Headers = getBuiltIn('Headers'); -var RequestPrototype = N$Request && N$Request.prototype; -var HeadersPrototype = Headers && Headers.prototype; -var RegExp = global.RegExp; -var TypeError = global.TypeError; -var decodeURIComponent = global.decodeURIComponent; -var encodeURIComponent = global.encodeURIComponent; -var charAt = uncurryThis(''.charAt); -var join = uncurryThis([].join); -var push = uncurryThis([].push); -var replace = uncurryThis(''.replace); -var shift = uncurryThis([].shift); -var splice = uncurryThis([].splice); -var split = uncurryThis(''.split); -var stringSlice = uncurryThis(''.slice); - -var plus = /\+/g; -var sequences = Array(4); - -var percentSequence = function (bytes) { - return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); -}; - -var percentDecode = function (sequence) { - try { - return decodeURIComponent(sequence); - } catch (error) { - return sequence; - } -}; - -var deserialize = function (it) { - var result = replace(it, plus, ' '); - var bytes = 4; - try { - return decodeURIComponent(result); - } catch (error) { - while (bytes) { - result = replace(result, percentSequence(bytes--), percentDecode); - } - return result; - } -}; - -var find = /[!'()~]|%20/g; - -var replacements = { - '!': '%21', - "'": '%27', - '(': '%28', - ')': '%29', - '~': '%7E', - '%20': '+' -}; - -var replacer = function (match) { - return replacements[match]; -}; - -var serialize = function (it) { - return replace(encodeURIComponent(it), find, replacer); -}; - -var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { - setInternalState(this, { - type: URL_SEARCH_PARAMS_ITERATOR, - iterator: getIterator(getInternalParamsState(params).entries), - kind: kind - }); -}, 'Iterator', function next() { - var state = getInternalIteratorState(this); - var kind = state.kind; - var step = state.iterator.next(); - var entry = step.value; - if (!step.done) { - step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; - } return step; -}, true); - -var URLSearchParamsState = function (init) { - this.entries = []; - this.url = null; - - if (init !== undefined) { - if (isObject(init)) this.parseObject(init); - else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)); - } -}; - -URLSearchParamsState.prototype = { - type: URL_SEARCH_PARAMS, - bindURL: function (url) { - this.url = url; - this.update(); - }, - parseObject: function (object) { - var iteratorMethod = getIteratorMethod(object); - var iterator, next, step, entryIterator, entryNext, first, second; - - if (iteratorMethod) { - iterator = getIterator(object, iteratorMethod); - next = iterator.next; - while (!(step = call(next, iterator)).done) { - entryIterator = getIterator(anObject(step.value)); - entryNext = entryIterator.next; - if ( - (first = call(entryNext, entryIterator)).done || - (second = call(entryNext, entryIterator)).done || - !call(entryNext, entryIterator).done - ) throw TypeError('Expected sequence with length 2'); - push(this.entries, { key: $toString(first.value), value: $toString(second.value) }); - } - } else for (var key in object) if (hasOwn(object, key)) { - push(this.entries, { key: key, value: $toString(object[key]) }); - } - }, - parseQuery: function (query) { - if (query) { - var attributes = split(query, '&'); - var index = 0; - var attribute, entry; - while (index < attributes.length) { - attribute = attributes[index++]; - if (attribute.length) { - entry = split(attribute, '='); - push(this.entries, { - key: deserialize(shift(entry)), - value: deserialize(join(entry, '=')) - }); - } - } - } - }, - serialize: function () { - var entries = this.entries; - var result = []; - var index = 0; - var entry; - while (index < entries.length) { - entry = entries[index++]; - push(result, serialize(entry.key) + '=' + serialize(entry.value)); - } return join(result, '&'); - }, - update: function () { - this.entries.length = 0; - this.parseQuery(this.url.query); - }, - updateURL: function () { - if (this.url) this.url.update(); - } -}; - -// `URLSearchParams` constructor -// https://url.spec.whatwg.org/#interface-urlsearchparams -var URLSearchParamsConstructor = function URLSearchParams(/* init */) { - anInstance(this, URLSearchParamsPrototype); - var init = arguments.length > 0 ? arguments[0] : undefined; - setInternalState(this, new URLSearchParamsState(init)); -}; - -var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; - -redefineAll(URLSearchParamsPrototype, { - // `URLSearchParams.prototype.append` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-append - append: function append(name, value) { - validateArgumentsLength(arguments.length, 2); - var state = getInternalParamsState(this); - push(state.entries, { key: $toString(name), value: $toString(value) }); - state.updateURL(); - }, - // `URLSearchParams.prototype.delete` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-delete - 'delete': function (name) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var key = $toString(name); - var index = 0; - while (index < entries.length) { - if (entries[index].key === key) splice(entries, index, 1); - else index++; - } - state.updateURL(); - }, - // `URLSearchParams.prototype.get` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-get - get: function get(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = $toString(name); - var index = 0; - for (; index < entries.length; index++) { - if (entries[index].key === key) return entries[index].value; - } - return null; - }, - // `URLSearchParams.prototype.getAll` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-getall - getAll: function getAll(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = $toString(name); - var result = []; - var index = 0; - for (; index < entries.length; index++) { - if (entries[index].key === key) push(result, entries[index].value); - } - return result; - }, - // `URLSearchParams.prototype.has` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-has - has: function has(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = $toString(name); - var index = 0; - while (index < entries.length) { - if (entries[index++].key === key) return true; - } - return false; - }, - // `URLSearchParams.prototype.set` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-set - set: function set(name, value) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var found = false; - var key = $toString(name); - var val = $toString(value); - var index = 0; - var entry; - for (; index < entries.length; index++) { - entry = entries[index]; - if (entry.key === key) { - if (found) splice(entries, index--, 1); - else { - found = true; - entry.value = val; - } - } - } - if (!found) push(entries, { key: key, value: val }); - state.updateURL(); - }, - // `URLSearchParams.prototype.sort` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-sort - sort: function sort() { - var state = getInternalParamsState(this); - arraySort(state.entries, function (a, b) { - return a.key > b.key ? 1 : -1; - }); - state.updateURL(); - }, - // `URLSearchParams.prototype.forEach` method - forEach: function forEach(callback /* , thisArg */) { - var entries = getInternalParamsState(this).entries; - var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined); - var index = 0; - var entry; - while (index < entries.length) { - entry = entries[index++]; - boundFunction(entry.value, entry.key, this); - } - }, - // `URLSearchParams.prototype.keys` method - keys: function keys() { - return new URLSearchParamsIterator(this, 'keys'); - }, - // `URLSearchParams.prototype.values` method - values: function values() { - return new URLSearchParamsIterator(this, 'values'); - }, - // `URLSearchParams.prototype.entries` method - entries: function entries() { - return new URLSearchParamsIterator(this, 'entries'); - } -}, { enumerable: true }); - -// `URLSearchParams.prototype[@@iterator]` method -redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); - -// `URLSearchParams.prototype.toString` method -// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior -redefine(URLSearchParamsPrototype, 'toString', function toString() { - return getInternalParamsState(this).serialize(); -}, { enumerable: true }); - -setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); - -$({ global: true, forced: !USE_NATIVE_URL }, { - URLSearchParams: URLSearchParamsConstructor -}); - -// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` -if (!USE_NATIVE_URL && isCallable(Headers)) { - var headersHas = uncurryThis(HeadersPrototype.has); - var headersSet = uncurryThis(HeadersPrototype.set); - - var wrapRequestOptions = function (init) { - if (isObject(init)) { - var body = init.body; - var headers; - if (classof(body) === URL_SEARCH_PARAMS) { - headers = init.headers ? new Headers(init.headers) : new Headers(); - if (!headersHas(headers, 'content-type')) { - headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); - } - return create(init, { - body: createPropertyDescriptor(0, $toString(body)), - headers: createPropertyDescriptor(0, headers) - }); - } - } return init; - }; - - if (isCallable(n$Fetch)) { - $({ global: true, enumerable: true, forced: true }, { - fetch: function fetch(input /* , init */) { - return n$Fetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); - } - }); - } - - if (isCallable(N$Request)) { - var RequestConstructor = function Request(input /* , init */) { - anInstance(this, RequestPrototype); - return new N$Request(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); - }; - - RequestPrototype.constructor = RequestConstructor; - RequestConstructor.prototype = RequestPrototype; - - $({ global: true, forced: true }, { - Request: RequestConstructor - }); - } -} - -module.exports = { - URLSearchParams: URLSearchParamsConstructor, - getState: getInternalParamsState -}; +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__("5352"); /***/ }), @@ -28076,7 +28718,7 @@ var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; // `Array.prototype.concat` method // https://tc39.es/ecma262/#sec-array.prototype.concat // with adding support of @@isConcatSpreadable and @@species -$({ target: 'Array', proto: true, forced: FORCED }, { +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { // eslint-disable-next-line no-unused-vars -- required for `.length` concat: function concat(arg) { var O = toObject(this); @@ -28174,9 +28816,9 @@ var anObject = __webpack_require__("825a"); var toPropertyKey = __webpack_require__("a04b"); var TypeError = global.TypeError; -// eslint-disable-next-line es/no-object-defineproperty -- safe +// eslint-disable-next-line es-x/no-object-defineproperty -- safe var $defineProperty = Object.defineProperty; -// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var ENUMERABLE = 'enumerable'; var CONFIGURABLE = 'configurable'; @@ -28406,7 +29048,7 @@ module.exports = III_psy_xmin; "use strict"; -/* eslint-disable es/no-string-prototype-matchall -- safe */ +/* eslint-disable es-x/no-string-prototype-matchall -- safe */ var $ = __webpack_require__("23e7"); var global = __webpack_require__("da84"); var call = __webpack_require__("c65b"); @@ -28417,11 +29059,10 @@ var toLength = __webpack_require__("50c4"); var toString = __webpack_require__("577e"); var anObject = __webpack_require__("825a"); var classof = __webpack_require__("c6b6"); -var isPrototypeOf = __webpack_require__("3a9b"); var isRegExp = __webpack_require__("44e7"); -var regExpFlags = __webpack_require__("ad6d"); +var getRegExpFlags = __webpack_require__("90d8"); var getMethod = __webpack_require__("dc4a"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var fails = __webpack_require__("d039"); var wellKnownSymbol = __webpack_require__("b622"); var speciesConstructor = __webpack_require__("4840"); @@ -28437,7 +29078,6 @@ var setInternalState = InternalStateModule.set; var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); var RegExpPrototype = RegExp.prototype; var TypeError = global.TypeError; -var getFlags = uncurryThis(regExpFlags); var stringIndexOf = uncurryThis(''.indexOf); var un$MatchAll = uncurryThis(''.matchAll); @@ -28472,13 +29112,9 @@ var $RegExpStringIterator = createIteratorConstructor(function RegExpStringItera var $matchAll = function (string) { var R = anObject(this); var S = toString(string); - var C, flagsValue, flags, matcher, $global, fullUnicode; - C = speciesConstructor(R, RegExp); - flagsValue = R.flags; - if (flagsValue === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype)) { - flagsValue = getFlags(R); - } - flags = flagsValue === undefined ? '' : toString(flagsValue); + var C = speciesConstructor(R, RegExp); + var flags = toString(getRegExpFlags(R)); + var matcher, $global, fullUnicode; matcher = new C(C === RegExp ? R.source : R, flags); $global = !!~stringIndexOf(flags, 'g'); fullUnicode = !!~stringIndexOf(flags, 'u'); @@ -28494,10 +29130,7 @@ $({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { var flags, S, matcher, rx; if (regexp != null) { if (isRegExp(regexp)) { - flags = toString(requireObjectCoercible('flags' in RegExpPrototype - ? regexp.flags - : getFlags(regexp) - )); + flags = toString(requireObjectCoercible(getRegExpFlags(regexp))); if (!~stringIndexOf(flags, 'g')) throw TypeError('`.matchAll` does not allow non-global regexes'); } if (WORKS_WITH_NON_GLOBAL_REGEX) return un$MatchAll(O, regexp); @@ -28511,7 +29144,7 @@ $({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { } }); -IS_PURE || MATCH_ALL in RegExpPrototype || redefine(RegExpPrototype, MATCH_ALL, $matchAll); +IS_PURE || MATCH_ALL in RegExpPrototype || defineBuiltIn(RegExpPrototype, MATCH_ALL, $matchAll); /***/ }), @@ -28627,332 +29260,12 @@ module.exports = /web0s(?!.*chrome)/i.test(userAgent); /***/ "a4d3": /***/ (function(module, exports, __webpack_require__) { -"use strict"; - -var $ = __webpack_require__("23e7"); -var global = __webpack_require__("da84"); -var getBuiltIn = __webpack_require__("d066"); -var apply = __webpack_require__("2ba4"); -var call = __webpack_require__("c65b"); -var uncurryThis = __webpack_require__("e330"); -var IS_PURE = __webpack_require__("c430"); -var DESCRIPTORS = __webpack_require__("83ab"); -var NATIVE_SYMBOL = __webpack_require__("4930"); -var fails = __webpack_require__("d039"); -var hasOwn = __webpack_require__("1a2d"); -var isArray = __webpack_require__("e8b5"); -var isCallable = __webpack_require__("1626"); -var isObject = __webpack_require__("861d"); -var isPrototypeOf = __webpack_require__("3a9b"); -var isSymbol = __webpack_require__("d9b5"); -var anObject = __webpack_require__("825a"); -var toObject = __webpack_require__("7b0b"); -var toIndexedObject = __webpack_require__("fc6a"); -var toPropertyKey = __webpack_require__("a04b"); -var $toString = __webpack_require__("577e"); -var createPropertyDescriptor = __webpack_require__("5c6c"); -var nativeObjectCreate = __webpack_require__("7c73"); -var objectKeys = __webpack_require__("df75"); -var getOwnPropertyNamesModule = __webpack_require__("241c"); -var getOwnPropertyNamesExternal = __webpack_require__("057f"); -var getOwnPropertySymbolsModule = __webpack_require__("7418"); -var getOwnPropertyDescriptorModule = __webpack_require__("06cf"); -var definePropertyModule = __webpack_require__("9bf2"); -var definePropertiesModule = __webpack_require__("37e8"); -var propertyIsEnumerableModule = __webpack_require__("d1e7"); -var arraySlice = __webpack_require__("f36a"); -var redefine = __webpack_require__("6eeb"); -var shared = __webpack_require__("5692"); -var sharedKey = __webpack_require__("f772"); -var hiddenKeys = __webpack_require__("d012"); -var uid = __webpack_require__("90e3"); -var wellKnownSymbol = __webpack_require__("b622"); -var wrappedWellKnownSymbolModule = __webpack_require__("e538"); -var defineWellKnownSymbol = __webpack_require__("746f"); -var setToStringTag = __webpack_require__("d44e"); -var InternalStateModule = __webpack_require__("69f3"); -var $forEach = __webpack_require__("b727").forEach; - -var HIDDEN = sharedKey('hidden'); -var SYMBOL = 'Symbol'; -var PROTOTYPE = 'prototype'; -var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); - -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(SYMBOL); - -var ObjectPrototype = Object[PROTOTYPE]; -var $Symbol = global.Symbol; -var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; -var TypeError = global.TypeError; -var QObject = global.QObject; -var $stringify = getBuiltIn('JSON', 'stringify'); -var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; -var nativeDefineProperty = definePropertyModule.f; -var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; -var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; -var push = uncurryThis([].push); - -var AllSymbols = shared('symbols'); -var ObjectPrototypeSymbols = shared('op-symbols'); -var StringToSymbolRegistry = shared('string-to-symbol-registry'); -var SymbolToStringRegistry = shared('symbol-to-string-registry'); -var WellKnownSymbolsStore = shared('wks'); - -// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 -var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; - -// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 -var setSymbolDescriptor = DESCRIPTORS && fails(function () { - return nativeObjectCreate(nativeDefineProperty({}, 'a', { - get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } - })).a != 7; -}) ? function (O, P, Attributes) { - var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); - if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; - nativeDefineProperty(O, P, Attributes); - if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { - nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); - } -} : nativeDefineProperty; - -var wrap = function (tag, description) { - var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); - setInternalState(symbol, { - type: SYMBOL, - tag: tag, - description: description - }); - if (!DESCRIPTORS) symbol.description = description; - return symbol; -}; - -var $defineProperty = function defineProperty(O, P, Attributes) { - if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); - anObject(O); - var key = toPropertyKey(P); - anObject(Attributes); - if (hasOwn(AllSymbols, key)) { - if (!Attributes.enumerable) { - if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); - O[HIDDEN][key] = true; - } else { - if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; - Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); - } return setSymbolDescriptor(O, key, Attributes); - } return nativeDefineProperty(O, key, Attributes); -}; - -var $defineProperties = function defineProperties(O, Properties) { - anObject(O); - var properties = toIndexedObject(Properties); - var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); - $forEach(keys, function (key) { - if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); - }); - return O; -}; - -var $create = function create(O, Properties) { - return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); -}; - -var $propertyIsEnumerable = function propertyIsEnumerable(V) { - var P = toPropertyKey(V); - var enumerable = call(nativePropertyIsEnumerable, this, P); - if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; - return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] - ? enumerable : true; -}; - -var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { - var it = toIndexedObject(O); - var key = toPropertyKey(P); - if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; - var descriptor = nativeGetOwnPropertyDescriptor(it, key); - if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { - descriptor.enumerable = true; - } - return descriptor; -}; - -var $getOwnPropertyNames = function getOwnPropertyNames(O) { - var names = nativeGetOwnPropertyNames(toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); - }); - return result; -}; - -var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { - var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; - var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { - push(result, AllSymbols[key]); - } - }); - return result; -}; - -// `Symbol` constructor -// https://tc39.es/ecma262/#sec-symbol-constructor -if (!NATIVE_SYMBOL) { - $Symbol = function Symbol() { - if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor'); - var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); - var tag = uid(description); - var setter = function (value) { - if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); - if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false; - setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); - }; - if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); - return wrap(tag, description); - }; - - SymbolPrototype = $Symbol[PROTOTYPE]; - - redefine(SymbolPrototype, 'toString', function toString() { - return getInternalState(this).tag; - }); - - redefine($Symbol, 'withoutSetter', function (description) { - return wrap(uid(description), description); - }); - - propertyIsEnumerableModule.f = $propertyIsEnumerable; - definePropertyModule.f = $defineProperty; - definePropertiesModule.f = $defineProperties; - getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; - getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; - getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; - - wrappedWellKnownSymbolModule.f = function (name) { - return wrap(wellKnownSymbol(name), name); - }; - - if (DESCRIPTORS) { - // https://github.com/tc39/proposal-Symbol-description - nativeDefineProperty(SymbolPrototype, 'description', { - configurable: true, - get: function description() { - return getInternalState(this).description; - } - }); - if (!IS_PURE) { - redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); - } - } -} - -$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { - Symbol: $Symbol -}); - -$forEach(objectKeys(WellKnownSymbolsStore), function (name) { - defineWellKnownSymbol(name); -}); - -$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { - // `Symbol.for` method - // https://tc39.es/ecma262/#sec-symbol.for - 'for': function (key) { - var string = $toString(key); - if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; - var symbol = $Symbol(string); - StringToSymbolRegistry[string] = symbol; - SymbolToStringRegistry[symbol] = string; - return symbol; - }, - // `Symbol.keyFor` method - // https://tc39.es/ecma262/#sec-symbol.keyfor - keyFor: function keyFor(sym) { - if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); - if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; - }, - useSetter: function () { USE_SETTER = true; }, - useSimple: function () { USE_SETTER = false; } -}); - -$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { - // `Object.create` method - // https://tc39.es/ecma262/#sec-object.create - create: $create, - // `Object.defineProperty` method - // https://tc39.es/ecma262/#sec-object.defineproperty - defineProperty: $defineProperty, - // `Object.defineProperties` method - // https://tc39.es/ecma262/#sec-object.defineproperties - defineProperties: $defineProperties, - // `Object.getOwnPropertyDescriptor` method - // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors - getOwnPropertyDescriptor: $getOwnPropertyDescriptor -}); - -$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { - // `Object.getOwnPropertyNames` method - // https://tc39.es/ecma262/#sec-object.getownpropertynames - getOwnPropertyNames: $getOwnPropertyNames, - // `Object.getOwnPropertySymbols` method - // https://tc39.es/ecma262/#sec-object.getownpropertysymbols - getOwnPropertySymbols: $getOwnPropertySymbols -}); - -// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives -// https://bugs.chromium.org/p/v8/issues/detail?id=3443 -$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, { - getOwnPropertySymbols: function getOwnPropertySymbols(it) { - return getOwnPropertySymbolsModule.f(toObject(it)); - } -}); - -// `JSON.stringify` method behavior with symbols -// https://tc39.es/ecma262/#sec-json.stringify -if ($stringify) { - var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { - var symbol = $Symbol(); - // MS Edge converts symbol values to JSON as {} - return $stringify([symbol]) != '[null]' - // WebKit converts symbol values to JSON as null - || $stringify({ a: symbol }) != '{}' - // V8 throws on boxed symbols - || $stringify(Object(symbol)) != '{}'; - }); - - $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { - // eslint-disable-next-line no-unused-vars -- required for `.length` - stringify: function stringify(it, replacer, space) { - var args = arraySlice(arguments); - var $replacer = replacer; - if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined - if (!isArray(replacer)) replacer = function (key, value) { - if (isCallable($replacer)) value = call($replacer, this, key, value); - if (!isSymbol(value)) return value; - }; - args[1] = replacer; - return apply($stringify, null, args); - } - }); -} - -// `Symbol.prototype[@@toPrimitive]` method -// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive -if (!SymbolPrototype[TO_PRIMITIVE]) { - var valueOf = SymbolPrototype.valueOf; - // eslint-disable-next-line no-unused-vars -- required for .length - redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) { - // TODO: improve hint logic - return call(valueOf, this); - }); -} -// `Symbol.prototype[@@toStringTag]` property -// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag -setToStringTag($Symbol, SYMBOL); - -hiddenKeys[HIDDEN] = true; +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__("d9f5"); +__webpack_require__("b4f8"); +__webpack_require__("c513"); +__webpack_require__("e9c4"); +__webpack_require__("5a47"); /***/ }), @@ -28987,7 +29300,7 @@ var from = __webpack_require__("4df4"); var checkCorrectnessOfIteration = __webpack_require__("1c7e"); var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { - // eslint-disable-next-line es/no-array-from -- required for testing + // eslint-disable-next-line es-x/no-array-from -- required for testing Array.from(iterable); }); @@ -29041,7 +29354,7 @@ exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { /***/ "a981": /***/ (function(module, exports) { -// eslint-disable-next-line es/no-typed-arrays -- safe +// eslint-disable-next-line es-x/no-typed-arrays -- safe module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; @@ -29056,7 +29369,7 @@ var DESCRIPTORS = __webpack_require__("83ab"); var global = __webpack_require__("da84"); var uncurryThis = __webpack_require__("e330"); var isForced = __webpack_require__("94ca"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var hasOwn = __webpack_require__("1a2d"); var inheritIfRequired = __webpack_require__("7156"); var isPrototypeOf = __webpack_require__("3a9b"); @@ -29137,7 +29450,7 @@ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumb } NumberWrapper.prototype = NumberPrototype; NumberPrototype.constructor = NumberWrapper; - redefine(global, NUMBER, NumberWrapper); + defineBuiltIn(global, NUMBER, NumberWrapper); } @@ -29159,7 +29472,7 @@ var nativeErrorToString = Error.prototype.toString; var INCORRECT_TO_STRING = fails(function () { if (DESCRIPTORS) { // Chrome 32- incorrectly call accessor - // eslint-disable-next-line es/no-object-defineproperty -- safe + // eslint-disable-next-line es-x/no-object-defineproperty -- safe var object = create(Object.defineProperty({}, 'name', { get: function () { return this === object; } })); @@ -29414,6 +29727,7 @@ var anObject = __webpack_require__("825a"); module.exports = function () { var that = anObject(this); var result = ''; + if (that.hasIndices) result += 'd'; if (that.global) result += 'g'; if (that.ignoreCase) result += 'i'; if (that.multiline) result += 'm'; @@ -29486,7 +29800,7 @@ var fails = __webpack_require__("d039"); var isCallable = __webpack_require__("1626"); var create = __webpack_require__("7c73"); var getPrototypeOf = __webpack_require__("e163"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var wellKnownSymbol = __webpack_require__("b622"); var IS_PURE = __webpack_require__("c430"); @@ -29497,7 +29811,7 @@ var BUGGY_SAFARI_ITERATORS = false; // https://tc39.es/ecma262/#sec-%iteratorprototype%-object var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; -/* eslint-disable es/no-array-prototype-keys -- safe */ +/* eslint-disable es-x/no-array-prototype-keys -- safe */ if ([].keys) { arrayIterator = [].keys(); // Safari 8 has buggy iterators w/o `next` @@ -29520,7 +29834,7 @@ else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); // `%IteratorPrototype%[@@iterator]()` method // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator if (!isCallable(IteratorPrototype[ITERATOR])) { - redefine(IteratorPrototype, ITERATOR, function () { + defineBuiltIn(IteratorPrototype, ITERATOR, function () { return this; }); } @@ -29531,6 +29845,22 @@ module.exports = { }; +/***/ }), + +/***/ "aeb0": +/***/ (function(module, exports, __webpack_require__) { + +var defineProperty = __webpack_require__("9bf2").f; + +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { return Source[key]; }, + set: function (it) { Source[key] = it; } + }); +}; + + /***/ }), /***/ "aed9": @@ -29542,7 +29872,7 @@ var fails = __webpack_require__("d039"); // V8 ~ Chrome 36- // https://bugs.chromium.org/p/v8/issues/detail?id=3334 module.exports = DESCRIPTORS && fails(function () { - // eslint-disable-next-line es/no-object-defineproperty -- required for testing + // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing return Object.defineProperty(function () { /* empty */ }, 'prototype', { value: 42, writable: false @@ -29656,6 +29986,35 @@ exportTypedArrayMethod('toLocaleString', function toLocaleString() { }, FORCED); +/***/ }), + +/***/ "b4f8": +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__("23e7"); +var getBuiltIn = __webpack_require__("d066"); +var hasOwn = __webpack_require__("1a2d"); +var toString = __webpack_require__("577e"); +var shared = __webpack_require__("5692"); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__("3d87"); + +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.for` method +// https://tc39.es/ecma262/#sec-symbol.for +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + 'for': function (key) { + var string = toString(key); + if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = getBuiltIn('Symbol')(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + } +}); + + /***/ }), /***/ "b575": @@ -29726,7 +30085,7 @@ if (!queueMicrotask) { // for other environments - macrotask based on: // - setImmediate // - MessageChannel - // - window.postMessag + // - window.postMessage // - onreadystatechange // - setTimeout } else { @@ -30236,7 +30595,7 @@ var createPropertyDescriptor = __webpack_require__("5c6c"); module.exports = !fails(function () { var error = Error('a'); if (!('stack' in error)) return true; - // eslint-disable-next-line es/no-object-defineproperty -- safe + // eslint-disable-next-line es-x/no-object-defineproperty -- safe Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); return error.stack !== 7; }); @@ -30252,7 +30611,7 @@ var lastIndexOf = __webpack_require__("e58c"); // `Array.prototype.lastIndexOf` method // https://tc39.es/ecma262/#sec-array.prototype.lastindexof -// eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing +// eslint-disable-next-line es-x/no-array-prototype-lastindexof -- required for testing $({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { lastIndexOf: lastIndexOf }); @@ -31310,7 +31669,7 @@ module.exports = QuantizePVT; var fails = __webpack_require__("d039"); module.exports = !fails(function () { - // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing + // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-preventextensions -- required for testing return Object.isExtensible(Object.preventExtensions({})); }); @@ -32025,6 +32384,7 @@ module.exports = function (input, pref) { /***/ "c0b6": /***/ (function(module, exports, __webpack_require__) { +// TODO: Remove from `core-js@4` var $ = __webpack_require__("23e7"); var bind = __webpack_require__("0538"); @@ -32122,6 +32482,30 @@ exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { module.exports = false; +/***/ }), + +/***/ "c513": +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__("23e7"); +var hasOwn = __webpack_require__("1a2d"); +var isSymbol = __webpack_require__("d9b5"); +var tryToString = __webpack_require__("0d51"); +var shared = __webpack_require__("5692"); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__("3d87"); + +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.keyFor` method +// https://tc39.es/ecma262/#sec-symbol.keyfor +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(tryToString(sym) + ' is not a symbol'); + if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + } +}); + + /***/ }), /***/ "c5d0": @@ -32151,7 +32535,7 @@ var global = __webpack_require__("da84"); var DESCRIPTORS = __webpack_require__("83ab"); var UNSUPPORTED_DOT_ALL = __webpack_require__("fce3"); var classof = __webpack_require__("c6b6"); -var defineProperty = __webpack_require__("9bf2").f; +var defineBuiltInAccessor = __webpack_require__("edd0"); var getInternalState = __webpack_require__("69f3").get; var RegExpPrototype = RegExp.prototype; @@ -32160,9 +32544,9 @@ var TypeError = global.TypeError; // `RegExp.prototype.dotAll` getter // https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) { - defineProperty(RegExpPrototype, 'dotAll', { + defineBuiltInAccessor(RegExpPrototype, 'dotAll', { configurable: true, - get: function () { + get: function dotAll() { if (this === RegExpPrototype) return undefined; // We can't use InternalStateModule.getterFor because // we don't add metadata for regexps created by a literal. @@ -32225,14 +32609,15 @@ module.exports = store; var uncurryThis = __webpack_require__("e330"); +var $Error = Error; var replace = uncurryThis(''.replace); -var TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd'); +var TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd'); var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); module.exports = function (stack, dropEntries) { - if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string') { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); } return stack; }; @@ -32294,7 +32679,7 @@ module.exports = function (METHOD_NAME) { "use strict"; -/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +/* eslint-disable es-x/no-array-prototype-indexof -- required for testing */ var $ = __webpack_require__("23e7"); var uncurryThis = __webpack_require__("e330"); var $IndexOf = __webpack_require__("4d64").indexOf; @@ -32388,11 +32773,17 @@ exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */ var $ = __webpack_require__("23e7"); var $includes = __webpack_require__("4d64").includes; +var fails = __webpack_require__("d039"); var addToUnscopables = __webpack_require__("44d2"); +// FF99+ bug +var BROKEN_ON_SPARSE = fails(function () { + return !Array(1).includes(); +}); + // `Array.prototype.includes` method // https://tc39.es/ecma262/#sec-array.prototype.includes -$({ target: 'Array', proto: true }, { +$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { includes: function includes(el /* , fromIndex = 0 */) { return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); } @@ -32402,6 +32793,38 @@ $({ target: 'Array', proto: true }, { addToUnscopables('includes'); +/***/ }), + +/***/ "cb2d": +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__("da84"); +var isCallable = __webpack_require__("1626"); +var createNonEnumerableProperty = __webpack_require__("9112"); +var makeBuiltIn = __webpack_require__("13d2"); +var setGlobal = __webpack_require__("ce4e"); + +module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + var name = options && options.name !== undefined ? options.name : key; + if (isCallable(value)) makeBuiltIn(value, name, options); + if (O === global) { + if (simple) O[key] = value; + else setGlobal(key, value); + return O; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) O[key] = value; + else createNonEnumerableProperty(O, key, value); + return O; +}; + + /***/ }), /***/ "cc12": @@ -32439,6 +32862,40 @@ $({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { }); +/***/ }), + +/***/ "cc98": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var IS_PURE = __webpack_require__("c430"); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__("4738").CONSTRUCTOR; +var NativePromiseConstructor = __webpack_require__("d256"); +var getBuiltIn = __webpack_require__("d066"); +var isCallable = __webpack_require__("1626"); +var defineBuiltIn = __webpack_require__("cb2d"); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// `Promise.prototype.catch` method +// https://tc39.es/ecma262/#sec-promise.prototype.catch +$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, { + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } +}); + +// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['catch']; + if (NativePromisePrototype['catch'] !== method) { + defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true }); + } +} + + /***/ }), /***/ "cd26": @@ -32494,7 +32951,7 @@ module.exports = function (C, x) { var global = __webpack_require__("da84"); -// eslint-disable-next-line es/no-object-defineproperty -- safe +// eslint-disable-next-line es-x/no-object-defineproperty -- safe var defineProperty = Object.defineProperty; module.exports = function (key, value) { @@ -32589,7 +33046,7 @@ exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { "use strict"; var $propertyIsEnumerable = {}.propertyIsEnumerable; -// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug @@ -32603,6 +33060,16 @@ exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { } : $propertyIsEnumerable; +/***/ }), + +/***/ "d256": +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__("da84"); + +module.exports = global.Promise; + + /***/ }), /***/ "d28b": @@ -32628,13 +33095,13 @@ var aPossiblePrototype = __webpack_require__("3bbe"); // `Object.setPrototypeOf` method // https://tc39.es/ecma262/#sec-object.setprototypeof // Works with __proto__ only. Old v8 can't work with null proto objects. -// eslint-disable-next-line es/no-object-setprototypeof -- safe +// eslint-disable-next-line es-x/no-object-setprototypeof -- safe module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { var CORRECT_SETTER = false; var test = {}; var setter; try { - // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); setter(test, []); CORRECT_SETTER = test instanceof Array; @@ -32655,13 +33122,13 @@ module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { /***/ (function(module, exports, __webpack_require__) { var TO_STRING_TAG_SUPPORT = __webpack_require__("00ee"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var toString = __webpack_require__("b041"); // `Object.prototype.toString` method // https://tc39.es/ecma262/#sec-object.prototype.tostring if (!TO_STRING_TAG_SUPPORT) { - redefine(Object.prototype, 'toString', toString, { unsafe: true }); + defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true }); } @@ -32670,7 +33137,7 @@ if (!TO_STRING_TAG_SUPPORT) { /***/ "d401": /***/ (function(module, exports, __webpack_require__) { -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var errorToString = __webpack_require__("aa1f"); var ErrorPrototype = Error.prototype; @@ -32678,7 +33145,7 @@ var ErrorPrototype = Error.prototype; // `Error.prototype.toString` method fix // https://tc39.es/ecma262/#sec-error.prototype.tostring if (ErrorPrototype.toString !== errorToString) { - redefine(ErrorPrototype, 'toString', errorToString); + defineBuiltIn(ErrorPrototype, 'toString', errorToString); } @@ -32807,7 +33274,7 @@ module.exports = function (passed, required) { // TODO: Remove from `core-js@4` since it's moved to entry points __webpack_require__("ac1f"); var uncurryThis = __webpack_require__("e330"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var regexpExec = __webpack_require__("9263"); var fails = __webpack_require__("d039"); var wellKnownSymbol = __webpack_require__("b622"); @@ -32871,8 +33338,8 @@ module.exports = function (KEY, exec, FORCED, SHAM) { return { done: false }; }); - redefine(String.prototype, KEY, methods[0]); - redefine(RegExpPrototype, SYMBOL, methods[1]); + defineBuiltIn(String.prototype, KEY, methods[0]); + defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]); } if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true); @@ -32913,7 +33380,7 @@ var fails = __webpack_require__("d039"); module.exports = fails(function () { if (typeof ArrayBuffer == 'function') { var buffer = new ArrayBuffer(8); - // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe + // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-defineproperty -- safe if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 }); } }); @@ -34151,14 +34618,14 @@ var FORCED = Error('e', { cause: 7 }).cause !== 7; var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { var O = {}; O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); - $({ global: true, forced: FORCED }, O); + $({ global: true, arity: 1, forced: FORCED }, O); }; var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { if (WebAssembly && WebAssembly[ERROR_NAME]) { var O = {}; O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); - $({ target: WEB_ASSEMBLY, stat: true, forced: FORCED }, O); + $({ target: WEB_ASSEMBLY, stat: true, arity: 1, forced: FORCED }, O); } }; @@ -34195,6 +34662,266 @@ exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { }); +/***/ }), + +/***/ "d9f5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var global = __webpack_require__("da84"); +var call = __webpack_require__("c65b"); +var uncurryThis = __webpack_require__("e330"); +var IS_PURE = __webpack_require__("c430"); +var DESCRIPTORS = __webpack_require__("83ab"); +var NATIVE_SYMBOL = __webpack_require__("4930"); +var fails = __webpack_require__("d039"); +var hasOwn = __webpack_require__("1a2d"); +var isPrototypeOf = __webpack_require__("3a9b"); +var anObject = __webpack_require__("825a"); +var toIndexedObject = __webpack_require__("fc6a"); +var toPropertyKey = __webpack_require__("a04b"); +var $toString = __webpack_require__("577e"); +var createPropertyDescriptor = __webpack_require__("5c6c"); +var nativeObjectCreate = __webpack_require__("7c73"); +var objectKeys = __webpack_require__("df75"); +var getOwnPropertyNamesModule = __webpack_require__("241c"); +var getOwnPropertyNamesExternal = __webpack_require__("057f"); +var getOwnPropertySymbolsModule = __webpack_require__("7418"); +var getOwnPropertyDescriptorModule = __webpack_require__("06cf"); +var definePropertyModule = __webpack_require__("9bf2"); +var definePropertiesModule = __webpack_require__("37e8"); +var propertyIsEnumerableModule = __webpack_require__("d1e7"); +var defineBuiltIn = __webpack_require__("cb2d"); +var shared = __webpack_require__("5692"); +var sharedKey = __webpack_require__("f772"); +var hiddenKeys = __webpack_require__("d012"); +var uid = __webpack_require__("90e3"); +var wellKnownSymbol = __webpack_require__("b622"); +var wrappedWellKnownSymbolModule = __webpack_require__("e538"); +var defineWellKnownSymbol = __webpack_require__("746f"); +var defineSymbolToPrimitive = __webpack_require__("57b9"); +var setToStringTag = __webpack_require__("d44e"); +var InternalStateModule = __webpack_require__("69f3"); +var $forEach = __webpack_require__("b727").forEach; + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); + +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = global.Symbol; +var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; +var TypeError = global.TypeError; +var QObject = global.QObject; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var push = uncurryThis([].push); + +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var WellKnownSymbolsStore = shared('wks'); + +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +} : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (hasOwn(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); + O[HIDDEN][key] = true; + } else { + if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPropertyKey(V); + var enumerable = call(nativePropertyIsEnumerable, this, P); + if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; + return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] + ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); + }); + return result; +}; + +var $getOwnPropertySymbols = function (O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { + push(result, AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); + if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + SymbolPrototype = $Symbol[PROTOTYPE]; + + defineBuiltIn(SymbolPrototype, 'toString', function toString() { + return getInternalState(this).tag; + }); + + defineBuiltIn($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + definePropertiesModule.f = $defineProperties; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + nativeDefineProperty(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames +}); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + + /***/ }), /***/ "da58": @@ -35187,7 +35914,7 @@ class Database { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 module.exports = - // eslint-disable-next-line es/no-global-this -- safe + // eslint-disable-next-line es-x/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe @@ -38882,7 +39609,7 @@ var enumBugKeys = __webpack_require__("7839"); // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys -// eslint-disable-next-line es/no-object-keys -- safe +// eslint-disable-next-line es-x/no-object-keys -- safe module.exports = Object.keys || function keys(O) { return internalObjectKeys(O, enumBugKeys); }; @@ -39986,7 +40713,7 @@ var fails = __webpack_require__("d039"); module.exports = !fails(function () { function F() { /* empty */ } F.prototype.constructor = null; - // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing return Object.getPrototypeOf(new F()) !== F.prototype; }); @@ -40060,19 +40787,6 @@ if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { } catch (error) { /* empty */ } -/***/ }), - -/***/ "e2cc": -/***/ (function(module, exports, __webpack_require__) { - -var redefine = __webpack_require__("6eeb"); - -module.exports = function (target, src, options) { - for (var key in src) redefine(target, key, src[key], options); - return target; -}; - - /***/ }), /***/ "e323": @@ -40090,7 +40804,7 @@ var stringSlice = uncurryThis(''.slice); var max = Math.max; var min = Math.min; -// eslint-disable-next-line unicorn/prefer-string-slice -- required for testing +// eslint-disable-next-line unicorn/prefer-string-slice, es-x/no-string-prototype-substr -- required for testing var FORCED = !''.substr || 'ab'.substr(-1) !== 'b'; // `String.prototype.substr` method @@ -40184,7 +40898,7 @@ exports.f = wellKnownSymbol; "use strict"; -/* eslint-disable es/no-array-prototype-lastindexof -- safe */ +/* eslint-disable es-x/no-array-prototype-lastindexof -- safe */ var apply = __webpack_require__("2ba4"); var toIndexedObject = __webpack_require__("fc6a"); var toIntegerOrInfinity = __webpack_require__("5926"); @@ -40225,14 +40939,17 @@ var createNonEnumerableProperty = __webpack_require__("9112"); var isPrototypeOf = __webpack_require__("3a9b"); var setPrototypeOf = __webpack_require__("d2bb"); var copyConstructorProperties = __webpack_require__("e893"); +var proxyAccessor = __webpack_require__("aeb0"); var inheritIfRequired = __webpack_require__("7156"); var normalizeStringArgument = __webpack_require__("e391"); var installErrorCause = __webpack_require__("ab36"); var clearErrorStack = __webpack_require__("c770"); var ERROR_STACK_INSTALLABLE = __webpack_require__("b980"); +var DESCRIPTORS = __webpack_require__("83ab"); var IS_PURE = __webpack_require__("c430"); module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; var path = FULL_NAME.split('.'); var ERROR_NAME = path[path.length - 1]; @@ -40264,6 +40981,9 @@ module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { if (ERROR_NAME !== 'Error') { if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError); else copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); } copyConstructorProperties(WrappedError, OriginalError); @@ -40299,409 +41019,13 @@ module.exports = function (exec) { /***/ "e6cf": /***/ (function(module, exports, __webpack_require__) { -"use strict"; - -var $ = __webpack_require__("23e7"); -var IS_PURE = __webpack_require__("c430"); -var global = __webpack_require__("da84"); -var getBuiltIn = __webpack_require__("d066"); -var call = __webpack_require__("c65b"); -var NativePromise = __webpack_require__("fea9"); -var redefine = __webpack_require__("6eeb"); -var redefineAll = __webpack_require__("e2cc"); -var setPrototypeOf = __webpack_require__("d2bb"); -var setToStringTag = __webpack_require__("d44e"); -var setSpecies = __webpack_require__("2626"); -var aCallable = __webpack_require__("59ed"); -var isCallable = __webpack_require__("1626"); -var isObject = __webpack_require__("861d"); -var anInstance = __webpack_require__("19aa"); -var inspectSource = __webpack_require__("8925"); -var iterate = __webpack_require__("2266"); -var checkCorrectnessOfIteration = __webpack_require__("1c7e"); -var speciesConstructor = __webpack_require__("4840"); -var task = __webpack_require__("2cf4").set; -var microtask = __webpack_require__("b575"); -var promiseResolve = __webpack_require__("cdf9"); -var hostReportErrors = __webpack_require__("44de"); -var newPromiseCapabilityModule = __webpack_require__("f069"); -var perform = __webpack_require__("e667"); -var Queue = __webpack_require__("01b4"); -var InternalStateModule = __webpack_require__("69f3"); -var isForced = __webpack_require__("94ca"); -var wellKnownSymbol = __webpack_require__("b622"); -var IS_BROWSER = __webpack_require__("6069"); -var IS_NODE = __webpack_require__("605d"); -var V8_VERSION = __webpack_require__("2d00"); - -var SPECIES = wellKnownSymbol('species'); -var PROMISE = 'Promise'; - -var getInternalState = InternalStateModule.getterFor(PROMISE); -var setInternalState = InternalStateModule.set; -var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); -var NativePromisePrototype = NativePromise && NativePromise.prototype; -var PromiseConstructor = NativePromise; -var PromisePrototype = NativePromisePrototype; -var TypeError = global.TypeError; -var document = global.document; -var process = global.process; -var newPromiseCapability = newPromiseCapabilityModule.f; -var newGenericPromiseCapability = newPromiseCapability; - -var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); -var NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent); -var UNHANDLED_REJECTION = 'unhandledrejection'; -var REJECTION_HANDLED = 'rejectionhandled'; -var PENDING = 0; -var FULFILLED = 1; -var REJECTED = 2; -var HANDLED = 1; -var UNHANDLED = 2; -var SUBCLASSING = false; - -var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; - -var FORCED = isForced(PROMISE, function () { - var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor); - var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor); - // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables - // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 - // We can't detect it synchronously, so just check versions - if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; - // We need Promise#finally in the pure version for preventing prototype pollution - if (IS_PURE && !PromisePrototype['finally']) return true; - // We can't use @@species feature detection in V8 since it causes - // deoptimization and performance degradation - // https://github.com/zloirock/core-js/issues/679 - if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false; - // Detect correctness of subclassing with @@species support - var promise = new PromiseConstructor(function (resolve) { resolve(1); }); - var FakePromise = function (exec) { - exec(function () { /* empty */ }, function () { /* empty */ }); - }; - var constructor = promise.constructor = {}; - constructor[SPECIES] = FakePromise; - SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; - if (!SUBCLASSING) return true; - // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT; -}); - -var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { - PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); -}); - -// helpers -var isThenable = function (it) { - var then; - return isObject(it) && isCallable(then = it.then) ? then : false; -}; - -var callReaction = function (reaction, state) { - var value = state.value; - var ok = state.state == FULFILLED; - var handler = ok ? reaction.ok : reaction.fail; - var resolve = reaction.resolve; - var reject = reaction.reject; - var domain = reaction.domain; - var result, then, exited; - try { - if (handler) { - if (!ok) { - if (state.rejection === UNHANDLED) onHandleUnhandled(state); - state.rejection = HANDLED; - } - if (handler === true) result = value; - else { - if (domain) domain.enter(); - result = handler(value); // can throw - if (domain) { - domain.exit(); - exited = true; - } - } - if (result === reaction.promise) { - reject(TypeError('Promise-chain cycle')); - } else if (then = isThenable(result)) { - call(then, result, resolve, reject); - } else resolve(result); - } else reject(value); - } catch (error) { - if (domain && !exited) domain.exit(); - reject(error); - } -}; - -var notify = function (state, isReject) { - if (state.notified) return; - state.notified = true; - microtask(function () { - var reactions = state.reactions; - var reaction; - while (reaction = reactions.get()) { - callReaction(reaction, state); - } - state.notified = false; - if (isReject && !state.rejection) onUnhandled(state); - }); -}; - -var dispatchEvent = function (name, promise, reason) { - var event, handler; - if (DISPATCH_EVENT) { - event = document.createEvent('Event'); - event.promise = promise; - event.reason = reason; - event.initEvent(name, false, true); - global.dispatchEvent(event); - } else event = { promise: promise, reason: reason }; - if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event); - else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); -}; - -var onUnhandled = function (state) { - call(task, global, function () { - var promise = state.facade; - var value = state.value; - var IS_UNHANDLED = isUnhandled(state); - var result; - if (IS_UNHANDLED) { - result = perform(function () { - if (IS_NODE) { - process.emit('unhandledRejection', value, promise); - } else dispatchEvent(UNHANDLED_REJECTION, promise, value); - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; - if (result.error) throw result.value; - } - }); -}; - -var isUnhandled = function (state) { - return state.rejection !== HANDLED && !state.parent; -}; - -var onHandleUnhandled = function (state) { - call(task, global, function () { - var promise = state.facade; - if (IS_NODE) { - process.emit('rejectionHandled', promise); - } else dispatchEvent(REJECTION_HANDLED, promise, state.value); - }); -}; - -var bind = function (fn, state, unwrap) { - return function (value) { - fn(state, value, unwrap); - }; -}; - -var internalReject = function (state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - state.value = value; - state.state = REJECTED; - notify(state, true); -}; - -var internalResolve = function (state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - try { - if (state.facade === value) throw TypeError("Promise can't be resolved itself"); - var then = isThenable(value); - if (then) { - microtask(function () { - var wrapper = { done: false }; - try { - call(then, value, - bind(internalResolve, wrapper, state), - bind(internalReject, wrapper, state) - ); - } catch (error) { - internalReject(wrapper, error, state); - } - }); - } else { - state.value = value; - state.state = FULFILLED; - notify(state, false); - } - } catch (error) { - internalReject({ done: false }, error, state); - } -}; - -// constructor polyfill -if (FORCED) { - // 25.4.3.1 Promise(executor) - PromiseConstructor = function Promise(executor) { - anInstance(this, PromisePrototype); - aCallable(executor); - call(Internal, this); - var state = getInternalState(this); - try { - executor(bind(internalResolve, state), bind(internalReject, state)); - } catch (error) { - internalReject(state, error); - } - }; - PromisePrototype = PromiseConstructor.prototype; - // eslint-disable-next-line no-unused-vars -- required for `.length` - Internal = function Promise(executor) { - setInternalState(this, { - type: PROMISE, - done: false, - notified: false, - parent: false, - reactions: new Queue(), - rejection: false, - state: PENDING, - value: undefined - }); - }; - Internal.prototype = redefineAll(PromisePrototype, { - // `Promise.prototype.then` method - // https://tc39.es/ecma262/#sec-promise.prototype.then - // eslint-disable-next-line unicorn/no-thenable -- safe - then: function then(onFulfilled, onRejected) { - var state = getInternalPromiseState(this); - var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); - state.parent = true; - reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; - reaction.fail = isCallable(onRejected) && onRejected; - reaction.domain = IS_NODE ? process.domain : undefined; - if (state.state == PENDING) state.reactions.add(reaction); - else microtask(function () { - callReaction(reaction, state); - }); - return reaction.promise; - }, - // `Promise.prototype.catch` method - // https://tc39.es/ecma262/#sec-promise.prototype.catch - 'catch': function (onRejected) { - return this.then(undefined, onRejected); - } - }); - OwnPromiseCapability = function () { - var promise = new Internal(); - var state = getInternalState(promise); - this.promise = promise; - this.resolve = bind(internalResolve, state); - this.reject = bind(internalReject, state); - }; - newPromiseCapabilityModule.f = newPromiseCapability = function (C) { - return C === PromiseConstructor || C === PromiseWrapper - ? new OwnPromiseCapability(C) - : newGenericPromiseCapability(C); - }; - - if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) { - nativeThen = NativePromisePrototype.then; - - if (!SUBCLASSING) { - // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs - redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { - var that = this; - return new PromiseConstructor(function (resolve, reject) { - call(nativeThen, that, resolve, reject); - }).then(onFulfilled, onRejected); - // https://github.com/zloirock/core-js/issues/640 - }, { unsafe: true }); - - // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` - redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true }); - } - - // make `.constructor === Promise` work for native promise-based APIs - try { - delete NativePromisePrototype.constructor; - } catch (error) { /* empty */ } - - // make `instanceof Promise` work for native promise-based APIs - if (setPrototypeOf) { - setPrototypeOf(NativePromisePrototype, PromisePrototype); - } - } -} - -$({ global: true, wrap: true, forced: FORCED }, { - Promise: PromiseConstructor -}); - -setToStringTag(PromiseConstructor, PROMISE, false, true); -setSpecies(PROMISE); - -PromiseWrapper = getBuiltIn(PROMISE); - -// statics -$({ target: PROMISE, stat: true, forced: FORCED }, { - // `Promise.reject` method - // https://tc39.es/ecma262/#sec-promise.reject - reject: function reject(r) { - var capability = newPromiseCapability(this); - call(capability.reject, undefined, r); - return capability.promise; - } -}); - -$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { - // `Promise.resolve` method - // https://tc39.es/ecma262/#sec-promise.resolve - resolve: function resolve(x) { - return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); - } -}); - -$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { - // `Promise.all` method - // https://tc39.es/ecma262/#sec-promise.all - all: function all(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aCallable(C.resolve); - var values = []; - var counter = 0; - var remaining = 1; - iterate(iterable, function (promise) { - var index = counter++; - var alreadyCalled = false; - remaining++; - call($promiseResolve, C, promise).then(function (value) { - if (alreadyCalled) return; - alreadyCalled = true; - values[index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if (result.error) reject(result.value); - return capability.promise; - }, - // `Promise.race` method - // https://tc39.es/ecma262/#sec-promise.race - race: function race(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aCallable(C.resolve); - iterate(iterable, function (promise) { - call($promiseResolve, C, promise).then(capability.resolve, reject); - }); - }); - if (result.error) reject(result.value); - return capability.promise; - } -}); +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__("5e7e"); +__webpack_require__("14e5"); +__webpack_require__("cc98"); +__webpack_require__("3529"); +__webpack_require__("f22b"); +__webpack_require__("7149"); /***/ }), @@ -40736,7 +41060,7 @@ var classof = __webpack_require__("c6b6"); // `IsArray` abstract operation // https://tc39.es/ecma262/#sec-isarray -// eslint-disable-next-line es/no-array-isarray -- safe +// eslint-disable-next-line es-x/no-array-isarray -- safe module.exports = Array.isArray || function isArray(argument) { return classof(argument) == 'Array'; }; @@ -40779,6 +41103,85 @@ module.exports = function (it) { }; +/***/ }), + +/***/ "e9c4": +/***/ (function(module, exports, __webpack_require__) { + +var $ = __webpack_require__("23e7"); +var getBuiltIn = __webpack_require__("d066"); +var apply = __webpack_require__("2ba4"); +var call = __webpack_require__("c65b"); +var uncurryThis = __webpack_require__("e330"); +var fails = __webpack_require__("d039"); +var isArray = __webpack_require__("e8b5"); +var isCallable = __webpack_require__("1626"); +var isObject = __webpack_require__("861d"); +var isSymbol = __webpack_require__("d9b5"); +var arraySlice = __webpack_require__("f36a"); +var NATIVE_SYMBOL = __webpack_require__("4930"); + +var $stringify = getBuiltIn('JSON', 'stringify'); +var exec = uncurryThis(/./.exec); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var replace = uncurryThis(''.replace); +var numberToString = uncurryThis(1.0.toString); + +var tester = /[\uD800-\uDFFF]/g; +var low = /^[\uD800-\uDBFF]$/; +var hi = /^[\uDC00-\uDFFF]$/; + +var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () { + var symbol = getBuiltIn('Symbol')(); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) != '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) != '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) != '{}'; +}); + +// https://github.com/tc39/proposal-well-formed-stringify +var ILL_FORMED_UNICODE = fails(function () { + return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify('\uDEAD') !== '"\\udead"'; +}); + +var stringifyWithSymbolsFix = function (it, replacer) { + var args = arraySlice(arguments); + var $replacer = replacer; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (isCallable($replacer)) value = call($replacer, this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return apply($stringify, null, args); +}; + +var fixIllFormed = function (match, offset, string) { + var prev = charAt(string, offset - 1); + var next = charAt(string, offset + 1); + if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) { + return '\\u' + numberToString(charCodeAt(match, 0), 16); + } return match; +}; + +if ($stringify) { + // `JSON.stringify` method + // https://tc39.es/ecma262/#sec-json.stringify + $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice(arguments); + var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args); + return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result; + } + }); +} + + /***/ }), /***/ "eac5": @@ -40790,7 +41193,7 @@ var floor = Math.floor; // `IsIntegralNumber` abstract operation // https://tc39.es/ecma262/#sec-isintegralnumber -// eslint-disable-next-line es/no-number-isinteger -- safe +// eslint-disable-next-line es-x/no-number-isinteger -- safe module.exports = Number.isInteger || function isInteger(it) { return !isObject(it) && isFinite(it) && floor(it) === it; }; @@ -40812,7 +41215,7 @@ var hasOwn = __webpack_require__("1a2d"); var classof = __webpack_require__("f5df"); var tryToString = __webpack_require__("0d51"); var createNonEnumerableProperty = __webpack_require__("9112"); -var redefine = __webpack_require__("6eeb"); +var defineBuiltIn = __webpack_require__("cb2d"); var defineProperty = __webpack_require__("9bf2").f; var isPrototypeOf = __webpack_require__("3a9b"); var getPrototypeOf = __webpack_require__("e163"); @@ -40893,7 +41296,7 @@ var exportTypedArrayMethod = function (KEY, property, forced, options) { } } if (!TypedArrayPrototype[KEY] || forced) { - redefine(TypedArrayPrototype, KEY, forced ? property + defineBuiltIn(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); } }; @@ -40911,14 +41314,14 @@ var exportTypedArrayStaticMethod = function (KEY, property, forced) { if (!TypedArray[KEY] || forced) { // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable try { - return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); + return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); } catch (error) { /* empty */ } } else return; } for (ARRAY in TypedArrayConstructorsList) { TypedArrayConstructor = global[ARRAY]; if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { - redefine(TypedArrayConstructor, KEY, property); + defineBuiltIn(TypedArrayConstructor, KEY, property); } } }; @@ -40984,6 +41387,21 @@ module.exports = { }; +/***/ }), + +/***/ "edd0": +/***/ (function(module, exports, __webpack_require__) { + +var makeBuiltIn = __webpack_require__("13d2"); +var defineProperty = __webpack_require__("9bf2"); + +module.exports = function (target, name, descriptor) { + if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + + /***/ }), /***/ "f052": @@ -41119,6 +41537,29 @@ var meta = module.exports = { hiddenKeys[METADATA] = true; +/***/ }), + +/***/ "f22b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var call = __webpack_require__("c65b"); +var newPromiseCapabilityModule = __webpack_require__("f069"); +var FORCED_PROMISE_CONSTRUCTOR = __webpack_require__("4738").CONSTRUCTOR; + +// `Promise.reject` method +// https://tc39.es/ecma262/#sec-promise.reject +$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + reject: function reject(r) { + var capability = newPromiseCapabilityModule.f(this); + call(capability.reject, undefined, r); + return capability.promise; + } +}); + + /***/ }), /***/ "f26d": @@ -42652,7 +43093,7 @@ module.exports = { /***/ "fdbf": /***/ (function(module, exports, __webpack_require__) { -/* eslint-disable es/no-symbol -- required for testing */ +/* eslint-disable es-x/no-symbol -- required for testing */ var NATIVE_SYMBOL = __webpack_require__("4930"); module.exports = NATIVE_SYMBOL @@ -42660,16 +43101,6 @@ module.exports = NATIVE_SYMBOL && typeof Symbol.iterator == 'symbol'; -/***/ }), - -/***/ "fea9": -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__("da84"); - -module.exports = global.Promise; - - /***/ }), /***/ "ff81": diff --git a/dist/vue-advanced-chat.js.map b/dist/vue-advanced-chat.js.map index 3132cad1..0d287637 100644 --- a/dist/vue-advanced-chat.js.map +++ b/dist/vue-advanced-chat.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/modules/es.regexp.test.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/queue.js","webpack:///./node_modules/lamejs/src/js/common.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/engine-ff-version.js","webpack:///./node_modules/core-js/internals/function-bind.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/lamejs/src/js/CalcNoiseData.js","webpack:///./node_modules/core-js/internals/to-index.js","webpack:///./node_modules/core-js/internals/array-species-constructor.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/core-js/internals/string-pad.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/modules/es.date.to-string.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack:///./node_modules/core-js/internals/array-copy-within.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/state.js","webpack:///./node_modules/core-js/modules/es.typed-array.subarray.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/internals/to-offset.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./src/utils/mobile-detection.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/core-js/modules/es.object.define-properties.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js/modules/es.typed-array.sort.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/modules/es.string.strike.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/lamejs/src/js/VBRSeekInfo.js","webpack:///./node_modules/lamejs/src/js/PsyModel.js","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/core-js/modules/es.string.includes.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/class.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/lamejs/src/js/IIISideInfo.js","webpack:///./node_modules/core-js/modules/es.array.is-array.js","webpack:///./node_modules/core-js/modules/es.typed-array.slice.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/core-js/internals/function-apply.js","webpack:///./node_modules/core-js/modules/es.regexp.sticky.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/linkifyjs/lib/linkify.js","webpack:///./node_modules/lamejs/src/js/GainAnalysis.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/options.js","webpack:///./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/vue-style-loader/lib/addStylesShadow.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/lamejs/src/js/Presets.js","webpack:///./node_modules/core-js/modules/es.typed-array.find-index.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/modules/es.typed-array.set.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/modules/es.typed-array.map.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/core-js/internals/function-bind-native.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/parser.js","webpack:///./node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/core-js/modules/es.array.some.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js","webpack:///./node_modules/core-js/modules/web.timers.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/lamejs/src/js/CBRNewIterationLoop.js","webpack:///./src/lib/ChatWindow.vue?2c98","webpack:///./node_modules/lamejs/src/js/Encoder.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./src/utils/data-validation.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/array-slice-simple.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./node_modules/core-js/modules/es.object.entries.js","webpack:///./node_modules/core-js/internals/object-is-extensible.js","webpack:///./node_modules/core-js/internals/a-constructor.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/engine-webkit-version.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/lamejs/src/js/Reservoir.js","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack:///./node_modules/@vue/web-component-wrapper/dist/vue-wc-wrapper.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./src/lib/ChatWindow.vue?3c64","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///./src/lib/RoomsList/RoomsList.vue?f4d9","webpack:///./src/components/Loader/Loader.vue?2465","webpack:///src/components/Loader/Loader.vue","webpack:///./src/components/Loader/Loader.vue?11f3","webpack:///./src/components/Loader/Loader.vue","webpack:///./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?1e4b","webpack:///./src/components/SvgIcon/SvgIcon.vue?4967","webpack:///src/components/SvgIcon/SvgIcon.vue","webpack:///./src/components/SvgIcon/SvgIcon.vue?007a","webpack:///./src/components/SvgIcon/SvgIcon.vue","webpack:///src/lib/RoomsList/RoomsSearch/RoomsSearch.vue","webpack:///./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?6053","webpack:///./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue","webpack:///./src/lib/RoomsList/RoomContent/RoomContent.vue?30e8","webpack:///./src/components/FormatMessage/FormatMessage.vue?ada5","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./src/utils/format-string.js","webpack:///src/components/FormatMessage/FormatMessage.vue","webpack:///./src/components/FormatMessage/FormatMessage.vue?dfa6","webpack:///./src/components/FormatMessage/FormatMessage.vue","webpack:///./src/utils/typing-text.js","webpack:///src/lib/RoomsList/RoomContent/RoomContent.vue","webpack:///./src/lib/RoomsList/RoomContent/RoomContent.vue?f460","webpack:///./src/lib/RoomsList/RoomContent/RoomContent.vue","webpack:///./src/utils/filter-items.js","webpack:///src/lib/RoomsList/RoomsList.vue","webpack:///./src/lib/RoomsList/RoomsList.vue?6ac2","webpack:///./src/lib/RoomsList/RoomsList.vue","webpack:///./src/lib/Room/Room.vue?c841","webpack:///./src/lib/Room/RoomHeader/RoomHeader.vue?44d5","webpack:///src/lib/Room/RoomHeader/RoomHeader.vue","webpack:///./src/lib/Room/RoomHeader/RoomHeader.vue?9884","webpack:///./src/lib/Room/RoomHeader/RoomHeader.vue","webpack:///./src/lib/Room/RoomFooter/RoomFooter.vue?3566","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/emoji-picker-element/index.js","webpack:///./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?8fd0","webpack:///src/components/EmojiPickerContainer/EmojiPickerContainer.vue","webpack:///./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?21ac","webpack:///./src/components/EmojiPickerContainer/EmojiPickerContainer.vue","webpack:///./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?1968","webpack:///./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?5562","webpack:///src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue","webpack:///./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?f1d0","webpack:///./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue","webpack:///src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue","webpack:///./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?92f2","webpack:///./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue","webpack:///./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?f750","webpack:///./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?8d9f","webpack:///./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?32c3","webpack:///src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue","webpack:///./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?cd7b","webpack:///./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue","webpack:///src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue","webpack:///./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?a4f2","webpack:///./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue","webpack:///src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue","webpack:///./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?802c","webpack:///./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue","webpack:///./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?b9ef","webpack:///src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue","webpack:///./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?5acb","webpack:///./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue","webpack:///./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?e410","webpack:///src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue","webpack:///./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?1abd","webpack:///./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue","webpack:///./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?89ff","webpack:///src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue","webpack:///./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?b6ba","webpack:///./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./src/utils/mp3-encoder.js","webpack:///./src/utils/recorder.js","webpack:///src/lib/Room/RoomFooter/RoomFooter.vue","webpack:///./src/lib/Room/RoomFooter/RoomFooter.vue?fee3","webpack:///./src/lib/Room/RoomFooter/RoomFooter.vue","webpack:///./src/lib/Room/RoomMessage/RoomMessage.vue?2b50","webpack:///./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?fd8f","webpack:///src/lib/Room/RoomMessage/MessageReply/MessageReply.vue","webpack:///./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?500a","webpack:///./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue","webpack:///./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?7bfb","webpack:///./src/components/ProgressBar/ProgressBar.vue?9493","webpack:///src/components/ProgressBar/ProgressBar.vue","webpack:///./src/components/ProgressBar/ProgressBar.vue?109c","webpack:///./src/components/ProgressBar/ProgressBar.vue","webpack:///./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?e40c","webpack:///src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue","webpack:///./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?2873","webpack:///./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue","webpack:///src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue","webpack:///./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?6a12","webpack:///./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue","webpack:///./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?c432","webpack:///src/lib/Room/RoomMessage/MessageActions/MessageActions.vue","webpack:///./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?1688","webpack:///./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue","webpack:///./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?2959","webpack:///src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue","webpack:///./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?6d63","webpack:///./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue","webpack:///src/lib/Room/RoomMessage/RoomMessage.vue","webpack:///./src/lib/Room/RoomMessage/RoomMessage.vue?c0d1","webpack:///./src/lib/Room/RoomMessage/RoomMessage.vue","webpack:///src/lib/Room/Room.vue","webpack:///./src/lib/Room/Room.vue?a9c3","webpack:///./src/lib/Room/Room.vue","webpack:///./src/lib/MediaPreview/MediaPreview.vue?bbf9","webpack:///src/lib/MediaPreview/MediaPreview.vue","webpack:///./src/lib/MediaPreview/MediaPreview.vue?eea1","webpack:///./src/lib/MediaPreview/MediaPreview.vue","webpack:///./src/locales/index.js","webpack:///./src/themes/index.js","webpack:///src/lib/ChatWindow.vue","webpack:///./src/lib/ChatWindow.vue?8fc0","webpack:///./src/lib/ChatWindow.vue","webpack:///./node_modules/@vue/cli-service/lib/commands/build/entry-wc.js","webpack:///./node_modules/core-js/modules/es.string.replace-all.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/lamejs/src/js/Tables.js","webpack:///./node_modules/core-js/modules/es.typed-array.join.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/core-js/modules/es.set.js","webpack:///./node_modules/core-js/internals/engine-is-browser.js","webpack:///./node_modules/core-js/modules/es.typed-array.iterator.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/internals/array-buffer.js","webpack:///./node_modules/core-js/modules/es.typed-array.some.js","webpack:///./node_modules/core-js/internals/date-to-iso-string.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/collection-strong.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/lamejs/src/js/MPEGMode.js","webpack:///./node_modules/core-js/internals/is-constructor.js","webpack:///./node_modules/lamejs/src/js/BitStream.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/collection.js","webpack:///./node_modules/core-js/modules/es.date.now.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/object-to-array.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/lamejs/src/js/ReplayGain.js","webpack:///./node_modules/lamejs/src/js/CalcNoiseResult.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-string.js","webpack:///./node_modules/core-js/modules/es.typed-array.fill.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/core-js/internals/typed-array-constructor.js","webpack:///./node_modules/linkifyjs/index.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/text.js","webpack:///./node_modules/core-js/internals/ieee754.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/dom-token-list-prototype.js","webpack:///./node_modules/core-js/modules/es.object.define-property.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/number-parse-float.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/lamejs/src/js/FFT.js","webpack:///./node_modules/core-js/internals/array-fill.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/modules/es.typed-array.includes.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/core-js/internals/create-html.js","webpack:///./src/lib/ChatWindow.vue?a2bd","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/emoji-picker-element/picker.js","webpack:///./node_modules/@soda/get-current-script/index.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack:///./node_modules/core-js/modules/es.typed-array.int16-array.js","webpack:///external \"Vue\"","webpack:///./node_modules/lamejs/src/js/Version.js","webpack:///./node_modules/core-js/modules/es.typed-array.at.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/lamejs/src/js/LameGlobalFlags.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/lamejs/src/js/L3Side.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/core-js/internals/typed-array-from.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/lamejs/src/js/III_psy_xmin.js","webpack:///./node_modules/core-js/modules/es.string.match-all.js","webpack:///./node_modules/lamejs/src/js/VBRQuantize.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/core-js/modules/es.array.every.js","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/modules/es.typed-array.every.js","webpack:///./node_modules/core-js/internals/array-buffer-native.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/internals/error-to-string.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/core-js/internals/install-error-cause.js","webpack:///./node_modules/lamejs/src/js/ATH.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/modules/es.date.to-iso-string.js","webpack:///./node_modules/core-js/modules/es.parse-float.js","webpack:///./node_modules/core-js/modules/es.array-buffer.slice.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/array-sort.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack:///./node_modules/core-js/internals/string-html-forced.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/core-js/internals/typed-array-species-constructor.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/scanner.js","webpack:///./node_modules/core-js/internals/error-stack-installable.js","webpack:///./node_modules/core-js/modules/es.array.last-index-of.js","webpack:///./node_modules/lamejs/src/js/QuantizePVT.js","webpack:///./node_modules/core-js/internals/freezing.js","webpack:///./src/utils/media-file.js","webpack:///./node_modules/lamejs/src/js/LameInternalFlags.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js","webpack:///./src/lib/ChatWindow.vue?e2e2","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/modules/es.function.bind.js","webpack:///./node_modules/lamejs/src/js/NsPsy.js","webpack:///./node_modules/core-js/modules/es.typed-array.filter.js","webpack:///./node_modules/v-click-outside/dist/v-click-outside.umd.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/modules/es.string.italics.js","webpack:///./node_modules/core-js/modules/es.regexp.dot-all.js","webpack:///./node_modules/core-js/internals/function-call.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/clear-error-stack.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/core-js/modules/es.array.index-of.js","webpack:///./src/utils/constants.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/modules/es.string.bold.js","webpack:///./node_modules/core-js/modules/es.typed-array.reverse.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/modules/es.typed-array.float32-array.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/modules/es.typed-array.find.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/modules/es.symbol.iterator.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/modules/es.error.to-string.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/modules/es.typed-array.for-each.js","webpack:///./node_modules/core-js/internals/validate-arguments-length.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/core-js/internals/array-buffer-non-extensible.js","webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/lamejs/src/js/Takehiro.js","webpack:///./node_modules/core-js/modules/es.error.cause.js","webpack:///./node_modules/emoji-picker-element/database.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/lamejs/src/js/index.js","webpack:///./node_modules/lamejs/src/js/Quantize.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/lamejs/src/js/Lame.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js","webpack:///./node_modules/lamejs/src/js/VBRTag.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/core-js/modules/es.string.substr.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/core-js/internals/normalize-string-argument.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js/internals/array-last-index-of.js","webpack:///./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/modules/es.typed-array.index-of.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/is-integral-number.js","webpack:///./node_modules/core-js/internals/array-buffer-view-core.js","webpack:///./node_modules/lamejs/src/js/MeanBits.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/core-js/internals/internal-metadata.js","webpack:///./node_modules/lamejs/src/js/III_psy_ratio.js","webpack:///./node_modules/core-js/internals/array-slice.js","webpack:///./node_modules/lamejs/src/js/GrInfo.js","webpack:///./node_modules/lamejs/src/js/NewMDCT.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/to-positive-integer.js","webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack:///./node_modules/core-js/modules/es.typed-array.int8-array.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js","webpack:///./node_modules/lamejs/src/js/ScaleFac.js"],"names":["detectMobile","userAgent","getUserAgent","userAgentPart","substr","test","navigator","vendor","window","opera","Error","_typeof","obj","Symbol","iterator","constructor","prototype","roomsValidation","roomsValidate","key","type","validate","props","every","prop","validType","Array","isArray","find","t","checkObjectValid","partcipantsValidation","participantsValidate","messagesValidation","messagesValidate","Object","hasOwnProperty","call","undefined","_defineProperty","value","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","name","show","infinite","param","data","svgItem","search","path","add","toggle","menu","close","file","paperclip","send","emoji","document","pencil","checkmark","eye","dropdown","deleted","microphone","size","path2","computed","svgId","components","SvgIcon","textMessages","required","showSearch","showAddRoom","rooms","loadingRooms","emits","showSearchBar","_arrayLikeToArray","arr","len","arr2","_arrayWithoutHoles","arrayLikeToArray","_iterableToArray","iter","from","_unsupportedIterableToArray","o","minLen","n","toString","slice","_nonIterableSpread","TypeError","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","linkify","require","text","doLinkify","textFormatting","typeMarkdown","bold","italic","strike","underline","multilineCode","inlineCode","pseudoMarkdown","end","allowed_chars","json","compileToJSON","html","compileToHTML","result","concat","linkifyResult","str","minIndexOf","minIndexOfKey","links","minIndexFromLink","indexOf","startingValue","io","strLeft","strLink","strRight","char","replace","match","RegExp","start","content","item","types","parseContent","iterateContent","it","removeDuplicates","items","Set","array","spaces","href","users","singleLine","reply","linkOptions","linkifiedMessage","message","m","formattedContent","methods","checkType","checkImageType","index","setImageSize","image","formatTags","usertags","initialContent","openTag","room","currentUserId","typingUsers","user","_id","status","state","IS_TYPING","map","username","join","FormatMessage","directives","clickOutside","roomActions","roomMenuOpened","getLastMessage","userStatus","isMessageCheckmarkVisible","formattedDuration","isAudio","isAudioFile","roomActionHandler","action","roomId","closeRoomMenu","val","startsWith","v","formatString","includes","string","toLowerCase","normalize","Loader","RoomsSearch","RoomContent","showRoomsList","isMobile","roomsLoaded","scrollDistance","filteredRooms","observer","showLoader","loadingMoreRooms","selectedRoomId","watch","deep","handler","newVal","oldVal","setTimeout","immediate","initIntersectionObserver","root","rootMargin","threshold","options","searchRoom","ev","openRoom","loadMoreRooms","singleRoom","roomInfoEnabled","menuActions","messageSelectionEnabled","messageSelectionActions","selectedMessagesTotal","menuOpened","messageSelectionAnimationEnded","menuActionHandler","closeMenu","messageSelectionActionHandler","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","err","emojiOpened","emojiReaction","positionTop","positionRight","emojiPickerHeight","emojiPickerTop","emojiPickerRight","unicode","addCustomStyling","style","openEmoji","setEmojiPickerPosition","clientY","innerWidth","innerHeight","roomFooterTop","isImage","isVideo","RoomFile","files","footerHeight","percentage","isMouseDown","onMouseDown","onMouseUp","onMouseMove","calculateLineHeadPosition","element","pos","AudioControl","messageId","src","isPlaying","duration","playedTime","progress","playerUniqId","audioSource","mounted","convertTimeMMSS","seconds","playback","resetProgress","onTimeUpdate","onUpdateProgress","updateProgressTime","isImageFile","isVideoFile","AudioPlayer","messageReply","firstFile","isOtherFile","filteredUsersTag","selectItem","activeUpOrDown","activeItem","filteredEmojis","filteredTemplatesText","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","lamejs","_","missing","Mp3Encoder","config","bitRate","sampleRate","dataBuffer","encoder","arrayBuffer","maxSamples","samples","_convertBuffer","remaining","left","subarray","buffer","encodeBuffer","Int8Array","flush","blob","Blob","id","Date","now","url","URL","createObjectURL","input","output","s","Math","max","min","Float32Array","out","Int16Array","_floatTo16BitPCM","beforeRecording","pauseRecording","afterRecording","micFailed","encoderOptions","bufferSize","records","isPause","isRecording","volume","_duration","constraints","video","audio","channelCount","echoCancellation","mediaDevices","getUserMedia","_micCaptured","bind","_micError","lameEncoder","stream","getTracks","track","stop","disconnect","processor","context","record","finish","AudioContext","webkitAudioContext","createMediaStreamSource","createScriptProcessor","onaudioprocess","sample","inputBuffer","getChannelData","sum","encode","parseFloat","currentTime","toFixed","sqrt","connect","destination","EmojiPickerContainer","RoomFiles","RoomMessageReply","RoomUsersTag","RoomEmojis","RoomTemplatesText","roomMessage","showSendIcon","showFiles","showAudio","showEmojis","showFooter","acceptedFiles","textareaActionEnabled","userTagsEnabled","emojisSuggestionEnabled","templatesText","audioBitRate","audioSampleRate","initReplyMessage","initEditMessage","editedMessage","cursorRangePosition","fileDialog","selectUsersTagItem","selectEmojiItem","selectTemplatesTextItem","format","activeUpOrDownEmojis","activeUpOrDownUsersTag","activeUpOrDownTemplatesText","emojisDB","keepKeyboardOpen","selectedUsersTag","recorder","isMessageEmpty","isFileLoading","recordedTime","shadowFooter","beforeDestroy","getTextareaRef","focusTextarea","disableMobileFocus","onChangeInput","resizeTextarea","getComputedStyle","el","getPropertyValue","escapeTextarea","onPasteImage","pasteEvent","updateActiveUpOrDown","direction","selectEmoji","selectTemplateText","template","space","position","addEmoji","launchFilePicker","onFileChange","fileURL","typeIndex","loading","extension","localUrl","fetch","blobFile","loadedFile","removeFile","toggleRecorder","recording","stopRecorder","textareaActionHandler","sendMessage","newContent","replyMessage","usersTag","editMessage","messageContent","firstTag","userId","secondTag","updateFooterLists","updateFooterList","tagChar","updateShowUsersTag","query","selectUserTag","updateShowTemplatesText","getCharPosition","endPosition","updateEmojis","emojis","resetFooterList","resetMessage","resetTextareaSize","preventKeyboardFromClosing","initRecorder","roomUsers","replyUsername","radius","stroke","normalizedRadius","circumference","strokeDashoffset","ProgressBar","imageResponsive","imageLoading","imageHover","isImageLoading","maxHeight","loaderTop","checkImgLoad","openFile","event","MessageFile","imageVideoFiles","otherFiles","messageActions","showReactionEmojis","messageHover","hoverMessageId","hoverAudioProgress","menuOptionsTop","optionsOpened","optionsClosing","isMessageActions","isMessageReactions","filteredMessageActions","openOptions","closeOptions","closeEmoji","updateMessageHover","messageActionHandler","sendMessageReaction","reaction","MessageReply","MessageFiles","MessageActions","MessageReactions","messages","editedMessageId","newMessages","showNewMessagesDivider","usernameOptions","selectedMessages","newMessage","progressTime","showUsername","showDate","messageOffset","isMessageHover","isCheckmarkVisible","hasCurrentUserAvatar","hasSenderUserAvatar","isMessageSelected","ref","onHoverMessage","canEditMessage","onLeaveMessage","resetMessageHover","openUserTag","remove","selectMessage","RoomHeader","RoomFooter","RoomMessage","loadFirstRoom","messagesLoaded","autoScroll","infiniteState","loadingMessages","loadingMoreMessages","scrollIcon","scrollMessagesCount","showNoMessages","showNoRoom","showMessagesStarted","preventTopScroll","top","touchStart","touchEvent","addEventListener","once","touchEnd","posXStart","posYStart","onRoomChanged","unwatch","resetMessageSelection","unselectMessage","onMessageAdded","onContainerScroll","e","loadMoreMessages","messageReaction","getBottomScroll","scrollToBottom","behavior","closeModal","ROOMS_EMPTY","ROOM_EMPTY","NEW_MESSAGES","MESSAGE_DELETED","MESSAGES_EMPTY","CONVERSATION_STARTED","TYPE_MESSAGE","SEARCH","IS_ONLINE","LAST_SEEN","CANCEL_SELECT_MESSAGE","defaultThemeStyles","light","general","color","colorButtonClear","colorButton","backgroundColorButton","backgroundInput","colorPlaceholder","colorCaret","colorSpinner","borderStyle","backgroundScrollIcon","container","border","borderRadius","boxShadow","header","background","colorRoomName","colorRoomInfo","footer","borderStyleInput","borderInputSelected","backgroundReply","backgroundTagActive","backgroundTag","sidemenu","backgroundHover","backgroundActive","colorActive","borderColorSearch","backgroundMe","colorStarted","backgroundDeleted","backgroundSelected","colorDeleted","colorUsername","colorTimestamp","backgroundDate","colorDate","backgroundSystem","colorSystem","backgroundMedia","colorReplyUsername","colorReply","colorTag","backgroundImage","colorNewMessages","backgroundScrollCounter","colorScrollCounter","backgroundReaction","borderStyleReaction","backgroundReactionHover","borderStyleReactionHover","colorReactionCounter","backgroundReactionMe","borderStyleReactionMe","backgroundReactionHoverMe","borderStyleReactionHoverMe","colorReactionCounterMe","backgroundAudioRecord","backgroundAudioLine","backgroundAudioProgress","backgroundAudioProgressSelector","colorFileExtension","markdown","colorMulti","colorMessage","colorStateOnline","colorStateOffline","backgroundCounterBadge","colorCounterBadge","icons","closeImage","closeOutline","closePreview","sendDisabled","checkmarkSeen","dropdownMessage","dropdownMessageBackground","dropdownRoom","dropdownScroll","audioPlay","audioPause","audioCancel","audioConfirm","dark","cssThemeVars","RoomsList","Room","MediaPreview","height","theme","styles","responsiveBreakpoint","roomsListOpened","roomsOrder","title","onlyMe","newAfterScrollUp","receive","disabled","rel","mediaPreviewEnabled","minUsers","currentUser","showMediaPreview","previewFile","locales","cssVars","customStyles","defaultStyles","orderedRooms","created","updateResponsive","toggleRoomsList","opened","fetchRoom","reset","fetchMoreRooms","roomInfo","addRoom","fetchMessages","deleteMessage","openFailedMessage","typingMessage","checkMediaType","some","IMAGE_TYPES","VIDEO_TYPES","isImageVideoFile","AUDIO_TYPES"],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFa;AACb;AACA,mBAAO,CAAC,MAA2B;AACnC,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG,4DAA4D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnCD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;;AAEA;;AAEA;;;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,KAAK;AACL,+BAA+B,aAAa;AAC5C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/JA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,kBAAkB,mBAAO,CAAC,MAAmC;;AAE7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,MAAgC;;AAExD;;AAEA;;;;;;;;;ACJa;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAAmC;;AAE7D;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA,cAAc,mBAAO,CAAC,MAA0B;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,2BAA2B,mBAAO,CAAC,MAA4C;AAC/E,iBAAiB,mBAAO,CAAC,MAAiC;;AAE1D;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,WAAW,mBAAO,CAAC,MAA4B;AAC/C,iCAAiC,mBAAO,CAAC,MAA4C;AACrF,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,aAAa,mBAAO,CAAC,MAA+B;AACpD,qBAAqB,mBAAO,CAAC,MAA6B;;AAE1D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;;;;;;;;ACrBA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACtBA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA,yCAAyC,IAAI;AAC7C,kDAAkD,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AC3CA;AACA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAA4B;AAClD,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;AAEA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,oBAAoB,mBAAO,CAAC,MAAsC;;AAElE;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,GAAG;AACH,CAAC;;;;;;;;ACVD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAuB;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACjBA,YAAY,mBAAO,CAAC,MAAoB;AACxC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACjCD,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACVA,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACVY;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM;AACd;AACA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,cAAc,mBAAO,CAAC,MAA2B;AACjD,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,cAAc,mBAAO,CAAC,MAA6B;;AAEnD;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,qEAAqE;AACxE;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnBD,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,mCAAmC,mBAAO,CAAC,MAA8C;;AAEzF;AACA;AACA;;;;;;;;;ACLa;AACb,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,wBAAwB,mBAAO,CAAC,MAAmC;;AAEnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AC7BA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,cAAc,mBAAO,CAAC,MAA0B;AAChD,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,4BAA4B,mBAAO,CAAC,MAAuC;AAC3E,cAAc,mBAAO,CAAC,MAA6B;AACnD,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAgB;;AAErC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;;AAEA;AACA;AACA;AACA,UAAU,YAAY;AACtB,UAAU,UAAU;AACpB;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA,UAAU,MAAM;AAChB;AACA,WAAW,MAAM;AACjB;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA,wBAAwB;AACxB,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,UAAU,MAAM;AAChB,UAAU,MAAM;AAChB,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB,UAAU,cAAc;AACxB,WAAW;AACX;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA,UAAU,UAAU;AACpB,UAAU,MAAM;AAChB,WAAW;AACX;AACA;AACA;AACA;AACA,CAAC;;AAED;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,mBAAO,CAAC,MAAqB;AAC1C,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,eAAe,mBAAO,CAAC,MAAuB;AAC9C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtDA,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;;AAGA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,MAAU;AAC5B,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;;AAEA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD,oCAAoC,YAAY;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,sBAAsB;AAC9C,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sBAAsB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sBAAsB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,0BAA0B;AAClD,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA,2BAA2B,8BAA8B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;;AAEA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;;AAEA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA,+BAA+B,8BAA8B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,OAAO;AAClC;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA,gCAAgC;AAChC,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB,wBAAwB;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,YAAY;AAC5C,iCAAiC,iBAAiB;AAClD;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,iBAAiB;AAC9C;;AAEA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA,wCAAwC,YAAY;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wCAAwC,YAAY;AACpD;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;;AAEA;;AAEA,wBAAwB;AACxB,iCAAiC;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,WAAW;AAClC;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW;AAClC,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;;AAEA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,WAAW;AAClC,iCAAiC,kBAAkB;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,gCAAgC,sBAAsB;AACtD;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,UAAU,GAAG;AACtD;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACj1Fa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;;AAEA;AACA,4CAA4C,qBAAqB;AACjE;;AAEA;AACA,KAAK;AACL,IAAI;AACJ;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,iBAAiB;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,8BAA8B;;AAE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CpD,cAAc,mBAAO,CAAC,MAAuC;AAC7D,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,8BAA8B,mBAAO,CAAC,MAAwC;AAC9E,4BAA4B,mBAAO,CAAC,MAAkC;AACtE,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG,4DAA4D;AAC/D;AACA,CAAC;;;;;;;;ACnhCD,kBAAkB,mBAAO,CAAC,MAAmC;;AAE7D;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,oBAAoB,mBAAO,CAAC,MAAoC;AAChE,cAAc,mBAAO,CAAC,MAA0B;AAChD,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,uBAAuB,mBAAO,CAAC,MAA6B;;AAE5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACzBa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,2BAA2B,mBAAO,CAAC,MAAsC;AACzE,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,uFAAuF;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnCD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAA6B;AACjD,WAAW,mBAAO,CAAC,MAAoC;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,aAAa,mBAAO,CAAC,MAA+B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,WAAW,mBAAO,CAAC,MAAmB;AACtC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAAsC;AAClE,8BAA8B,mBAAO,CAAC,MAAwC;AAC9E,aAAa,mBAAO,CAAC,MAA4B;AACjD,cAAc,mBAAO,CAAC,MAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,gBAAgB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACnHA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,gBAAgB,mBAAO,CAAC,MAAgC;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAuB;;AAE5C,eAAe,mBAAO,CAAC,MAAyB;;AAEhD;;AAEA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA,cAAc,mBAAO,CAAC,MAAuB;;AAE7C;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS,OAAO;AAChB,UAAU,MAAM;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,mBAAmB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4B;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,yDAAyD;AACzD;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;;AAEA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACviBa;;AAEb;;AAEA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,wBAAwB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;AC9Ha;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,YAAY,mBAAO,CAAC,MAA6B;AACjD,mBAAmB,mBAAO,CAAC,MAAkC;;AAE7D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACbD,iBAAiB,mBAAO,CAAC,MAA2B;;AAEpD;;;;;;;;ACFA,cAAc,mBAAO,CAAC,MAAsB;AAC5C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACe;AACf;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC1ByC;;AAE1B;AACf,eAAe,YAAY;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC;AACpC,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrEA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,8BAA8B,mBAAO,CAAC,MAAsC;AAC5E,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACtea;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,iBAAiB,mBAAO,CAAC,MAA8B;;AAEvD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D,+BAA+B;;;;;;;;ACF/B,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAwB;AACtD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;AC3CY;AACb,aAAa,mBAAO,CAAC,MAA+B;AACpD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,qBAAqB,mBAAO,CAAC,MAA8B;;AAE3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;AC7BD;;;;;;;;;ACAa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,WAAW,mBAAO,CAAC,MAA8B;AACjD,mCAAmC,mBAAO,CAAC,MAA8C;;AAEzF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;ACdD,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;;;;;;;ACJA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA,2BAA2B,cAAc;AACzC;AACA;AACA,CAAC;;;;;;;;;ACNY;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAS;;AAE9B,aAAa,mBAAO,CAAC,MAAgB;;AAErC;;AAEA,YAAY,mBAAO,CAAC,MAAe;;AAEnC,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,2BAA2B;AAC3B,mCAAmC;AACnC,yCAAyC;AACzC,2BAA2B;AAC3B,+BAA+B;AAC/B,kCAAkC;AAClC,8BAA8B;AAC9B,uCAAuC;AACvC,kCAAkC;AAClC,sCAAsC;AACtC,kCAAkC;AAClC,oCAAoC;AACpC,yCAAyC;AACzC,kCAAkC;AAClC,8CAA8C,qBAAqB;AACnE,gDAAgD;AAChD,qDAAqD;AACrD,8CAA8C;AAC9C,uCAAuC;AACvC,yCAAyC;AACzC,8CAA8C;AAC9C,uCAAuC;AACvC,iCAAiC;AACjC,qCAAqC;AACrC,sCAAsC;AACtC,gCAAgC;AAChC,2CAA2C;AAC3C,mDAAmD;AACnD,+CAA+C;AAC/C,8BAA8B;AAC9B,iCAAiC;AACjC,kCAAkC;AAClC,gCAAgC;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qCAAqC,YAAY;AACjD;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;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,wBAAwB,0CAA0C,0BAA0B,4CAA4C,qBAAqB,uCAAuC,sBAAsB,wCAAwC,sBAAsB,kBAAkB,SAAS,QAAQ,+BAA+B,UAAU,6BAA6B,kCAAkC,yBAAyB,yBAAyB,4CAA4C,kBAAkB,SAAS,QAAQ,+BAA+B,WAAW,gBAAgB,gCAAgC,kBAAkB,+DAA+D,kBAAkB,SAAS,QAAQ,+BAA+B,gBAAgB,WAAW,sFAAsF,cAAc,gBAAgB;AAC1ipC;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,mBAAO,CAAC,MAAc;AACxC,wBAAwB,mBAAO,CAAC,MAAoB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,aAAa;AACb,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA,gDAAgD;AAChD;AACA,mDAAmD;AACnD;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA,iBAAiB;AACjB,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mCAAmC;AACjE;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,kBAAkB;;AAE1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;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e,mBAAO,CAAC,MAAuB;AAC9C,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAA+B;AACpD,2BAA2B,mBAAO,CAAC,MAA6B;AAChE,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,0BAA0B,mBAAO,CAAC,MAAyC;AAC3E,sBAAsB,mBAAO,CAAC,MAAqC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK,gBAAgB;;AAErB;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,0BAA0B,EAAE;AACpD,0BAA0B,wBAAwB;AAClD,KAAK;AACL;;AAEA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACtMA,sBAAsB,mBAAO,CAAC,MAAgC;A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CA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvID,cAAc,mBAAO,CAAC,MAAsB;AAC5C,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gCAAgC,mBAAO,CAAC,MAA4C;AACpF,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;;;;;;;;ACRA;AACA;AACA;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;AACA;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxSA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACTA;;AAEA;AACA;AACA,MAAM,gDAAW;AACjB,2BAA2B,mBAAO,CAAC,MAA0B;AAC7D;;AAEA;AACA;AACA,wDAAwD,wBAAwB;AAChF;AACA;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;;ACrBnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,8CAA8C,OAAO,KAAK;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA,mEAAmE;AACnE;AACA;AACA;AACA,KAAK,IAAI;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,eAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEe,uDAAI,EAAC;;;;;;;;;AC1QpB;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACjGA,0BAA0B,aAAa,0BAA0B,wBAAwB,iBAAiB,uCAAuC,qBAAqB,gBAAgB,YAAY,iCAAiC,qCAAqC,OAAO,qaAAqa,KAAK,uGAAuG,8BAA8B,oEAAoE,gEAAgE,QAAQ,2BAA2B,uCAAuC,cAAc,sBAAsB,OAAO,m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AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC3ED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAA+B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,cAAc;AAC5D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACjgBa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACZY;AACb;AACA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mCAAmC;AACnC,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,OAAO;AACP,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AA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C1G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uEAAuE,iBAAiB;AACxF;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACtPa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,YAAY,mBAAO,CAAC,MAA8B;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACXY;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,eAAe,mBAAO,CAAC,MAAyB;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACxCD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnCa;AACb,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,aAAa,mBAAO,CAAC,MAA4B;AACjD,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,WAAW,mBAAO,CAAC,MAAoC;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,cAAc,mBAAO,CAAC,MAAgC;AACtD,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,iEAAiE,iCAAiC;AAClG,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;;AAEA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,SAAS,WAAW,YAAY,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL,SAAS,WAAW;AACpB;AACA;AACA;AACA;AACA;;;;;;;;AC3MA,8BAA8B,mBAAO,CAAC,MAAwC;;AAE9E;AACA;AACA;AACA;AACA;;;;;;;;ACNA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD,wBAAwB;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,eAAe,EAAE;AAC1D;AACA,CAAC;;;;;;;;ACnDD,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,MAAe;AACtC,aAAa,mBAAO,CAAC,MAAa;AAClC,cAAc,mBAAO,CAAC,MAAc;AACpC,wBAAwB,mBAAO,CAAC,MAAwB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;AACA;;AAEA,cAAc,oBAAoB;AAClC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB,uBAAuB;AAC/C;AACA,8BAA8B,UAAU;AACxC;AACA;AACA;;AAEA,wBAAwB,QAAQ;AAChC,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iDAAiD,OAAO;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,QAAQ;AAChC,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,0BAA0B,mBAAmB;AAC7C;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,sCAAsC;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,iBAAiB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,iBAAiB;AAC5D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;;AAEA;;;;;;;;ACjgCA,sBAAsB,mBAAO,CAAC,MAA8B;AAC5D,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,aAAa,mBAAO,CAAC,MAA+B;AACpD,aAAa,mBAAO,CAAC,MAA2B;AAChD,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpEa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAuB;AAC9C,6BAA6B,mBAAO,CAAC,MAAgC;AACrE,cAAc,mBAAO,CAAC,MAAsB;AAC5C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,wBAAwB,mBAAO,CAAC,MAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qDAAqD;AACrD;AACA,kDAAkD,iBAAiB,EAAE;AACrE;AACA;AACA,4EAA4E,iCAAiC,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,mEAAmE,iCAAiC;AACpG;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,yDAAyD;;AAE9D;;AAEA;;AAEA;AACA;;;;;;;;ACxGA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;;AAEA;AACA;AACA,GAAG,6BAA6B;AAChC;AACA;AACA;AACA,CAAC;;;;;;;;ACbD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,aAAa,mBAAO,CAAC,MAA+B;AACpD,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,iCAAiC,mBAAO,CAAC,MAA4B;;AAErE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC7CD,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,4BAA4B,mBAAO,CAAC,MAA4C;;AAEhF;AACA;;AAEA,YAAY,kBAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnCA,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjBA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAO,CAAC,MAAmB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC1DA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;AACb,6BAA6B,mBAAO,CAAC,MAAqC;AAC1E,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;AACA;;AAEA,uBAAuB,sBAAsB,EAAE,EAAE;AACjD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;ACrBa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,WAAW,mBAAO,CAAC,MAA4B;AAC/C,YAAY,mBAAO,CAAC,MAAyB;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnBD;AACA;;;;;;;;ACDA,WAAW,mBAAO,CAAC,MAAmB;AACtC,aAAa,mBAAO,CAAC,MAA+B;AACpD,mCAAmC,mBAAO,CAAC,MAAwC;AACnF,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA,+CAA+C;AAC/C;AACA;AACA,GAAG;AACH;;;;;;;;;ACVa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,kDAAkD,mBAAO,CAAC,MAAwD;AAClH,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,wBAAwB,mBAAO,CAAC,MAA2B;AAC3D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,uBAAuB,mBAAO,CAAC,MAAiC;AAChE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,aAAa,mBAAO,CAAC,MAA+B;AACpD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA4B;AACjD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,cAAc,mBAAO,CAAC,MAA8B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,wBAAwB,mBAAO,CAAC,MAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,mEAAmE;AACxE;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC,oCAAoC;;;;;;;;ACjPrC,iBAAiB,mBAAO,CAAC,MAAe;;;;;;;;;ACA3B;;AAEb;AACA;;AAEA,wBAAwB,mBAAO,CAAC,MAAsB;;AAEtD,aAAa,mBAAO,CAAC,MAAmB;;AAExC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,WAAW;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC;AAChC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8B;;;;;;;AC3MA;AACA,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA,4BAA4B,mBAAO,CAAC,MAAsC;;AAE1E;AACA;;AAEA;;;;;;;;ACNA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA;AACA;AACA,GAAG,qGAAqG;AACxG;AACA,CAAC;;;;;;;;ACTD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,WAAW,mBAAO,CAAC,MAAmB;AACtC,4BAA4B,mBAAO,CAAC,MAAsC;AAC1E,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;ACjFa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA8B;AAClD,uBAAuB,mBAAO,CAAC,MAAiC;;AAEhE;AACA;;AAEA;AACA,4CAA4C,qBAAqB,EAAE;;AAEnE;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;;ACpBa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA4B;AAC/C,cAAc,mBAAO,CAAC,MAAsB;AAC5C,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,eAAe,mBAAO,CAAC,MAAuB;AAC9C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,4CAA4C;AACrF,6CAA6C,4CAA4C;AACzF,+CAA+C,4CAA4C;AAC3F,KAAK,qBAAqB,sCAAsC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,qBAAqB;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA,2CAA2C,mCAAmC;AAC9E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,qFAAqF;AACnG;;AAEA;AACA;AACA,4DAA4D,gBAAgB;AAC5E;AACA;;AAEA;AACA;;;;;;;;AClGA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,WAAW,mBAAO,CAAC,MAA0B;AAC7C,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gCAAgC,EAAE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACrBD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;;AAEA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;;AAEA,uBAAuB,2BAA2B;AAClD;AACA;;AAEA;;AAEA;;AAEA;;;;;;;;;ACrPa;AACb,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,wBAAwB,mBAAO,CAAC,MAAmC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACVa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,gBAAgB,mBAAO,CAAC,MAA6B;;AAErD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA,iCAAiC,MAAM,mBAAmB,UAAU,EAAE,EAAE;AACxE,CAAC;;;;;;;;;ACNY;AACb,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,WAAW,mBAAO,CAAC,MAA4B;AAC/C,oCAAoC,mBAAO,CAAC,MAAiD;AAC7F,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACpCD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6FAA6F;AAC7F;AACA;;;;;;;;;ACdA;AAAA;AAAA;AAAA;;;;;;;;ACAA,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;;;;;;;;;ACJA;AAAA;AAAqC;;AAErC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+CAA+C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;;AAEjD;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,YAAY;AAClC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,kDAAkD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,OAAO,aAAa;;AAEpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,uBAAuB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,+BAA+B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY,+BAA+B;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,gBAAgB;AACtB,MAAM,OAAO;AACb,MAAM,WAAW;AACjB,MAAM,cAAc;AACpB,MAAM,wBAAwB;;AAE9B;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,aAAa;AACb;AACA,kDAAkD;AAClD;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,8BAA8B;AAC9B;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,4BAA4B;AAC5B,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD,wCAAwC;AAC3F;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAuB;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD;AACzD,uCAAuC;AACvC;AACA,GAAG;AACH;;AAEA;AACA;AACA,iEAAiE,SAAS;AAC1E;;AAEA;AACA,iDAAiD;AACjD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB,UAAU;AACnC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,cAAc;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD,4BAA4B;AAC5B,GAAG;AACH;;AAEA;AACA;AACA,SAAS,SAAS;;AAElB;AACA;AACA;;AAEA;AACA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS;;AAElB;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,iCAAiC,WAAW;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,gBAAgB;;AAEzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C,MAAM;AACN;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,kBAAkB,iB;AAClB,yBAAyB,oB;AACzB,qBAAqB,gBAAgB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uEAAuE,SAAS;AAChF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uKAAuK;AACvK;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mJAAmJ;;AAEnJ;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,4BAA4B,gBAAgB;AAC5C,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,KAAsC,EAAE,EAK3C;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sCAAsC;AACrD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2EAA2E,mBAAmB;AAC9F;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE,OAAO;AACP,OAAO;AACP;AACA,KAAK;AACL,oEAAoE;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,SAAS;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA,+BAA+B,sBAAsB,uBAAuB,wCAAwC,8CAA8C,uBAAuB,6BAA6B,wBAAwB,uBAAuB,wBAAwB,wBAAwB,gBAAgB,mBAAmB,kBAAkB,8BAA8B,0BAA0B,aAAa,kBAAkB,aAAa,oBAAoB,kBAAkB,uBAAuB,0BAA0B,0BAA0B,wBAAwB,+BAA+B,qBAAqB,2BAA2B,mCAAmC,kCAAkC,aAAa,kBAAkB,oBAAoB,0BAA0B,0BAA0B,2BAA2B,+BAA+B,qBAAqB,8BAA8B,mCAAmC,kCAAkC,mCAAmC,MAAM,kBAAkB,oBAAoB,0BAA0B,0BAA0B,2BAA2B,+BAA+B,qBAAqB,8BAA8B,mCAAmC,mCAAmC,gBAAgB,aAAa,OAAO,SAAS,UAAU,SAAS,eAAe,gBAAgB,wCAAwC,yBAAyB,SAAS,MAAM,UAAU,SAAS,iBAAiB,oBAAoB,mBAAmB,wBAAwB,OAAO,uDAAuD,4CAA4C,sEAAsE,UAAU,2BAA2B,UAAU,YAAY,UAAU,EAAE,sBAAsB,QAAQ,gBAAgB,aAAa,sBAAsB,6BAA6B,oDAAoD,WAAW,YAAY,gBAAgB,wEAAwE,mGAAmG,SAAS,kBAAkB,UAAU,WAAW,UAAU,YAAY,gBAAgB,mBAAmB,SAAS,QAAQ,UAAU,oBAAoB,SAAS,kBAAkB,OAAO,MAAM,MAAM,uBAAuB,wCAAwC,6BAA6B,UAAU,kCAAkC,UAAU,eAAe,kBAAkB,mBAAmB,MAAM,UAAU,iBAAiB,2DAA2D,8EAA8E,sBAAsB,qCAAqC,0BAA0B,uCAAuC,eAAe,2BAA2B,mCAAmC,eAAe,SAAS,0BAA0B,gBAAgB,UAAU,gBAAgB,iCAAiC,sBAAsB,aAAa,OAAO,gBAAgB,YAAY,aAAa,yEAAyE,6BAA6B,uBAAuB,WAAW,UAAU,6BAA6B,oCAAoC,iCAAiC,kCAAkC,+BAA+B,8BAA8B,oBAAoB,4BAA4B,aAAa,mBAAmB,uBAAuB,mBAAmB,cAAc,gBAAgB,+BAA+B,eAAe,wCAAwC,gCAAgC,2CAA2C,oEAAoE,2CAA2C,cAAc,6BAA6B,mBAAmB,oBAAoB,4BAA4B,kCAAkC,oDAAoD,iBAAiB,mBAAmB,KAAK,aAAa,8BAA8B,gBAAgB,YAAY,aAAa,uBAAuB,WAAW,qCAAqC,uCAAuC,wCAAwC,mBAAmB,aAAa,4CAA4C,WAAW,mCAAmC,+BAA+B,iCAAiC,wCAAwC,8BAA8B,yDAAyD,uCAAuC,WAAW,oBAAoB,+BAA+B,sBAAsB,6BAA6B,WAAW,SAAS,4BAA4B,UAAU,YAAY,aAAa,mBAAmB,kBAAkB,0CAA0C,oCAAoC,gBAAgB,OAAO,YAAY,aAAa,6BAA6B,yCAAyC,gEAAgE,8BAA8B,iCAAiC,qCAAqC,0BAA0B,qCAAqC,WAAW,aAAa,mBAAmB,wDAAwD,gBAAgB,SAAS,6BAA6B;AACj+K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,+BAA+B;AAC1C;AACA;AACA,gCAAgC,4DAAQ,EAAE,qBAAqB;AAC/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,0CAA0C;AAC1C;AACA;;AAEoC;;;;;;;;;ACnkFpC;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;AC9ED,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACba;AACb,aAAa,mBAAO,CAAC,MAA+B;;AAEpD;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,gCAAgC,mBAAO,CAAC,MAAqC;;AAE7E;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;;;;;;;ACrBD,kCAAkC,mBAAO,CAAC,MAAsC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD,qB;;;;;;;ACAA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACzFa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AChBD,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACRA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;ACTa;AACb;AACA;AACA,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,oBAAoB,mBAAO,CAAC,MAAoC;AAChE,aAAa,mBAAO,CAAC,MAAqB;AAC1C,aAAa,mBAAO,CAAC,MAA4B;AACjD,uBAAuB,mBAAO,CAAC,MAA6B;AAC5D,0BAA0B,mBAAO,CAAC,MAAyC;AAC3E,sBAAsB,mBAAO,CAAC,MAAqC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACpHA,eAAe,mBAAO,CAAC,MAAe;;AAEtC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5QA,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,SAAE;AAClD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACjvBA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;;AAGA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACVa;AACb;AACA,mBAAO,CAAC,MAA8B;AACtC,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,qBAAqB,mBAAO,CAAC,MAAyB;AACtD,eAAe,mBAAO,CAAC,MAAuB;AAC9C,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,aAAa,mBAAO,CAAC,MAA+B;AACpD,WAAW,mBAAO,CAAC,MAAoC;AACvD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,aAAa,mBAAO,CAAC,MAA4B;AACjD,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,wBAAwB,mBAAO,CAAC,MAAkC;AAClE,8BAA8B,mBAAO,CAAC,MAAwC;AAC9E,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+EAA+E,EAAE,EAAE,cAAc;AACjG;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,8DAA8D;AAC1F;AACA,KAAK;AACL,0BAA0B,0CAA0C;AACpE;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gDAAgD;AACzE;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA,gFAAgF,kBAAkB;;AAElG;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;;AAEA,GAAG,wCAAwC;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA,OAAO,+CAA+C;AACtD;AACA,0FAA0F;AAC1F;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,8FAA8F;AAC9F;;AAEA;AACA;;AAEA,OAAO,6BAA6B;AACpC;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;AC9Xa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAAC,MAAuB;AAC7C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,qBAAqB,mBAAO,C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sB,yCAAyC,WAAW,IAAI;AAC9E,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA,KAAK;AACL;AACA,mDAAmD,iDAAiD;AACpG,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,kCAAkC;AAChH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gFAAgF,eAAe;AAC/F;AACA;AACA;;AAEA,GAAG,yEAAyE;AAC5E;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,GAAG,qDAAqD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,mBAAmB,EAAE;AAC/C,0BAA0B,oBAAoB;AAC9C,CAAC;;AAED,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,0DAA0D,kCAAkC,EAAE,GAAG;AACpG;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY,QAAQ;AACzC;AACA,0CAA0C;AAC1C,GAAG;;AAEH,KAAK,4DAA4D;AACjE;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;;ACpUa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAA8B;AACnD,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;;AAEA;AACA;AACA,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA,CAAC;;;;;;;;ACbD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAAyB;AAC5C,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,2DAA2D;AAC9D;AACA,CAAC;;;;;;;;;ACbY;AACb,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA,+CAA+C,UAAU,EAAE;AAC3D,GAAG;AACH;;;;;;;;;ACTa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,aAAa,mBAAO,CAAC,MAA8B;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD;AACA;;;;;;;;;ACDa;AACb,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAuB;AAC9C,aAAa,mBAAO,CAAC,MAA+B;AACpD,wBAAwB,mBAAO,CAAC,MAAkC;AAClE,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,YAAY,mBAAO,CAAC,MAAoB;AACxC,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,WAAW,mBAAO,CAAC,MAA0B;;AAE7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,wBAAwB,EAAE;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACvFa;AACb,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA4B;AACjD,8BAA8B,mBAAO,CAAC,MAAwC;;AAE9E;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,WAAW;AAC3D;AACA,KAAK,EAAE;AACP;AACA;AACA;AACA,mCAAmC,sBAAsB;AACzD;AACA,kCAAkC;AAClC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC7BD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,iBAAiB;AACtB,GAAG;AACH;;;;;;;;ACdA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC9Ea;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA0B;;AAE7C;AACA;AACA,GAAG,2DAA2D;AAC9D;AACA,CAAC;;;;;;;;ACRD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAiC;;AAE3D;AACA;AACA;AACA,GAAG,kFAAkF;AACrF;AACA,CAAC;;;;;;;;ACRD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAiC;;AAE3D;AACA;AACA,GAAG,kDAAkD;AACrD;AACA,CAAC;;;;;;;;;ACPY;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,wBAAwB,mBAAO,CAAC,MAA2B;AAC3D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,yBAAyB,mBAAO,CAAC,MAAkC;;AAEnE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,4EAA4E;AAC/E;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;ACvCY;AACb,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,KAAK;AACL;AACA;AACA,GAAG;AACH;;;;;;;;ACvBA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,YAAY,mBAAO,CAAC,MAAoB;;AAExC,6CAA6C,eAAe,EAAE;;AAE9D;AACA;AACA,GAAG,4DAA4D;AAC/D;AACA;AACA;AACA,CAAC;;;;;;;;;ACbY;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAA4B;AAClD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe;AACf,CAAC;;AAED;AACA;AACA,GAAG,gDAAgD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnID,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,yBAAyB,mBAAO,CAAC,MAAkC;;AAEnE;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,WAAW,mBAAO,CAAC,MAAoC;AACvD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,yBAAyB,mBAAO,CAAC,MAAmC;;AAEpE;;AAEA,qBAAqB,mEAAmE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B,+BAA+B;AAC/B,sCAAsC;AACtC,SAAS;AACT,+BAA+B;AAC/B,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACxEa;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAS;;AAE9B,YAAY,mBAAO,CAAC,MAAe;;AAEnC;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q,onUAAonU;;AAEpnU;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2EAA2E;;AAE3E,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;;AAEA;AACA,4QAA4Q,yJAAyJ,uMAAuM;;AAE5mB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,4CAA4C;;AAE5C;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE;;AAEzE;;AAEA;AACA,gBAAgB,0BAA0B;AAC1C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS,OAAO;AAChB,UAAU,MAAM;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,iBAAiB;;AAEjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sB;;;;;;;ACnLA,YAAY,mBAAO,CAAC,MAAoB;AACxC,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAkC;;AAE5D;AACA;AACA;AACA,GAAG,uEAAuE;AAC1E;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;AACpC,eAAe,mBAAO,CAAC,MAAe;AACtC,wBAAwB,mBAAO,CAAC,MAAwB;;AAExD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,uBAAuB,kBAAkB;AACzC;;AAEA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;;AAEA,uBAAuB,WAAW;AAClC;AACA,uBAAuB,qBAAqB;AAC5C;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;;AAEA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;;AAEA,8BAA8B,uBAAuB;AACrD;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sBAAsB,0BAA0B;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,wBAAwB;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yCAAyC,uBAAuB;AAChE;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC5gCA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA,wDAAwD;AACxD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLD;;AAEA,SAAS4iB,cAAT,CAAwBhmB,KAAxB,EAA+BvF,IAA/B,EAAqC;AACpC,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACzD,IAAnB,EAAyB;AACzB,SAAOgJ,KAAK,CAACimB,IAAN,CAAW,UAAAxuB,CAAC;AAAA,WAAIgD,IAAI,CAACzD,IAAL,CAAU4M,WAAV,GAAwBF,QAAxB,CAAiCjM,CAAjC,CAAJ;AAAA,GAAZ,CAAP;AACA;;AAEM,SAAS2S,WAAT,CAAqB3P,IAArB,EAA2B;AACjC,SAAOurB,cAAc,CAACE,8DAAD,EAAczrB,IAAd,CAArB;AACA;AAEM,SAAS4P,WAAT,CAAqB5P,IAArB,EAA2B;AACjC,SAAOurB,cAAc,CAACG,8DAAD,EAAc1rB,IAAd,CAArB;AACA;AAEM,SAAS2rB,gBAAT,CAA0B3rB,IAA1B,EAAgC;AACtC,SAAOurB,cAAc,CAACE,8DAAD,EAAczrB,IAAd,CAAd,IAAqCurB,cAAc,CAACG,8DAAD,EAAc1rB,IAAd,CAA1D;AACA;AAEM,SAASwI,WAAT,CAAqBxI,IAArB,EAA2B;AACjC,SAAOurB,cAAc,CAACK,8DAAD,EAAc5rB,IAAd,CAArB;AACA,C;;;;;;;ACrBD,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,YAAY,mBAAO,CAAC,MAAY;AAChC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;;;AAGlC;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;;AAEA;;AAEA;;;;;;;;;ACrYa;;AAEb;AACA;;AAEA,wBAAwB,mBAAO,CAAC,MAAsB;;AAEtD,aAAa,mBAAO,CAAC,MAAmB;;AAExC,YAAY,mBAAO,CAAC,MAAQ;;AAE5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,wFAAwF,eAAe;;AAEvG;AACA;AACA;AACA;AACA;AACA,sFAAsF,aAAa;;AAEnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,U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;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;AAClC,aAAa,mBAAO,CAAC,MAAa;AAClC,kBAAkB,mBAAO,CAAC,MAAkB;;;AAG5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB,eAAe;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,cAAc;AACtC;AACA;;AAEA,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,QAAQ;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,cAAc,0BAA0B;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB,kCAAkC;AACzD,4CAA4C,gCAAgC;AAC5E;AACA;AACA;AACA;AACA;AACA,gDAAgD,gCAAgC;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,UAAU;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;;AAEA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,uBAAuB;AACjD;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;;AAEA;AACA;AACA,kCAAkC,uBAAuB;AACzD;AACA;AACA;AACA;;AAEA,qBAAqB,0BAA0B;AAC/C;AACA;;AAEA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA,wCAAwC,eAAe;AACvD;AACA,2BAA2B,YAAY;AACvC,oCAAoC,YAAY;AAChD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wCAAwC,eAAe;AACvD;AACA,2BAA2B,YAAY;AACvC;AACA;AACA;AACA;;AAEA,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,eAAe;AAC9C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;;AAEA;;AAEA,gDAAgD;AAChD;AACA;;AAEA;AACA,oDAAoD;AACpD;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtpCA;AACA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAA6B;AACjD,oCAAoC,mBAAO,CAAC,MAAgD;;AAE5F;AACA;;AAEA,yBAAyB,WAAW;;AAEpC;AACA;AACA;AACA,KAAK,+BAA+B;AACpC;;AAEA;AACA;AACA;AACA;AACA,OAAO,mDAAmD;AAC1D;AACA;;AAEA;AACA;AACA,kCAAkC,qCAAqC;AACvE,CAAC;AACD;AACA,sCAAsC,qCAAqC;AAC3E,CAAC;AACD;AACA,uCAAuC,qCAAqC;AAC5E,CAAC;AACD;AACA,2CAA2C,qCAAqC;AAChF,CAAC;AACD;AACA,wCAAwC,qCAAqC;AAC7E,CAAC;AACD;AACA,sCAAsC,qCAAqC;AAC3E,CAAC;AACD;AACA,qCAAqC,qCAAqC;AAC1E,CAAC;AACD;AACA,yCAAyC,qCAAqC;AAC9E,CAAC;AACD;AACA,sCAAsC,qCAAqC;AAC3E,CAAC;AACD;AACA,yCAAyC,qCAAqC;AAC9E,CAAC;;;;;;;;;ACvDD;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,UAAU;AAC9C;AACA;AACA;AACA,+CAA+C,aAAa;AAC5D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gEAAgE,wBAAwB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,8EAA8E;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mCAAmC;AACrE;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,iBAAiB;AAC7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,8EAA8E,KAAK;AACnG;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK,OAAO;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB;AACA,6BAA6B;AAC7B,KAAK,cAAc;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAE+B;;;;;;;;AC38B/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa,EAAE;;;;;;;;;ACb/B,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,mBAAO,CAAC,MAAW;AAC1B,UAAU,mBAAO,CAAC,MAAc;AAChC,eAAe,mBAAO,CAAC,MAAmB;AAC1C,cAAc,mBAAO,CAAC,MAAkB;AACxC,WAAW,mBAAO,CAAC,MAAe;AAClC,WAAW,mBAAO,CAAC,MAAe;AAClC,YAAY,mBAAO,CAAC,MAAgB;AACpC,WAAW,mBAAO,CAAC,MAAe;AAClC,YAAY,mBAAO,CAAC,MAAgB;AACpC,cAAc,mBAAO,CAAC,MAAc;AACpC,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,sBAAsB,mBAAO,CAAC,MAAsB;AACpD,oBAAoB,mBAAO,CAAC,MAAoB;AAChD,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;AAClC,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,qBAAqB;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+CAA+C,oBAAoB;AACnE;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,+BAA+B,WAAW;AAC1C;AACA,mDAAmD,oBAAoB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA,oCAAoC,YAAY;AAChD,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,EAAE;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;;AAEA,4BAA4B,YAAY;AACxC;AACA;;AAEA,kDAAkD,0BAA0B;AAC5E;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,uBAAuB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,0BAA0B;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA,iCAAiC,mBAAmB;AACpD;AACA;;AAEA;AACA,+CAA+C,uBAAuB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,kBAAkB;AACtC;AACA,wBAAwB,uBAAuB;AAC/C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;ACz9CA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,cAAc,mBAAO,CAAC,MAAuB;AAC7C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,qBAAqB,mBAAO,CAAC,MAA8B;;AAE3D;AACA;AACA,GAAG,mDAAmD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvBD,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,4BAA4B,mBAAO,CAAC,MAAuC;AAC3E,2BAA2B,mBAAO,CAAC,MAA8B;AACjE,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACrCA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,MAAe;AACtC,sBAAsB,mBAAO,CAAC,MAAsB;AACpD,wBAAwB,mBAAO,CAAC,MAAwB;AACxD,UAAU,mBAAO,CAAC,MAAU;AAC5B,iBAAiB,mBAAO,CAAC,MAAiB;AAC1C,0BAA0B,mBAAO,CAAC,MAA0B;AAC5D,gBAAgB,mBAAO,CAAC,MAAgB;AACxC,aAAa,mBAAO,CAAC,MAAa;AAClC,cAAc,mBAAO,CAAC,MAAc;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8BAA8B,YAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,YAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB,yBAAyB;AAChD;;AAEA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,yBAAyB;AAChD;;AAEA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;;AAEA;AACA;;AAEA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,2BAA2B,eAAe;AAC1C;AACA;AACA,2BAA2B,eAAe;AAC1C;AACA;AACA;AACA;;AAEA;;AAEA,2DAA2D;AAC3D;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,aAAa;AACpC;;AAEA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC30DA,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA,wBAAwB,mBAAO,CAAC,MAAmC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACRA;AACA;AACa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,aAAa,mBAAO,CAAC,MAA+B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,gCAAgC,mBAAO,CAAC,MAA0C;;AAElF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,KAAK,6BAA6B;AAClC;AACA,GAAG;AACH;;;;;;;;AC1DA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,UAAU;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB,kBAAkB;AACzC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B,mBAAmB;AAC9C;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;ACz8BA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,aAAa,mBAAO,CAAC,MAA+B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,+BAA+B,mBAAO,CAAC,MAAuC;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAA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AAED;AACA,yDAAyD,cAAc;AACvE,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,GAAG,eAAe;;AAEzB;AACA,4EAA4E,eAAe;AAC3F;;AAEA;AACA;AACA;AACA,KAAK,gBAAgB;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG,2CAA2C;AAC9C;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA,GAAG,8CAA8C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,yDAAyD;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,2DAA2D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;ACjZD,aAAa,mBAAO,CAAC,MAA+B;AACpD,cAAc,mBAAO,CAAC,MAAuB;AAC7C,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,2BAA2B,mBAAO,CAAC,MAAqC;;AAExE;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA,cAAc,mBAAO,CAAC,MAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAA6B;;AAEpD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,gBAAgB,mBAAO,CAAC,MAAwB;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACTA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,0BAA0B,mBAAO,CAAC,MAAkC;AACpE,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,eAAe,mBAAO,CAAC,MAAuB;AAC9C,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,UAAU,mBAAO,CAAC,MAAkB;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO,iBAAiB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;AACtD;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnLA;AACA;AACA;;AAEA;;;;;;;;;ACJa;AACb,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AClBA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,gCAAgC,mBAAO,CAAC,MAA4C;AACpF,wCAAwC,mBAAO,CAAC,MAAqD;AACrG,mBAAmB,mBAAO,CAAC,OAAmC;AAC9D,UAAU,mBAAO,CAAC,MAAkB;AACpC,eAAe,mBAAO,CAAC,MAAuB;;AAE9C;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,gBAAgB;AAChB,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,OAAO,6CAA6C;AACpD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxFA;;AAEA,mBAAmB,mBAAO,CAAC,MAAmB;;AAE9C;AACA;AACA;AACA;;AAEA;;;;;;;;ACTA,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;;;;;;;;ACFA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,aAAa;AACrD,8CAA8C,aAAa;AAC3D,kDAAkD,YAAY;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,YAAY;AACtE,4DAA4D,aAAa;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,aAAa;AACzD,8CAA8C,aAAa;AAC3D;;AAEA,sEAAsE;AACtE,0CAA0C,aAAa;AACvD;AACA;AACA;;AAEA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;;AAGpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3oCA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,4BAA4B,mBAAO,CAAC,MAAoC;AACxE,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;;AAEA;AACA,gDAAgD,kBAAkB,EAAE;;AAEpE;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7BA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,UAAU,mBAAO,CAAC,MAAkB;;AAEpC;;AAEA;AACA;AACA;;;;;;;;ACPA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,eAAe,mBAAO,CAAC,MAA0B;;AAEjD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,6DAA6D;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;ACjDD;AACA,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;;;;;;;ACNA,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,kCAAkC,mBAAO,CAAC,MAAsC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA,oBAAoB,mBAAO,CAAC,MAA4B;;AAExD;AACA;AACA;;;;;;;;ACLA,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;;;;;;;ACFA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA","file":"vue-advanced-chat.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"5a74\");\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar DELEGATES_TO_EXEC = function () {\n var execCalled = false;\n var re = /[ac]/;\n re.exec = function () {\n execCalled = true;\n return /./.exec.apply(this, arguments);\n };\n return re.test('abc') === true && execCalled;\n}();\n\nvar Error = global.Error;\nvar un$Test = uncurryThis(/./.test);\n\n// `RegExp.prototype.test` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.test\n$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {\n test: function (str) {\n var exec = this.exec;\n if (!isCallable(exec)) return un$Test(this, str);\n var result = call(exec, this, str);\n if (result !== null && !isObject(result)) {\n throw new Error('RegExp exec method returned something other than an Object or null');\n }\n return !!result;\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 Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","function new_byte(count) {\n return new Int8Array(count);\n}\n\nfunction new_short(count) {\n return new Int16Array(count);\n}\n\nfunction new_int(count) {\n return new Int32Array(count);\n}\n\nfunction new_float(count) {\n return new Float32Array(count);\n}\n\nfunction new_double(count) {\n return new Float64Array(count);\n}\n\nfunction new_float_n(args) {\n if (args.length == 1) {\n return new_float(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_float_n(args));\n }\n return A;\n}\nfunction new_int_n(args) {\n if (args.length == 1) {\n return new_int(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_int_n(args));\n }\n return A;\n}\n\nfunction new_short_n(args) {\n if (args.length == 1) {\n return new_short(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_short_n(args));\n }\n return A;\n}\n\nfunction new_array_n(args) {\n if (args.length == 1) {\n return new Array(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_array_n(args));\n }\n return A;\n}\n\n\nvar Arrays = {};\n\nArrays.fill = function (a, fromIndex, toIndex, val) {\n if (arguments.length == 2) {\n for (var i = 0; i < a.length; i++) {\n a[i] = arguments[1];\n }\n } else {\n for (var i = fromIndex; i < toIndex; i++) {\n a[i] = val;\n }\n }\n};\n\nvar System = {};\n\nSystem.arraycopy = function (src, srcPos, dest, destPos, length) {\n var srcEnd = srcPos + length;\n while (srcPos < srcEnd)\n dest[destPos++] = src[srcPos++];\n};\n\n\nvar Util = {};\nUtil.SQRT2 = 1.41421356237309504880;\nUtil.FAST_LOG10 = function (x) {\n return Math.log10(x);\n};\n\nUtil.FAST_LOG10_X = function (x, y) {\n return Math.log10(x) * y;\n};\n\nfunction ShortBlock(ordinal) {\n this.ordinal = ordinal;\n}\n/**\n * LAME may use them, even different block types for L/R.\n */\nShortBlock.short_block_allowed = new ShortBlock(0);\n/**\n * LAME may use them, but always same block types in L/R.\n */\nShortBlock.short_block_coupled = new ShortBlock(1);\n/**\n * LAME will not use short blocks, long blocks only.\n */\nShortBlock.short_block_dispensed = new ShortBlock(2);\n/**\n * LAME will not use long blocks, short blocks only.\n */\nShortBlock.short_block_forced = new ShortBlock(3);\n\nvar Float = {};\nFloat.MAX_VALUE = 3.4028235e+38;\n\nfunction VbrMode(ordinal) {\n this.ordinal = ordinal;\n}\nVbrMode.vbr_off = new VbrMode(0);\nVbrMode.vbr_mt = new VbrMode(1);\nVbrMode.vbr_rh = new VbrMode(2);\nVbrMode.vbr_abr = new VbrMode(3);\nVbrMode.vbr_mtrh = new VbrMode(4);\nVbrMode.vbr_default = VbrMode.vbr_mtrh;\n\nvar assert = function (x) {\n //console.assert(x);\n};\n\nmodule.exports = {\n \"System\": System,\n \"VbrMode\": VbrMode,\n \"Float\": Float,\n \"ShortBlock\": ShortBlock,\n \"Util\": Util,\n \"Arrays\": Arrays,\n \"new_array_n\": new_array_n,\n \"new_byte\": new_byte,\n \"new_double\": new_double,\n \"new_float\": new_float,\n \"new_float_n\": new_float_n,\n \"new_int\": new_int,\n \"new_int_n\": new_int_n,\n \"new_short\": new_short,\n \"new_short_n\": new_short_n,\n \"assert\": assert\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar Function = global.Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = NATIVE_BIND ? Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\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 arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\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 = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var common = require('./common.js');\nvar new_float = common.new_float;\nvar new_int = common.new_int;\nvar assert = common.assert;\n\nfunction CalcNoiseData() {\n this.global_gain = 0;\n this.sfb_count1 = 0;\n this.step = new_int(39);\n this.noise = new_float(39);\n this.noise_log = new_float(39);\n}\n\nmodule.exports = CalcNoiseData;\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar RangeError = global.RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (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 C === undefined ? Array : C;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\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(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 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 ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar redefine = require('../internals/redefine');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar un$DateToString = uncurryThis(DatePrototype[TO_STRING]);\nvar getTime = uncurryThis(DatePrototype.getTime);\n\n// `Date.prototype.toString` method\n// https://tc39.es/ecma262/#sec-date.prototype.tostring\nif (String(new Date(NaN)) != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime(this);\n // eslint-disable-next-line no-self-compare -- NaN check\n return value === value ? un$DateToString(this) : INVALID_DATE;\n });\n}\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?
b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar RangeError = global.RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar TypeError = global.TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.stateify = exports.TokenState = exports.CharacterState = undefined;\n\nvar _class = require('../utils/class');\n\nfunction createStateClass() {\n\treturn function (tClass) {\n\t\tthis.j = [];\n\t\tthis.T = tClass || null;\n\t};\n}\n\n/**\n\tA simple state machine that can emit token classes\n\n\tThe `j` property in this class refers to state jumps. It's a\n\tmultidimensional array where for each element:\n\n\t* index [0] is a symbol or class of symbols to transition to.\n\t* index [1] is a State instance which matches\n\n\tThe type of symbol will depend on the target implementation for this class.\n\tIn Linkify, we have a two-stage scanner. Each stage uses this state machine\n\tbut with a slighly different (polymorphic) implementation.\n\n\tThe `T` property refers to the token class.\n\n\tTODO: Can the `on` and `next` methods be combined?\n\n\t@class BaseState\n*/\nvar BaseState = createStateClass();\nBaseState.prototype = {\n\tdefaultTransition: false,\n\n\t/**\n \t@method constructor\n \t@param {Class} tClass Pass in the kind of token to emit if there are\n \t\tno jumps after this state and the state is accepting.\n */\n\n\t/**\n \tOn the given symbol(s), this machine should go to the given state\n \t\t@method on\n \t@param {Array|Mixed} symbol\n \t@param {BaseState} state Note that the type of this state should be the\n \t\tsame as the current instance (i.e., don't pass in a different\n \t\tsubclass)\n */\n\ton: function on(symbol, state) {\n\t\tif (symbol instanceof Array) {\n\t\t\tfor (var i = 0; i < symbol.length; i++) {\n\t\t\t\tthis.j.push([symbol[i], state]);\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tthis.j.push([symbol, state]);\n\t\treturn this;\n\t},\n\n\n\t/**\n \tGiven the next item, returns next state for that item\n \t@method next\n \t@param {Mixed} item Should be an instance of the symbols handled by\n \t\tthis particular machine.\n \t@return {State} state Returns false if no jumps are available\n */\n\tnext: function next(item) {\n\t\tfor (var i = 0; i < this.j.length; i++) {\n\t\t\tvar jump = this.j[i];\n\t\t\tvar symbol = jump[0]; // Next item to check for\n\t\t\tvar state = jump[1]; // State to jump to if items match\n\n\t\t\t// compare item with symbol\n\t\t\tif (this.test(item, symbol)) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\n\t\t// Nowhere left to jump!\n\t\treturn this.defaultTransition;\n\t},\n\n\n\t/**\n \tDoes this state accept?\n \t`true` only of `this.T` exists\n \t\t@method accepts\n \t@return {Boolean}\n */\n\taccepts: function accepts() {\n\t\treturn !!this.T;\n\t},\n\n\n\t/**\n \tDetermine whether a given item \"symbolizes\" the symbol, where symbol is\n \ta class of items handled by this state machine.\n \t\tThis method should be overriden in extended classes.\n \t\t@method test\n \t@param {Mixed} item Does this item match the given symbol?\n \t@param {Mixed} symbol\n \t@return {Boolean}\n */\n\ttest: function test(item, symbol) {\n\t\treturn item === symbol;\n\t},\n\n\n\t/**\n \tEmit the token for this State (just return it in this case)\n \tIf this emits a token, this instance is an accepting state\n \t@method emit\n \t@return {Class} T\n */\n\temit: function emit() {\n\t\treturn this.T;\n\t}\n};\n\n/**\n\tState machine for string-based input\n\n\t@class CharacterState\n\t@extends BaseState\n*/\nvar CharacterState = (0, _class.inherits)(BaseState, createStateClass(), {\n\t/**\n \tDoes the given character match the given character or regular\n \texpression?\n \t\t@method test\n \t@param {String} char\n \t@param {String|RegExp} charOrRegExp\n \t@return {Boolean}\n */\n\ttest: function test(character, charOrRegExp) {\n\t\treturn character === charOrRegExp || charOrRegExp instanceof RegExp && charOrRegExp.test(character);\n\t}\n});\n\n/**\n\tState machine for input in the form of TextTokens\n\n\t@class TokenState\n\t@extends BaseState\n*/\nvar TokenState = (0, _class.inherits)(BaseState, createStateClass(), {\n\n\t/**\n * Similar to `on`, but returns the state the results in the transition from\n * the given item\n * @method jump\n * @param {Mixed} item\n * @param {Token} [token]\n * @return state\n */\n\tjump: function jump(token) {\n\t\tvar tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\t\tvar state = this.next(new token('')); // dummy temp token\n\t\tif (state === this.defaultTransition) {\n\t\t\t// Make a new state!\n\t\t\tstate = new this.constructor(tClass);\n\t\t\tthis.on(token, state);\n\t\t} else if (tClass) {\n\t\t\tstate.T = tClass;\n\t\t}\n\t\treturn state;\n\t},\n\n\n\t/**\n \tIs the given token an instance of the given token class?\n \t\t@method test\n \t@param {TextToken} token\n \t@param {Class} tokenClass\n \t@return {Boolean}\n */\n\ttest: function test(token, tokenClass) {\n\t\treturn token instanceof tokenClass;\n\t}\n});\n\n/**\n\tGiven a non-empty target string, generates states (if required) for each\n\tconsecutive substring of characters in str starting from the beginning of\n\tthe string. The final state will have a special value, as specified in\n\toptions. All other \"in between\" substrings will have a default end state.\n\n\tThis turns the state machine into a Trie-like data structure (rather than a\n\tintelligently-designed DFA).\n\n\tNote that I haven't really tried these with any strings other than\n\tDOMAIN.\n\n\t@param {String} str\n\t@param {CharacterState} start State to jump from the first character\n\t@param {Class} endToken Token class to emit when the given string has been\n\t\tmatched and no more jumps exist.\n\t@param {Class} defaultToken \"Filler token\", or which token type to emit when\n\t\twe don't have a full match\n\t@return {Array} list of newly-created states\n*/\nfunction stateify(str, start, endToken, defaultToken) {\n\tvar i = 0,\n\t len = str.length,\n\t state = start,\n\t newStates = [],\n\t nextState = void 0;\n\n\t// Find the next state without a jump to the next character\n\twhile (i < len && (nextState = state.next(str[i]))) {\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tif (i >= len) {\n\t\treturn [];\n\t} // no new tokens were added\n\n\twhile (i < len - 1) {\n\t\tnextState = new CharacterState(defaultToken);\n\t\tnewStates.push(nextState);\n\t\tstate.on(str[i], nextState);\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tnextState = new CharacterState(endToken);\n\tnewStates.push(nextState);\n\tstate.on(str[len - 1], nextState);\n\n\treturn newStates;\n}\n\nexports.CharacterState = CharacterState;\nexports.TokenState = TokenState;\nexports.stateify = stateify;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var global = require('../internals/global');\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","export function detectMobile() {\n\tvar userAgent = getUserAgent()\n\n\tvar userAgentPart = userAgent.substr(0, 4)\n\n\treturn (\n\t\t/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(\n\t\t\tuserAgent\n\t\t) ||\n\t\t/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(\n\t\t\tuserAgentPart\n\t\t)\n\t)\n}\n\nfunction getUserAgent() {\n\tvar userAgent =\n\t\tnavigator.userAgent || navigator.vendor || window.opera || null\n\n\tif (!userAgent) throw new Error('Failed to look for user agent information.')\n\n\treturn userAgent\n}\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\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 userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\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","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 global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar Array = global.Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n un$Sort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return un$Sort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\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);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\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 (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.strike` method\n// https://tc39.es/ecma262/#sec-string.prototype.strike\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, {\n strike: function strike() {\n return createHTML(this, 'strike', '', '');\n }\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\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 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","//package mp3;\n\nfunction VBRSeekInfo() {\n /**\n * What we have seen so far.\n */\n this.sum = 0;\n /**\n * How many frames we have seen in this chunk.\n */\n this.seen = 0;\n /**\n * How many frames we want to collect into one chunk.\n */\n this.want = 0;\n /**\n * Actual position in our bag.\n */\n this.pos = 0;\n /**\n * Size of our bag.\n */\n this.size = 0;\n /**\n * Pointer to our bag.\n */\n this.bag = null;\n this.nVbrNumFrames = 0;\n this.nBytesWritten = 0;\n /* VBR tag data */\n this.TotalFrameSize = 0;\n}\n\nmodule.exports = VBRSeekInfo;\n","/*\n * psymodel.c\n *\n * Copyright (c) 1999-2000 Mark Taylor\n * Copyright (c) 2001-2002 Naoki Shibata\n * Copyright (c) 2000-2003 Takehiro Tominaga\n * Copyright (c) 2000-2008 Robert Hegemann\n * Copyright (c) 2000-2005 Gabriel Bouvigne\n * Copyright (c) 2000-2005 Alexander Leidinger\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */\n\n/* $Id: PsyModel.java,v 1.27 2011/05/24 20:48:06 kenchis Exp $ */\n\n\n/*\n PSYCHO ACOUSTICS\n\n\n This routine computes the psycho acoustics, delayed by one granule.\n\n Input: buffer of PCM data (1024 samples).\n\n This window should be centered over the 576 sample granule window.\n The routine will compute the psycho acoustics for\n this granule, but return the psycho acoustics computed\n for the *previous* granule. This is because the block\n type of the previous granule can only be determined\n after we have computed the psycho acoustics for the following\n granule.\n\n Output: maskings and energies for each scalefactor band.\n block type, PE, and some correlation measures.\n The PE is used by CBR modes to determine if extra bits\n from the bit reservoir should be used. The correlation\n measures are used to determine mid/side or regular stereo.\n */\n/*\n Notation:\n\n barks: a non-linear frequency scale. Mapping from frequency to\n barks is given by freq2bark()\n\n scalefactor bands: The spectrum (frequencies) are broken into\n SBMAX \"scalefactor bands\". Thes bands\n are determined by the MPEG ISO spec. In\n the noise shaping/quantization code, we allocate\n bits among the partition bands to achieve the\n best possible quality\n\n partition bands: The spectrum is also broken into about\n 64 \"partition bands\". Each partition\n band is about .34 barks wide. There are about 2-5\n partition bands for each scalefactor band.\n\n LAME computes all psycho acoustic information for each partition\n band. Then at the end of the computations, this information\n is mapped to scalefactor bands. The energy in each scalefactor\n band is taken as the sum of the energy in all partition bands\n which overlap the scalefactor band. The maskings can be computed\n in the same way (and thus represent the average masking in that band)\n or by taking the minmum value multiplied by the number of\n partition bands used (which represents a minimum masking in that band).\n */\n/*\n The general outline is as follows:\n\n 1. compute the energy in each partition band\n 2. compute the tonality in each partition band\n 3. compute the strength of each partion band \"masker\"\n 4. compute the masking (via the spreading function applied to each masker)\n 5. Modifications for mid/side masking.\n\n Each partition band is considiered a \"masker\". The strength\n of the i'th masker in band j is given by:\n\n s3(bark(i)-bark(j))*strength(i)\n\n The strength of the masker is a function of the energy and tonality.\n The more tonal, the less masking. LAME uses a simple linear formula\n (controlled by NMT and TMN) which says the strength is given by the\n energy divided by a linear function of the tonality.\n */\n/*\n s3() is the \"spreading function\". It is given by a formula\n determined via listening tests.\n\n The total masking in the j'th partition band is the sum over\n all maskings i. It is thus given by the convolution of\n the strength with s3(), the \"spreading function.\"\n\n masking(j) = sum_over_i s3(i-j)*strength(i) = s3 o strength\n\n where \"o\" = convolution operator. s3 is given by a formula determined\n via listening tests. It is normalized so that s3 o 1 = 1.\n\n Note: instead of a simple convolution, LAME also has the\n option of using \"additive masking\"\n\n The most critical part is step 2, computing the tonality of each\n partition band. LAME has two tonality estimators. The first\n is based on the ISO spec, and measures how predictiable the\n signal is over time. The more predictable, the more tonal.\n The second measure is based on looking at the spectrum of\n a single granule. The more peaky the spectrum, the more\n tonal. By most indications, the latter approach is better.\n\n Finally, in step 5, the maskings for the mid and side\n channel are possibly increased. Under certain circumstances,\n noise in the mid & side channels is assumed to also\n be masked by strong maskers in the L or R channels.\n\n\n Other data computed by the psy-model:\n\n ms_ratio side-channel / mid-channel masking ratio (for previous granule)\n ms_ratio_next side-channel / mid-channel masking ratio for this granule\n\n percep_entropy[2] L and R values (prev granule) of PE - A measure of how\n much pre-echo is in the previous granule\n percep_entropy_MS[2] mid and side channel values (prev granule) of percep_entropy\n energy[4] L,R,M,S energy in each channel, prev granule\n blocktype_d[2] block type to use for previous granule\n */\n//package mp3;\n\n//import java.util.Arrays;\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar FFT = require(\"./FFT.js\");\nvar Encoder = require(\"./Encoder.js\");\n\nfunction PsyModel() {\n\n var fft = new FFT();\n\n var LOG10 = 2.30258509299404568402;\n\n var rpelev = 2;\n var rpelev2 = 16;\n var rpelev_s = 2;\n var rpelev2_s = 16;\n\n /* size of each partition band, in barks: */\n var DELBARK = .34;\n\n /* tuned for output level (sensitive to energy scale) */\n var VO_SCALE = (1. / (14752 * 14752) / (Encoder.BLKSIZE / 2));\n\n var temporalmask_sustain_sec = 0.01;\n\n var NS_PREECHO_ATT0 = 0.8;\n var NS_PREECHO_ATT1 = 0.6;\n var NS_PREECHO_ATT2 = 0.3;\n\n var NS_MSFIX = 3.5;\n\n var NSATTACKTHRE = 4.4;\n var NSATTACKTHRE_S = 25;\n\n var NSFIRLEN = 21;\n\n /* size of each partition band, in barks: */\n var LN_TO_LOG10 = 0.2302585093;\n\n function NON_LINEAR_SCALE_ENERGY(x) {\n return x;\n }\n\n /**\n *
\n     *       L3psycho_anal.  Compute psycho acoustics.\n     *\n     *       Data returned to the calling program must be delayed by one\n     *       granule.\n     *\n     *       This is done in two places.\n     *       If we do not need to know the blocktype, the copying\n     *       can be done here at the top of the program: we copy the data for\n     *       the last granule (computed during the last call) before it is\n     *       overwritten with the new data.  It looks like this:\n     *\n     *       0. static psymodel_data\n     *       1. calling_program_data = psymodel_data\n     *       2. compute psymodel_data\n     *\n     *       For data which needs to know the blocktype, the copying must be\n     *       done at the end of this loop, and the old values must be saved:\n     *\n     *       0. static psymodel_data_old\n     *       1. compute psymodel_data\n     *       2. compute possible block type of this granule\n     *       3. compute final block type of previous granule based on #2.\n     *       4. calling_program_data = psymodel_data_old\n     *       5. psymodel_data_old = psymodel_data\n     *     psycho_loudness_approx\n     *       jd - 2001 mar 12\n     *    in:  energy   - BLKSIZE/2 elements of frequency magnitudes ^ 2\n     *         gfp      - uses out_samplerate, ATHtype (also needed for ATHformula)\n     *    returns: loudness^2 approximation, a positive value roughly tuned for a value\n     *             of 1.0 for signals near clipping.\n     *    notes:   When calibrated, feeding this function binary white noise at sample\n     *             values +32767 or -32768 should return values that approach 3.\n     *             ATHformula is used to approximate an equal loudness curve.\n     *    future:  Data indicates that the shape of the equal loudness curve varies\n     *             with intensity.  This function might be improved by using an equal\n     *             loudness curve shaped for typical playback levels (instead of the\n     *             ATH, that is shaped for the threshold).  A flexible realization might\n     *             simply bend the existing ATH curve to achieve the desired shape.\n     *             However, the potential gain may not be enough to justify an effort.\n     * 
\n */\n function psycho_loudness_approx(energy, gfc) {\n var loudness_power = 0.0;\n /* apply weights to power in freq. bands */\n for (var i = 0; i < Encoder.BLKSIZE / 2; ++i)\n loudness_power += energy[i] * gfc.ATH.eql_w[i];\n loudness_power *= VO_SCALE;\n\n return loudness_power;\n }\n\n function compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, wsamp_lPos, wsamp_s, wsamp_sPos, gr_out, chn, buffer, bufPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n /* FFT data for mid and side channel is derived from L & R */\n else if (chn == 2) {\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n for (var b = 2; b >= 0; --b) {\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][b][j];\n var r = wsamp_s[wsamp_sPos + 1][b][j];\n wsamp_s[wsamp_sPos + 0][b][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][b][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 - j];\n var im = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n for (var b = 2; b >= 0; --b) {\n fftenergy_s[b][0] = (wsamp_s[wsamp_sPos + 0])[b][0];\n fftenergy_s[b][0] *= fftenergy_s[b][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 - j];\n var im = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 + j];\n fftenergy_s[b][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n\n /*********************************************************************\n * compute loudness approximation (used for ATH auto-level adjustment)\n *********************************************************************/\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n /* mask_add optimization */\n /* init the limit values used to avoid computing log in mask_add when it is not necessary */\n\n /**\n *
\n     *  For example, with i = 10*log10(m2/m1)/10*16         (= log10(m2/m1)*16)\n     *\n     * abs(i)>8 is equivalent (as i is an integer) to\n     * abs(i)>=9\n     * i>=9 || i<=-9\n     * equivalent to (as i is the biggest integer smaller than log10(m2/m1)*16\n     * or the smallest integer bigger than log10(m2/m1)*16 depending on the sign of log10(m2/m1)*16)\n     * log10(m2/m1)>=9/16 || log10(m2/m1)<=-9/16\n     * exp10 is strictly increasing thus this is equivalent to\n     * m2/m1 >= 10^(9/16) || m2/m1<=10^(-9/16) which are comparisons to constants\n     * 
\n */\n\n /**\n * as in if(i>8)\n */\n var I1LIMIT = 8;\n /**\n * as in if(i>24) . changed 23\n */\n var I2LIMIT = 23;\n /**\n * as in if(m<15)\n */\n var MLIMIT = 15;\n\n var ma_max_i1;\n var ma_max_i2;\n var ma_max_m;\n\n /**\n * This is the masking table:
\n * According to tonality, values are going from 0dB (TMN) to 9.3dB (NMT).
\n * After additive masking computation, 8dB are added, so final values are\n * going from 8dB to 17.3dB\n *\n * pow(10, -0.0..-0.6)\n */\n var tab = [1.0, 0.79433, 0.63096, 0.63096,\n 0.63096, 0.63096, 0.63096, 0.25119, 0.11749];\n\n function init_mask_add_max_values() {\n ma_max_i1 = Math.pow(10, (I1LIMIT + 1) / 16.0);\n ma_max_i2 = Math.pow(10, (I2LIMIT + 1) / 16.0);\n ma_max_m = Math.pow(10, (MLIMIT) / 10.0);\n }\n\n var table1 = [3.3246 * 3.3246,\n 3.23837 * 3.23837, 3.15437 * 3.15437, 3.00412 * 3.00412,\n 2.86103 * 2.86103, 2.65407 * 2.65407, 2.46209 * 2.46209,\n 2.284 * 2.284, 2.11879 * 2.11879, 1.96552 * 1.96552,\n 1.82335 * 1.82335, 1.69146 * 1.69146, 1.56911 * 1.56911,\n 1.46658 * 1.46658, 1.37074 * 1.37074, 1.31036 * 1.31036,\n 1.25264 * 1.25264, 1.20648 * 1.20648, 1.16203 * 1.16203,\n 1.12765 * 1.12765, 1.09428 * 1.09428, 1.0659 * 1.0659,\n 1.03826 * 1.03826, 1.01895 * 1.01895, 1];\n\n var table2 = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n var table3 = [2.35364 * 2.35364,\n 2.29259 * 2.29259, 2.23313 * 2.23313, 2.12675 * 2.12675,\n 2.02545 * 2.02545, 1.87894 * 1.87894, 1.74303 * 1.74303,\n 1.61695 * 1.61695, 1.49999 * 1.49999, 1.39148 * 1.39148,\n 1.29083 * 1.29083, 1.19746 * 1.19746, 1.11084 * 1.11084,\n 1.03826 * 1.03826];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function mask_add(m1, m2, kk, b, gfc, shortblock) {\n var ratio;\n\n if (m2 > m1) {\n if (m2 < (m1 * ma_max_i2))\n ratio = m2 / m1;\n else\n return (m1 + m2);\n } else {\n if (m1 >= (m2 * ma_max_i2))\n return (m1 + m2);\n ratio = m1 / m2;\n }\n\n /* Should always be true, just checking */\n assert(m1 >= 0);\n assert(m2 >= 0);\n\n m1 += m2;\n //if (((long)(b + 3) & 0xffffffff) <= 3 + 3) {\n if ((b + 3) <= 3 + 3) {\n /* approximately, 1 bark = 3 partitions */\n /* 65% of the cases */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n /* 43% of the total */\n return m1;\n }\n\n /* 22% of the total */\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return m1 * table2[i];\n }\n\n /**\n *
\n         * m<15 equ log10((m1+m2)/gfc.ATH.cb[k])<1.5\n         * equ (m1+m2)/gfc.ATH.cb[k]<10^1.5\n         * equ (m1+m2)<10^1.5 * gfc.ATH.cb[k]\n         * 
\n */\n var i = 0 | Util.FAST_LOG10_X(ratio, 16.0);\n if (shortblock != 0) {\n m2 = gfc.ATH.cb_s[kk] * gfc.ATH.adjust;\n } else {\n m2 = gfc.ATH.cb_l[kk] * gfc.ATH.adjust;\n }\n assert(m2 >= 0);\n if (m1 < ma_max_m * m2) {\n /* 3% of the total */\n /* Originally if (m > 0) { */\n if (m1 > m2) {\n var f, r;\n\n f = 1.0;\n if (i <= 13)\n f = table3[i];\n\n r = Util.FAST_LOG10_X(m1 / m2, 10.0 / 15.0);\n return m1 * ((table1[i] - f) * r + f);\n }\n\n if (i > 13)\n return m1;\n\n return m1 * table3[i];\n }\n\n /* 10% of total */\n return m1 * table1[i];\n }\n\n var table2_ = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function vbrpsy_mask_add(m1, m2, b) {\n var ratio;\n\n if (m1 < 0) {\n m1 = 0;\n }\n if (m2 < 0) {\n m2 = 0;\n }\n if (m1 <= 0) {\n return m2;\n }\n if (m2 <= 0) {\n return m1;\n }\n if (m2 > m1) {\n ratio = m2 / m1;\n } else {\n ratio = m1 / m2;\n }\n if (-2 <= b && b <= 2) {\n /* approximately, 1 bark = 3 partitions */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n return m1 + m2;\n } else {\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return (m1 + m2) * table2_[i];\n }\n }\n if (ratio < ma_max_i2) {\n return m1 + m2;\n }\n if (m1 < m2) {\n m1 = m2;\n }\n return m1;\n }\n\n /**\n * compute interchannel masking effects\n */\n function calc_interchannel_masking(gfp, ratio) {\n var gfc = gfp.internal_flags;\n if (gfc.channels_out > 1) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var l = gfc.thm[0].l[sb];\n var r = gfc.thm[1].l[sb];\n gfc.thm[0].l[sb] += r * ratio;\n gfc.thm[1].l[sb] += l * ratio;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var l = gfc.thm[0].s[sb][sblock];\n var r = gfc.thm[1].s[sb][sblock];\n gfc.thm[0].s[sb][sblock] += r * ratio;\n gfc.thm[1].s[sb][sblock] += l * ratio;\n }\n }\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function msfix1(gfc) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n /* use this fix if L & R masking differs by 2db or less */\n /* if db = 10*log10(x2/x1) < 2 */\n /* if (x2 < 1.58*x1) { */\n if (gfc.thm[0].l[sb] > 1.58 * gfc.thm[1].l[sb]\n || gfc.thm[1].l[sb] > 1.58 * gfc.thm[0].l[sb])\n continue;\n var mld = gfc.mld_l[sb] * gfc.en[3].l[sb];\n var rmid = Math.max(gfc.thm[2].l[sb],\n Math.min(gfc.thm[3].l[sb], mld));\n\n mld = gfc.mld_l[sb] * gfc.en[2].l[sb];\n var rside = Math.max(gfc.thm[3].l[sb],\n Math.min(gfc.thm[2].l[sb], mld));\n gfc.thm[2].l[sb] = rmid;\n gfc.thm[3].l[sb] = rside;\n }\n\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n if (gfc.thm[0].s[sb][sblock] > 1.58 * gfc.thm[1].s[sb][sblock]\n || gfc.thm[1].s[sb][sblock] > 1.58 * gfc.thm[0].s[sb][sblock])\n continue;\n var mld = gfc.mld_s[sb] * gfc.en[3].s[sb][sblock];\n var rmid = Math.max(gfc.thm[2].s[sb][sblock],\n Math.min(gfc.thm[3].s[sb][sblock], mld));\n\n mld = gfc.mld_s[sb] * gfc.en[2].s[sb][sblock];\n var rside = Math.max(gfc.thm[3].s[sb][sblock],\n Math.min(gfc.thm[2].s[sb][sblock], mld));\n\n gfc.thm[2].s[sb][sblock] = rmid;\n gfc.thm[3].s[sb][sblock] = rside;\n }\n }\n }\n\n /**\n * Adjust M/S maskings if user set \"msfix\"\n *\n * Naoki Shibata 2000\n */\n function ns_msfix(gfc, msfix, athadjust) {\n var msfix2 = msfix;\n var athlower = Math.pow(10, athadjust);\n\n msfix *= 2.0;\n msfix2 *= 2.0;\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_l[gfc.bm_l[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].l[sb], ath),\n Math.max(gfc.thm[1].l[sb], ath));\n thmM = Math.max(gfc.thm[2].l[sb], ath);\n thmS = Math.max(gfc.thm[3].l[sb], ath);\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix2 / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].l[sb] = Math.min(thmM, gfc.thm[2].l[sb]);\n gfc.thm[3].l[sb] = Math.min(thmS, gfc.thm[3].l[sb]);\n }\n\n athlower *= ( Encoder.BLKSIZE_s / Encoder.BLKSIZE);\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_s[gfc.bm_s[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].s[sb][sblock], ath),\n Math.max(gfc.thm[1].s[sb][sblock], ath));\n thmM = Math.max(gfc.thm[2].s[sb][sblock], ath);\n thmS = Math.max(gfc.thm[3].s[sb][sblock], ath);\n\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].s[sb][sblock] = Math.min(gfc.thm[2].s[sb][sblock],\n thmM);\n gfc.thm[3].s[sb][sblock] = Math.min(gfc.thm[3].s[sb][sblock],\n thmS);\n }\n }\n }\n\n /**\n * short block threshold calculation (part 2)\n *\n * partition band bo_s[sfb] is at the transition from scalefactor band sfb\n * to the next one sfb+1; enn and thmm have to be split between them\n */\n function convert_partition2scalefac_s(gfc, eb, thr, chn, sblock) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_s; ++b, ++sb) {\n var bo_s_sb = gfc.bo_s[sb];\n var npart_s = gfc.npart_s;\n var b_lim = bo_s_sb < npart_s ? bo_s_sb : npart_s;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].s[sb][sblock] = enn;\n gfc.thm[chn].s[sb][sblock] = thmm;\n\n if (b >= npart_s) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_s_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].s[sb][sblock] += enn;\n gfc.thm[chn].s[sb][sblock] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_s; ++sb) {\n gfc.en[chn].s[sb][sblock] = 0;\n gfc.thm[chn].s[sb][sblock] = 0;\n }\n }\n\n /**\n * longblock threshold calculation (part 2)\n */\n function convert_partition2scalefac_l(gfc, eb, thr, chn) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_l; ++b, ++sb) {\n var bo_l_sb = gfc.bo_l[sb];\n var npart_l = gfc.npart_l;\n var b_lim = bo_l_sb < npart_l ? bo_l_sb : npart_l;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].l[sb] = enn;\n gfc.thm[chn].l[sb] = thmm;\n\n if (b >= npart_l) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_l_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].l[sb] += enn;\n gfc.thm[chn].l[sb] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_l; ++sb) {\n gfc.en[chn].l[sb] = 0;\n gfc.thm[chn].l[sb] = 0;\n }\n }\n\n function compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var j, b;\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (var i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var ecb = gfc.s3_ss[j++] * eb[kk];\n ++kk;\n while (kk <= gfc.s3ind_s[b][1]) {\n ecb += gfc.s3_ss[j] * eb[kk];\n ++j;\n ++kk;\n }\n\n { /* limit calculated threshold by previous granule */\n var x = rpelev_s * gfc.nb_s1[chn][b];\n thr[b] = Math.min(ecb, x);\n }\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE) {\n /* limit calculated threshold by even older granule */\n var x = rpelev2_s * gfc.nb_s2[chn][b];\n var y = thr[b];\n thr[b] = Math.min(x, y);\n }\n\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n assert(thr[b] >= 0);\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function block_type_set(gfp, uselongblock, blocktype_d, blocktype) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n blocktype[chn] = Encoder.NORM_TYPE;\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed)\n uselongblock[chn] = 1;\n if (gfp.short_blocks == ShortBlock.short_block_forced)\n uselongblock[chn] = 0;\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype[chn] = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype[chn] = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype[chn];\n // save for next call to l3psy_anal\n }\n }\n\n function NS_INTERP(x, y, r) {\n /* was pow((x),(r))*pow((y),1-(r)) */\n if (r >= 1.0) {\n /* 99.7% of the time */\n return x;\n }\n if (r <= 0.0)\n return y;\n if (y > 0.0) {\n /* rest of the time */\n return (Math.pow(x / y, r) * y);\n }\n /* never happens */\n return 0.0;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_s = [11.8, 13.6, 17.2, 32, 46.5,\n 51.3, 57.5, 67.1, 71.5, 84.6, 97.6, 130,\n /* 255.8 */\n ];\n\n function pecalc_s(mr, masking_lower) {\n var pe_s = 1236.28 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_s - 1; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thm = mr.thm.s[sb][sblock];\n assert(sb < regcoef_s.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.s[sb][sblock];\n if (en > x) {\n if (en > x * 1e10) {\n pe_s += regcoef_s[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_s += regcoef_s[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n }\n\n return pe_s;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_l = [6.8, 5.8, 5.8, 6.4, 6.5, 9.9,\n 12.1, 14.4, 15, 18.9, 21.6, 26.9, 34.2, 40.2, 46.8, 56.5,\n 60.7, 73.9, 85.7, 93.4, 126.1,\n /* 241.3 */\n ];\n\n function pecalc_l(mr, masking_lower) {\n var pe_l = 1124.23 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_l - 1; sb++) {\n var thm = mr.thm.l[sb];\n assert(sb < regcoef_l.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.l[sb];\n if (en > x) {\n if (en > x * 1e10) {\n pe_l += regcoef_l[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_l += regcoef_l[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n return pe_l;\n }\n\n function calc_energy(gfc, fftenergy, eb, max, avg) {\n var b, j;\n\n for (b = j = 0; b < gfc.npart_l; ++b) {\n var ebb = 0, m = 0;\n var i;\n for (i = 0; i < gfc.numlines_l[b]; ++i, ++j) {\n var el = fftenergy[j];\n assert(el >= 0);\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n max[b] = m;\n avg[b] = ebb * gfc.rnumlines_l[b];\n assert(gfc.rnumlines_l[b] >= 0);\n assert(ebb >= 0);\n assert(eb[b] >= 0);\n assert(max[b] >= 0);\n assert(avg[b] >= 0);\n }\n }\n\n function calc_mask_index_l(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_l - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b]\n + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_l - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_l - 1));\n }\n\n var fircoef = [\n -8.65163e-18 * 2, -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2, 0.0931738 * 2,\n -5.52212e-17 * 2, -0.313819 * 2\n ];\n\n this.L3psycho_anal_ns = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n /*\n * to get a good cache performance, one has to think about the sequence,\n * in which the variables are used.\n */\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n\n /* convolution */\n var eb_l = new_float(Encoder.CBANDS + 1);\n var eb_s = new_float(Encoder.CBANDS + 1);\n var thr = new_float(Encoder.CBANDS + 2);\n\n /* block type */\n var blocktype = new_int(2), uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n var numchn, chn;\n var b, i, j, k;\n var sb, sblock;\n\n /* variables used for --nspsytune */\n var ns_hpfsmpl = new_float_n([2, 576]);\n var pcfact;\n var mask_idx_l = new_int(Encoder.CBANDS + 2), mask_idx_s = new_int(Encoder.CBANDS + 2);\n\n Arrays.fill(mask_idx_s, 0);\n\n numchn = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n if (gfp.mode == MPEGMode.JOINT_STEREO)\n numchn = 4;\n\n if (gfp.VBR == VbrMode.vbr_off)\n pcfact = gfc.ResvMax == 0 ? 0 : ( gfc.ResvSize)\n / gfc.ResvMax * 0.5;\n else if (gfp.VBR == VbrMode.vbr_rh || gfp.VBR == VbrMode.vbr_mtrh\n || gfp.VBR == VbrMode.vbr_mt) {\n pcfact = 0.6;\n } else\n pcfact = 1.0;\n\n /**********************************************************************\n * Apply HPF of fs/4 to the input signal. This is used for attack\n * detection / handling.\n **********************************************************************/\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (chn = 0; chn < gfc.channels_out; chn++) {\n /* apply high pass filter of fs/4 */\n var firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef.length == ((NSFIRLEN - 1) / 2));\n for (i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (numchn > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n\n for (chn = 0; chn < numchn; chn++) {\n var wsamp_l;\n var wsamp_s;\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var attack_intensity = new_float(12);\n var ns_uselongblock = 1;\n var attackThreshold;\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var ns_attacks = [0, 0, 0, 0];\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n\n /*\n * rh 20040301: the following loops do access one off the limits so\n * I increase the array dimensions by one and initialize the\n * accessed values to zero\n */\n assert(gfc.npart_s <= Encoder.CBANDS);\n assert(gfc.npart_l <= Encoder.CBANDS);\n\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n if (chn == 2) {\n for (i = 0; i < 576; i++) {\n var l, r;\n l = ns_hpfsmpl[0][i];\n r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n {\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n for (i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else\n p = 0.0;\n attack_intensity[i + 3] = p;\n }\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (i = 1; i < 12; i++)\n if (x < attack_intensity[i])\n x = attack_intensity[i];\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n for (i = 0; i < 12; i++)\n if (0 == ns_attacks[i / 3]\n && attack_intensity[i] > attackThreshold)\n ns_attacks[i / 3] = (i % 3) + 1;\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n for (i = 1; i < 4; i++) {\n var ratio;\n if (en_short[i - 1] > en_short[i]) {\n assert(en_short[i] > 0);\n ratio = en_short[i - 1] / en_short[i];\n } else {\n assert(en_short[i - 1] > 0);\n ratio = en_short[i] / en_short[i - 1];\n }\n if (ratio < 1.7) {\n ns_attacks[i] = 0;\n if (i == 1)\n ns_attacks[0] = 0;\n }\n }\n\n if (ns_attacks[0] != 0 && gfc.nsPsy.lastAttacks[chn] != 0)\n ns_attacks[0] = 0;\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[0] + ns_attacks[1] + ns_attacks[2] + ns_attacks[3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[1] != 0 && ns_attacks[0] != 0)\n ns_attacks[1] = 0;\n if (ns_attacks[2] != 0 && ns_attacks[1] != 0)\n ns_attacks[2] = 0;\n if (ns_attacks[3] != 0 && ns_attacks[2] != 0)\n ns_attacks[3] = 0;\n }\n\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n\n /*********************************************************************\n * compute FFTs\n *********************************************************************/\n wsamp_s = wsamp_S;\n wsamp_l = wsamp_L;\n compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, (chn & 1),\n wsamp_s, (chn & 1), gr_out, chn, buffer, bufPos);\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n /* compute masking thresholds for short blocks */\n for (sblock = 0; sblock < 3; sblock++) {\n var enn, thmm;\n compute_masking_s(gfp, fftenergy_s, eb_s, thr, chn, sblock);\n convert_partition2scalefac_s(gfc, eb_s, thr, chn, sblock);\n /**** short block pre-echo control ****/\n for (sb = 0; sb < Encoder.SBMAX_s; sb++) {\n thmm = gfc.thm[chn].s[sb][sblock];\n\n thmm *= NS_PREECHO_ATT0;\n if (ns_attacks[sblock] >= 2 || ns_attacks[sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n if (ns_attacks[sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n enn = en_subshort[sblock * 3 + 3]\n + en_subshort[sblock * 3 + 4]\n + en_subshort[sblock * 3 + 5];\n if (en_subshort[sblock * 3 + 5] * 6 < enn) {\n thmm *= 0.5;\n if (en_subshort[sblock * 3 + 4] * 6 < enn)\n thmm *= 0.5;\n }\n\n gfc.thm[chn].s[sb][sblock] = thmm;\n }\n }\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[2];\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n k = 0;\n {\n for (b = 0; b < gfc.npart_l; b++) {\n /*\n * convolve the partitioned energy with the spreading\n * function\n */\n var kk = gfc.s3ind[b][0];\n var eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n var ecb = gfc.s3_ll[k++] * eb2;\n while (++kk <= gfc.s3ind[b][1]) {\n eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n ecb = mask_add(ecb, gfc.s3_ll[k++] * eb2, kk, kk - b,\n gfc, 0);\n }\n ecb *= 0.158489319246111;\n /* pow(10,-0.8) */\n\n /**** long block pre-echo control ****/\n /**\n *
\n                     * dont use long block pre-echo control if previous granule was\n                     * a short block.  This is to avoid the situation:\n                     * frame0:  quiet (very low masking)\n                     * frame1:  surge  (triggers short blocks)\n                     * frame2:  regular frame.  looks like pre-echo when compared to\n                     *          frame0, but all pre-echo was in frame1.\n                     * 
\n */\n /*\n * chn=0,1 L and R channels\n *\n * chn=2,3 S and M channels.\n */\n\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE)\n thr[b] = ecb;\n else\n thr[b] = NS_INTERP(\n Math.min(ecb, Math.min(rpelev\n * gfc.nb_1[chn][b], rpelev2\n * gfc.nb_2[chn][b])), ecb, pcfact);\n\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n }\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n /* compute masking thresholds for long blocks */\n convert_partition2scalefac_l(gfc, eb_l, thr, chn);\n }\n /* end loop over chn */\n\n if (gfp.mode == MPEGMode.STEREO || gfp.mode == MPEGMode.JOINT_STEREO) {\n if (gfp.interChRatio > 0.0) {\n calc_interchannel_masking(gfp, gfp.interChRatio);\n }\n }\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n var msfix;\n msfix1(gfc);\n msfix = gfp.msfix;\n if (Math.abs(msfix) > 0.0)\n ns_msfix(gfc, msfix, gfp.ATHlower * gfc.ATH.adjust);\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n block_type_set(gfp, uselongblock, blocktype_d, blocktype);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (chn = 0; chn < numchn; chn++) {\n var ppe;\n var ppePos = 0;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE)\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n else\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n\n if (gfp.analysis)\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n\n }\n return 0;\n }\n\n function vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out, fftenergy, wsamp_l, wsamp_lPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n } else if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 - j];\n var im = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n }\n\n function vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock, fftenergy_s, wsamp_s, wsamp_sPos) {\n var gfc = gfp.internal_flags;\n\n if (sblock == 0 && chn < 2) {\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][sblock][j];\n var r = wsamp_s[wsamp_sPos + 1][sblock][j];\n wsamp_s[wsamp_sPos + 0][sblock][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][sblock][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy_s[sblock][0] = wsamp_s[wsamp_sPos + 0][sblock][0];\n fftenergy_s[sblock][0] *= fftenergy_s[sblock][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 - j];\n var im = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 + j];\n fftenergy_s[sblock][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n\n /**\n * compute loudness approximation (used for ATH auto-level adjustment)\n */\n function vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn, fftenergy) {\n var gfc = gfp.internal_flags;\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n var fircoef_ = [-8.65163e-18 * 2,\n -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2,\n 0.0931738 * 2, -5.52212e-17 * 2, -0.313819 * 2];\n\n /**\n * Apply HPF of fs/4 to the input signal. This is used for attack detection\n * / handling.\n */\n function vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, energy, sub_short_factor, ns_attacks, uselongblock) {\n var ns_hpfsmpl = new_float_n([2, 576]);\n var gfc = gfp.internal_flags;\n var n_chn_out = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4 : n_chn_out;\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (var chn = 0; chn < n_chn_out; chn++) {\n /* apply high pass filter of fs/4 */\n firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef_.length == ((NSFIRLEN - 1) / 2));\n for (var i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (var j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef_[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef_[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (n_chn_psy > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var attack_intensity = new_float(12);\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n var attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n var ns_uselongblock = 1;\n\n if (chn == 2) {\n for (var i = 0, j = 576; j > 0; ++i, --j) {\n var l = ns_hpfsmpl[0][i];\n var r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (var i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n for (var i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else {\n p = 0.0;\n }\n attack_intensity[i + 3] = p;\n }\n /* pulse like signal detection for fatboy.wav and so on */\n for (var i = 0; i < 3; ++i) {\n var enn = en_subshort[i * 3 + 3]\n + en_subshort[i * 3 + 4] + en_subshort[i * 3 + 5];\n var factor = 1.;\n if (en_subshort[i * 3 + 5] * 6 < enn) {\n factor *= 0.5;\n if (en_subshort[i * 3 + 4] * 6 < enn) {\n factor *= 0.5;\n }\n }\n sub_short_factor[chn][i] = factor;\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (var i = 1; i < 12; i++) {\n if (x < attack_intensity[i]) {\n x = attack_intensity[i];\n }\n }\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n for (var i = 0; i < 12; i++) {\n if (0 == ns_attacks[chn][i / 3]\n && attack_intensity[i] > attackThreshold) {\n ns_attacks[chn][i / 3] = (i % 3) + 1;\n }\n }\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n /* Good samples to show the effect are Trumpet test songs */\n /*\n * GB: tuned (1) to avoid too many short blocks for test sample\n * TRUMPET\n */\n /*\n * RH: tuned (2) to let enough short blocks through for test sample\n * FSOL and SNAPS\n */\n for (var i = 1; i < 4; i++) {\n var u = en_short[i - 1];\n var v = en_short[i];\n var m = Math.max(u, v);\n if (m < 40000) { /* (2) */\n if (u < 1.7 * v && v < 1.7 * u) { /* (1) */\n if (i == 1 && ns_attacks[chn][0] <= ns_attacks[chn][i]) {\n ns_attacks[chn][0] = 0;\n }\n ns_attacks[chn][i] = 0;\n }\n }\n }\n\n if (ns_attacks[chn][0] <= gfc.nsPsy.lastAttacks[chn]) {\n ns_attacks[chn][0] = 0;\n }\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[chn][0] + ns_attacks[chn][1]\n + ns_attacks[chn][2] + ns_attacks[chn][3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[chn][1] != 0 && ns_attacks[chn][0] != 0) {\n ns_attacks[chn][1] = 0;\n }\n if (ns_attacks[chn][2] != 0 && ns_attacks[chn][1] != 0) {\n ns_attacks[chn][2] = 0;\n }\n if (ns_attacks[chn][3] != 0 && ns_attacks[chn][2] != 0) {\n ns_attacks[chn][3] = 0;\n }\n }\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n }\n }\n\n function vbrpsy_skip_masking_s(gfc, chn, sblock) {\n if (sblock == 0) {\n for (var b = 0; b < gfc.npart_s; b++) {\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = 0;\n }\n }\n }\n\n function vbrpsy_skip_masking_l(gfc, chn) {\n for (var b = 0; b < gfc.npart_l; b++) {\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = 0;\n }\n }\n\n function psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_s - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(b + 1 < gfc.npart_s);\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b]\n + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_s - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_s - 1));\n }\n\n function vbrpsy_compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var max = new float[Encoder.CBANDS], avg = new_float(Encoder.CBANDS);\n var i, j, b;\n var mask_idx_s = new int[Encoder.CBANDS];\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n assert(ebb >= 0);\n max[b] = m;\n assert(n > 0);\n avg[b] = ebb / n;\n assert(avg[b] >= 0);\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (; b < Encoder.CBANDS; ++b) {\n max[b] = 0;\n avg[b] = 0;\n }\n psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx_s);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var last = gfc.s3ind_s[b][1];\n var dd, dd_n;\n var x, ecb, avg_mask;\n dd = mask_idx_s[kk];\n dd_n = 1;\n ecb = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ++j;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_s[kk];\n dd_n += 1;\n x = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ecb = vbrpsy_mask_add(ecb, x, kk - b);\n ++j;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n thr[b] = ecb;\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_s[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb[b]) {\n thr[b] = eb[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_masking_l(gfc, fftenergy, eb_l, thr, chn) {\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var mask_idx_l = new_int(Encoder.CBANDS + 2);\n var b;\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n var k = 0;\n for (b = 0; b < gfc.npart_l; b++) {\n var x, ecb, avg_mask, t;\n /* convolve the partitioned energy with the spreading function */\n var kk = gfc.s3ind[b][0];\n var last = gfc.s3ind[b][1];\n var dd = 0, dd_n = 0;\n dd = mask_idx_l[kk];\n dd_n += 1;\n ecb = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n ++k;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_l[kk];\n dd_n += 1;\n x = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n t = vbrpsy_mask_add(ecb, x, kk - b);\n ecb = t;\n ++k;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n\n /**** long block pre-echo control ****/\n /**\n *
\n             * dont use long block pre-echo control if previous granule was\n             * a short block.  This is to avoid the situation:\n             * frame0:  quiet (very low masking)\n             * frame1:  surge  (triggers short blocks)\n             * frame2:  regular frame.  looks like pre-echo when compared to\n             *          frame0, but all pre-echo was in frame1.\n             * 
\n */\n /*\n * chn=0,1 L and R channels chn=2,3 S and M channels.\n */\n if (gfc.blocktype_old[chn & 0x01] == Encoder.SHORT_TYPE) {\n var ecb_limit = rpelev * gfc.nb_1[chn][b];\n if (ecb_limit > 0) {\n thr[b] = Math.min(ecb, ecb_limit);\n } else {\n /**\n *
\n                     * Robert 071209:\n                     * Because we don't calculate long block psy when we know a granule\n                     * should be of short blocks, we don't have any clue how the granule\n                     * before would have looked like as a long block. So we have to guess\n                     * a little bit for this END_TYPE block.\n                     * Most of the time we get away with this sloppyness. (fingers crossed :)\n                     * The speed increase is worth it.\n                     * 
\n */\n thr[b] = Math.min(ecb, eb_l[b] * NS_PREECHO_ATT2);\n }\n } else {\n var ecb_limit_2 = rpelev2 * gfc.nb_2[chn][b];\n var ecb_limit_1 = rpelev * gfc.nb_1[chn][b];\n var ecb_limit;\n if (ecb_limit_2 <= 0) {\n ecb_limit_2 = ecb;\n }\n if (ecb_limit_1 <= 0) {\n ecb_limit_1 = ecb;\n }\n if (gfc.blocktype_old[chn & 0x01] == Encoder.NORM_TYPE) {\n ecb_limit = Math.min(ecb_limit_1, ecb_limit_2);\n } else {\n ecb_limit = ecb_limit_1;\n }\n thr[b] = Math.min(ecb, ecb_limit);\n }\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_l[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb_l[b]) {\n thr[b] = eb_l[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_block_type(gfp, uselongblock) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed) {\n uselongblock[chn] = 1;\n }\n if (gfp.short_blocks == ShortBlock.short_block_forced) {\n uselongblock[chn] = 0;\n }\n }\n }\n\n function vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n var blocktype = Encoder.NORM_TYPE;\n /* disable short blocks */\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype;\n // save for next call to l3psy_anal\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function vbrpsy_compute_MS_thresholds(eb, thr, cb_mld, ath_cb, athadjust, msfix, n) {\n var msfix2 = msfix * 2;\n var athlower = msfix > 0 ? Math.pow(10, athadjust) : 1;\n var rside, rmid;\n for (var b = 0; b < n; ++b) {\n var ebM = eb[2][b];\n var ebS = eb[3][b];\n var thmL = thr[0][b];\n var thmR = thr[1][b];\n var thmM = thr[2][b];\n var thmS = thr[3][b];\n\n /* use this fix if L & R masking differs by 2db or less */\n if (thmL <= 1.58 * thmR && thmR <= 1.58 * thmL) {\n var mld_m = cb_mld[b] * ebS;\n var mld_s = cb_mld[b] * ebM;\n rmid = Math.max(thmM, Math.min(thmS, mld_m));\n rside = Math.max(thmS, Math.min(thmM, mld_s));\n } else {\n rmid = thmM;\n rside = thmS;\n }\n if (msfix > 0) {\n /***************************************************************/\n /* Adjust M/S maskings if user set \"msfix\" */\n /***************************************************************/\n /* Naoki Shibata 2000 */\n var thmLR, thmMS;\n var ath = ath_cb[b] * athlower;\n thmLR = Math.min(Math.max(thmL, ath), Math.max(thmR, ath));\n thmM = Math.max(rmid, ath);\n thmS = Math.max(rside, ath);\n thmMS = thmM + thmS;\n if (thmMS > 0 && (thmLR * msfix2) < thmMS) {\n var f = thmLR * msfix2 / thmMS;\n thmM *= f;\n thmS *= f;\n assert(thmMS > 0);\n }\n rmid = Math.min(thmM, rmid);\n rside = Math.min(thmS, rside);\n }\n if (rmid > ebM) {\n rmid = ebM;\n }\n if (rside > ebS) {\n rside = ebS;\n }\n thr[2][b] = rmid;\n thr[3][b] = rside;\n }\n }\n\n this.L3psycho_anal_vbr = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_l;\n var wsamp_s;\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n var eb = new_float_n([4, Encoder.CBANDS]), thr = new_float_n([4, Encoder.CBANDS]);\n var sub_short_factor = new_float_n([4, 3]);\n var pcfact = 0.6;\n\n /* block type */\n var ns_attacks = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],\n [0, 0, 0, 0]];\n var uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4\n : gfc.channels_out;\n\n vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio,\n masking_MS_ratio, energy, sub_short_factor, ns_attacks,\n uselongblock);\n\n vbrpsy_compute_block_type(gfp, uselongblock);\n\n /* LONG BLOCK CASE */\n {\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n wsamp_l = wsamp_L;\n vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out,\n fftenergy, wsamp_l, ch01);\n\n vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn,\n fftenergy);\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_compute_masking_l(gfc, fftenergy, eb[chn], thr[chn],\n chn);\n } else {\n vbrpsy_skip_masking_l(gfc, chn);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 2) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_l,\n gfc.ATH.cb_l, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_l);\n }\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) {\n convert_partition2scalefac_l(gfc, eb[chn], thr[chn], chn);\n }\n }\n }\n\n /* SHORT BLOCKS CASE */\n {\n for (var sblock = 0; sblock < 3; sblock++) {\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_skip_masking_s(gfc, chn, sblock);\n } else {\n /* compute masking thresholds for short blocks */\n wsamp_s = wsamp_S;\n vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock,\n fftenergy_s, wsamp_s, ch01);\n vbrpsy_compute_masking_s(gfp, fftenergy_s, eb[chn],\n thr[chn], chn, sblock);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 0) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_s,\n gfc.ATH.cb_s, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_s);\n }\n /* L/R channel */\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n if (0 == uselongblock[ch01]) {\n convert_partition2scalefac_s(gfc, eb[chn], thr[chn],\n chn, sblock);\n }\n }\n }\n\n /**** short block pre-echo control ****/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n continue;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n var new_thmm = new_float(3);\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmm = gfc.thm[chn].s[sb][sblock];\n thmm *= NS_PREECHO_ATT0;\n\n if (ns_attacks[chn][sblock] >= 2\n || ns_attacks[chn][sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (ns_attacks[chn][sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[chn][sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n thmm *= sub_short_factor[chn][sblock];\n\n new_thmm[sblock] = thmm;\n }\n for (var sblock = 0; sblock < 3; sblock++) {\n gfc.thm[chn].s[sb][sblock] = new_thmm[sblock];\n }\n }\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[chn][2];\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ppe;\n var ppePos;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE) {\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n } else {\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n }\n\n if (gfp.analysis) {\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n }\n }\n return 0;\n }\n\n function s3_func_x(bark, hf_slope) {\n var tempx = bark, tempy;\n\n if (tempx >= 0) {\n tempy = -tempx * 27;\n } else {\n tempy = tempx * hf_slope;\n }\n if (tempy <= -72.0) {\n return 0;\n }\n return Math.exp(tempy * LN_TO_LOG10);\n }\n\n function norm_s3_func_x(hf_slope) {\n var lim_a = 0, lim_b = 0;\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x -= 1)\n ;\n l = x;\n h = 0;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n h = x;\n } else {\n l = x;\n }\n }\n lim_a = l;\n }\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x += 1)\n ;\n l = 0;\n h = x;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n l = x;\n } else {\n h = x;\n }\n }\n lim_b = h;\n }\n {\n var sum = 0;\n var m = 1000;\n var i;\n for (i = 0; i <= m; ++i) {\n var x = lim_a + i * (lim_b - lim_a) / m;\n var y = s3_func_x(x, hf_slope);\n sum += y;\n }\n {\n var norm = (m + 1) / (sum * (lim_b - lim_a));\n /* printf( \"norm = %lf\\n\",norm); */\n return norm;\n }\n }\n }\n\n /**\n * The spreading function. Values returned in units of energy\n */\n function s3_func(bark) {\n var tempx, x, tempy, temp;\n tempx = bark;\n if (tempx >= 0)\n tempx *= 3;\n else\n tempx *= 1.5;\n\n if (tempx >= 0.5 && tempx <= 2.5) {\n temp = tempx - 0.5;\n x = 8.0 * (temp * temp - 2.0 * temp);\n } else\n x = 0.0;\n tempx += 0.474;\n tempy = 15.811389 + 7.5 * tempx - 17.5\n * Math.sqrt(1.0 + tempx * tempx);\n\n if (tempy <= -60.0)\n return 0.0;\n\n tempx = Math.exp((x + tempy) * LN_TO_LOG10);\n\n /**\n *
\n         * Normalization.  The spreading function should be normalized so that:\n         * +inf\n         * /\n         * |  s3 [ bark ]  d(bark)   =  1\n         * /\n         * -inf\n         * 
\n */\n tempx /= .6609193;\n return tempx;\n }\n\n /**\n * see for example \"Zwicker: Psychoakustik, 1982; ISBN 3-540-11401-7\n */\n function freq2bark(freq) {\n /* input: freq in hz output: barks */\n if (freq < 0)\n freq = 0;\n freq = freq * 0.001;\n return 13.0 * Math.atan(.76 * freq) + 3.5\n * Math.atan(freq * freq / (7.5 * 7.5));\n }\n\n function init_numline(numlines, bo, bm, bval, bval_width, mld, bo_w, sfreq, blksize, scalepos, deltafreq, sbmax) {\n var b_frq = new_float(Encoder.CBANDS + 1);\n var sample_freq_frac = sfreq / (sbmax > 15 ? 2 * 576 : 2 * 192);\n var partition = new_int(Encoder.HBLKSIZE);\n var i;\n sfreq /= blksize;\n var j = 0;\n var ni = 0;\n /* compute numlines, the number of spectral lines in each partition band */\n /* each partition band should be about DELBARK wide. */\n for (i = 0; i < Encoder.CBANDS; i++) {\n var bark1;\n var j2;\n bark1 = freq2bark(sfreq * j);\n\n b_frq[i] = sfreq * j;\n\n for (j2 = j; freq2bark(sfreq * j2) - bark1 < DELBARK\n && j2 <= blksize / 2; j2++)\n ;\n\n numlines[i] = j2 - j;\n ni = i + 1;\n\n while (j < j2) {\n assert(j < Encoder.HBLKSIZE);\n partition[j++] = i;\n }\n if (j > blksize / 2) {\n j = blksize / 2;\n ++i;\n break;\n }\n }\n assert(i < Encoder.CBANDS);\n b_frq[i] = sfreq * j;\n\n for (var sfb = 0; sfb < sbmax; sfb++) {\n var i1, i2, start, end;\n var arg;\n start = scalepos[sfb];\n end = scalepos[sfb + 1];\n\n i1 = 0 | Math.floor(.5 + deltafreq * (start - .5));\n if (i1 < 0)\n i1 = 0;\n i2 = 0 | Math.floor(.5 + deltafreq * (end - .5));\n\n if (i2 > blksize / 2)\n i2 = blksize / 2;\n\n bm[sfb] = (partition[i1] + partition[i2]) / 2;\n bo[sfb] = partition[i2];\n var f_tmp = sample_freq_frac * end;\n /*\n * calculate how much of this band belongs to current scalefactor\n * band\n */\n bo_w[sfb] = (f_tmp - b_frq[bo[sfb]])\n / (b_frq[bo[sfb] + 1] - b_frq[bo[sfb]]);\n if (bo_w[sfb] < 0) {\n bo_w[sfb] = 0;\n } else {\n if (bo_w[sfb] > 1) {\n bo_w[sfb] = 1;\n }\n }\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n arg = freq2bark(sfreq * scalepos[sfb] * deltafreq);\n arg = ( Math.min(arg, 15.5) / 15.5);\n\n mld[sfb] = Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /* compute bark values of each critical band */\n j = 0;\n for (var k = 0; k < ni; k++) {\n var w = numlines[k];\n var bark1, bark2;\n\n bark1 = freq2bark(sfreq * (j));\n bark2 = freq2bark(sfreq * (j + w - 1));\n bval[k] = .5 * (bark1 + bark2);\n\n bark1 = freq2bark(sfreq * (j - .5));\n bark2 = freq2bark(sfreq * (j + w - .5));\n bval_width[k] = bark2 - bark1;\n j += w;\n }\n\n return ni;\n }\n\n function init_s3_values(s3ind, npart, bval, bval_width, norm, use_old_s3) {\n var s3 = new_float_n([Encoder.CBANDS, Encoder.CBANDS]);\n /*\n * The s3 array is not linear in the bark scale.\n *\n * bval[x] should be used to get the bark value.\n */\n var j;\n var numberOfNoneZero = 0;\n\n /**\n *
\n         * s[i][j], the value of the spreading function,\n         * centered at band j (masker), for band i (maskee)\n         *\n         * i.e.: sum over j to spread into signal barkval=i\n         * NOTE: i and j are used opposite as in the ISO docs\n         * 
\n */\n if (use_old_s3) {\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n var v = s3_func(bval[i] - bval[j]) * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n } else {\n for (j = 0; j < npart; j++) {\n var hf_slope = 15 + Math.min(21 / bval[j], 12);\n var s3_x_norm = norm_s3_func_x(hf_slope);\n for (var i = 0; i < npart; i++) {\n var v = s3_x_norm\n * s3_func_x(bval[i] - bval[j], hf_slope)\n * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n }\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][0] = j;\n\n for (j = npart - 1; j > 0; j--) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][1] = j;\n numberOfNoneZero += (s3ind[i][1] - s3ind[i][0] + 1);\n }\n\n var p = new_float(numberOfNoneZero);\n var k = 0;\n for (var i = 0; i < npart; i++)\n for (j = s3ind[i][0]; j <= s3ind[i][1]; j++)\n p[k++] = s3[i][j];\n\n return p;\n }\n\n function stereo_demask(f) {\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n var arg = freq2bark(f);\n arg = (Math.min(arg, 15.5) / 15.5);\n\n return Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /**\n * NOTE: the bitrate reduction from the inter-channel masking effect is low\n * compared to the chance of getting annyoing artefacts. L3psycho_anal_vbr\n * does not use this feature. (Robert 071216)\n */\n this.psymodel_init = function (gfp) {\n var gfc = gfp.internal_flags;\n var i;\n var useOldS3 = true;\n var bvl_a = 13, bvl_b = 24;\n var snr_l_a = 0, snr_l_b = 0;\n var snr_s_a = -8.25, snr_s_b = -4.5;\n var bval = new_float(Encoder.CBANDS);\n var bval_width = new_float(Encoder.CBANDS);\n var norm = new_float(Encoder.CBANDS);\n var sfreq = gfp.out_samplerate;\n\n switch (gfp.experimentalZ) {\n default:\n case 0:\n useOldS3 = true;\n break;\n case 1:\n useOldS3 = (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) ? false\n : true;\n break;\n case 2:\n useOldS3 = false;\n break;\n case 3:\n bvl_a = 8;\n snr_l_a = -1.75;\n snr_l_b = -0.0125;\n snr_s_a = -8.25;\n snr_s_b = -2.25;\n break;\n }\n gfc.ms_ener_ratio_old = .25;\n gfc.blocktype_old[0] = gfc.blocktype_old[1] = Encoder.NORM_TYPE;\n // the vbr header is long blocks\n\n for (i = 0; i < 4; ++i) {\n for (var j = 0; j < Encoder.CBANDS; ++j) {\n gfc.nb_1[i][j] = 1e20;\n gfc.nb_2[i][j] = 1e20;\n gfc.nb_s1[i][j] = gfc.nb_s2[i][j] = 1.0;\n }\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n gfc.en[i].l[sb] = 1e20;\n gfc.thm[i].l[sb] = 1e20;\n }\n for (var j = 0; j < 3; ++j) {\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n gfc.en[i].s[sb][j] = 1e20;\n gfc.thm[i].s[sb][j] = 1e20;\n }\n gfc.nsPsy.lastAttacks[i] = 0;\n }\n for (var j = 0; j < 9; j++)\n gfc.nsPsy.last_en_subshort[i][j] = 10.;\n }\n\n /* init. for loudness approx. -jd 2001 mar 27 */\n gfc.loudness_sq_save[0] = gfc.loudness_sq_save[1] = 0.0;\n\n /*************************************************************************\n * now compute the psychoacoustic model specific constants\n ************************************************************************/\n /* compute numlines, bo, bm, bval, bval_width, mld */\n\n gfc.npart_l = init_numline(gfc.numlines_l, gfc.bo_l, gfc.bm_l, bval,\n bval_width, gfc.mld_l, gfc.PSY.bo_l_weight, sfreq,\n Encoder.BLKSIZE, gfc.scalefac_band.l, Encoder.BLKSIZE\n / (2.0 * 576), Encoder.SBMAX_l);\n assert(gfc.npart_l < Encoder.CBANDS);\n /* compute the spreading function */\n for (i = 0; i < gfc.npart_l; i++) {\n var snr = snr_l_a;\n if (bval[i] >= bvl_a) {\n snr = snr_l_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_l_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n if (gfc.numlines_l[i] > 0) {\n gfc.rnumlines_l[i] = 1.0 / gfc.numlines_l[i];\n } else {\n gfc.rnumlines_l[i] = 0;\n }\n }\n gfc.s3_ll = init_s3_values(gfc.s3ind, gfc.npart_l, bval, bval_width,\n norm, useOldS3);\n\n /* compute long block specific values, ATH and MINVAL */\n var j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var x;\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_l[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE);\n var level;\n /*\n * ATH below 100 Hz constant, not further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_l[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_l[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n /*\n * FIXME: it does work to reduce low-freq problems in S53-Wind-Sax\n * and lead-voice samples, but introduces some 3 kbps bit bloat too.\n * TODO: Further refinement of the shape of this hack.\n */\n x = -20 + bval[i] * 20 / 10;\n if (x > 6) {\n x = 100;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8.;\n gfc.minval_l[i] = (Math.pow(10.0, x / 10.) * gfc.numlines_l[i]);\n }\n\n /************************************************************************\n * do the same things for short blocks\n ************************************************************************/\n gfc.npart_s = init_numline(gfc.numlines_s, gfc.bo_s, gfc.bm_s, bval,\n bval_width, gfc.mld_s, gfc.PSY.bo_s_weight, sfreq,\n Encoder.BLKSIZE_s, gfc.scalefac_band.s, Encoder.BLKSIZE_s\n / (2.0 * 192), Encoder.SBMAX_s);\n assert(gfc.npart_s < Encoder.CBANDS);\n\n /* SNR formula. short block is normalized by SNR. is it still right ? */\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var x;\n var snr = snr_s_a;\n if (bval[i] >= bvl_a) {\n snr = snr_s_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_s_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_s[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE_s);\n var level;\n /* freq = Min(.1,freq); */\n /*\n * ATH below 100 Hz constant, not\n * further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_s[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_s[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n x = (-7.0 + bval[i] * 7.0 / 12.0);\n if (bval[i] > 12) {\n x *= 1 + Math.log(1 + x) * 3.1;\n }\n if (bval[i] < 12) {\n x *= 1 + Math.log(1 - x) * 2.3;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8;\n gfc.minval_s[i] = Math.pow(10.0, x / 10)\n * gfc.numlines_s[i];\n }\n\n gfc.s3_ss = init_s3_values(gfc.s3ind_s, gfc.npart_s, bval, bval_width,\n norm, useOldS3);\n\n init_mask_add_max_values();\n fft.init_fft(gfc);\n\n /* setup temporal masking */\n gfc.decay = Math.exp(-1.0 * LOG10\n / (temporalmask_sustain_sec * sfreq / 192.0));\n\n {\n var msfix;\n msfix = NS_MSFIX;\n if ((gfp.exp_nspsytune & 2) != 0)\n msfix = 1.0;\n if (Math.abs(gfp.msfix) > 0.0)\n msfix = gfp.msfix;\n gfp.msfix = msfix;\n\n /*\n * spread only from npart_l bands. Normally, we use the spreading\n * function to convolve from npart_l down to npart_l bands\n */\n for (var b = 0; b < gfc.npart_l; b++)\n if (gfc.s3ind[b][1] > gfc.npart_l - 1)\n gfc.s3ind[b][1] = gfc.npart_l - 1;\n }\n\n /*\n * prepare for ATH auto adjustment: we want to decrease the ATH by 12 dB\n * per second\n */\n var frame_duration = (576. * gfc.mode_gr / sfreq);\n gfc.ATH.decay = Math.pow(10., -12. / 10. * frame_duration);\n gfc.ATH.adjust = 0.01;\n /* minimum, for leading low loudness */\n gfc.ATH.adjustLimit = 1.0;\n /* on lead, allow adjust up to maximum */\n\n assert(gfc.bo_l[Encoder.SBMAX_l - 1] <= gfc.npart_l);\n assert(gfc.bo_s[Encoder.SBMAX_s - 1] <= gfc.npart_s);\n\n if (gfp.ATHtype != -1) {\n /* compute equal loudness weights (eql_w) */\n var freq;\n var freq_inc = gfp.out_samplerate\n / (Encoder.BLKSIZE);\n var eql_balance = 0.0;\n freq = 0.0;\n for (i = 0; i < Encoder.BLKSIZE / 2; ++i) {\n /* convert ATH dB to relative power (not dB) */\n /* to determine eql_w */\n freq += freq_inc;\n gfc.ATH.eql_w[i] = 1. / Math.pow(10, this.ATHformula(freq, gfp) / 10);\n eql_balance += gfc.ATH.eql_w[i];\n }\n eql_balance = 1.0 / eql_balance;\n for (i = Encoder.BLKSIZE / 2; --i >= 0;) { /* scale weights */\n gfc.ATH.eql_w[i] *= eql_balance;\n }\n }\n {\n for (var b = j = 0; b < gfc.npart_s; ++b) {\n for (i = 0; i < gfc.numlines_s[b]; ++i) {\n ++j;\n }\n }\n assert(j == 129);\n for (var b = j = 0; b < gfc.npart_l; ++b) {\n for (i = 0; i < gfc.numlines_l[b]; ++i) {\n ++j;\n }\n }\n assert(j == 513);\n }\n j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var freq = sfreq * (j + gfc.numlines_l[i] / 2) / (1.0 * Encoder.BLKSIZE);\n gfc.mld_cb_l[i] = stereo_demask(freq);\n j += gfc.numlines_l[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_l[i] = 1;\n }\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var freq = sfreq * (j + gfc.numlines_s[i] / 2) / (1.0 * Encoder.BLKSIZE_s);\n gfc.mld_cb_s[i] = stereo_demask(freq);\n j += gfc.numlines_s[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_s[i] = 1;\n }\n return 0;\n }\n\n /**\n * Those ATH formulas are returning their minimum value for input = -1\n */\n function ATHformula_GB(f, value) {\n /**\n *
\n         *  from Painter & Spanias\n         *           modified by Gabriel Bouvigne to better fit the reality\n         *           ath =    3.640 * pow(f,-0.8)\n         *           - 6.800 * exp(-0.6*pow(f-3.4,2.0))\n         *           + 6.000 * exp(-0.15*pow(f-8.7,2.0))\n         *           + 0.6* 0.001 * pow(f,4.0);\n         *\n         *\n         *           In the past LAME was using the Painter &Spanias formula.\n         *           But we had some recurrent problems with HF content.\n         *           We measured real ATH values, and found the older formula\n         *           to be inaccurate in the higher part. So we made this new\n         *           formula and this solved most of HF problematic test cases.\n         *           The tradeoff is that in VBR mode it increases a lot the\n         *           bitrate.\n         * 
\n */\n\n /*\n * This curve can be adjusted according to the VBR scale: it adjusts\n * from something close to Painter & Spanias on V9 up to Bouvigne's\n * formula for V0. This way the VBR bitrate is more balanced according\n * to the -V value.\n */\n\n // the following Hack allows to ask for the lowest value\n if (f < -.3)\n f = 3410;\n\n // convert to khz\n f /= 1000;\n f = Math.max(0.1, f);\n var ath = 3.640 * Math.pow(f, -0.8) - 6.800\n * Math.exp(-0.6 * Math.pow(f - 3.4, 2.0)) + 6.000\n * Math.exp(-0.15 * Math.pow(f - 8.7, 2.0))\n + (0.6 + 0.04 * value) * 0.001 * Math.pow(f, 4.0);\n return ath;\n }\n\n this.ATHformula = function (f, gfp) {\n var ath;\n switch (gfp.ATHtype) {\n case 0:\n ath = ATHformula_GB(f, 9);\n break;\n case 1:\n // over sensitive, should probably be removed\n ath = ATHformula_GB(f, -1);\n break;\n case 2:\n ath = ATHformula_GB(f, 0);\n break;\n case 3:\n // modification of GB formula by Roel\n ath = ATHformula_GB(f, 1) + 6;\n break;\n case 4:\n ath = ATHformula_GB(f, gfp.ATHcurve);\n break;\n default:\n ath = ATHformula_GB(f, 0);\n break;\n }\n return ath;\n }\n\n}\n\nmodule.exports = PsyModel;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","\"use strict\";\n\nexports.__esModule = true;\nexports.inherits = inherits;\nfunction inherits(parent, child) {\n\tvar props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar extended = Object.create(parent.prototype);\n\tfor (var p in props) {\n\t\textended[p] = props[p];\n\t}\n\textended.constructor = child;\n\tchild.prototype = extended;\n\treturn child;\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\nvar getFlags = uncurryThis(regExpFlags);\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\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","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GrInfo = require('./GrInfo.js');\n\nfunction IIISideInfo() {\n this.tt = [[null, null], [null, null]];\n this.main_data_begin = 0;\n this.private_bits = 0;\n this.resvDrain_pre = 0;\n this.resvDrain_post = 0;\n this.scfsi = [new_int(4), new_int(4)];\n\n for (var gr = 0; gr < 2; gr++) {\n for (var ch = 0; ch < 2; ch++) {\n this.tt[gr][ch] = new GrInfo();\n }\n }\n}\n\nmodule.exports = IIISideInfo;\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineProperties = require('../internals/object-define-properties').f;\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice-simple');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) == '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() == ':') {\n if (charAt(input, 1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n } return join(result, '.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length == 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += toLowerCase(chr);\n } else if (chr == ':') {\n if (stateOverride && (\n (url.isSpecial() != hasOwn(specialSchemes, buffer)) ||\n (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) == '[') {\n if (charAt(input, input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme == 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username != '' || this.password != '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port == '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search == '') {\n this.query = null;\n } else {\n if ('?' == charAt(search, 0)) search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash == '') {\n this.fragment = null;\n return;\n }\n if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor('serialize', 'setHref'),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor('getOrigin'),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor('getProtocol', 'setProtocol'),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor('getUsername', 'setUsername'),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor('getPassword', 'setPassword'),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor('getHost', 'setHost'),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor('getHostname', 'setHostname'),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor('getPort', 'setPort'),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor('getPathname', 'setPathname'),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor('getSearch', 'setSearch'),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor('getSearchParams'),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor('getHash', 'setHash')\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar MISSED_STICKY = require('../internals/regexp-sticky-helpers').MISSED_STICKY;\nvar classof = require('../internals/classof-raw');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getInternalState = require('../internals/internal-state').get;\n\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\n\n// `RegExp.prototype.sticky` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky\nif (DESCRIPTORS && MISSED_STICKY) {\n defineProperty(RegExpPrototype, 'sticky', {\n configurable: true,\n get: function () {\n if (this === RegExpPrototype) return undefined;\n // We can't use InternalStateModule.getterFor because\n // we don't add metadata for regexps created by a literal.\n if (classof(this) === 'RegExp') {\n return !!getInternalState(this).sticky;\n }\n throw TypeError('Incompatible receiver, RegExp required');\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar un$StartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return un$StartsWith\n ? un$StartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, 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(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, 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);\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 isCallable(global.postMessage) &&\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 global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","'use strict';\n\nexports.__esModule = true;\nexports.tokenize = exports.test = exports.scanner = exports.parser = exports.options = exports.inherits = exports.find = undefined;\n\nvar _class = require('./linkify/utils/class');\n\nvar _options = require('./linkify/utils/options');\n\nvar options = _interopRequireWildcard(_options);\n\nvar _scanner = require('./linkify/core/scanner');\n\nvar scanner = _interopRequireWildcard(_scanner);\n\nvar _parser = require('./linkify/core/parser');\n\nvar parser = _interopRequireWildcard(_parser);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nif (!Array.isArray) {\n\tArray.isArray = function (arg) {\n\t\treturn Object.prototype.toString.call(arg) === '[object Array]';\n\t};\n}\n\n/**\n\tConverts a string into tokens that represent linkable and non-linkable bits\n\t@method tokenize\n\t@param {String} str\n\t@return {Array} tokens\n*/\nvar tokenize = function tokenize(str) {\n\treturn parser.run(scanner.run(str));\n};\n\n/**\n\tReturns a list of linkable items in the given string.\n*/\nvar find = function find(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\tvar filtered = [];\n\n\tfor (var i = 0; i < tokens.length; i++) {\n\t\tvar token = tokens[i];\n\t\tif (token.isLink && (!type || token.type === type)) {\n\t\t\tfiltered.push(token.toObject());\n\t\t}\n\t}\n\n\treturn filtered;\n};\n\n/**\n\tIs the given string valid linkable text of some sort\n\tNote that this does not trim the text for you.\n\n\tOptionally pass in a second `type` param, which is the type of link to test\n\tfor.\n\n\tFor example,\n\n\t\ttest(str, 'email');\n\n\tWill return `true` if str is a valid email.\n*/\nvar test = function test(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\treturn tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].type === type);\n};\n\n// Scanner and parser provide states and tokens for the lexicographic stage\n// (will be used to add additional link types)\nexports.find = find;\nexports.inherits = _class.inherits;\nexports.options = options;\nexports.parser = parser;\nexports.scanner = scanner;\nexports.test = test;\nexports.tokenize = tokenize;","/*\n * ReplayGainAnalysis - analyzes input samples and give the recommended dB change\n * Copyright (C) 2001 David Robinson and Glen Sawyer\n * Improvements and optimizations added by Frank Klemm, and by Marcel Muller \n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * concept and filter values by David Robinson (David@Robinson.org)\n * -- blame him if you think the idea is flawed\n * original coding by Glen Sawyer (mp3gain@hotmail.com)\n * -- blame him if you think this runs too slowly, or the coding is otherwise flawed\n *\n * lots of code improvements by Frank Klemm ( http://www.uni-jena.de/~pfk/mpp/ )\n * -- credit him for all the _good_ programming ;)\n *\n *\n * For an explanation of the concepts and the basic algorithms involved, go to:\n * http://www.replaygain.org/\n */\n\n/*\n * Here's the deal. Call\n *\n * InitGainAnalysis ( long samplefreq );\n *\n * to initialize everything. Call\n *\n * AnalyzeSamples ( var Float_t* left_samples,\n * var Float_t* right_samples,\n * size_t num_samples,\n * int num_channels );\n *\n * as many times as you want, with as many or as few samples as you want.\n * If mono, pass the sample buffer in through left_samples, leave\n * right_samples NULL, and make sure num_channels = 1.\n *\n * GetTitleGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * SINCE THE LAST TIME you called GetTitleGain() OR InitGainAnalysis().\n *\n * GetAlbumGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * since InitGainAnalysis() was called and finalized with GetTitleGain().\n *\n * Pseudo-code to process an album:\n *\n * Float_t l_samples [4096];\n * Float_t r_samples [4096];\n * size_t num_samples;\n * unsigned int num_songs;\n * unsigned int i;\n *\n * InitGainAnalysis ( 44100 );\n * for ( i = 1; i <= num_songs; i++ ) {\n * while ( ( num_samples = getSongSamples ( song[i], left_samples, right_samples ) ) > 0 )\n * AnalyzeSamples ( left_samples, right_samples, num_samples, 2 );\n * fprintf (\"Recommended dB change for song %2d: %+6.2 dB\\n\", i, GetTitleGain() );\n * }\n * fprintf (\"Recommended dB change for whole album: %+6.2 dB\\n\", GetAlbumGain() );\n */\n\n/*\n * So here's the main source of potential code confusion:\n *\n * The filters applied to the incoming samples are IIR filters,\n * meaning they rely on up to number of previous samples\n * AND up to number of previous filtered samples.\n *\n * I set up the AnalyzeSamples routine to minimize memory usage and interface\n * complexity. The speed isn't compromised too much (I don't think), but the\n * internal complexity is higher than it should be for such a relatively\n * simple routine.\n *\n * Optimization/clarity suggestions are welcome.\n */\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\n/**\n * Table entries per dB\n */\nGainAnalysis.STEPS_per_dB = 100.;\n/**\n * Table entries for 0...MAX_dB (normal max. values are 70...80 dB)\n */\nGainAnalysis.MAX_dB = 120.;\nGainAnalysis.GAIN_NOT_ENOUGH_SAMPLES = -24601;\nGainAnalysis.GAIN_ANALYSIS_ERROR = 0;\nGainAnalysis.GAIN_ANALYSIS_OK = 1;\nGainAnalysis.INIT_GAIN_ANALYSIS_ERROR = 0;\nGainAnalysis.INIT_GAIN_ANALYSIS_OK = 1;\n\nGainAnalysis.YULE_ORDER = 10;\nGainAnalysis.MAX_ORDER = GainAnalysis.YULE_ORDER;\n\nGainAnalysis.MAX_SAMP_FREQ = 48000;\nGainAnalysis.RMS_WINDOW_TIME_NUMERATOR = 1;\nGainAnalysis.RMS_WINDOW_TIME_DENOMINATOR = 20;\nGainAnalysis.MAX_SAMPLES_PER_WINDOW = ((GainAnalysis.MAX_SAMP_FREQ * GainAnalysis.RMS_WINDOW_TIME_NUMERATOR) / GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR + 1);\n\nfunction GainAnalysis() {\n /**\n * calibration value for 89dB\n */\n var PINK_REF = 64.82;\n\n var YULE_ORDER = GainAnalysis.YULE_ORDER;\n /**\n * percentile which is louder than the proposed level\n */\n var RMS_PERCENTILE = 0.95;\n /**\n * maximum allowed sample frequency [Hz]\n */\n var MAX_SAMP_FREQ = GainAnalysis.MAX_SAMP_FREQ;\n var RMS_WINDOW_TIME_NUMERATOR = GainAnalysis.RMS_WINDOW_TIME_NUMERATOR;\n /**\n * numerator / denominator = time slice size [s]\n */\n var RMS_WINDOW_TIME_DENOMINATOR = GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR;\n /**\n * max. Samples per Time slice\n */\n var MAX_SAMPLES_PER_WINDOW = GainAnalysis.MAX_SAMPLES_PER_WINDOW;\n\n\n var ABYule = [\n [0.03857599435200, -3.84664617118067, -0.02160367184185,\n 7.81501653005538, -0.00123395316851, -11.34170355132042,\n -0.00009291677959, 13.05504219327545, -0.01655260341619,\n -12.28759895145294, 0.02161526843274, 9.48293806319790,\n -0.02074045215285, -5.87257861775999, 0.00594298065125,\n 2.75465861874613, 0.00306428023191, -0.86984376593551,\n 0.00012025322027, 0.13919314567432, 0.00288463683916],\n [0.05418656406430, -3.47845948550071, -0.02911007808948,\n 6.36317777566148, -0.00848709379851, -8.54751527471874,\n -0.00851165645469, 9.47693607801280, -0.00834990904936,\n -8.81498681370155, 0.02245293253339, 6.85401540936998,\n -0.02596338512915, -4.39470996079559, 0.01624864962975,\n 2.19611684890774, -0.00240879051584, -0.75104302451432,\n 0.00674613682247, 0.13149317958808, -0.00187763777362],\n [0.15457299681924, -2.37898834973084, -0.09331049056315,\n 2.84868151156327, -0.06247880153653, -2.64577170229825,\n 0.02163541888798, 2.23697657451713, -0.05588393329856,\n -1.67148153367602, 0.04781476674921, 1.00595954808547,\n 0.00222312597743, -0.45953458054983, 0.03174092540049,\n 0.16378164858596, -0.01390589421898, -0.05032077717131,\n 0.00651420667831, 0.02347897407020, -0.00881362733839],\n [0.30296907319327, -1.61273165137247, -0.22613988682123,\n 1.07977492259970, -0.08587323730772, -0.25656257754070,\n 0.03282930172664, -0.16276719120440, -0.00915702933434,\n -0.22638893773906, -0.02364141202522, 0.39120800788284,\n -0.00584456039913, -0.22138138954925, 0.06276101321749,\n 0.04500235387352, -0.00000828086748, 0.02005851806501,\n 0.00205861885564, 0.00302439095741, -0.02950134983287],\n [0.33642304856132, -1.49858979367799, -0.25572241425570,\n 0.87350271418188, -0.11828570177555, 0.12205022308084,\n 0.11921148675203, -0.80774944671438, -0.07834489609479,\n 0.47854794562326, -0.00469977914380, -0.12453458140019,\n -0.00589500224440, -0.04067510197014, 0.05724228140351,\n 0.08333755284107, 0.00832043980773, -0.04237348025746,\n -0.01635381384540, 0.02977207319925, -0.01760176568150],\n [0.44915256608450, -0.62820619233671, -0.14351757464547,\n 0.29661783706366, -0.22784394429749, -0.37256372942400,\n -0.01419140100551, 0.00213767857124, 0.04078262797139,\n -0.42029820170918, -0.12398163381748, 0.22199650564824,\n 0.04097565135648, 0.00613424350682, 0.10478503600251,\n 0.06747620744683, -0.01863887810927, 0.05784820375801,\n -0.03193428438915, 0.03222754072173, 0.00541907748707],\n [0.56619470757641, -1.04800335126349, -0.75464456939302,\n 0.29156311971249, 0.16242137742230, -0.26806001042947,\n 0.16744243493672, 0.00819999645858, -0.18901604199609,\n 0.45054734505008, 0.30931782841830, -0.33032403314006,\n -0.27562961986224, 0.06739368333110, 0.00647310677246,\n -0.04784254229033, 0.08647503780351, 0.01639907836189,\n -0.03788984554840, 0.01807364323573, -0.00588215443421],\n [0.58100494960553, -0.51035327095184, -0.53174909058578,\n -0.31863563325245, -0.14289799034253, -0.20256413484477,\n 0.17520704835522, 0.14728154134330, 0.02377945217615,\n 0.38952639978999, 0.15558449135573, -0.23313271880868,\n -0.25344790059353, -0.05246019024463, 0.01628462406333,\n -0.02505961724053, 0.06920467763959, 0.02442357316099,\n -0.03721611395801, 0.01818801111503, -0.00749618797172],\n [0.53648789255105, -0.25049871956020, -0.42163034350696,\n -0.43193942311114, -0.00275953611929, -0.03424681017675,\n 0.04267842219415, -0.04678328784242, -0.10214864179676,\n 0.26408300200955, 0.14590772289388, 0.15113130533216,\n -0.02459864859345, -0.17556493366449, -0.11202315195388,\n -0.18823009262115, -0.04060034127000, 0.05477720428674,\n 0.04788665548180, 0.04704409688120, -0.02217936801134]];\n\n var ABButter = [\n [0.98621192462708, -1.97223372919527, -1.97242384925416,\n 0.97261396931306, 0.98621192462708],\n [0.98500175787242, -1.96977855582618, -1.97000351574484,\n 0.97022847566350, 0.98500175787242],\n [0.97938932735214, -1.95835380975398, -1.95877865470428,\n 0.95920349965459, 0.97938932735214],\n [0.97531843204928, -1.95002759149878, -1.95063686409857,\n 0.95124613669835, 0.97531843204928],\n [0.97316523498161, -1.94561023566527, -1.94633046996323,\n 0.94705070426118, 0.97316523498161],\n [0.96454515552826, -1.92783286977036, -1.92909031105652,\n 0.93034775234268, 0.96454515552826],\n [0.96009142950541, -1.91858953033784, -1.92018285901082,\n 0.92177618768381, 0.96009142950541],\n [0.95856916599601, -1.91542108074780, -1.91713833199203,\n 0.91885558323625, 0.95856916599601],\n [0.94597685600279, -1.88903307939452, -1.89195371200558,\n 0.89487434461664, 0.94597685600279]];\n\n\n /**\n * When calling this procedure, make sure that ip[-order] and op[-order]\n * point to real data\n */\n //private void filterYule(final float[] input, int inputPos, float[] output,\n //int outputPos, int nSamples, final float[] kernel) {\n function filterYule(input, inputPos, output, outputPos, nSamples, kernel) {\n\n while ((nSamples--) != 0) {\n /* 1e-10 is a hack to avoid slowdown because of denormals */\n output[outputPos] = 1e-10 + input[inputPos + 0] * kernel[0]\n - output[outputPos - 1] * kernel[1] + input[inputPos - 1]\n * kernel[2] - output[outputPos - 2] * kernel[3]\n + input[inputPos - 2] * kernel[4] - output[outputPos - 3]\n * kernel[5] + input[inputPos - 3] * kernel[6]\n - output[outputPos - 4] * kernel[7] + input[inputPos - 4]\n * kernel[8] - output[outputPos - 5] * kernel[9]\n + input[inputPos - 5] * kernel[10] - output[outputPos - 6]\n * kernel[11] + input[inputPos - 6] * kernel[12]\n - output[outputPos - 7] * kernel[13] + input[inputPos - 7]\n * kernel[14] - output[outputPos - 8] * kernel[15]\n + input[inputPos - 8] * kernel[16] - output[outputPos - 9]\n * kernel[17] + input[inputPos - 9] * kernel[18]\n - output[outputPos - 10] * kernel[19]\n + input[inputPos - 10] * kernel[20];\n ++outputPos;\n ++inputPos;\n }\n }\n\n//private void filterButter(final float[] input, int inputPos,\n// float[] output, int outputPos, int nSamples, final float[] kernel) {\n function filterButter(input, inputPos, output, outputPos, nSamples, kernel) {\n\n while ((nSamples--) != 0) {\n output[outputPos] = input[inputPos + 0] * kernel[0]\n - output[outputPos - 1] * kernel[1] + input[inputPos - 1]\n * kernel[2] - output[outputPos - 2] * kernel[3]\n + input[inputPos - 2] * kernel[4];\n ++outputPos;\n ++inputPos;\n }\n }\n\n /**\n * @return INIT_GAIN_ANALYSIS_OK if successful, INIT_GAIN_ANALYSIS_ERROR if\n * not\n */\n function ResetSampleFrequency(rgData, samplefreq) {\n /* zero out initial values */\n for (var i = 0; i < MAX_ORDER; i++)\n rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n\n switch (0 | (samplefreq)) {\n case 48000:\n rgData.reqindex = 0;\n break;\n case 44100:\n rgData.reqindex = 1;\n break;\n case 32000:\n rgData.reqindex = 2;\n break;\n case 24000:\n rgData.reqindex = 3;\n break;\n case 22050:\n rgData.reqindex = 4;\n break;\n case 16000:\n rgData.reqindex = 5;\n break;\n case 12000:\n rgData.reqindex = 6;\n break;\n case 11025:\n rgData.reqindex = 7;\n break;\n case 8000:\n rgData.reqindex = 8;\n break;\n default:\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n\n rgData.sampleWindow = 0 | ((samplefreq * RMS_WINDOW_TIME_NUMERATOR\n + RMS_WINDOW_TIME_DENOMINATOR - 1) / RMS_WINDOW_TIME_DENOMINATOR);\n\n rgData.lsum = 0.;\n rgData.rsum = 0.;\n rgData.totsamp = 0;\n\n Arrays.ill(rgData.A, 0);\n\n return INIT_GAIN_ANALYSIS_OK;\n }\n\n this.InitGainAnalysis = function (rgData, samplefreq) {\n if (ResetSampleFrequency(rgData, samplefreq) != INIT_GAIN_ANALYSIS_OK) {\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n\n rgData.linpre = MAX_ORDER;\n rgData.rinpre = MAX_ORDER;\n rgData.lstep = MAX_ORDER;\n rgData.rstep = MAX_ORDER;\n rgData.lout = MAX_ORDER;\n rgData.rout = MAX_ORDER;\n\n Arrays.fill(rgData.B, 0);\n\n return INIT_GAIN_ANALYSIS_OK;\n };\n\n /**\n * square\n */\n function fsqr(d) {\n return d * d;\n }\n\n this.AnalyzeSamples = function (rgData, left_samples, left_samplesPos, right_samples, right_samplesPos, num_samples,\n num_channels) {\n var curleft;\n var curleftBase;\n var curright;\n var currightBase;\n var batchsamples;\n var cursamples;\n var cursamplepos;\n\n if (num_samples == 0)\n return GAIN_ANALYSIS_OK;\n\n cursamplepos = 0;\n batchsamples = num_samples;\n\n switch (num_channels) {\n case 1:\n right_samples = left_samples;\n right_samplesPos = left_samplesPos;\n break;\n case 2:\n break;\n default:\n return GAIN_ANALYSIS_ERROR;\n }\n\n if (num_samples < MAX_ORDER) {\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER, num_samples);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER, num_samples);\n } else {\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER, MAX_ORDER);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER, MAX_ORDER);\n }\n\n while (batchsamples > 0) {\n cursamples = batchsamples > rgData.sampleWindow - rgData.totsamp ? rgData.sampleWindow\n - rgData.totsamp\n : batchsamples;\n if (cursamplepos < MAX_ORDER) {\n curleft = rgData.linpre + cursamplepos;\n curleftBase = rgData.linprebuf;\n curright = rgData.rinpre + cursamplepos;\n currightBase = rgData.rinprebuf;\n if (cursamples > MAX_ORDER - cursamplepos)\n cursamples = MAX_ORDER - cursamplepos;\n } else {\n curleft = left_samplesPos + cursamplepos;\n curleftBase = left_samples;\n curright = right_samplesPos + cursamplepos;\n currightBase = right_samples;\n }\n\n filterYule(curleftBase, curleft, rgData.lstepbuf, rgData.lstep\n + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n filterYule(currightBase, curright, rgData.rstepbuf, rgData.rstep\n + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n\n filterButter(rgData.lstepbuf, rgData.lstep + rgData.totsamp,\n rgData.loutbuf, rgData.lout + rgData.totsamp, cursamples,\n ABButter[rgData.reqindex]);\n filterButter(rgData.rstepbuf, rgData.rstep + rgData.totsamp,\n rgData.routbuf, rgData.rout + rgData.totsamp, cursamples,\n ABButter[rgData.reqindex]);\n\n curleft = rgData.lout + rgData.totsamp;\n /* Get the squared values */\n curleftBase = rgData.loutbuf;\n curright = rgData.rout + rgData.totsamp;\n currightBase = rgData.routbuf;\n\n var i = cursamples % 8;\n while ((i--) != 0) {\n rgData.lsum += fsqr(curleftBase[curleft++]);\n rgData.rsum += fsqr(currightBase[curright++]);\n }\n i = cursamples / 8;\n while ((i--) != 0) {\n rgData.lsum += fsqr(curleftBase[curleft + 0])\n + fsqr(curleftBase[curleft + 1])\n + fsqr(curleftBase[curleft + 2])\n + fsqr(curleftBase[curleft + 3])\n + fsqr(curleftBase[curleft + 4])\n + fsqr(curleftBase[curleft + 5])\n + fsqr(curleftBase[curleft + 6])\n + fsqr(curleftBase[curleft + 7]);\n curleft += 8;\n rgData.rsum += fsqr(currightBase[curright + 0])\n + fsqr(currightBase[curright + 1])\n + fsqr(currightBase[curright + 2])\n + fsqr(currightBase[curright + 3])\n + fsqr(currightBase[curright + 4])\n + fsqr(currightBase[curright + 5])\n + fsqr(currightBase[curright + 6])\n + fsqr(currightBase[curright + 7]);\n curright += 8;\n }\n\n batchsamples -= cursamples;\n cursamplepos += cursamples;\n rgData.totsamp += cursamples;\n if (rgData.totsamp == rgData.sampleWindow) {\n /* Get the Root Mean Square (RMS) for this set of samples */\n var val = GainAnalysis.STEPS_per_dB\n * 10.\n * Math.log10((rgData.lsum + rgData.rsum)\n / rgData.totsamp * 0.5 + 1.e-37);\n var ival = (val <= 0) ? 0 : 0 | val;\n if (ival >= rgData.A.length)\n ival = rgData.A.length - 1;\n rgData.A[ival]++;\n rgData.lsum = rgData.rsum = 0.;\n\n System.arraycopy(rgData.loutbuf, rgData.totsamp,\n rgData.loutbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.routbuf, rgData.totsamp,\n rgData.routbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.lstepbuf, rgData.totsamp,\n rgData.lstepbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.rstepbuf, rgData.totsamp,\n rgData.rstepbuf, 0, MAX_ORDER);\n rgData.totsamp = 0;\n }\n if (rgData.totsamp > rgData.sampleWindow) {\n /*\n * somehow I really screwed up: Error in programming! Contact\n * author about totsamp > sampleWindow\n */\n return GAIN_ANALYSIS_ERROR;\n }\n }\n if (num_samples < MAX_ORDER) {\n System.arraycopy(rgData.linprebuf, num_samples, rgData.linprebuf,\n 0, MAX_ORDER - num_samples);\n System.arraycopy(rgData.rinprebuf, num_samples, rgData.rinprebuf,\n 0, MAX_ORDER - num_samples);\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER - num_samples, num_samples);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER - num_samples, num_samples);\n } else {\n System.arraycopy(left_samples, left_samplesPos + num_samples\n - MAX_ORDER, rgData.linprebuf, 0, MAX_ORDER);\n System.arraycopy(right_samples, right_samplesPos + num_samples\n - MAX_ORDER, rgData.rinprebuf, 0, MAX_ORDER);\n }\n\n return GAIN_ANALYSIS_OK;\n };\n\n function analyzeResult(Array, len) {\n var i;\n\n var elems = 0;\n for (i = 0; i < len; i++)\n elems += Array[i];\n if (elems == 0)\n return GAIN_NOT_ENOUGH_SAMPLES;\n\n var upper = 0 | Math.ceil(elems * (1. - RMS_PERCENTILE));\n for (i = len; i-- > 0;) {\n if ((upper -= Array[i]) <= 0)\n break;\n }\n\n //return (float) ((float) PINK_REF - (float) i / (float) STEPS_per_dB);\n return (PINK_REF - i / GainAnalysis.STEPS_per_dB);\n }\n\n this.GetTitleGain = function (rgData) {\n var retval = analyzeResult(rgData.A, rgData.A.length);\n\n for (var i = 0; i < rgData.A.length; i++) {\n rgData.B[i] += rgData.A[i];\n rgData.A[i] = 0;\n }\n\n for (var i = 0; i < MAX_ORDER; i++)\n rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n\n rgData.totsamp = 0;\n rgData.lsum = rgData.rsum = 0.;\n return retval;\n }\n\n}\n\nmodule.exports = GainAnalysis;\n","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar defaults = {\n\tdefaultProtocol: 'http',\n\tevents: null,\n\tformat: noop,\n\tformatHref: noop,\n\tnl2br: false,\n\ttagName: 'a',\n\ttarget: typeToTarget,\n\tvalidate: true,\n\tignoreTags: [],\n\tattributes: null,\n\tclassName: 'linkified' // Deprecated value - no default class will be provided in the future\n};\n\nexports.defaults = defaults;\nexports.Options = Options;\nexports.contains = contains;\n\n\nfunction Options(opts) {\n\topts = opts || {};\n\n\tthis.defaultProtocol = opts.hasOwnProperty('defaultProtocol') ? opts.defaultProtocol : defaults.defaultProtocol;\n\tthis.events = opts.hasOwnProperty('events') ? opts.events : defaults.events;\n\tthis.format = opts.hasOwnProperty('format') ? opts.format : defaults.format;\n\tthis.formatHref = opts.hasOwnProperty('formatHref') ? opts.formatHref : defaults.formatHref;\n\tthis.nl2br = opts.hasOwnProperty('nl2br') ? opts.nl2br : defaults.nl2br;\n\tthis.tagName = opts.hasOwnProperty('tagName') ? opts.tagName : defaults.tagName;\n\tthis.target = opts.hasOwnProperty('target') ? opts.target : defaults.target;\n\tthis.validate = opts.hasOwnProperty('validate') ? opts.validate : defaults.validate;\n\tthis.ignoreTags = [];\n\n\t// linkAttributes and linkClass is deprecated\n\tthis.attributes = opts.attributes || opts.linkAttributes || defaults.attributes;\n\tthis.className = opts.hasOwnProperty('className') ? opts.className : opts.linkClass || defaults.className;\n\n\t// Make all tags names upper case\n\tvar ignoredTags = opts.hasOwnProperty('ignoreTags') ? opts.ignoreTags : defaults.ignoreTags;\n\tfor (var i = 0; i < ignoredTags.length; i++) {\n\t\tthis.ignoreTags.push(ignoredTags[i].toUpperCase());\n\t}\n}\n\nOptions.prototype = {\n\t/**\n * Given the token, return all options for how it should be displayed\n */\n\tresolve: function resolve(token) {\n\t\tvar href = token.toHref(this.defaultProtocol);\n\t\treturn {\n\t\t\tformatted: this.get('format', token.toString(), token),\n\t\t\tformattedHref: this.get('formatHref', href, token),\n\t\t\ttagName: this.get('tagName', href, token),\n\t\t\tclassName: this.get('className', href, token),\n\t\t\ttarget: this.get('target', href, token),\n\t\t\tevents: this.getObject('events', href, token),\n\t\t\tattributes: this.getObject('attributes', href, token)\n\t\t};\n\t},\n\n\n\t/**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options. By default,\n */\n\tcheck: function check(token) {\n\t\treturn this.get('validate', token.toString(), token);\n\t},\n\n\n\t// Private methods\n\n\t/**\n * Resolve an option's value based on the value of the option and the given\n * params.\n * @param {String} key Name of option to use\n * @param operator will be passed to the target option if it's method\n * @param {MultiToken} token The token from linkify.tokenize\n */\n\tget: function get(key, operator, token) {\n\t\tvar optionValue = void 0,\n\t\t option = this[key];\n\t\tif (!option) {\n\t\t\treturn option;\n\t\t}\n\n\t\tswitch (typeof option === 'undefined' ? 'undefined' : _typeof(option)) {\n\t\t\tcase 'function':\n\t\t\t\treturn option(operator, token.type);\n\t\t\tcase 'object':\n\t\t\t\toptionValue = option.hasOwnProperty(token.type) ? option[token.type] : defaults[key];\n\t\t\t\treturn typeof optionValue === 'function' ? optionValue(operator, token.type) : optionValue;\n\t\t}\n\n\t\treturn option;\n\t},\n\tgetObject: function getObject(key, operator, token) {\n\t\tvar option = this[key];\n\t\treturn typeof option === 'function' ? option(operator, token.type) : option;\n\t}\n};\n\n/**\n * Quick indexOf replacement for checking the ignoreTags option\n */\nfunction contains(arr, value) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (arr[i] === value) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction noop(val) {\n\treturn val;\n}\n\nfunction typeToTarget(href, type) {\n\treturn type === 'url' ? '_blank' : null;\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\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 getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","import listToStyles from './listToStyles'\n\nexport default function addStylesToShadowDOM (parentId, list, shadowRoot) {\n var styles = listToStyles(parentId, list)\n addStyles(styles, shadowRoot)\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nfunction addStyles (styles /* Array */, shadowRoot) {\n const injectedStyles =\n shadowRoot._injectedStyles ||\n (shadowRoot._injectedStyles = {})\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var style = injectedStyles[item.id]\n if (!style) {\n for (var j = 0; j < item.parts.length; j++) {\n addStyle(item.parts[j], shadowRoot)\n }\n injectedStyles[item.id] = true\n }\n }\n}\n\nfunction createStyleElement (shadowRoot) {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n shadowRoot.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */, shadowRoot) {\n var styleElement = createStyleElement(shadowRoot)\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-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\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\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++], props[key]);\n return O;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nfunction Presets() {\n function VBRPresets(qual, comp, compS,\n y, shThreshold, shThresholdS,\n adj, adjShort, lower,\n curve, sens, inter,\n joint, mod, fix) {\n this.vbr_q = qual;\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.expY = y;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.masking_adj = adj;\n this.masking_adj_short = adjShort;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.ath_sensitivity = sens;\n this.interch = inter;\n this.safejoint = joint;\n this.sfb21mod = mod;\n this.msfix = fix;\n }\n\n function ABRPresets(kbps, comp, compS,\n joint, fix, shThreshold,\n shThresholdS, bass, sc,\n mask, lower, curve,\n interCh, sfScale) {\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.safejoint = joint;\n this.nsmsfix = fix;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.nsbass = bass;\n this.scale = sc;\n this.masking_adj = mask;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.interch = interCh;\n this.sfscale = sfScale;\n }\n\n var lame;\n\n this.setModules = function (_lame) {\n lame = _lame;\n };\n\n /**\n *
\n     * Switch mappings for VBR mode VBR_RH\n     *             vbr_q  qcomp_l  qcomp_s  expY  st_lrm   st_s  mask adj_l  adj_s  ath_lower  ath_curve  ath_sens  interChR  safejoint sfb21mod  msfix\n     * 
\n */\n var vbr_old_switch_map = [\n new VBRPresets(0, 9, 9, 0, 5.20, 125.0, -4.2, -6.3, 4.8, 1, 0, 0, 2, 21, 0.97),\n new VBRPresets(1, 9, 9, 0, 5.30, 125.0, -3.6, -5.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 5.60, 125.0, -2.2, -3.5, 2.8, 2, 0, 0, 2, 21, 1.49),\n new VBRPresets(3, 9, 9, 1, 5.80, 130.0, -1.8, -2.8, 2.6, 3, -4, 0, 2, 20, 1.64),\n new VBRPresets(4, 9, 9, 1, 6.00, 135.0, -0.7, -1.1, 1.1, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 6.40, 140.0, 0.5, 0.4, -7.5, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 6.60, 145.0, 0.67, 0.65, -14.7, 6.5, -19, 0.0004, 0, 0, 2.30),\n new VBRPresets(7, 9, 9, 1, 6.60, 145.0, 0.8, 0.75, -19.7, 8, -22, 0.0006, 0, 0, 2.70),\n new VBRPresets(8, 9, 9, 1, 6.60, 145.0, 1.2, 1.15, -27.5, 10, -23, 0.0007, 0, 0, 0),\n new VBRPresets(9, 9, 9, 1, 6.60, 145.0, 1.6, 1.6, -36, 11, -25, 0.0008, 0, 0, 0),\n new VBRPresets(10, 9, 9, 1, 6.60, 145.0, 2.0, 2.0, -36, 12, -25, 0.0008, 0, 0, 0)\n ];\n\n /**\n *
\n     *                 vbr_q  qcomp_l  qcomp_s  expY  st_lrm   st_s  mask adj_l  adj_s  ath_lower  ath_curve  ath_sens  interChR  safejoint sfb21mod  msfix\n     * 
\n */\n var vbr_psy_switch_map = [\n new VBRPresets(0, 9, 9, 0, 4.20, 25.0, -7.0, -4.0, 7.5, 1, 0, 0, 2, 26, 0.97),\n new VBRPresets(1, 9, 9, 0, 4.20, 25.0, -5.6, -3.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 4.20, 25.0, -4.4, -1.8, 2, 2, 0, 0, 2, 18, 1.49),\n new VBRPresets(3, 9, 9, 1, 4.20, 25.0, -3.4, -1.25, 1.1, 3, -4, 0, 2, 15, 1.64),\n new VBRPresets(4, 9, 9, 1, 4.20, 25.0, -2.2, 0.1, 0, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 4.20, 25.0, -1.0, 1.65, -7.7, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 4.20, 25.0, -0.0, 2.47, -7.7, 6.5, -19, 0.0004, 0, 0, 2),\n new VBRPresets(7, 9, 9, 1, 4.20, 25.0, 0.5, 2.0, -14.5, 8, -22, 0.0006, 0, 0, 2),\n new VBRPresets(8, 9, 9, 1, 4.20, 25.0, 1.0, 2.4, -22.0, 10, -23, 0.0007, 0, 0, 2),\n new VBRPresets(9, 9, 9, 1, 4.20, 25.0, 1.5, 2.95, -30.0, 11, -25, 0.0008, 0, 0, 2),\n new VBRPresets(10, 9, 9, 1, 4.20, 25.0, 2.0, 2.95, -36.0, 12, -30, 0.0008, 0, 0, 2)\n ];\n\n function apply_vbr_preset(gfp, a, enforce) {\n var vbr_preset = gfp.VBR == VbrMode.vbr_rh ? vbr_old_switch_map\n : vbr_psy_switch_map;\n\n var x = gfp.VBR_q_frac;\n var p = vbr_preset[a];\n var q = vbr_preset[a + 1];\n var set = p;\n\n // NOOP(vbr_q);\n // NOOP(quant_comp);\n // NOOP(quant_comp_s);\n // NOOP(expY);\n p.st_lrm = p.st_lrm + x * (q.st_lrm - p.st_lrm);\n // LERP(st_lrm);\n p.st_s = p.st_s + x * (q.st_s - p.st_s);\n // LERP(st_s);\n p.masking_adj = p.masking_adj + x * (q.masking_adj - p.masking_adj);\n // LERP(masking_adj);\n p.masking_adj_short = p.masking_adj_short + x\n * (q.masking_adj_short - p.masking_adj_short);\n // LERP(masking_adj_short);\n p.ath_lower = p.ath_lower + x * (q.ath_lower - p.ath_lower);\n // LERP(ath_lower);\n p.ath_curve = p.ath_curve + x * (q.ath_curve - p.ath_curve);\n // LERP(ath_curve);\n p.ath_sensitivity = p.ath_sensitivity + x\n * (q.ath_sensitivity - p.ath_sensitivity);\n // LERP(ath_sensitivity);\n p.interch = p.interch + x * (q.interch - p.interch);\n // LERP(interch);\n // NOOP(safejoint);\n // NOOP(sfb21mod);\n p.msfix = p.msfix + x * (q.msfix - p.msfix);\n // LERP(msfix);\n\n lame_set_VBR_q(gfp, set.vbr_q);\n\n if (enforce != 0)\n gfp.quant_comp = set.quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0))\n gfp.quant_comp = set.quant_comp;\n // SET_OPTION(quant_comp, set.quant_comp, -1);\n if (enforce != 0)\n gfp.quant_comp_short = set.quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0))\n gfp.quant_comp_short = set.quant_comp_s;\n // SET_OPTION(quant_comp_short, set.quant_comp_s, -1);\n if (set.expY != 0) {\n gfp.experimentalY = set.expY != 0;\n }\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n // SET_OPTION(short_threshold_lrm, set.st_lrm, -1);\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n // SET_OPTION(short_threshold_s, set.st_s, -1);\n if (enforce != 0)\n gfp.maskingadjust = set.masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0))\n gfp.maskingadjust = set.masking_adj;\n // SET_OPTION(maskingadjust, set.masking_adj, 0);\n if (enforce != 0)\n gfp.maskingadjust_short = set.masking_adj_short;\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = set.masking_adj_short;\n // SET_OPTION(maskingadjust_short, set.masking_adj_short, 0);\n if (enforce != 0)\n gfp.ATHlower = -set.ath_lower / 10.0;\n else if (!(Math.abs((-gfp.ATHlower * 10.0) - 0) > 0))\n gfp.ATHlower = -set.ath_lower / 10.0;\n // SET_OPTION(ATHlower, set.ath_lower, 0);\n if (enforce != 0)\n gfp.ATHcurve = set.ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0))\n gfp.ATHcurve = set.ath_curve;\n // SET_OPTION(ATHcurve, set.ath_curve, -1);\n if (enforce != 0)\n gfp.athaa_sensitivity = set.ath_sensitivity;\n else if (!(Math.abs(gfp.athaa_sensitivity - -1) > 0))\n gfp.athaa_sensitivity = set.ath_sensitivity;\n // SET_OPTION(athaa_sensitivity, set.ath_sensitivity, 0);\n if (set.interch > 0) {\n if (enforce != 0)\n gfp.interChRatio = set.interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0))\n gfp.interChRatio = set.interch;\n // SET_OPTION(interChRatio, set.interch, -1);\n }\n\n /* parameters for which there is no proper set/get interface */\n if (set.safejoint > 0) {\n gfp.exp_nspsytune = gfp.exp_nspsytune | set.safejoint;\n }\n if (set.sfb21mod > 0) {\n gfp.exp_nspsytune = gfp.exp_nspsytune | (set.sfb21mod << 20);\n }\n if (enforce != 0)\n gfp.msfix = set.msfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0))\n gfp.msfix = set.msfix;\n // SET_OPTION(msfix, set.msfix, -1);\n\n if (enforce == 0) {\n gfp.VBR_q = a;\n gfp.VBR_q_frac = x;\n }\n }\n\n /**\n *
\n     *  Switch mappings for ABR mode\n     *\n     *              kbps  quant q_s safejoint nsmsfix st_lrm  st_s  ns-bass scale   msk ath_lwr ath_curve  interch , sfscale\n     * 
\n */\n var abr_switch_map = [\n new ABRPresets(8, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -30.0, 11, 0.0012, 1), /* 8, impossible to use in stereo */\n new ABRPresets(16, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -25.0, 11, 0.0010, 1), /* 16 */\n new ABRPresets(24, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -20.0, 11, 0.0010, 1), /* 24 */\n new ABRPresets(32, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -15.0, 11, 0.0010, 1), /* 32 */\n new ABRPresets(40, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10.0, 11, 0.0009, 1), /* 40 */\n new ABRPresets(48, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10.0, 11, 0.0009, 1), /* 48 */\n new ABRPresets(56, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -6.0, 11, 0.0008, 1), /* 56 */\n new ABRPresets(64, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -2.0, 11, 0.0008, 1), /* 64 */\n new ABRPresets(80, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, .0, 8, 0.0007, 1), /* 80 */\n new ABRPresets(96, 9, 9, 0, 2.50, 6.60, 145, 0, 0.95, 0, 1.0, 5.5, 0.0006, 1), /* 96 */\n new ABRPresets(112, 9, 9, 0, 2.25, 6.60, 145, 0, 0.95, 0, 2.0, 4.5, 0.0005, 1), /* 112 */\n new ABRPresets(128, 9, 9, 0, 1.95, 6.40, 140, 0, 0.95, 0, 3.0, 4, 0.0002, 1), /* 128 */\n new ABRPresets(160, 9, 9, 1, 1.79, 6.00, 135, 0, 0.95, -2, 5.0, 3.5, 0, 1), /* 160 */\n new ABRPresets(192, 9, 9, 1, 1.49, 5.60, 125, 0, 0.97, -4, 7.0, 3, 0, 0), /* 192 */\n new ABRPresets(224, 9, 9, 1, 1.25, 5.20, 125, 0, 0.98, -6, 9.0, 2, 0, 0), /* 224 */\n new ABRPresets(256, 9, 9, 1, 0.97, 5.20, 125, 0, 1.00, -8, 10.0, 1, 0, 0), /* 256 */\n new ABRPresets(320, 9, 9, 1, 0.90, 5.20, 125, 0, 1.00, -10, 12.0, 0, 0, 0) /* 320 */\n ];\n\n function apply_abr_preset(gfp, preset, enforce) {\n /* Variables for the ABR stuff */\n var actual_bitrate = preset;\n\n var r = lame.nearestBitrateFullIndex(preset);\n\n gfp.VBR = VbrMode.vbr_abr;\n gfp.VBR_mean_bitrate_kbps = actual_bitrate;\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 320);\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 8);\n gfp.brate = gfp.VBR_mean_bitrate_kbps;\n if (gfp.VBR_mean_bitrate_kbps > 320) {\n gfp.disable_reservoir = true;\n }\n\n /* parameters for which there is no proper set/get interface */\n if (abr_switch_map[r].safejoint > 0)\n gfp.exp_nspsytune = gfp.exp_nspsytune | 2;\n /* safejoint */\n\n if (abr_switch_map[r].sfscale > 0) {\n gfp.internal_flags.noise_shaping = 2;\n }\n /* ns-bass tweaks */\n if (Math.abs(abr_switch_map[r].nsbass) > 0) {\n var k = (int)(abr_switch_map[r].nsbass * 4);\n if (k < 0)\n k += 64;\n gfp.exp_nspsytune = gfp.exp_nspsytune | (k << 2);\n }\n\n if (enforce != 0)\n gfp.quant_comp = abr_switch_map[r].quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0))\n gfp.quant_comp = abr_switch_map[r].quant_comp;\n // SET_OPTION(quant_comp, abr_switch_map[r].quant_comp, -1);\n if (enforce != 0)\n gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0))\n gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n // SET_OPTION(quant_comp_short, abr_switch_map[r].quant_comp_s, -1);\n\n if (enforce != 0)\n gfp.msfix = abr_switch_map[r].nsmsfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0))\n gfp.msfix = abr_switch_map[r].nsmsfix;\n // SET_OPTION(msfix, abr_switch_map[r].nsmsfix, -1);\n\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n // SET_OPTION(short_threshold_lrm, abr_switch_map[r].st_lrm, -1);\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n // SET_OPTION(short_threshold_s, abr_switch_map[r].st_s, -1);\n\n /*\n * ABR seems to have big problems with clipping, especially at low\n * bitrates\n */\n /*\n * so we compensate for that here by using a scale value depending on\n * bitrate\n */\n if (enforce != 0)\n gfp.scale = abr_switch_map[r].scale;\n else if (!(Math.abs(gfp.scale - -1) > 0))\n gfp.scale = abr_switch_map[r].scale;\n // SET_OPTION(scale, abr_switch_map[r].scale, -1);\n\n if (enforce != 0)\n gfp.maskingadjust = abr_switch_map[r].masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0))\n gfp.maskingadjust = abr_switch_map[r].masking_adj;\n // SET_OPTION(maskingadjust, abr_switch_map[r].masking_adj, 0);\n if (abr_switch_map[r].masking_adj > 0) {\n if (enforce != 0)\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * .9);\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * .9);\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // .9, 0);\n } else {\n if (enforce != 0)\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * 1.1);\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * 1.1);\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // 1.1, 0);\n }\n\n if (enforce != 0)\n gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n else if (!(Math.abs((-gfp.ATHlower * 10.) - 0) > 0))\n gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n // SET_OPTION(ATHlower, abr_switch_map[r].ath_lower, 0);\n if (enforce != 0)\n gfp.ATHcurve = abr_switch_map[r].ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0))\n gfp.ATHcurve = abr_switch_map[r].ath_curve;\n // SET_OPTION(ATHcurve, abr_switch_map[r].ath_curve, -1);\n\n if (enforce != 0)\n gfp.interChRatio = abr_switch_map[r].interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0))\n gfp.interChRatio = abr_switch_map[r].interch;\n // SET_OPTION(interChRatio, abr_switch_map[r].interch, -1);\n\n return preset;\n }\n\n this.apply_preset = function(gfp, preset, enforce) {\n /* translate legacy presets */\n switch (preset) {\n case Lame.R3MIX:\n {\n preset = Lame.V3;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.MEDIUM:\n {\n preset = Lame.V4;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.MEDIUM_FAST:\n {\n preset = Lame.V4;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.STANDARD:\n {\n preset = Lame.V2;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.STANDARD_FAST:\n {\n preset = Lame.V2;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.EXTREME:\n {\n preset = Lame.V0;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.EXTREME_FAST:\n {\n preset = Lame.V0;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.INSANE:\n {\n preset = 320;\n gfp.preset = preset;\n apply_abr_preset(gfp, preset, enforce);\n gfp.VBR = VbrMode.vbr_off;\n return preset;\n }\n }\n\n gfp.preset = preset;\n {\n switch (preset) {\n case Lame.V9:\n apply_vbr_preset(gfp, 9, enforce);\n return preset;\n case Lame.V8:\n apply_vbr_preset(gfp, 8, enforce);\n return preset;\n case Lame.V7:\n apply_vbr_preset(gfp, 7, enforce);\n return preset;\n case Lame.V6:\n apply_vbr_preset(gfp, 6, enforce);\n return preset;\n case Lame.V5:\n apply_vbr_preset(gfp, 5, enforce);\n return preset;\n case Lame.V4:\n apply_vbr_preset(gfp, 4, enforce);\n return preset;\n case Lame.V3:\n apply_vbr_preset(gfp, 3, enforce);\n return preset;\n case Lame.V2:\n apply_vbr_preset(gfp, 2, enforce);\n return preset;\n case Lame.V1:\n apply_vbr_preset(gfp, 1, enforce);\n return preset;\n case Lame.V0:\n apply_vbr_preset(gfp, 0, enforce);\n return preset;\n default:\n break;\n }\n }\n if (8 <= preset && preset <= 320) {\n return apply_abr_preset(gfp, preset, enforce);\n }\n\n /* no corresponding preset found */\n gfp.preset = 0;\n return preset;\n }\n\n // Rest from getset.c:\n\n /**\n * VBR quality level.
\n * 0 = highest
\n * 9 = lowest\n */\n function lame_set_VBR_q(gfp, VBR_q) {\n var ret = 0;\n\n if (0 > VBR_q) {\n /* Unknown VBR quality level! */\n ret = -1;\n VBR_q = 0;\n }\n if (9 < VBR_q) {\n ret = -1;\n VBR_q = 9;\n }\n\n gfp.VBR_q = VBR_q;\n gfp.VBR_q_frac = 0;\n return ret;\n }\n\n}\n\nmodule.exports = Presets;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\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: toString(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","module.exports = {};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _multi = require('./tokens/multi');\n\nvar MULTI_TOKENS = _interopRequireWildcard(_multi);\n\nvar _text = require('./tokens/text');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/Email_address (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main parser\n*/\n\nvar makeState = function makeState(tokenClass) {\n\treturn new _state.TokenState(tokenClass);\n};\n\n// The universal starting state.\nvar S_START = makeState();\n\n// Intermediate states for URLs. Note that domains that begin with a protocol\n// are treated slighly differently from those that don't.\nvar S_PROTOCOL = makeState(); // e.g., 'http:'\nvar S_MAILTO = makeState(); // 'mailto:'\nvar S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''\nvar S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'\nvar S_DOMAIN = makeState(); // parsed string ends with a potential domain name (A)\nvar S_DOMAIN_DOT = makeState(); // (A) domain followed by DOT\nvar S_TLD = makeState(_multi.URL); // (A) Simplest possible URL with no query string\nvar S_TLD_COLON = makeState(); // (A) URL followed by colon (potential port number here)\nvar S_TLD_PORT = makeState(_multi.URL); // TLD followed by a port number\nvar S_URL = makeState(_multi.URL); // Long URL with optional port and maybe query string\nvar S_URL_NON_ACCEPTING = makeState(); // URL followed by some symbols (will not be part of the final URL)\nvar S_URL_OPENBRACE = makeState(); // URL followed by {\nvar S_URL_OPENBRACKET = makeState(); // URL followed by [\nvar S_URL_OPENANGLEBRACKET = makeState(); // URL followed by <\nvar S_URL_OPENPAREN = makeState(); // URL followed by (\nvar S_URL_OPENBRACE_Q = makeState(_multi.URL); // URL followed by { and some symbols that the URL can end it\nvar S_URL_OPENBRACKET_Q = makeState(_multi.URL); // URL followed by [ and some symbols that the URL can end it\nvar S_URL_OPENANGLEBRACKET_Q = makeState(_multi.URL); // URL followed by < and some symbols that the URL can end it\nvar S_URL_OPENPAREN_Q = makeState(_multi.URL); // URL followed by ( and some symbols that the URL can end it\nvar S_URL_OPENBRACE_SYMS = makeState(); // S_URL_OPENBRACE_Q followed by some symbols it cannot end it\nvar S_URL_OPENBRACKET_SYMS = makeState(); // S_URL_OPENBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENANGLEBRACKET_SYMS = makeState(); // S_URL_OPENANGLEBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENPAREN_SYMS = makeState(); // S_URL_OPENPAREN_Q followed by some symbols it cannot end it\nvar S_EMAIL_DOMAIN = makeState(); // parsed string starts with local email info + @ with a potential domain name (C)\nvar S_EMAIL_DOMAIN_DOT = makeState(); // (C) domain followed by DOT\nvar S_EMAIL = makeState(_multi.EMAIL); // (C) Possible email address (could have more tlds)\nvar S_EMAIL_COLON = makeState(); // (C) URL followed by colon (potential port number here)\nvar S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port\nvar S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)\nvar S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars\nvar S_LOCALPART = makeState(); // Local part of the email address\nvar S_LOCALPART_AT = makeState(); // Local part of the email address plus @\nvar S_LOCALPART_DOT = makeState(); // Local part of the email address plus '.' (localpart cannot end in .)\nvar S_NL = makeState(_multi.NL); // single new line\n\n// Make path from start to protocol (with '//')\nS_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);\n\nS_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL_SLASH.on(_text.SLASH, S_PROTOCOL_SLASH_SLASH);\n\n// The very first potential domain name\nS_START.on(_text.TLD, S_DOMAIN).on(_text.DOMAIN, S_DOMAIN).on(_text.LOCALHOST, S_TLD).on(_text.NUM, S_DOMAIN);\n\n// Force URL for protocol followed by anything sane\nS_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL);\n\n// Account for dots and hyphens\n// hyphens are usually parts of domain names\nS_DOMAIN.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL_DOMAIN.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Hyphen can jump back to a domain name\n\n// After the first domain and a dot, we can find either a URL or another domain\nS_DOMAIN_DOT.on(_text.TLD, S_TLD).on(_text.DOMAIN, S_DOMAIN).on(_text.NUM, S_DOMAIN).on(_text.LOCALHOST, S_DOMAIN);\n\nS_EMAIL_DOMAIN_DOT.on(_text.TLD, S_EMAIL).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.NUM, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL_DOMAIN);\n\n// S_TLD accepts! But the URL could be longer, try to find a match greedily\n// The `run` function should be able to \"rollback\" to the accepting state\nS_TLD.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Become real URLs after `SLASH` or `COLON NUM SLASH`\n// Here PSS and non-PSS converge\nS_TLD.on(_text.COLON, S_TLD_COLON).on(_text.SLASH, S_URL);\nS_TLD_COLON.on(_text.NUM, S_TLD_PORT);\nS_TLD_PORT.on(_text.SLASH, S_URL);\nS_EMAIL.on(_text.COLON, S_EMAIL_COLON);\nS_EMAIL_COLON.on(_text.NUM, S_EMAIL_PORT);\n\n// Types of characters the URL can definitely end in\nvar qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND];\n\n// Types of tokens that can follow a URL and be part of the query string\n// but cannot be the very last characters\n// Characters that cannot appear in the URL at all should be excluded\nvar qsNonAccepting = [_text.COLON, _text.DOT, _text.QUERY, _text.PUNCTUATION, _text.CLOSEBRACE, _text.CLOSEBRACKET, _text.CLOSEANGLEBRACKET, _text.CLOSEPAREN, _text.OPENBRACE, _text.OPENBRACKET, _text.OPENANGLEBRACKET, _text.OPENPAREN];\n\n// These states are responsible primarily for determining whether or not to\n// include the final round bracket.\n\n// URL, followed by an opening bracket\nS_URL.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// URL with extra symbols at the end, followed by an opening bracket\nS_URL_NON_ACCEPTING.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// Closing bracket component. This character WILL be included in the URL\nS_URL_OPENBRACE.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_Q.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_Q.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_Q.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_Q.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_SYMS.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_SYMS.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_SYMS.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_SYMS.on(_text.CLOSEPAREN, S_URL);\n\n// URL that beings with an opening bracket, followed by a symbols.\n// Note that the final state can still be `S_URL_OPENBRACE_Q` (if the URL only\n// has a single opening bracket for some reason).\nS_URL_OPENBRACE.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// URL that begins with an opening bracket, followed by some symbols\nS_URL_OPENBRACE_Q.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_Q.on(qsNonAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsNonAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsNonAccepting, S_URL_OPENPAREN_Q);\n\nS_URL_OPENBRACE_SYMS.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_SYMS.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_SYMS.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN_SYMS.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// Account for the query string\nS_URL.on(qsAccepting, S_URL);\nS_URL_NON_ACCEPTING.on(qsAccepting, S_URL);\n\nS_URL.on(qsNonAccepting, S_URL_NON_ACCEPTING);\nS_URL_NON_ACCEPTING.on(qsNonAccepting, S_URL_NON_ACCEPTING);\n\n// Email address-specific state definitions\n// Note: We are not allowing '/' in email addresses since this would interfere\n// with real URLs\n\n// For addresses with the mailto prefix\n// 'mailto:' followed by anything sane is a valid email\nS_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL);\n\n// Greedily get more potential valid email values\nS_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\nS_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\n\n// For addresses without the mailto prefix\n// Tokens allowed in the localpart of the email\nvar localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD];\n\n// Some of the tokens in `localpartAccepting` are already accounted for here and\n// will not be overwritten (don't worry)\nS_DOMAIN.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_TLD.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_DOMAIN_DOT.on(localpartAccepting, S_LOCALPART);\n\n// Okay we're on a localpart. Now what?\n// TODO: IP addresses and what if the email starts with numbers?\nS_LOCALPART.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT) // close to an email address now\n.on(_text.DOT, S_LOCALPART_DOT);\nS_LOCALPART_DOT.on(localpartAccepting, S_LOCALPART);\nS_LOCALPART_AT.on(_text.TLD, S_EMAIL_DOMAIN).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL);\n// States following `@` defined above\n\nvar run = function run(tokens) {\n\tvar len = tokens.length;\n\tvar cursor = 0;\n\tvar multis = [];\n\tvar textTokens = [];\n\n\twhile (cursor < len) {\n\t\tvar state = S_START;\n\t\tvar secondState = null;\n\t\tvar nextState = null;\n\t\tvar multiLength = 0;\n\t\tvar latestAccepting = null;\n\t\tvar sinceAccepts = -1;\n\n\t\twhile (cursor < len && !(secondState = state.next(tokens[cursor]))) {\n\t\t\t// Starting tokens with nowhere to jump to.\n\t\t\t// Consider these to be just plain text\n\t\t\ttextTokens.push(tokens[cursor++]);\n\t\t}\n\n\t\twhile (cursor < len && (nextState = secondState || state.next(tokens[cursor]))) {\n\n\t\t\t// Get the next state\n\t\t\tsecondState = null;\n\t\t\tstate = nextState;\n\n\t\t\t// Keep track of the latest accepting state\n\t\t\tif (state.accepts()) {\n\t\t\t\tsinceAccepts = 0;\n\t\t\t\tlatestAccepting = state;\n\t\t\t} else if (sinceAccepts >= 0) {\n\t\t\t\tsinceAccepts++;\n\t\t\t}\n\n\t\t\tcursor++;\n\t\t\tmultiLength++;\n\t\t}\n\n\t\tif (sinceAccepts < 0) {\n\n\t\t\t// No accepting state was found, part of a regular text token\n\t\t\t// Add all the tokens we looked at to the text tokens array\n\t\t\tfor (var i = cursor - multiLength; i < cursor; i++) {\n\t\t\t\ttextTokens.push(tokens[i]);\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Accepting state!\n\n\t\t\t// First close off the textTokens (if available)\n\t\t\tif (textTokens.length > 0) {\n\t\t\t\tmultis.push(new _multi.TEXT(textTokens));\n\t\t\t\ttextTokens = [];\n\t\t\t}\n\n\t\t\t// Roll back to the latest accepting state\n\t\t\tcursor -= sinceAccepts;\n\t\t\tmultiLength -= sinceAccepts;\n\n\t\t\t// Create a new multitoken\n\t\t\tvar MULTI = latestAccepting.emit();\n\t\t\tmultis.push(new MULTI(tokens.slice(cursor - multiLength, cursor)));\n\t\t}\n\t}\n\n\t// Finally close off the textTokens (if available)\n\tif (textTokens.length > 0) {\n\t\tmultis.push(new _multi.TEXT(textTokens));\n\t}\n\n\treturn multis;\n};\n\nexports.State = _state.TokenState;\nexports.TOKENS = MULTI_TOKENS;\nexports.run = run;\nexports.start = S_START;","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.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(it, '') : Object(it);\n} : Object;\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","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","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","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\n\n// `Array.prototype.some` method\n// https://tc39.es/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","\"use strict\";\n\nexports.__esModule = true;\nfunction createTokenClass() {\n\treturn function (value) {\n\t\tif (value) {\n\t\t\tthis.v = value;\n\t\t}\n\t};\n}\n\nexports.createTokenClass = createTokenClass;","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar isCallable = require('../internals/is-callable');\nvar userAgent = require('../internals/engine-user-agent');\nvar arraySlice = require('../internals/array-slice');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar Function = global.Function;\n\nvar wrap = function (scheduler) {\n return function (handler, timeout /* , ...arguments */) {\n var boundArgs = validateArgumentsLength(arguments.length, 1) > 2;\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = boundArgs ? arraySlice(arguments, 2) : undefined;\n return scheduler(boundArgs ? function () {\n apply(fn, this, args);\n } : fn, timeout);\n };\n};\n\n// ie9- setTimeout & setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\n$({ global: true, bind: true, forced: MSIE }, {\n // `setTimeout` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n setTimeout: wrap(global.setTimeout),\n // `setInterval` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n setInterval: wrap(global.setInterval)\n});\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\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 : aConstructor(S);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\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","'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","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar MeanBits = require('./MeanBits.js');\nvar Encoder = require('./Encoder.js');\nvar L3Side = require('./L3Side.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nfunction CBRNewIterationLoop(_quantize) {\n var quantize = _quantize;\n this.quantize = quantize;\n\tthis.iteration_loop = function(gfp, pe, ms_ener_ratio, ratio) {\n\t\tvar gfc = gfp.internal_flags;\n var l3_xmin = new_float(L3Side.SFBMAX);\n\t\tvar xrpow = new_float(576);\n\t\tvar targ_bits = new_int(2);\n\t\tvar mean_bits = 0, max_bits;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tvar mb = new MeanBits(mean_bits);\n\t\tthis.quantize.rv.ResvFrameBegin(gfp, mb);\n\t\tmean_bits = mb.bits;\n\n\t\t/* quantize! */\n\t\tfor (var gr = 0; gr < gfc.mode_gr; gr++) {\n\n\t\t\t/*\n\t\t\t * calculate needed bits\n\t\t\t */\n\t\t\tmax_bits = this.quantize.qupvt.on_pe(gfp, pe, targ_bits, mean_bits,\n\t\t\t\t\tgr, gr);\n\n\t\t\tif (gfc.mode_ext == Encoder.MPG_MD_MS_LR) {\n\t\t\t\tthis.quantize.ms_convert(gfc.l3_side, gr);\n\t\t\t\tthis.quantize.qupvt.reduce_side(targ_bits, ms_ener_ratio[gr],\n\t\t\t\t\t\tmean_bits, max_bits);\n\t\t\t}\n\n\t\t\tfor (var ch = 0; ch < gfc.channels_out; ch++) {\n\t\t\t\tvar adjust, masking_lower_db;\n\t\t\t\tvar cod_info = l3_side.tt[gr][ch];\n\n\t\t\t\tif (cod_info.block_type != Encoder.SHORT_TYPE) {\n\t\t\t\t\t// NORM, START or STOP type\n\t\t\t\t\tadjust = 0;\n\t\t\t\t\tmasking_lower_db = gfc.PSY.mask_adjust - adjust;\n\t\t\t\t} else {\n\t\t\t\t\tadjust = 0;\n\t\t\t\t\tmasking_lower_db = gfc.PSY.mask_adjust_short - adjust;\n\t\t\t\t}\n\t\t\t\tgfc.masking_lower = Math.pow(10.0,\n\t\t\t\t\t\tmasking_lower_db * 0.1);\n\n\t\t\t\t/*\n\t\t\t\t * init_outer_loop sets up cod_info, scalefac and xrpow\n\t\t\t\t */\n\t\t\t\tthis.quantize.init_outer_loop(gfc, cod_info);\n\t\t\t\tif (this.quantize.init_xrpow(gfc, cod_info, xrpow)) {\n\t\t\t\t\t/*\n\t\t\t\t\t * xr contains energy we will have to encode calculate the\n\t\t\t\t\t * masking abilities find some good quantization in\n\t\t\t\t\t * outer_loop\n\t\t\t\t\t */\n\t\t\t\t\tthis.quantize.qupvt.calc_xmin(gfp, ratio[gr][ch], cod_info,\n\t\t\t\t\t\t\tl3_xmin);\n\t\t\t\t\tthis.quantize.outer_loop(gfp, cod_info, l3_xmin, xrpow, ch,\n\t\t\t\t\t\t\ttarg_bits[ch]);\n\t\t\t\t}\n\n\t\t\t\tthis.quantize.iteration_finish_one(gfc, gr, ch);\n\t\t\t\tassert (cod_info.part2_3_length <= LameInternalFlags.MAX_BITS_PER_CHANNEL);\n\t\t\t\tassert (cod_info.part2_3_length <= targ_bits[ch]);\n\t\t\t} /* for ch */\n\t\t} /* for gr */\n\n\t\tthis.quantize.rv.ResvFrameEnd(gfc, mean_bits);\n\t}\n}\nmodule.exports = CBRNewIterationLoop;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".vac-fade-spinner-enter{opacity:0}.vac-fade-spinner-enter-active{transition:opacity .8s}.vac-fade-spinner-leave-active{transition:opacity .2s;opacity:0}.vac-fade-image-enter{opacity:0}.vac-fade-image-enter-active{transition:opacity 1s}.vac-fade-image-leave-active{transition:opacity .5s;opacity:0}.vac-fade-message-enter{opacity:0}.vac-fade-message-enter-active{transition:opacity .5s}.vac-fade-message-leave-active{transition:opacity .2s;opacity:0}.vac-slide-left-enter-active,.vac-slide-right-enter-active{transition:all .3s ease;transition-property:transform,opacity}.vac-slide-left-leave-active,.vac-slide-right-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)!important;transition-property:transform,opacity}.vac-slide-left-enter,.vac-slide-left-leave-to{transform:translateX(10px);opacity:0}.vac-slide-right-enter,.vac-slide-right-leave-to{transform:translateX(-10px);opacity:0}.vac-slide-up-enter-active{transition:all .3s ease}.vac-slide-up-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.vac-slide-up-enter,.vac-slide-up-leave-to{transform:translateY(10px);opacity:0}.vac-bounce-enter-active{-webkit-animation:vac-bounce-in .5s;animation:vac-bounce-in .5s}.vac-bounce-leave-active{animation:vac-bounce-in .3s reverse}@-webkit-keyframes vac-bounce-in{0%{transform:scale(0)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes vac-bounce-in{0%{transform:scale(0)}50%{transform:scale(1.05)}to{transform:scale(1)}}.vac-fade-preview-enter{opacity:0}.vac-fade-preview-enter-active{transition:opacity .1s}.vac-fade-preview-leave-active{transition:opacity .2s;opacity:0}.vac-bounce-preview-enter-active{-webkit-animation:vac-bounce-image-in .4s;animation:vac-bounce-image-in .4s}.vac-bounce-preview-leave-active{animation:vac-bounce-image-in .3s reverse}@-webkit-keyframes vac-bounce-image-in{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes vac-bounce-image-in{0%{transform:scale(.6)}to{transform:scale(1)}}.vac-menu-list{border-radius:4px;display:block;cursor:pointer;background:var(--chat-dropdown-bg-color);padding:6px 0}.vac-menu-list :hover{background:var(--chat-dropdown-bg-color-hover)}.vac-menu-list :hover,.vac-menu-list :not(:hover){transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-menu-item{align-items:center;display:flex;flex:1 1 100%;min-height:30px;padding:5px 16px;position:relative;white-space:nowrap;line-height:30px}.vac-menu-options{position:absolute;right:10px;top:20px;z-index:9999;min-width:150px;display:inline-block;border-radius:4px;font-size:14px;color:var(--chat-color);overflow-y:auto;overflow-x:hidden;contain:content;box-shadow:0 2px 2px -4px rgba(0,0,0,.1),0 2px 2px 1px rgba(0,0,0,.12),0 1px 8px 1px rgba(0,0,0,.12)}.vac-app-border{border:var(--chat-border-style)}.vac-app-border-t{border-top:var(--chat-border-style)}.vac-app-border-r{border-right:var(--chat-border-style)}.vac-app-border-b{border-bottom:var(--chat-border-style)}.vac-app-box-shadow{transition:all .5s;box-shadow:0 2px 2px -4px rgba(0,0,0,.1),0 2px 2px 1px rgba(0,0,0,.12),0 1px 8px 1px rgba(0,0,0,.12)}.vac-item-clickable{cursor:pointer}.vac-vertical-center{display:flex;align-items:center;height:100%}.vac-vertical-center .vac-vertical-container{width:100%;text-align:center}.vac-svg-button{max-height:30px;display:flex;cursor:pointer;transition:all .2s}.vac-svg-button:hover{transform:scale(1.1);opacity:.7}.vac-avatar{background-size:cover;background-position:50%;background-repeat:no-repeat;background-color:#ddd;height:42px;width:42px;min-height:42px;min-width:42px;margin-right:15px;border-radius:50%}.vac-blur-loading{filter:blur(3px)}.vac-badge-counter{height:13px;width:auto;min-width:13px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:3px;font-size:11px;font-weight:500}.vac-text-ellipsis{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-text-bold{font-weight:700}.vac-text-italic{font-style:italic}.vac-text-strike{text-decoration:line-through}.vac-text-underline{text-decoration:underline}.vac-text-inline-code{display:inline-block;color:var(--chat-markdown-color);margin:2px 0;padding:2px 3px}.vac-text-inline-code,.vac-text-multiline-code{font-size:12px;background:var(--chat-markdown-bg);border:1px solid var(--chat-markdown-border);border-radius:3px}.vac-text-multiline-code{display:block;color:var(--chat-markdown-color-multi);margin:4px 0;padding:7px}.vac-text-tag{color:var(--chat-message-color-tag);cursor:pointer}.vac-file-container{display:flex;align-content:center;justify-content:center;flex-wrap:wrap;text-align:center;background:var(--chat-bg-color-input);border:var(--chat-border-style-input);border-radius:4px;padding:10px}.vac-file-container svg{height:28px;width:28px}.vac-file-container .vac-text-extension{font-size:12px;color:var(--chat-message-color-file-extension);margin-top:-2px}.vac-card-window{width:100%;display:block;max-width:100%;background:var(--chat-content-bg-color);color:var(--chat-color);overflow-wrap:break-word;white-space:normal;border:var(--chat-container-border);border-radius:var(--chat-container-border-radius);box-shadow:var(--chat-container-box-shadow);-webkit-tap-highlight-color:transparent}.vac-card-window *{font-family:inherit}.vac-card-window a{color:#0d579c;font-weight:500}.vac-card-window .vac-chat-container{height:100%;display:flex}.vac-card-window .vac-chat-container input{min-width:10px}.vac-card-window .vac-chat-container input[type=search],.vac-card-window .vac-chat-container input[type=text],.vac-card-window .vac-chat-container textarea{-webkit-appearance:none}.vac-media-preview{position:fixed;top:0;left:0;z-index:99;width:100vw;height:100vh;display:flex;align-items:center;background-color:rgba(0,0,0,.8);outline:none}.vac-media-preview .vac-media-preview-container{height:calc(100% - 140px);width:calc(100% - 80px);padding:70px 40px;margin:0 auto}.vac-media-preview .vac-image-preview{width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}.vac-media-preview .vac-svg-button{position:absolute;top:30px;right:30px;transform:scale(1.4)}@media only screen and (max-width:768px){.vac-media-preview .vac-svg-button{top:20px;right:20px;transform:scale(1.2)}.vac-media-preview .vac-media-preview-container{width:calc(100% - 40px);padding:70px 20px}}.vac-col-messages{position:relative;height:100%;flex:1;overflow:hidden;display:flex;flex-flow:column}.vac-col-messages .vac-container-center{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.vac-col-messages .vac-room-empty{font-size:14px;color:#9ca6af;font-style:italic;line-height:20px;white-space:pre-line}.vac-col-messages .vac-room-empty div{padding:0 10%}.vac-col-messages .vac-container-scroll{background:var(--chat-content-bg-color);flex:1;overflow-y:auto;margin-right:1px;margin-top:60px;-webkit-overflow-scrolling:touch}.vac-col-messages .vac-container-scroll.vac-scroll-smooth{scroll-behavior:smooth}.vac-col-messages .vac-messages-container{padding:0 5px 5px}.vac-col-messages .vac-text-started{font-size:14px;color:var(--chat-message-color-started);font-style:italic;text-align:center;margin-top:30px;margin-bottom:20px}.vac-col-messages .vac-icon-scroll{position:absolute;bottom:80px;right:20px;padding:8px;background:var(--chat-bg-scroll-icon);border-radius:50%;box-shadow:0 1px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 2px 0 rgba(0,0,0,.12);display:flex;cursor:pointer;z-index:10}.vac-col-messages .vac-icon-scroll svg{height:25px;width:25px}.vac-col-messages .vac-messages-count{position:absolute;top:-8px;left:11px;background-color:var(--chat-message-bg-color-scroll-counter);color:var(--chat-message-color-scroll-counter)}.vac-col-messages .vac-messages-hidden{opacity:0}@media only screen and (max-width:768px){.vac-col-messages .vac-container-scroll{margin-top:50px}.vac-col-messages .vac-text-started{margin-top:20px}.vac-col-messages .vac-icon-scroll{bottom:70px}}.vac-room-header{position:absolute;display:flex;align-items:center;height:64px;width:100%;z-index:10;margin-right:1px;background:var(--chat-header-bg-color);border-top-right-radius:var(--chat-container-border-radius)}.vac-room-header .vac-room-wrapper{display:flex;align-items:center;min-width:0;height:100%;width:100%;padding:0 16px}.vac-room-header .vac-toggle-button{margin-right:15px}.vac-room-header .vac-toggle-button svg{height:26px;width:26px}.vac-room-header .vac-rotate-icon{transform:rotate(180deg)!important}.vac-room-header .vac-rotate-icon-init{transform:rotate(1turn)}.vac-room-header .vac-info-wrapper,.vac-room-header .vac-room-selection{display:flex;align-items:center;min-width:0;width:100%;height:100%}.vac-room-header .vac-room-selection .vac-selection-button{padding:8px 16px;color:var(--chat-color-button);background-color:var(--chat-bg-color-button);border-radius:4px;margin-right:10px;cursor:pointer;transition:all .2s}.vac-room-header .vac-room-selection .vac-selection-button:hover{opacity:.7}.vac-room-header .vac-room-selection .vac-selection-button:active{opacity:.9}.vac-room-header .vac-room-selection .vac-selection-button .vac-selection-button-count{margin-left:6px;opacity:.9}.vac-room-header .vac-room-selection .vac-selection-cancel{display:flex;align-items:center;margin-left:auto;white-space:nowrap;color:var(--chat-color-button-clear);transition:all .2s}.vac-room-header .vac-room-selection .vac-selection-cancel:hover{opacity:.7}.vac-room-header .vac-room-name{font-size:17px;font-weight:500;line-height:22px;color:var(--chat-header-color-name)}.vac-room-header .vac-room-info{font-size:13px;line-height:18px;color:var(--chat-header-color-info)}.vac-room-header .vac-room-options{margin-left:auto}@media only screen and (max-width:768px){.vac-room-header{height:50px}.vac-room-header .vac-room-wrapper{padding:0 10px}.vac-room-header .vac-room-name{font-size:16px;line-height:22px}.vac-room-header .vac-room-info{font-size:12px;line-height:16px}.vac-room-header .vac-avatar{height:37px;width:37px;min-height:37px;min-width:37px}}.vac-room-footer{width:100%;border-bottom-right-radius:4px;z-index:10}.vac-box-footer{display:flex;position:relative;background:var(--chat-footer-bg-color);padding:10px 8px 10px}.vac-textarea{height:20px;width:100%;line-height:20px;overflow:hidden;outline:0;resize:none;border-radius:20px;padding:12px 16px;box-sizing:content-box;font-size:16px;background:var(--chat-bg-color-input);color:var(--chat-color);caret-color:var(--chat-color-caret);border:var(--chat-border-style-input)}.vac-textarea::-moz-placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-textarea:-ms-input-placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-textarea::placeholder{color:var(--chat-color-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-textarea-outline{border:1px solid var(--chat-border-color-input-selected);box-shadow:inset 0 0 0 1px var(--chat-border-color-input-selected)}.vac-icon-textarea,.vac-icon-textarea-left{display:flex;align-items:center}.vac-icon-textarea-left .vac-wrapper,.vac-icon-textarea-left svg,.vac-icon-textarea .vac-wrapper,.vac-icon-textarea svg{margin:0 7px}.vac-icon-textarea{margin-left:5px}.vac-icon-textarea-left{display:flex;align-items:center;margin-right:5px}.vac-icon-textarea-left .vac-wrapper,.vac-icon-textarea-left svg{margin:0 7px}.vac-icon-textarea-left .vac-icon-microphone{fill:var(--chat-icon-color-microphone);margin:0 7px}.vac-icon-textarea-left .vac-dot-audio-record{height:15px;width:15px;border-radius:50%;background-color:var(--chat-message-bg-color-audio-record);-webkit-animation:vac-scaling .8s ease-in-out infinite alternate;animation:vac-scaling .8s ease-in-out infinite alternate}@-webkit-keyframes vac-scaling{0%{transform:scale(1);opacity:.4}to{transform:scale(1.1);opacity:1}}@keyframes vac-scaling{0%{transform:scale(1);opacity:.4}to{transform:scale(1.1);opacity:1}}.vac-icon-textarea-left .vac-dot-audio-record-time{font-size:16px;color:var(--chat-color);margin-left:8px;width:45px}.vac-icon-textarea-left .vac-icon-audio-confirm,.vac-icon-textarea-left .vac-icon-audio-confirm svg,.vac-icon-textarea-left .vac-icon-audio-stop,.vac-icon-textarea-left .vac-icon-audio-stop svg{min-height:28px;min-width:28px}.vac-icon-textarea-left .vac-icon-audio-stop{margin-right:20px}.vac-icon-textarea-left .vac-icon-audio-stop #vac-icon-close-outline{fill:var(--chat-icon-color-audio-cancel)}.vac-icon-textarea-left .vac-icon-audio-confirm{margin-right:3px;margin-left:12px}.vac-icon-textarea-left .vac-icon-audio-confirm #vac-icon-checkmark{fill:var(--chat-icon-color-audio-confirm)}.vac-send-disabled,.vac-send-disabled svg{cursor:none!important;pointer-events:none!important;transform:none!important}@media only screen and (max-width:768px){.vac-room-footer{width:100%}.vac-box-footer{padding:7px 2px 7px 7px}.vac-box-footer.vac-box-footer-border{border-top:var(--chat-border-style-input)}.vac-textarea{padding:7px;line-height:18px}.vac-textarea::-moz-placeholder{color:transparent}.vac-textarea:-ms-input-placeholder{color:transparent}.vac-textarea::placeholder{color:transparent}.vac-icon-textarea-left .vac-wrapper,.vac-icon-textarea-left svg,.vac-icon-textarea .vac-wrapper,.vac-icon-textarea svg{margin:0 5px!important}}.vac-emojis-container{width:calc(100% - 16px);padding:10px 8px;background:var(--chat-footer-bg-color);display:flex;align-items:center;overflow:auto}.vac-emojis-container .vac-emoji-element{padding:0 8px;font-size:30px;border-radius:4px;cursor:pointer;background:var(--chat-footer-bg-color-tag);transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-emojis-container .vac-emoji-element-active{background:var(--chat-footer-bg-color-tag-active)}@media only screen and (max-width:768px){.vac-emojis-container{width:calc(100% - 10px);padding:7px 5px}.vac-emojis-container .vac-emoji-element{padding:0 7px;font-size:26px}}.vac-reply-container{display:flex;padding:10px 10px 0 10px;background:var(--chat-footer-bg-color);align-items:center;width:calc(100% - 20px)}.vac-reply-container .vac-reply-box{width:100%;overflow:hidden;background:var(--chat-footer-bg-color-reply);border-radius:4px;padding:8px 10px}.vac-reply-container .vac-reply-info{overflow:hidden}.vac-reply-container .vac-reply-username{color:var(--chat-message-color-reply-username);font-size:12px;line-height:15px;margin-bottom:2px}.vac-reply-container .vac-reply-content{font-size:12px;color:var(--chat-message-color-reply-content);white-space:pre-line}.vac-reply-container .vac-icon-reply{margin-left:10px}.vac-reply-container .vac-icon-reply svg{height:20px;width:20px}.vac-reply-container .vac-image-reply{max-height:100px;max-width:200px;margin:4px 10px 0 0;border-radius:4px}.vac-reply-container .vac-audio-reply{margin-right:10px}.vac-reply-container .vac-file-container{max-width:80px}@media only screen and (max-width:768px){.vac-reply-container{padding:5px 8px;width:calc(100% - 16px)}}.vac-room-files-container{display:flex;align-items:center;padding:10px 6px 0 6px;background:var(--chat-footer-bg-color)}.vac-room-files-container .vac-files-box{display:flex;overflow:auto;width:calc(100% - 30px)}.vac-room-files-container video{height:100px;border:var(--chat-border-style-input);border-radius:4px}.vac-room-files-container .vac-icon-close{margin-left:auto}.vac-room-files-container .vac-icon-close svg{height:20px;width:20px}@media only screen and (max-width:768px){.vac-files-container{padding:6px 4px 4px 2px}}.vac-room-file-container{display:flex;position:relative;margin:0 4px}.vac-room-file-container .vac-message-image{position:relative;background-color:var(--chat-message-bg-color-image)!important;background-size:cover!important;background-position:50%!important;background-repeat:no-repeat!important;height:100px;width:100px;border:var(--chat-border-style-input);border-radius:4px}.vac-room-file-container .vac-file-container{height:80px;width:80px}.vac-room-file-container .vac-icon-remove{position:absolute;top:6px;left:6px;z-index:10}.vac-room-file-container .vac-icon-remove svg{height:20px;width:20px;border-radius:50%}.vac-room-file-container .vac-icon-remove:before{content:\\\" \\\";position:absolute;width:100%;height:100%;background:rgba(0,0,0,.5);border-radius:50%;z-index:-1}.vac-tags-container{display:flex;flex-direction:column;align-items:center;width:100%}.vac-tags-container .vac-tags-box{display:flex;width:100%;height:54px;overflow:hidden;cursor:pointer;background:var(--chat-footer-bg-color-tag);transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-tags-container .vac-tags-box-active{background:var(--chat-footer-bg-color-tag-active)}.vac-tags-container .vac-tags-info{display:flex;overflow:hidden;padding:0 20px;align-items:center}.vac-tags-container .vac-tags-avatar{height:34px;width:34px;min-height:34px;min-width:34px}.vac-tags-container .vac-tags-username{font-size:14px}@media only screen and (max-width:768px){.vac-tags-container .vac-tags-box{height:50px}.vac-tags-container .vac-tags-info{padding:0 12px}}.vac-template-container{display:flex;flex-direction:column;align-items:center;width:100%}.vac-template-container .vac-template-box{display:flex;width:100%;height:54px;overflow:hidden;cursor:pointer;background:var(--chat-footer-bg-color-tag);transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-template-container .vac-template-active{background:var(--chat-footer-bg-color-tag-active)}.vac-template-container .vac-template-info{display:flex;overflow:hidden;padding:0 20px;align-items:center}.vac-template-container .vac-template-tag{font-size:14px;font-weight:700;margin-right:10px}.vac-template-container .vac-template-text{font-size:14px}@media only screen and (max-width:768px){.vac-template-container .vac-template-box{height:50px}.vac-template-container .vac-template-info{padding:0 12px}}.vac-rooms-container{display:flex;flex-flow:column;flex:0 0 25%;min-width:260px;max-width:500px;position:relative;background:var(--chat-sidemenu-bg-color);height:100%;border-top-left-radius:var(--chat-container-border-radius);border-bottom-left-radius:var(--chat-container-border-radius)}.vac-rooms-container.vac-rooms-container-full{flex:0 0 100%;max-width:100%}.vac-rooms-container .vac-rooms-empty{font-size:14px;color:#9ca6af;font-style:italic;text-align:center;margin:40px 0;line-height:20px;white-space:pre-line}.vac-rooms-container .vac-room-list{flex:1;position:relative;max-width:100%;cursor:pointer;padding:0 10px 5px;overflow-y:auto}.vac-rooms-container .vac-room-item{border-radius:8px;align-items:center;display:flex;flex:1 1 100%;margin-bottom:5px;padding:0 14px;position:relative;min-height:71px;transition:background-color .3s cubic-bezier(.25,.8,.5,1)}.vac-rooms-container .vac-room-item:hover{background:var(--chat-sidemenu-bg-color-hover)}.vac-rooms-container .vac-room-selected{color:var(--chat-sidemenu-color-active)!important}.vac-rooms-container .vac-room-selected,.vac-rooms-container .vac-room-selected:hover{background:var(--chat-sidemenu-bg-color-active)!important}@media only screen and (max-width:768px){.vac-rooms-container .vac-room-list{padding:0 7px 5px}.vac-rooms-container .vac-room-item{min-height:60px;padding:0 8px}}.vac-room-container{display:flex;flex:1;align-items:center;width:100%}.vac-room-container .vac-name-container{flex:1}.vac-room-container .vac-title-container{display:flex;align-items:center;line-height:25px}.vac-room-container .vac-state-circle{width:9px;height:9px;border-radius:50%;background-color:var(--chat-room-color-offline);margin-right:6px;transition:.3s}.vac-room-container .vac-state-online{background-color:var(--chat-room-color-online)}.vac-room-container .vac-room-name{flex:1;color:var(--chat-room-color-username);font-weight:500}.vac-room-container .vac-text-date{margin-left:5px;font-size:11px;color:var(--chat-room-color-timestamp)}.vac-room-container .vac-text-last{display:flex;align-items:center;font-size:12px;line-height:19px;color:var(--chat-room-color-message)}.vac-room-container .vac-message-new{color:var(--chat-room-color-username);font-weight:500}.vac-room-container .vac-icon-check{display:flex;vertical-align:middle;height:14px;width:14px;margin-top:-2px;margin-right:2px}.vac-room-container .vac-icon-microphone{height:15px;width:15px;vertical-align:middle;margin:-3px 1px 0 -2px;fill:var(--chat-room-color-message)}.vac-room-container .vac-room-options-container{display:flex;margin-left:auto}.vac-room-container .vac-room-badge{background-color:var(--chat-room-bg-color-badge);color:var(--chat-room-color-badge);margin-left:5px}.vac-room-container .vac-list-room-options{height:19px;width:19px;align-items:center;margin-left:5px}.vac-box-empty{margin-top:10px}@media only screen and (max-width:768px){.vac-box-empty{margin-top:7px}}.vac-box-search{position:-webkit-sticky;position:sticky;display:flex;align-items:center;height:64px;padding:0 15px}.vac-box-search .vac-icon-search{display:flex;position:absolute;left:30px}.vac-box-search .vac-icon-search svg{width:18px;height:18px}.vac-box-search .vac-input{height:38px;width:100%;background:var(--chat-bg-color-input);color:var(--chat-color);border-radius:4px;font-size:15px;outline:0;caret-color:var(--chat-color-caret);padding:10px 10px 10px 40px;border:1px solid var(--chat-sidemenu-border-color-search);border-radius:20px}.vac-box-search .vac-input::-moz-placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-input:-ms-input-placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-input::placeholder{color:var(--chat-color-placeholder)}.vac-box-search .vac-add-icon{margin-left:auto;padding-left:10px}@media only screen and (max-width:768px){.vac-box-search{height:58px}}.vac-message-wrapper .vac-card-info{border-radius:4px;text-align:center;margin:10px auto;font-size:12px;padding:4px;display:block;overflow-wrap:break-word;position:relative;white-space:normal;box-shadow:0 1px 1px -1px rgba(0,0,0,.1),0 1px 1px -1px rgba(0,0,0,.11),0 1px 2px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-card-date{max-width:150px;font-weight:500;text-transform:uppercase;color:var(--chat-message-color-date);background-color:var(--chat-message-bg-color-date)}.vac-message-wrapper .vac-card-system{max-width:250px;padding:8px 4px;color:var(--chat-message-color-system);background-color:var(--chat-message-bg-color-system)}.vac-message-wrapper .vac-line-new{color:var(--chat-message-color-new-messages);position:relative;text-align:center;font-size:13px;padding:10px 0}.vac-message-wrapper .vac-line-new:after,.vac-message-wrapper .vac-line-new:before{border-top:1px solid var(--chat-message-color-new-messages);content:\\\"\\\";left:0;position:absolute;top:50%;width:calc(50% - 60px)}.vac-message-wrapper .vac-line-new:before{left:auto;right:0}.vac-message-wrapper .vac-message-box{display:flex;flex:0 0 50%;max-width:50%;justify-content:flex-start;line-height:1.4}.vac-message-wrapper .vac-avatar{height:28px;width:28px;min-height:28px;min-width:28px;margin:0 0 2px 0;align-self:flex-end}.vac-message-wrapper .vac-avatar-current-offset{margin-right:28px}.vac-message-wrapper .vac-avatar-offset{margin-left:28px}.vac-message-wrapper .vac-failure-container{position:relative;align-self:flex-end;height:20px;width:20px;margin:0 0 2px -4px;border-radius:50%;background-color:#f44336}.vac-message-wrapper .vac-failure-container.vac-failure-container-avatar{margin-right:6px}.vac-message-wrapper .vac-failure-container .vac-failure-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:15px;font-weight:700}.vac-message-wrapper .vac-message-container{position:relative;padding:2px 10px;align-items:end;min-width:100px;box-sizing:content-box}.vac-message-wrapper .vac-message-container-offset{margin-top:10px}.vac-message-wrapper .vac-offset-current{margin-left:50%;justify-content:flex-end}.vac-message-wrapper .vac-message-card{background-color:var(--chat-message-bg-color);color:var(--chat-message-color);border-radius:8px;font-size:14px;padding:6px 9px 3px;white-space:pre-line;max-width:100%;transition-property:box-shadow,opacity;transition:box-shadow .28s cubic-bezier(.4,0,.2,1);will-change:box-shadow;box-shadow:0 1px 1px -1px rgba(0,0,0,.1),0 1px 1px -1px rgba(0,0,0,.11),0 1px 2px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-message-highlight{box-shadow:0 1px 2px -1px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.11),0 1px 5px -1px rgba(0,0,0,.11)}.vac-message-wrapper .vac-message-current{background-color:var(--chat-message-bg-color-me)!important}.vac-message-wrapper .vac-message-deleted{color:var(--chat-message-color-deleted)!important;font-size:13px!important;font-style:italic!important;background-color:var(--chat-message-bg-color-deleted)!important}.vac-message-wrapper .vac-message-selected{background-color:var(--chat-message-bg-color-selected)!important;transition:background-color .2s}.vac-message-wrapper .vac-icon-deleted{height:14px;width:14px;vertical-align:middle;margin:-2px 2px 0 0;fill:var(--chat-message-color-deleted)}.vac-message-wrapper .vac-message-image{position:relative;background-color:var(--chat-message-bg-color-image)!important;background-size:cover!important;background-position:50%!important;background-repeat:no-repeat!important;height:250px;width:250px;max-width:100%;border-radius:4px;margin:4px auto 5px;transition:filter .4s linear}.vac-message-wrapper .vac-text-username{font-size:13px;color:var(--chat-message-color-username);margin-bottom:2px}.vac-message-wrapper .vac-username-reply{margin-bottom:5px}.vac-message-wrapper .vac-text-timestamp{font-size:10px;color:var(--chat-message-color-timestamp);text-align:right}.vac-message-wrapper .vac-progress-time{float:left;margin:-2px 0 0 40px;color:var(--chat-color);font-size:12px}.vac-message-wrapper .vac-icon-edited{align-items:center;display:inline-flex;justify-content:center;letter-spacing:normal;line-height:1;text-indent:0;vertical-align:middle;margin:0 4px 2px}.vac-message-wrapper .vac-icon-edited svg{height:12px;width:12px}.vac-message-wrapper .vac-icon-check{height:14px;width:14px;vertical-align:middle;margin:-3px -3px 0 3px}@media only screen and (max-width:768px){.vac-message-wrapper .vac-message-container{padding:2px 3px 1px}.vac-message-wrapper .vac-message-container-offset{margin-top:10px}.vac-message-wrapper .vac-message-box{flex:0 0 80%;max-width:80%}.vac-message-wrapper .vac-avatar{height:25px;width:25px;min-height:25px;min-width:25px;margin:0 6px 1px 0}.vac-message-wrapper .vac-avatar.vac-avatar-current{margin:0 0 1px 6px}.vac-message-wrapper .vac-avatar-current-offset{margin-right:31px}.vac-message-wrapper .vac-avatar-offset{margin-left:31px}.vac-message-wrapper .vac-failure-container{margin-left:2px}.vac-message-wrapper .vac-failure-container.vac-failure-container-avatar{margin-right:0}.vac-message-wrapper .vac-offset-current{margin-left:20%}.vac-message-wrapper .vac-progress-time{margin-left:37px}}.vac-audio-player{display:flex;margin:8px 0 5px}.vac-audio-player .vac-svg-button{max-width:18px;margin-left:7px}@media only screen and (max-width:768px){.vac-audio-player{margin:4px 0 0}.vac-audio-player .vac-svg-button{max-width:16px;margin-left:5px}}.vac-player-bar{display:flex;align-items:center;max-width:calc(100% - 18px);margin-right:7px;margin-left:20px}.vac-player-bar .vac-player-progress{width:190px}.vac-player-bar .vac-player-progress .vac-line-container{position:relative;height:4px;border-radius:5px;background-color:var(--chat-message-bg-color-audio-line)}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-progress{position:absolute;height:inherit;background-color:var(--chat-message-bg-color-audio-progress);border-radius:inherit}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot{position:absolute;top:-5px;margin-left:-7px;height:14px;width:14px;border-radius:50%;background-color:var(--chat-message-bg-color-audio-progress-selector);transition:transform .25s}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot__active{transform:scale(1.2)}@media only screen and (max-width:768px){.vac-player-bar{margin-right:5px}.vac-player-bar .vac-player-progress .vac-line-container{height:3px}.vac-player-bar .vac-player-progress .vac-line-container .vac-line-dot{height:12px;width:12px;top:-5px;margin-left:-5px}}.vac-message-actions-wrapper .vac-options-container{position:absolute;top:2px;right:10px;height:40px;width:70px;overflow:hidden;border-top-right-radius:8px}.vac-message-actions-wrapper .vac-blur-container{position:absolute;height:100%;width:100%;left:8px;bottom:10px;background:var(--chat-message-bg-color);filter:blur(3px);border-bottom-left-radius:8px}.vac-message-actions-wrapper .vac-options-me{background:var(--chat-message-bg-color-me)}.vac-message-actions-wrapper .vac-message-options{background:var(--chat-icon-bg-dropdown-message);border-radius:50%;position:absolute;top:7px;right:7px}.vac-message-actions-wrapper .vac-message-options svg{height:17px;width:17px;padding:5px;margin:-5px}.vac-message-actions-wrapper .vac-message-emojis{position:absolute;top:6px;right:30px}.vac-message-actions-wrapper .vac-menu-options{right:15px}.vac-message-actions-wrapper .vac-menu-left{right:-118px}@media only screen and (max-width:768px){.vac-message-actions-wrapper .vac-options-container{right:3px}.vac-message-actions-wrapper .vac-menu-left{right:-50px}}.vac-message-files-container .vac-file-wrapper{position:relative;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.vac-message-files-container .vac-file-wrapper .vac-file-container{height:60px;width:60px;margin:3px 0 5px;cursor:pointer;transition:all .6s}.vac-message-files-container .vac-file-wrapper .vac-file-container:hover{opacity:.85}.vac-message-files-container .vac-file-wrapper .vac-file-container svg{height:30px;width:30px}.vac-message-files-container .vac-file-wrapper .vac-file-container.vac-file-container-progress{background-color:rgba(0,0,0,.3)}.vac-message-file-container{position:relative;z-index:0}.vac-message-file-container .vac-message-image-container{cursor:pointer}.vac-message-file-container .vac-image-buttons{position:absolute;width:100%;height:100%;border-radius:4px;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.02) 60%,rgba(0,0,0,.05) 65%,rgba(0,0,0,.1) 70%,rgba(0,0,0,.2) 75%,rgba(0,0,0,.3) 80%,rgba(0,0,0,.5) 85%,rgba(0,0,0,.6) 90%,rgba(0,0,0,.7) 95%,rgba(0,0,0,.8))}.vac-message-file-container .vac-image-buttons svg{height:26px;width:26px}.vac-message-file-container .vac-image-buttons .vac-button-download,.vac-message-file-container .vac-image-buttons .vac-button-view{position:absolute;bottom:6px;left:7px}.vac-message-file-container .vac-image-buttons :first-child{left:40px}.vac-message-file-container .vac-image-buttons .vac-button-view{max-width:18px;bottom:8px}.vac-message-file-container .vac-video-container{width:350px;max-width:100%;margin:4px auto 5px;cursor:pointer}.vac-message-file-container .vac-video-container video{border-radius:4px}.vac-button-reaction{display:inline-flex;align-items:center;border:var(--chat-message-border-style-reaction);outline:none;background:var(--chat-message-bg-color-reaction);border-radius:4px;margin:4px 2px 0;transition:.3s;padding:0 5px;font-size:18px;line-height:23px}.vac-button-reaction span{font-size:11px;font-weight:500;min-width:7px;color:var(--chat-message-color-reaction-counter)}.vac-button-reaction:hover{border:var(--chat-message-border-style-reaction-hover);background:var(--chat-message-bg-color-reaction-hover);cursor:pointer}.vac-button-reaction.vac-reaction-me{border:var(--chat-message-border-style-reaction-me);background:var(--chat-message-bg-color-reaction-me)}.vac-button-reaction.vac-reaction-me span{color:var(--chat-message-color-reaction-counter-me)}.vac-button-reaction.vac-reaction-me:hover{border:var(--chat-message-border-style-reaction-hover-me);background:var(--chat-message-bg-color-reaction-hover-me)}.vac-reply-message{background:var(--chat-message-bg-color-reply);border-radius:4px;margin:-1px -5px 8px;padding:8px 10px}.vac-reply-message .vac-reply-username{color:var(--chat-message-color-reply-username);font-size:12px;line-height:15px;margin-bottom:2px}.vac-reply-message .vac-image-reply-container{width:70px}.vac-reply-message .vac-image-reply-container .vac-message-image-reply{height:70px;width:70px;margin:4px auto 3px}.vac-reply-message .vac-video-reply-container{width:200px;max-width:100%}.vac-reply-message .vac-video-reply-container video{border-radius:4px}.vac-reply-message .vac-reply-content{font-size:12px;color:var(--chat-message-color-reply-content)}.vac-reply-message .vac-file-container{height:60px;width:60px}.vac-emoji-wrapper{position:relative;display:flex}.vac-emoji-wrapper .vac-emoji-reaction svg{height:19px;width:19px}.vac-emoji-wrapper .vac-emoji-picker{position:absolute;z-index:9999;bottom:32px;right:10px;width:300px;padding-top:4px;overflow:scroll;box-sizing:border-box;border-radius:.5rem;background:var(--chat-emoji-bg-color);box-shadow:0 1px 2px -2px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1),0 1px 2px 1px rgba(0,0,0,.1);scrollbar-width:none}.vac-emoji-wrapper .vac-emoji-picker::-webkit-scrollbar{display:none}.vac-emoji-wrapper .vac-emoji-picker.vac-picker-reaction{position:fixed;top:auto;right:auto}.vac-emoji-wrapper .vac-emoji-picker emoji-picker{height:100%;width:100%;--emoji-size:1.2rem;--background:var(--chat-emoji-bg-color);--emoji-padding:0.4rem;--border-color:var(--chat-sidemenu-border-color-search);--button-hover-background:var(--chat-sidemenu-bg-color-hover);--button-active-background:var(--chat-sidemenu-bg-color-hover)}.vac-format-message-wrapper .vac-format-container{display:inline}.vac-format-message-wrapper .vac-icon-deleted{height:14px;width:14px;vertical-align:middle;margin:-3px 1px 0 0;fill:var(--chat-room-color-message)}.vac-format-message-wrapper .vac-image-link-container{background-color:var(--chat-message-bg-color-media);padding:8px;margin:2px auto;border-radius:4px}.vac-format-message-wrapper .vac-image-link{position:relative;background-color:var(--chat-message-bg-color-image)!important;background-size:contain;background-position:50%!important;background-repeat:no-repeat!important;height:150px;width:150px;max-width:100%;border-radius:4px;margin:0 auto}.vac-format-message-wrapper .vac-image-link-message{max-width:166px;font-size:12px}.vac-loader-wrapper.vac-container-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9}.vac-loader-wrapper.vac-container-top{padding:21px}.vac-loader-wrapper.vac-container-top #vac-circle{height:20px;width:20px}.vac-loader-wrapper #vac-circle{margin:auto;height:28px;width:28px;border:3px solid rgba(0,0,0,.25);border-top:3px var(--chat-color-spinner) solid;border-right:3px var(--chat-color-spinner) solid;border-bottom:3px var(--chat-color-spinner) solid;border-radius:50%;-webkit-animation:vac-spin 1s linear infinite;animation:vac-spin 1s linear infinite}@media only screen and (max-width:768px){.vac-loader-wrapper #vac-circle{height:24px;width:24px}.vac-loader-wrapper.vac-container-top{padding:18px}.vac-loader-wrapper.vac-container-top #vac-circle{height:16px;width:16px}}@-webkit-keyframes vac-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes vac-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}#vac-icon-search{fill:var(--chat-icon-color-search)}#vac-icon-add{fill:var(--chat-icon-color-add)}#vac-icon-toggle{fill:var(--chat-icon-color-toggle)}#vac-icon-menu{fill:var(--chat-icon-color-menu)}#vac-icon-close{fill:var(--chat-icon-color-close)}#vac-icon-close-image{fill:var(--chat-icon-color-close-image)}#vac-icon-file{fill:var(--chat-icon-color-file)}#vac-icon-paperclip{fill:var(--chat-icon-color-paperclip)}#vac-icon-close-outline{fill:var(--chat-icon-color-close-outline)}#vac-icon-close-outline-preview{fill:var(--chat-icon-color-close-preview)}#vac-icon-send{fill:var(--chat-icon-color-send)}#vac-icon-send-disabled{fill:var(--chat-icon-color-send-disabled)}#vac-icon-emoji{fill:var(--chat-icon-color-emoji)}#vac-icon-emoji-reaction{fill:var(--chat-icon-color-emoji-reaction)}#vac-icon-document{fill:var(--chat-icon-color-document)}#vac-icon-pencil{fill:var(--chat-icon-color-pencil)}#vac-icon-checkmark,#vac-icon-double-checkmark{fill:var(--chat-icon-color-checkmark)}#vac-icon-checkmark-seen,#vac-icon-double-checkmark-seen{fill:var(--chat-icon-color-checkmark-seen)}#vac-icon-eye{fill:var(--chat-icon-color-eye)}#vac-icon-dropdown-message{fill:var(--chat-icon-color-dropdown-message)}#vac-icon-dropdown-room{fill:var(--chat-icon-color-dropdown-room)}#vac-icon-dropdown-scroll{fill:var(--chat-icon-color-dropdown-scroll)}#vac-icon-audio-play{fill:var(--chat-icon-color-audio-play)}#vac-icon-audio-pause{fill:var(--chat-icon-color-audio-pause)}.vac-progress-wrapper{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9}.vac-progress-wrapper circle{transition:stroke-dashoffset .35s;transform:rotate(-90deg);transform-origin:50% 50%}.vac-progress-wrapper .vac-progress-content{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1;margin-top:-2px;background-color:rgba(0,0,0,.7);border-radius:50%}.vac-progress-wrapper .vac-progress-content .vac-progress-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:700;color:#fff}.vac-progress-wrapper .vac-progress-content .vac-progress-text .vac-progress-pourcent{font-size:9px;font-weight:400}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\n/**\n * ENCDELAY The encoder delay.\n *\n * Minimum allowed is MDCTDELAY (see below)\n *\n * The first 96 samples will be attenuated, so using a value less than 96\n * will result in corrupt data for the first 96-ENCDELAY samples.\n *\n * suggested: 576 set to 1160 to sync with FhG.\n */\nEncoder.ENCDELAY = 576;\n/**\n * make sure there is at least one complete frame after the last frame\n * containing real data\n *\n * Using a value of 288 would be sufficient for a a very sophisticated\n * decoder that can decode granule-by-granule instead of frame by frame. But\n * lets not assume this, and assume the decoder will not decode frame N\n * unless it also has data for frame N+1\n */\nEncoder.POSTDELAY = 1152;\n\n/**\n * delay of the MDCT used in mdct.c original ISO routines had a delay of\n * 528! Takehiro's routines:\n */\nEncoder.MDCTDELAY = 48;\nEncoder.FFTOFFSET = (224 + Encoder.MDCTDELAY);\n\n/**\n * Most decoders, including the one we use, have a delay of 528 samples.\n */\nEncoder.DECDELAY = 528;\n\n/**\n * number of subbands\n */\nEncoder.SBLIMIT = 32;\n\n/**\n * parition bands bands\n */\nEncoder.CBANDS = 64;\n\n/**\n * number of critical bands/scale factor bands where masking is computed\n */\nEncoder.SBPSY_l = 21;\nEncoder.SBPSY_s = 12;\n\n/**\n * total number of scalefactor bands encoded\n */\nEncoder.SBMAX_l = 22;\nEncoder.SBMAX_s = 13;\nEncoder.PSFB21 = 6;\nEncoder.PSFB12 = 6;\n\n/**\n * FFT sizes\n */\nEncoder.BLKSIZE = 1024;\nEncoder.HBLKSIZE = (Encoder.BLKSIZE / 2 + 1);\nEncoder.BLKSIZE_s = 256;\nEncoder.HBLKSIZE_s = (Encoder.BLKSIZE_s / 2 + 1);\n\nEncoder.NORM_TYPE = 0;\nEncoder.START_TYPE = 1;\nEncoder.SHORT_TYPE = 2;\nEncoder.STOP_TYPE = 3;\n\n/**\n *
\n * Mode Extention:\n * When we are in stereo mode, there are 4 possible methods to store these\n * two channels. The stereo modes -m? are using a subset of them.\n *\n *  -ms: MPG_MD_LR_LR\n *  -mj: MPG_MD_LR_LR and MPG_MD_MS_LR\n *  -mf: MPG_MD_MS_LR\n *  -mi: all\n * 
\n */\nEncoder.MPG_MD_LR_LR = 0;\nEncoder.MPG_MD_LR_I = 1;\nEncoder.MPG_MD_MS_LR = 2;\nEncoder.MPG_MD_MS_I = 3;\n\nEncoder.fircoef = [-0.0207887 * 5, -0.0378413 * 5,\n -0.0432472 * 5, -0.031183 * 5, 7.79609e-18 * 5, 0.0467745 * 5,\n 0.10091 * 5, 0.151365 * 5, 0.187098 * 5];\n\nfunction Encoder() {\n var NewMDCT = require('./NewMDCT.js');\n var III_psy_ratio = require('./III_psy_ratio.js');\n\n var FFTOFFSET = Encoder.FFTOFFSET;\n var MPG_MD_MS_LR = Encoder.MPG_MD_MS_LR;\n //BitStream bs;\n //PsyModel psy;\n //VBRTag vbr;\n //QuantizePVT qupvt;\n var bs = null;\n this.psy = null;\n var psy = null;\n var vbr = null;\n var qupvt = null;\n\n //public final void setModules(BitStream bs, PsyModel psy, QuantizePVT qupvt,\n // VBRTag vbr) {\n this.setModules = function (_bs, _psy, _qupvt, _vbr) {\n bs = _bs;\n this.psy = _psy;\n psy = _psy;\n vbr = _vbr;\n qupvt = _qupvt;\n };\n\n var newMDCT = new NewMDCT();\n\n /***********************************************************************\n *\n * encoder and decoder delays\n *\n ***********************************************************************/\n\n /**\n *
\n     * layer III enc->dec delay:  1056 (1057?)   (observed)\n     * layer  II enc->dec delay:   480  (481?)   (observed)\n     *\n     * polyphase 256-16             (dec or enc)        = 240\n     * mdct      256+32  (9*32)     (dec or enc)        = 288\n     * total:    512+16\n     *\n     * My guess is that delay of polyphase filterbank is actualy 240.5\n     * (there are technical reasons for this, see postings in mp3encoder).\n     * So total Encode+Decode delay = ENCDELAY + 528 + 1\n     * 
\n */\n\n\n /**\n * auto-adjust of ATH, useful for low volume Gabriel Bouvigne 3 feb 2001\n *\n * modifies some values in gfp.internal_flags.ATH (gfc.ATH)\n */\n//private void adjust_ATH(final LameInternalFlags gfc) {\n function adjust_ATH(gfc) {\n var gr2_max, max_pow;\n\n if (gfc.ATH.useAdjust == 0) {\n gfc.ATH.adjust = 1.0;\n /* no adjustment */\n return;\n }\n\n /* jd - 2001 mar 12, 27, jun 30 */\n /* loudness based on equal loudness curve; */\n /* use granule with maximum combined loudness */\n max_pow = gfc.loudness_sq[0][0];\n gr2_max = gfc.loudness_sq[1][0];\n if (gfc.channels_out == 2) {\n max_pow += gfc.loudness_sq[0][1];\n gr2_max += gfc.loudness_sq[1][1];\n } else {\n max_pow += max_pow;\n gr2_max += gr2_max;\n }\n if (gfc.mode_gr == 2) {\n max_pow = Math.max(max_pow, gr2_max);\n }\n max_pow *= 0.5;\n /* max_pow approaches 1.0 for full band noise */\n\n /* jd - 2001 mar 31, jun 30 */\n /* user tuning of ATH adjustment region */\n max_pow *= gfc.ATH.aaSensitivityP;\n\n /*\n * adjust ATH depending on range of maximum value\n */\n\n /* jd - 2001 feb27, mar12,20, jun30, jul22 */\n /* continuous curves based on approximation */\n /* to GB's original values. */\n /* For an increase in approximate loudness, */\n /* set ATH adjust to adjust_limit immediately */\n /* after a delay of one frame. */\n /* For a loudness decrease, reduce ATH adjust */\n /* towards adjust_limit gradually. */\n /* max_pow is a loudness squared or a power. */\n if (max_pow > 0.03125) { /* ((1 - 0.000625)/ 31.98) from curve below */\n if (gfc.ATH.adjust >= 1.0) {\n gfc.ATH.adjust = 1.0;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n /* in case there is leading low volume */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n gfc.ATH.adjustLimit = 1.0;\n } else { /* adjustment curve */\n /* about 32 dB maximum adjust (0.000625) */\n var adj_lim_new = 31.98 * max_pow + 0.000625;\n if (gfc.ATH.adjust >= adj_lim_new) { /* descend gradually */\n gfc.ATH.adjust *= adj_lim_new * 0.075 + 0.925;\n if (gfc.ATH.adjust < adj_lim_new) { /* stop descent */\n gfc.ATH.adjust = adj_lim_new;\n }\n } else { /* ascend */\n if (gfc.ATH.adjustLimit >= adj_lim_new) {\n gfc.ATH.adjust = adj_lim_new;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n }\n gfc.ATH.adjustLimit = adj_lim_new;\n }\n }\n\n /**\n *
\n     *  some simple statistics\n     *\n     *  bitrate index 0: free bitrate . not allowed in VBR mode\n     *  : bitrates, kbps depending on MPEG version\n     *  bitrate index 15: forbidden\n     *\n     *  mode_ext:\n     *  0:  LR\n     *  1:  LR-i\n     *  2:  MS\n     *  3:  MS-i\n     * 
\n */\n function updateStats(gfc) {\n var gr, ch;\n assert(0 <= gfc.bitrate_index && gfc.bitrate_index < 16);\n assert(0 <= gfc.mode_ext && gfc.mode_ext < 4);\n\n /* count bitrate indices */\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][4]++;\n gfc.bitrate_stereoMode_Hist[15][4]++;\n\n /* count 'em for every mode extension in case of 2 channel encoding */\n if (gfc.channels_out == 2) {\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][gfc.mode_ext]++;\n gfc.bitrate_stereoMode_Hist[15][gfc.mode_ext]++;\n }\n for (gr = 0; gr < gfc.mode_gr; ++gr) {\n for (ch = 0; ch < gfc.channels_out; ++ch) {\n var bt = gfc.l3_side.tt[gr][ch].block_type | 0;\n if (gfc.l3_side.tt[gr][ch].mixed_block_flag != 0)\n bt = 4;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][bt]++;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][5]++;\n gfc.bitrate_blockType_Hist[15][bt]++;\n gfc.bitrate_blockType_Hist[15][5]++;\n }\n }\n }\n\n function lame_encode_frame_init(gfp, inbuf) {\n var gfc = gfp.internal_flags;\n\n var ch, gr;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* prime the MDCT/polyphase filterbank with a short block */\n var i, j;\n var primebuff0 = new_float(286 + 1152 + 576);\n var primebuff1 = new_float(286 + 1152 + 576);\n gfc.lame_encode_frame_init = 1;\n for (i = 0, j = 0; i < 286 + 576 * (1 + gfc.mode_gr); ++i) {\n if (i < 576 * gfc.mode_gr) {\n primebuff0[i] = 0;\n if (gfc.channels_out == 2)\n primebuff1[i] = 0;\n } else {\n primebuff0[i] = inbuf[0][j];\n if (gfc.channels_out == 2)\n primebuff1[i] = inbuf[1][j];\n ++j;\n }\n }\n /* polyphase filtering / mdct */\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.SHORT_TYPE;\n }\n }\n newMDCT.mdct_sub48(gfc, primebuff0, primebuff1);\n\n /* check FFT will not use a negative starting offset */\n assert(576 >= Encoder.FFTOFFSET);\n /* check if we have enough data for FFT */\n assert(gfc.mf_size >= (Encoder.BLKSIZE + gfp.framesize - Encoder.FFTOFFSET));\n /* check if we have enough data for polyphase filterbank */\n assert(gfc.mf_size >= (512 + gfp.framesize - 32));\n }\n\n }\n\n /**\n *
\n     * encodeframe()           Layer 3\n     *\n     * encode a single frame\n     *\n     *\n     *    lame_encode_frame()\n     *\n     *\n     *                           gr 0            gr 1\n     *    inbuf:           |--------------|--------------|--------------|\n     *\n     *\n     *    Polyphase (18 windows, each shifted 32)\n     *    gr 0:\n     *    window1          <----512---.\n     *    window18                 <----512---.\n     *\n     *    gr 1:\n     *    window1                         <----512---.\n     *    window18                                <----512---.\n     *\n     *\n     *\n     *    MDCT output:  |--------------|--------------|--------------|\n     *\n     *    FFT's                    <---------1024---------.\n     *                                             <---------1024-------.\n     *\n     *\n     *\n     *        inbuf = buffer of PCM data size=MP3 framesize\n     *        encoder acts on inbuf[ch][0], but output is delayed by MDCTDELAY\n     *        so the MDCT coefficints are from inbuf[ch][-MDCTDELAY]\n     *\n     *        psy-model FFT has a 1 granule delay, so we feed it data for the\n     *        next granule.\n     *        FFT is centered over granule:  224+576+224\n     *        So FFT starts at:   576-224-MDCTDELAY\n     *\n     *        MPEG2:  FFT ends at:  BLKSIZE+576-224-MDCTDELAY      (1328)\n     *        MPEG1:  FFT ends at:  BLKSIZE+2*576-224-MDCTDELAY    (1904)\n     *\n     *        MPEG2:  polyphase first window:  [0..511]\n     *                          18th window:   [544..1055]          (1056)\n     *        MPEG1:            36th window:   [1120..1631]         (1632)\n     *                data needed:  512+framesize-32\n     *\n     *        A close look newmdct.c shows that the polyphase filterbank\n     *        only uses data from [0..510] for each window.  Perhaps because the window\n     *        used by the filterbank is zero for the last point, so Takehiro's\n     *        code doesn't bother to compute with it.\n     *\n     *        FFT starts at 576-224-MDCTDELAY (304)  = 576-FFTOFFSET\n     *\n     * 
\n */\n\n\n this.lame_encode_mp3_frame = function (gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size) {\n var mp3count;\n var masking_LR = new_array_n([2, 2]);\n /*\n * LR masking &\n * energy\n */\n masking_LR[0][0] = new III_psy_ratio();\n masking_LR[0][1] = new III_psy_ratio();\n masking_LR[1][0] = new III_psy_ratio();\n masking_LR[1][1] = new III_psy_ratio();\n var masking_MS = new_array_n([2, 2]);\n /* MS masking & energy */\n masking_MS[0][0] = new III_psy_ratio();\n masking_MS[0][1] = new III_psy_ratio();\n masking_MS[1][0] = new III_psy_ratio();\n masking_MS[1][1] = new III_psy_ratio();\n //III_psy_ratio masking[][];\n var masking;\n /* pointer to selected maskings */\n var inbuf = [null, null];\n var gfc = gfp.internal_flags;\n\n var tot_ener = new_float_n([2, 4]);\n var ms_ener_ratio = [.5, .5];\n var pe = [[0., 0.], [0., 0.]];\n var pe_MS = [[0., 0.], [0., 0.]];\n\n//float[][] pe_use;\n var pe_use;\n\n var ch, gr;\n\n inbuf[0] = inbuf_l;\n inbuf[1] = inbuf_r;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* first run? */\n lame_encode_frame_init(gfp, inbuf);\n\n }\n\n /********************** padding *****************************/\n /**\n *
\n         * padding method as described in\n         * \"MPEG-Layer3 / Bitstream Syntax and Decoding\"\n         * by Martin Sieler, Ralph Sperschneider\n         *\n         * note: there is no padding for the very first frame\n         *\n         * Robert Hegemann 2000-06-22\n         * 
\n */\n gfc.padding = 0;\n if ((gfc.slot_lag -= gfc.frac_SpF) < 0) {\n gfc.slot_lag += gfp.out_samplerate;\n gfc.padding = 1;\n }\n\n /****************************************\n * Stage 1: psychoacoustic model *\n ****************************************/\n\n if (gfc.psymodel != 0) {\n /*\n * psychoacoustic model psy model has a 1 granule (576) delay that\n * we must compensate for (mt 6/99).\n */\n var ret;\n var bufp = [null, null];\n /* address of beginning of left & right granule */\n var bufpPos = 0;\n /* address of beginning of left & right granule */\n var blocktype = new_int(2);\n\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n bufp[ch] = inbuf[ch];\n bufpPos = 576 + gr * 576 - Encoder.FFTOFFSET;\n }\n if (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) {\n ret = psy.L3psycho_anal_vbr(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n } else {\n ret = psy.L3psycho_anal_ns(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n }\n if (ret != 0)\n return -4;\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n ms_ener_ratio[gr] = tot_ener[gr][2] + tot_ener[gr][3];\n if (ms_ener_ratio[gr] > 0)\n ms_ener_ratio[gr] = tot_ener[gr][3] / ms_ener_ratio[gr];\n }\n\n /* block type flags */\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var cod_info = gfc.l3_side.tt[gr][ch];\n cod_info.block_type = blocktype[ch];\n cod_info.mixed_block_flag = 0;\n }\n }\n } else {\n /* no psy model */\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.NORM_TYPE;\n gfc.l3_side.tt[gr][ch].mixed_block_flag = 0;\n pe_MS[gr][ch] = pe[gr][ch] = 700;\n }\n }\n\n /* auto-adjust of ATH, useful for low volume */\n adjust_ATH(gfc);\n\n /****************************************\n * Stage 2: MDCT *\n ****************************************/\n\n /* polyphase filtering / mdct */\n newMDCT.mdct_sub48(gfc, inbuf[0], inbuf[1]);\n\n /****************************************\n * Stage 3: MS/LR decision *\n ****************************************/\n\n /* Here will be selected MS or LR coding of the 2 stereo channels */\n gfc.mode_ext = Encoder.MPG_MD_LR_LR;\n\n if (gfp.force_ms) {\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n } else if (gfp.mode == MPEGMode.JOINT_STEREO) {\n /*\n * ms_ratio = is scaled, for historical reasons, to look like a\n * ratio of side_channel / total. 0 = signal is 100% mono .5 = L & R\n * uncorrelated\n */\n\n /**\n *
\n             * [0] and [1] are the results for the two granules in MPEG-1,\n             * in MPEG-2 it's only a faked averaging of the same value\n             * _prev is the value of the last granule of the previous frame\n             * _next is the value of the first granule of the next frame\n             * 
\n */\n\n var sum_pe_MS = 0.;\n var sum_pe_LR = 0.;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n sum_pe_MS += pe_MS[gr][ch];\n sum_pe_LR += pe[gr][ch];\n }\n }\n\n /* based on PE: M/S coding would not use much more bits than L/R */\n if (sum_pe_MS <= 1.00 * sum_pe_LR) {\n\n var gi0 = gfc.l3_side.tt[0];\n var gi1 = gfc.l3_side.tt[gfc.mode_gr - 1];\n\n if (gi0[0].block_type == gi0[1].block_type\n && gi1[0].block_type == gi1[1].block_type) {\n\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n }\n }\n }\n\n /* bit and noise allocation */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n masking = masking_MS;\n /* use MS masking */\n pe_use = pe_MS;\n } else {\n masking = masking_LR;\n /* use LR masking */\n pe_use = pe;\n }\n\n /* copy data for MP3 frame analyzer */\n if (gfp.analysis && gfc.pinfo != null) {\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.pinfo.ms_ratio[gr] = gfc.ms_ratio[gr];\n gfc.pinfo.ms_ener_ratio[gr] = ms_ener_ratio[gr];\n gfc.pinfo.blocktype[gr][ch] = gfc.l3_side.tt[gr][ch].block_type;\n gfc.pinfo.pe[gr][ch] = pe_use[gr][ch];\n System.arraycopy(gfc.l3_side.tt[gr][ch].xr, 0,\n gfc.pinfo.xr[gr][ch], 0, 576);\n /*\n * in psymodel, LR and MS data was stored in pinfo. switch\n * to MS data:\n */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n gfc.pinfo.ers[gr][ch] = gfc.pinfo.ers[gr][ch + 2];\n System.arraycopy(gfc.pinfo.energy[gr][ch + 2], 0,\n gfc.pinfo.energy[gr][ch], 0,\n gfc.pinfo.energy[gr][ch].length);\n }\n }\n }\n }\n\n /****************************************\n * Stage 4: quantization loop *\n ****************************************/\n\n if (gfp.VBR == VbrMode.vbr_off || gfp.VBR == VbrMode.vbr_abr) {\n\n var i;\n var f;\n\n for (i = 0; i < 18; i++)\n gfc.nsPsy.pefirbuf[i] = gfc.nsPsy.pefirbuf[i + 1];\n\n f = 0.0;\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++)\n f += pe_use[gr][ch];\n gfc.nsPsy.pefirbuf[18] = f;\n\n f = gfc.nsPsy.pefirbuf[9];\n for (i = 0; i < 9; i++)\n f += (gfc.nsPsy.pefirbuf[i] + gfc.nsPsy.pefirbuf[18 - i])\n * Encoder.fircoef[i];\n\n f = (670 * 5 * gfc.mode_gr * gfc.channels_out) / f;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n pe_use[gr][ch] *= f;\n }\n }\n }\n gfc.iteration_loop.iteration_loop(gfp, pe_use, ms_ener_ratio, masking);\n\n /****************************************\n * Stage 5: bitstream formatting *\n ****************************************/\n\n /* write the frame to the bitstream */\n bs.format_bitstream(gfp);\n\n /* copy mp3 bit buffer into array */\n mp3count = bs.copy_buffer(gfc, mp3buf, mp3bufPos, mp3buf_size, 1);\n\n if (gfp.bWriteVbrTag)\n vbr.addVbrFrame(gfp);\n\n if (gfp.analysis && gfc.pinfo != null) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var j;\n for (j = 0; j < FFTOFFSET; j++)\n gfc.pinfo.pcmdata[ch][j] = gfc.pinfo.pcmdata[ch][j\n + gfp.framesize];\n for (j = FFTOFFSET; j < 1600; j++) {\n gfc.pinfo.pcmdata[ch][j] = inbuf[ch][j - FFTOFFSET];\n }\n }\n qupvt.set_frame_pinfo(gfp, masking);\n }\n\n updateStats(gfc);\n\n return mp3count;\n }\n}\n\n\nmodule.exports = Encoder;\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export function roomsValidation(obj) {\n\tconst roomsValidate = [\n\t\t{ key: 'roomId', type: ['string', 'number'] },\n\t\t{ key: 'roomName', type: ['string'] },\n\t\t{ key: 'users', type: ['array'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tlet validType = false\n\n\t\t\tif (prop.type[0] === 'array' && Array.isArray(obj[prop.key])) {\n\t\t\t\tvalidType = true\n\t\t\t} else if (prop.type.find(t => t === typeof obj[prop.key])) {\n\t\t\t\tvalidType = true\n\t\t\t}\n\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, roomsValidate)) {\n\t\tthrow new Error(\n\t\t\t'Rooms object is not valid! Must contain roomId[String, Number], roomName[String] and users[Array]'\n\t\t)\n\t}\n}\n\nexport function partcipantsValidation(obj) {\n\tconst participantsValidate = [\n\t\t{ key: '_id', type: ['string', 'number'] },\n\t\t{ key: 'username', type: ['string'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tconst validType = prop.type.find(t => t === typeof obj[prop.key])\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, participantsValidate)) {\n\t\tthrow new Error(\n\t\t\t'Participants object is not valid! Must contain _id[String, Number] and username[String]'\n\t\t)\n\t}\n}\n\nexport function messagesValidation(obj) {\n\tconst messagesValidate = [\n\t\t{ key: '_id', type: ['string', 'number'] },\n\t\t{ key: 'content', type: ['string', 'number'] },\n\t\t{ key: 'senderId', type: ['string', 'number'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tconst validType = prop.type.find(t => t === typeof obj[prop.key])\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, messagesValidate)) {\n\t\tthrow new Error(\n\t\t\t'Messages object is not valid! Must contain _id[String, Number], content[String, Number] and senderId[String, Number]'\n\t\t)\n\t}\n}\n\nfunction checkObjectValid(obj, key) {\n\treturn (\n\t\tObject.prototype.hasOwnProperty.call(obj, key) &&\n\t\tobj[key] !== null &&\n\t\tobj[key] !== undefined\n\t)\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar regExpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = global.SyntaxError;\nvar getFlags = uncurryThis(regExpFlags);\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr = chr + charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxy(keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\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\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\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$
') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\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 : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(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 push(results, result);\n if (!global) break;\n\n var matchStr = toString(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 = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(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++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n var replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\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.21.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\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\nvar concat = uncurryThis([].concat);\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 ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\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 uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\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 = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, 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","/*\n * bit reservoir source file\n *\n * Copyright (c) 1999-2000 Mark Taylor\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */\n\n/* $Id: Reservoir.java,v 1.9 2011/05/24 20:48:06 kenchis Exp $ */\n\n//package mp3;\n\n/**\n * ResvFrameBegin:
\n * Called (repeatedly) at the beginning of a frame. Updates the maximum size of\n * the reservoir, and checks to make sure main_data_begin was set properly by\n * the formatter
\n * Background information:\n * \n * This is the original text from the ISO standard. Because of sooo many bugs\n * and irritations correcting comments are added in brackets []. A '^W' means\n * you should remove the last word.\n * \n *
\n *  1. The following rule can be used to calculate the maximum\n *     number of bits used for one granule [^W frame]:
\n * At the highest possible bitrate of Layer III (320 kbps\n * per stereo signal [^W^W^W], 48 kHz) the frames must be of\n * [^W^W^W are designed to have] constant length, i.e.\n * one buffer [^W^W the frame] length is:
\n * \n * 320 kbps * 1152/48 kHz = 7680 bit = 960 byte\n * \n * This value is used as the maximum buffer per channel [^W^W] at\n * lower bitrates [than 320 kbps]. At 64 kbps mono or 128 kbps\n * stereo the main granule length is 64 kbps * 576/48 kHz = 768 bit\n * [per granule and channel] at 48 kHz sampling frequency.\n * This means that there is a maximum deviation (short time buffer\n * [= reservoir]) of 7680 - 2*2*768 = 4608 bits is allowed at 64 kbps.\n * The actual deviation is equal to the number of bytes [with the\n * meaning of octets] denoted by the main_data_end offset pointer.\n * The actual maximum deviation is (2^9-1)*8 bit = 4088 bits\n * [for MPEG-1 and (2^8-1)*8 bit for MPEG-2, both are hard limits].\n * ... The xchange of buffer bits between the left and right channel\n * is allowed without restrictions [exception: dual channel].\n * Because of the [constructed] constraint on the buffer size\n * main_data_end is always set to 0 in the case of bit_rate_index==14,\n * i.e. data rate 320 kbps per stereo signal [^W^W^W]. In this case\n * all data are allocated between adjacent header [^W sync] words\n * [, i.e. there is no buffering at all].\n *
\n */\n\nvar common = require('./common.js');\nvar assert = common.assert;\n\nfunction Reservoir() {\n\tvar bs;\n\n\tthis.setModules = function(_bs) {\n\t\tbs = _bs;\n\t}\n\n\tthis.ResvFrameBegin = function(gfp, mean_bits) {\n\t\tvar gfc = gfp.internal_flags;\n\t\tvar maxmp3buf;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tvar frameLength = bs.getframebits(gfp);\n\t\tmean_bits.bits = (frameLength - gfc.sideinfo_len * 8) / gfc.mode_gr;\n\n\t\t/**\n\t\t *
\n\t\t *  Meaning of the variables:\n\t\t *      resvLimit: (0, 8, ..., 8*255 (MPEG-2), 8*511 (MPEG-1))\n\t\t *          Number of bits can be stored in previous frame(s) due to\n\t\t *          counter size constaints\n\t\t *      maxmp3buf: ( ??? ... 8*1951 (MPEG-1 and 2), 8*2047 (MPEG-2.5))\n\t\t *          Number of bits allowed to encode one frame (you can take 8*511 bit\n\t\t *          from the bit reservoir and at most 8*1440 bit from the current\n\t\t *          frame (320 kbps, 32 kHz), so 8*1951 bit is the largest possible\n\t\t *          value for MPEG-1 and -2)\n\t\t * \n\t\t *          maximum allowed granule/channel size times 4 = 8*2047 bits.,\n\t\t *          so this is the absolute maximum supported by the format.\n\t\t * \n\t\t * \n\t\t *      fullFrameBits:  maximum number of bits available for encoding\n\t\t *                      the current frame.\n\t\t * \n\t\t *      mean_bits:      target number of bits per granule.\n\t\t * \n\t\t *      frameLength:\n\t\t * \n\t\t *      gfc.ResvMax:   maximum allowed reservoir\n\t\t * \n\t\t *      gfc.ResvSize:  current reservoir size\n\t\t * \n\t\t *      l3_side.resvDrain_pre:\n\t\t *         ancillary data to be added to previous frame:\n\t\t *         (only usefull in VBR modes if it is possible to have\n\t\t *         maxmp3buf < fullFrameBits)).  Currently disabled,\n\t\t *         see #define NEW_DRAIN\n\t\t *         2010-02-13: RH now enabled, it seems to be needed for CBR too,\n\t\t *                     as there exists one example, where the FhG decoder\n\t\t *                     can't decode a -b320 CBR file anymore.\n\t\t * \n\t\t *      l3_side.resvDrain_post:\n\t\t *         ancillary data to be added to this frame:\n\t\t * \n\t\t * 
\n\t\t */\n\n\t\t/* main_data_begin has 9 bits in MPEG-1, 8 bits MPEG-2 */\n\t\tvar resvLimit = (8 * 256) * gfc.mode_gr - 8;\n\n\t\t/*\n\t\t * maximum allowed frame size. dont use more than this number of bits,\n\t\t * even if the frame has the space for them:\n\t\t */\n\t\tif (gfp.brate > 320) {\n\t\t\t/* in freeformat the buffer is constant */\n\t\t\tmaxmp3buf = 8 * ((int) ((gfp.brate * 1000)\n\t\t\t\t\t/ (gfp.out_samplerate / 1152) / 8 + .5));\n\t\t} else {\n\t\t\t/*\n\t\t\t * all mp3 decoders should have enough buffer to handle this value:\n\t\t\t * size of a 320kbps 32kHz frame\n\t\t\t */\n\t\t\tmaxmp3buf = 8 * 1440;\n\n\t\t\t/*\n\t\t\t * Bouvigne suggests this more lax interpretation of the ISO doc\n\t\t\t * instead of using 8*960.\n\t\t\t */\n\n\t\t\tif (gfp.strict_ISO) {\n\t\t\t\tmaxmp3buf = 8 * ((int) (320000 / (gfp.out_samplerate / 1152) / 8 + .5));\n\t\t\t}\n\t\t}\n\n\t\tgfc.ResvMax = maxmp3buf - frameLength;\n\t\tif (gfc.ResvMax > resvLimit)\n\t\t\tgfc.ResvMax = resvLimit;\n\t\tif (gfc.ResvMax < 0 || gfp.disable_reservoir)\n\t\t\tgfc.ResvMax = 0;\n\n\t\tvar fullFrameBits = mean_bits.bits * gfc.mode_gr\n\t\t\t\t+ Math.min(gfc.ResvSize, gfc.ResvMax);\n\n\t\tif (fullFrameBits > maxmp3buf)\n\t\t\tfullFrameBits = maxmp3buf;\n\n\t\tassert (0 == gfc.ResvMax % 8);\n\t\tassert (gfc.ResvMax >= 0);\n\n\t\tl3_side.resvDrain_pre = 0;\n\n\t\t// frame analyzer code\n\t\tif (gfc.pinfo != null) {\n\t\t\t/*\n\t\t\t * expected bits per channel per granule [is this also right for\n\t\t\t * mono/stereo, MPEG-1/2 ?]\n\t\t\t */\n\t\t\tgfc.pinfo.mean_bits = mean_bits.bits / 2;\n\t\t\tgfc.pinfo.resvsize = gfc.ResvSize;\n\t\t}\n\n\t\treturn fullFrameBits;\n\t}\n\n\t/**\n\t * returns targ_bits: target number of bits to use for 1 granule
\n\t * extra_bits: amount extra available from reservoir
\n\t * Mark Taylor 4/99\n\t */\n\tthis.ResvMaxBits = function(gfp, mean_bits, targ_bits, cbr) {\n\t\tvar gfc = gfp.internal_flags;\n\t\tvar add_bits;\n var ResvSize = gfc.ResvSize, ResvMax = gfc.ResvMax;\n\n\t\t/* compensate the saved bits used in the 1st granule */\n\t\tif (cbr != 0)\n\t\t\tResvSize += mean_bits;\n\n\t\tif ((gfc.substep_shaping & 1) != 0)\n\t\t\tResvMax *= 0.9;\n\n\t\ttarg_bits.bits = mean_bits;\n\n\t\t/* extra bits if the reservoir is almost full */\n\t\tif (ResvSize * 10 > ResvMax * 9) {\n\t\t\tadd_bits = ResvSize - (ResvMax * 9) / 10;\n\t\t\ttarg_bits.bits += add_bits;\n\t\t\tgfc.substep_shaping |= 0x80;\n\t\t} else {\n\t\t\tadd_bits = 0;\n\t\t\tgfc.substep_shaping &= 0x7f;\n\t\t\t/*\n\t\t\t * build up reservoir. this builds the reservoir a little slower\n\t\t\t * than FhG. It could simple be mean_bits/15, but this was rigged to\n\t\t\t * always produce 100 (the old value) at 128kbs\n\t\t\t */\n\t\t\tif (!gfp.disable_reservoir && 0 == (gfc.substep_shaping & 1))\n\t\t\t\ttarg_bits.bits -= .1 * mean_bits;\n\t\t}\n\n\t\t/* amount from the reservoir we are allowed to use. ISO says 6/10 */\n\t\tvar extra_bits = (ResvSize < (gfc.ResvMax * 6) / 10 ? ResvSize\n\t\t\t\t: (gfc.ResvMax * 6) / 10);\n\t\textra_bits -= add_bits;\n\n\t\tif (extra_bits < 0)\n\t\t\textra_bits = 0;\n\t\treturn extra_bits;\n\t}\n\n\t/**\n\t * Called after a granule's bit allocation. Readjusts the size of the\n\t * reservoir to reflect the granule's usage.\n\t */\n\tthis.ResvAdjust = function(gfc, gi) {\n\t\tgfc.ResvSize -= gi.part2_3_length + gi.part2_length;\n\t}\n\n\t/**\n\t * Called after all granules in a frame have been allocated. Makes sure that\n\t * the reservoir size is within limits, possibly by adding stuffing bits.\n\t */\n\tthis.ResvFrameEnd = function(gfc, mean_bits) {\n\t\tvar over_bits;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tgfc.ResvSize += mean_bits * gfc.mode_gr;\n\t\tvar stuffingBits = 0;\n\t\tl3_side.resvDrain_post = 0;\n\t\tl3_side.resvDrain_pre = 0;\n\n\t\t/* we must be byte aligned */\n\t\tif ((over_bits = gfc.ResvSize % 8) != 0)\n\t\t\tstuffingBits += over_bits;\n\n\t\tover_bits = (gfc.ResvSize - stuffingBits) - gfc.ResvMax;\n\t\tif (over_bits > 0) {\n\t\t\tassert (0 == over_bits % 8);\n\t\t\tassert (over_bits >= 0);\n\t\t\tstuffingBits += over_bits;\n\t\t}\n\n\t\t/*\n\t\t * NOTE: enabling the NEW_DRAIN code fixes some problems with FhG\n\t\t * decoder shipped with MS Windows operating systems. Using this, it is\n\t\t * even possible to use Gabriel's lax buffer consideration again, which\n\t\t * assumes, any decoder should have a buffer large enough for a 320 kbps\n\t\t * frame at 32 kHz sample rate.\n\t\t * \n\t\t * old drain code: lame -b320 BlackBird.wav --. does not play with\n\t\t * GraphEdit.exe using FhG decoder V1.5 Build 50\n\t\t * \n\t\t * new drain code: lame -b320 BlackBird.wav --. plays fine with\n\t\t * GraphEdit.exe using FhG decoder V1.5 Build 50\n\t\t * \n\t\t * Robert Hegemann, 2010-02-13.\n\t\t */\n\t\t/*\n\t\t * drain as many bits as possible into previous frame ancillary data In\n\t\t * particular, in VBR mode ResvMax may have changed, and we have to make\n\t\t * sure main_data_begin does not create a reservoir bigger than ResvMax\n\t\t * mt 4/00\n\t\t */\n\t\t{\n\t\t\tvar mdb_bytes = Math.min(l3_side.main_data_begin * 8, stuffingBits) / 8;\n\t\t\tl3_side.resvDrain_pre += 8 * mdb_bytes;\n\t\t\tstuffingBits -= 8 * mdb_bytes;\n\t\t\tgfc.ResvSize -= 8 * mdb_bytes;\n\t\t\tl3_side.main_data_begin -= mdb_bytes;\n\t\t}\n\t\t/* drain the rest into this frames ancillary data */\n\t\tl3_side.resvDrain_post += stuffingBits;\n\t\tgfc.ResvSize -= stuffingBits;\n\t}\n}\n\nmodule.exports = Reservoir;\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isRegExp = require('../internals/is-regexp');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","const camelizeRE = /-(\\w)/g;\nconst camelize = str => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n};\n\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = str => {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n};\n\nfunction getInitialProps (propsList) {\n const res = {};\n propsList.forEach(key => {\n res[key] = undefined;\n });\n return res\n}\n\nfunction injectHook (options, key, hook) {\n options[key] = [].concat(options[key] || []);\n options[key].unshift(hook);\n}\n\nfunction callHooks (vm, hook) {\n if (vm) {\n const hooks = vm.$options[hook] || [];\n hooks.forEach(hook => {\n hook.call(vm);\n });\n }\n}\n\nfunction createCustomEvent (name, args) {\n return new CustomEvent(name, {\n bubbles: false,\n cancelable: false,\n detail: args\n })\n}\n\nconst isBoolean = val => /function Boolean/.test(String(val));\nconst isNumber = val => /function Number/.test(String(val));\n\nfunction convertAttributeValue (value, name, { type } = {}) {\n if (isBoolean(type)) {\n if (value === 'true' || value === 'false') {\n return value === 'true'\n }\n if (value === '' || value === name || value != null) {\n return true\n }\n return value\n } else if (isNumber(type)) {\n const parsed = parseFloat(value, 10);\n return isNaN(parsed) ? value : parsed\n } else {\n return value\n }\n}\n\nfunction toVNodes (h, children) {\n const res = [];\n for (let i = 0, l = children.length; i < l; i++) {\n res.push(toVNode(h, children[i]));\n }\n return res\n}\n\nfunction toVNode (h, node) {\n if (node.nodeType === 3) {\n return node.data.trim() ? node.data : null\n } else if (node.nodeType === 1) {\n const data = {\n attrs: getAttributes(node),\n domProps: {\n innerHTML: node.innerHTML\n }\n };\n if (data.attrs.slot) {\n data.slot = data.attrs.slot;\n delete data.attrs.slot;\n }\n return h(node.tagName, data)\n } else {\n return null\n }\n}\n\nfunction getAttributes (node) {\n const res = {};\n for (let i = 0, l = node.attributes.length; i < l; i++) {\n const attr = node.attributes[i];\n res[attr.nodeName] = attr.nodeValue;\n }\n return res\n}\n\nfunction wrap (Vue, Component) {\n const isAsync = typeof Component === 'function' && !Component.cid;\n let isInitialized = false;\n let hyphenatedPropsList;\n let camelizedPropsList;\n let camelizedPropsMap;\n\n function initialize (Component) {\n if (isInitialized) return\n\n const options = typeof Component === 'function'\n ? Component.options\n : Component;\n\n // extract props info\n const propsList = Array.isArray(options.props)\n ? options.props\n : Object.keys(options.props || {});\n hyphenatedPropsList = propsList.map(hyphenate);\n camelizedPropsList = propsList.map(camelize);\n const originalPropsAsObject = Array.isArray(options.props) ? {} : options.props || {};\n camelizedPropsMap = camelizedPropsList.reduce((map, key, i) => {\n map[key] = originalPropsAsObject[propsList[i]];\n return map\n }, {});\n\n // proxy $emit to native DOM events\n injectHook(options, 'beforeCreate', function () {\n const emit = this.$emit;\n this.$emit = (name, ...args) => {\n this.$root.$options.customElement.dispatchEvent(createCustomEvent(name, args));\n return emit.call(this, name, ...args)\n };\n });\n\n injectHook(options, 'created', function () {\n // sync default props values to wrapper on created\n camelizedPropsList.forEach(key => {\n this.$root.props[key] = this[key];\n });\n });\n\n // proxy props as Element properties\n camelizedPropsList.forEach(key => {\n Object.defineProperty(CustomElement.prototype, key, {\n get () {\n return this._wrapper.props[key]\n },\n set (newVal) {\n this._wrapper.props[key] = newVal;\n },\n enumerable: false,\n configurable: true\n });\n });\n\n isInitialized = true;\n }\n\n function syncAttribute (el, key) {\n const camelized = camelize(key);\n const value = el.hasAttribute(key) ? el.getAttribute(key) : undefined;\n el._wrapper.props[camelized] = convertAttributeValue(\n value,\n key,\n camelizedPropsMap[camelized]\n );\n }\n\n class CustomElement extends HTMLElement {\n constructor () {\n const self = super();\n self.attachShadow({ mode: 'open' });\n\n const wrapper = self._wrapper = new Vue({\n name: 'shadow-root',\n customElement: self,\n shadowRoot: self.shadowRoot,\n data () {\n return {\n props: {},\n slotChildren: []\n }\n },\n render (h) {\n return h(Component, {\n ref: 'inner',\n props: this.props\n }, this.slotChildren)\n }\n });\n\n // Use MutationObserver to react to future attribute & slot content change\n const observer = new MutationObserver(mutations => {\n let hasChildrenChange = false;\n for (let i = 0; i < mutations.length; i++) {\n const m = mutations[i];\n if (isInitialized && m.type === 'attributes' && m.target === self) {\n syncAttribute(self, m.attributeName);\n } else {\n hasChildrenChange = true;\n }\n }\n if (hasChildrenChange) {\n wrapper.slotChildren = Object.freeze(toVNodes(\n wrapper.$createElement,\n self.childNodes\n ));\n }\n });\n observer.observe(self, {\n childList: true,\n subtree: true,\n characterData: true,\n attributes: true\n });\n }\n\n get vueComponent () {\n return this._wrapper.$refs.inner\n }\n\n connectedCallback () {\n const wrapper = this._wrapper;\n if (!wrapper._isMounted) {\n // initialize attributes\n const syncInitialAttributes = () => {\n wrapper.props = getInitialProps(camelizedPropsList);\n hyphenatedPropsList.forEach(key => {\n syncAttribute(this, key);\n });\n };\n\n if (isInitialized) {\n syncInitialAttributes();\n } else {\n // async & unresolved\n Component().then(resolved => {\n if (resolved.__esModule || resolved[Symbol.toStringTag] === 'Module') {\n resolved = resolved.default;\n }\n initialize(resolved);\n syncInitialAttributes();\n });\n }\n // initialize children\n wrapper.slotChildren = Object.freeze(toVNodes(\n wrapper.$createElement,\n this.childNodes\n ));\n wrapper.$mount();\n this.shadowRoot.appendChild(wrapper.$el);\n } else {\n callHooks(this.vueComponent, 'activated');\n }\n }\n\n disconnectedCallback () {\n callHooks(this.vueComponent, 'deactivated');\n }\n }\n\n if (!isAsync) {\n initialize(Component);\n }\n\n return CustomElement\n}\n\nexport default wrap;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-card-window\",style:([{ height: _vm.height }, _vm.cssVars])},[_c('div',{staticClass:\"vac-chat-container\"},[(!_vm.singleRoom)?_c('rooms-list',{attrs:{\"current-user-id\":_vm.currentUserId,\"rooms\":_vm.orderedRooms,\"loading-rooms\":_vm.loadingRooms,\"rooms-loaded\":_vm.roomsLoaded,\"room\":_vm.room,\"room-actions\":_vm.roomActions,\"text-messages\":_vm.t,\"show-search\":_vm.showSearch,\"show-add-room\":_vm.showAddRoom,\"show-rooms-list\":_vm.showRoomsList,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"is-mobile\":_vm.isMobile,\"scroll-distance\":_vm.scrollDistance},on:{\"fetch-room\":_vm.fetchRoom,\"fetch-more-rooms\":_vm.fetchMoreRooms,\"loading-more-rooms\":function($event){_vm.loadingMoreRooms = $event},\"add-room\":_vm.addRoom,\"room-action-handler\":_vm.roomActionHandler},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),_c('room',{attrs:{\"current-user-id\":_vm.currentUserId,\"rooms\":_vm.rooms,\"room-id\":_vm.room.roomId || '',\"load-first-room\":_vm.loadFirstRoom,\"messages\":_vm.messages,\"room-message\":_vm.roomMessage,\"messages-loaded\":_vm.messagesLoaded,\"menu-actions\":_vm.menuActions,\"message-actions\":_vm.messageActions,\"message-selection-actions\":_vm.messageSelectionActions,\"auto-scroll\":_vm.autoScroll,\"show-send-icon\":_vm.showSendIcon,\"show-files\":_vm.showFiles,\"show-audio\":_vm.showAudio,\"audio-bit-rate\":_vm.audioBitRate,\"audio-sample-rate\":_vm.audioSampleRate,\"show-emojis\":_vm.showEmojis,\"show-reaction-emojis\":_vm.showReactionEmojis,\"show-new-messages-divider\":_vm.showNewMessagesDivider,\"show-footer\":_vm.showFooter,\"text-messages\":_vm.t,\"single-room\":_vm.singleRoom,\"show-rooms-list\":_vm.showRoomsList,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"is-mobile\":_vm.isMobile,\"loading-rooms\":_vm.loadingRooms,\"room-info-enabled\":_vm.roomInfoEnabled,\"textarea-action-enabled\":_vm.textareaActionEnabled,\"user-tags-enabled\":_vm.userTagsEnabled,\"emojis-suggestion-enabled\":_vm.emojisSuggestionEnabled,\"scroll-distance\":_vm.scrollDistance,\"accepted-files\":_vm.acceptedFiles,\"templates-text\":_vm.templatesText,\"username-options\":_vm.usernameOptions},on:{\"toggle-rooms-list\":_vm.toggleRoomsList,\"room-info\":_vm.roomInfo,\"fetch-messages\":_vm.fetchMessages,\"send-message\":_vm.sendMessage,\"edit-message\":_vm.editMessage,\"delete-message\":_vm.deleteMessage,\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag,\"open-failed-message\":_vm.openFailedMessage,\"menu-action-handler\":_vm.menuActionHandler,\"message-action-handler\":_vm.messageActionHandler,\"message-selection-action-handler\":_vm.messageSelectionActionHandler,\"send-message-reaction\":_vm.sendMessageReaction,\"typing-message\":_vm.typingMessage,\"textarea-action-handler\":_vm.textareaActionHandler},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1),_c('transition',{attrs:{\"name\":\"vac-fade-preview\",\"appear\":\"\"}},[(_vm.showMediaPreview)?_c('media-preview',{attrs:{\"file\":_vm.previewFile},on:{\"close-media-preview\":function($event){_vm.showMediaPreview = false}}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showRoomsList),expression:\"showRoomsList\"}],staticClass:\"vac-rooms-container\",class:{ 'vac-rooms-container-full': _vm.isMobile, 'vac-app-border-r': !_vm.isMobile }},[_vm._t(\"rooms-header\"),_vm._t(\"rooms-list-search\",function(){return [_c('rooms-search',{attrs:{\"rooms\":_vm.rooms,\"loading-rooms\":_vm.loadingRooms,\"text-messages\":_vm.textMessages,\"show-search\":_vm.showSearch,\"show-add-room\":_vm.showAddRoom},on:{\"search-room\":_vm.searchRoom,\"add-room\":function($event){return _vm.$emit('add-room')}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})]}),_c('loader',{attrs:{\"show\":_vm.loadingRooms},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.loadingRooms && !_vm.rooms.length)?_c('div',{staticClass:\"vac-rooms-empty\"},[_vm._t(\"rooms-empty\",function(){return [_vm._v(\" \"+_vm._s(_vm.textMessages.ROOMS_EMPTY)+\" \")]})],2):_vm._e(),(!_vm.loadingRooms)?_c('div',{staticClass:\"vac-room-list\",attrs:{\"id\":\"rooms-list\"}},[_vm._l((_vm.filteredRooms),function(fRoom){return _c('div',{key:fRoom.roomId,staticClass:\"vac-room-item\",class:{ 'vac-room-selected': _vm.selectedRoomId === fRoom.roomId },attrs:{\"id\":fRoom.roomId},on:{\"click\":function($event){return _vm.openRoom(fRoom)}}},[_c('room-content',{attrs:{\"current-user-id\":_vm.currentUserId,\"room\":fRoom,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"text-messages\":_vm.textMessages,\"room-actions\":_vm.roomActions},on:{\"room-action-handler\":function($event){return _vm.$emit('room-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_c('transition',{attrs:{\"name\":\"vac-fade-message\"}},[(_vm.rooms.length && !_vm.loadingRooms)?_c('div',{attrs:{\"id\":\"infinite-loader-rooms\"}},[_c('loader',{attrs:{\"show\":_vm.showLoader,\"infinite\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e()])],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-fade-spinner\",\"appear\":\"\"}},[(_vm.show)?_c('div',{staticClass:\"vac-loader-wrapper\",class:{\n\t\t\t'vac-container-center': !_vm.infinite,\n\t\t\t'vac-container-top': _vm.infinite\n\t\t}},[_vm._t(\"spinner-icon\",function(){return [_c('div',{attrs:{\"id\":\"vac-circle\"}})]},null,{ show: _vm.show, infinite: _vm.infinite })],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=2c0ab9be&\"\nimport script from \"./Loader.vue?vue&type=script&lang=js&\"\nexport * from \"./Loader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{\n\t\t'vac-box-search': _vm.showSearchBar,\n\t\t'vac-box-empty': !_vm.showSearchBar\n\t}},[(_vm.showSearch)?[(!_vm.loadingRooms && _vm.rooms.length)?_c('div',{staticClass:\"vac-icon-search\"},[_vm._t(\"search-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"search\"}})]})],2):_vm._e(),(!_vm.loadingRooms && _vm.rooms.length)?_c('input',{staticClass:\"vac-input\",attrs:{\"type\":\"search\",\"placeholder\":_vm.textMessages.SEARCH,\"autocomplete\":\"off\"},on:{\"input\":function($event){return _vm.$emit('search-room', $event)}}}):_vm._e()]:_vm._e(),(_vm.showAddRoom)?_c('div',{staticClass:\"vac-svg-button vac-add-icon\",on:{\"click\":function($event){return _vm.$emit('add-room')}}},[_vm._t(\"add-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"add\"}})]})],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"version\":\"1.1\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":(\"0 0 \" + _vm.size + \" \" + _vm.size)}},[_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path}}),(_vm.svgItem[_vm.name].path2)?_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path2}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SvgIcon.vue?vue&type=template&id=e01c0bf4&\"\nimport script from \"./SvgIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsSearch.vue?vue&type=template&id=1fc42a9b&\"\nimport script from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-container\"},[_vm._t(\"room-list-item\",function(){return [_vm._t(\"room-list-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_c('div',{staticClass:\"vac-name-container vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-title-container\"},[(_vm.userStatus)?_c('div',{staticClass:\"vac-state-circle\",class:{ 'vac-state-online': _vm.userStatus === 'online' }}):_vm._e(),_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.room.lastMessage)?_c('div',{staticClass:\"vac-text-date\"},[_vm._v(\" \"+_vm._s(_vm.room.lastMessage.timestamp)+\" \")]):_vm._e()]),_c('div',{staticClass:\"vac-text-last\",class:{\n\t\t\t\t\t'vac-message-new':\n\t\t\t\t\t\t_vm.room.lastMessage && _vm.room.lastMessage.new && !_vm.typingUsers\n\t\t\t\t}},[(_vm.isMessageCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.room.lastMessage.distributed\n\t\t\t\t\t\t\t\t\t? 'double-checkmark'\n\t\t\t\t\t\t\t\t\t: 'checkmark',\"param\":_vm.room.lastMessage.seen ? 'seen' : ''}})]},null,{ message: _vm.room.lastMessage })],2):_vm._e(),(_vm.room.lastMessage && !_vm.room.lastMessage.deleted && _vm.isAudio)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]}),_vm._v(\" \"+_vm._s(_vm.formattedDuration)+\" \")],2):(_vm.room.lastMessage)?_c('format-message',{attrs:{\"content\":_vm.getLastMessage,\"deleted\":!!_vm.room.lastMessage.deleted && !_vm.typingUsers,\"users\":_vm.room.users,\"linkify\":false,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"single-line\":true},scopedSlots:_vm._u([{key:\"deleted-icon\",fn:function(data){return [_vm._t(\"deleted-icon\",null,null,data)]}}],null,true)}):_vm._e(),(!_vm.room.lastMessage && _vm.typingUsers)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_vm._e(),_c('div',{staticClass:\"vac-room-options-container\"},[(_vm.room.unreadCount)?_c('div',{staticClass:\"vac-badge-counter vac-room-badge\"},[_vm._v(\" \"+_vm._s(_vm.room.unreadCount)+\" \")]):_vm._e(),_vm._t(\"room-list-options\",function(){return [(_vm.roomActions.length)?_c('div',{staticClass:\"vac-svg-button vac-list-room-options\",on:{\"click\":function($event){$event.stopPropagation();_vm.roomMenuOpened = _vm.room.roomId}}},[_vm._t(\"room-list-options-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"room\"}})]})],2):_vm._e(),(_vm.roomActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.roomMenuOpened === _vm.room.roomId)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeRoomMenu),expression:\"closeRoomMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.roomActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.roomActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]},null,{ room: _vm.room })],2)],1)])]},null,{ room: _vm.room })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-format-message-wrapper\",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:\"vac-format-container\"},[_c(message.url ? 'a' : 'span',{tag:\"component\",class:{\n\t\t\t\t\t'vac-text-ellipsis': _vm.singleLine,\n\t\t\t\t\t'vac-text-bold': message.bold,\n\t\t\t\t\t'vac-text-italic': _vm.deleted || message.italic,\n\t\t\t\t\t'vac-text-strike': message.strike,\n\t\t\t\t\t'vac-text-underline': message.underline,\n\t\t\t\t\t'vac-text-inline-code': !_vm.singleLine && message.inline,\n\t\t\t\t\t'vac-text-multiline-code': !_vm.singleLine && message.multiline,\n\t\t\t\t\t'vac-text-tag': !_vm.singleLine && !_vm.reply && message.tag\n\t\t\t\t},attrs:{\"href\":message.href,\"target\":message.href ? _vm.linkOptions.target : null,\"rel\":message.href ? _vm.linkOptions.rel : null},on:{\"click\":function($event){return _vm.openTag(message)}}},[_vm._t(\"deleted-icon\",function(){return [(_vm.deleted)?_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}}):_vm._e()]},null,{ deleted: _vm.deleted }),(message.url && message.image)?[_c('div',{staticClass:\"vac-image-link-container\"},[_c('div',{staticClass:\"vac-image-link\",style:({\n\t\t\t\t\t\t\t\t'background-image': (\"url('\" + (message.value) + \"')\"),\n\t\t\t\t\t\t\t\theight: message.height\n\t\t\t\t\t\t\t})})]),_c('div',{staticClass:\"vac-image-link-message\"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',[_vm._v(_vm._s(message.value))])]],2)],1)}),0):_c('div',[_vm._v(\" \"+_vm._s(_vm.formattedContent)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","const linkify = require('linkifyjs')\n// require('linkifyjs/plugins/hashtag')(linkify)\n\nexport default (text, doLinkify, textFormatting) => {\n\tconst typeMarkdown = {\n\t\tbold: textFormatting.bold,\n\t\titalic: textFormatting.italic,\n\t\tstrike: textFormatting.strike,\n\t\tunderline: textFormatting.underline,\n\t\tmultilineCode: textFormatting.multilineCode,\n\t\tinlineCode: textFormatting.inlineCode\n\t}\n\n\tconst pseudoMarkdown = {\n\t\t[typeMarkdown.bold]: {\n\t\t\tend: '\\\\' + typeMarkdown.bold,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'bold'\n\t\t},\n\t\t[typeMarkdown.italic]: {\n\t\t\tend: typeMarkdown.italic,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'italic'\n\t\t},\n\t\t[typeMarkdown.strike]: {\n\t\t\tend: typeMarkdown.strike,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'strike'\n\t\t},\n\t\t[typeMarkdown.underline]: {\n\t\t\tend: typeMarkdown.underline,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'underline'\n\t\t},\n\t\t[typeMarkdown.multilineCode]: {\n\t\t\tend: typeMarkdown.multilineCode,\n\t\t\tallowed_chars: '(.|\\n)',\n\t\t\ttype: 'multiline-code'\n\t\t},\n\t\t[typeMarkdown.inlineCode]: {\n\t\t\tend: typeMarkdown.inlineCode,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'inline-code'\n\t\t},\n\t\t'': {\n\t\t\tallowed_chars: '.',\n\t\t\tend: '',\n\t\t\ttype: 'tag'\n\t\t}\n\t}\n\n\tconst json = compileToJSON(text, pseudoMarkdown)\n\n\tconst html = compileToHTML(json, pseudoMarkdown)\n\n\tconst result = [].concat.apply([], html)\n\n\tif (doLinkify) linkifyResult(result)\n\n\treturn result\n}\n\nfunction compileToJSON(str, pseudoMarkdown) {\n\tlet result = []\n\tlet minIndexOf = -1\n\tlet minIndexOfKey = null\n\n\tlet links = linkify.find(str)\n\tlet minIndexFromLink = false\n\n\tif (links.length > 0) {\n\t\tminIndexOf = str.indexOf(links[0].value)\n\t\tminIndexFromLink = true\n\t}\n\n\tObject.keys(pseudoMarkdown).forEach(startingValue => {\n\t\tconst io = str.indexOf(startingValue)\n\t\tif (io >= 0 && (minIndexOf < 0 || io < minIndexOf)) {\n\t\t\tminIndexOf = io\n\t\t\tminIndexOfKey = startingValue\n\t\t\tminIndexFromLink = false\n\t\t}\n\t})\n\n\tif (minIndexFromLink && minIndexOfKey !== -1) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tlet strLink = str.substr(minIndexOf, links[0].value.length)\n\t\tlet strRight = str.substr(minIndexOf + links[0].value.length)\n\t\tresult.push(strLeft)\n\t\tresult.push(strLink)\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t}\n\n\tif (minIndexOfKey) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tconst char = minIndexOfKey\n\t\tlet strRight = str.substr(minIndexOf + char.length)\n\n\t\tif (str.replace(/\\s/g, '').length === char.length * 2) {\n\t\t\treturn [str]\n\t\t}\n\n\t\tconst match = strRight.match(\n\t\t\tnew RegExp(\n\t\t\t\t'^(' +\n\t\t\t\t\t(pseudoMarkdown[char].allowed_chars || '.') +\n\t\t\t\t\t'*' +\n\t\t\t\t\t(pseudoMarkdown[char].end ? '?' : '') +\n\t\t\t\t\t')' +\n\t\t\t\t\t(pseudoMarkdown[char].end\n\t\t\t\t\t\t? '(' + pseudoMarkdown[char].end + ')'\n\t\t\t\t\t\t: ''),\n\t\t\t\t'm'\n\t\t\t)\n\t\t)\n\t\tif (!match || !match[1]) {\n\t\t\tstrLeft = strLeft + char\n\t\t\tresult.push(strLeft)\n\t\t} else {\n\t\t\tif (strLeft) {\n\t\t\t\tresult.push(strLeft)\n\t\t\t}\n\t\t\tconst object = {\n\t\t\t\tstart: char,\n\t\t\t\tcontent: compileToJSON(match[1], pseudoMarkdown),\n\t\t\t\tend: match[2],\n\t\t\t\ttype: pseudoMarkdown[char].type\n\t\t\t}\n\t\t\tresult.push(object)\n\t\t\tstrRight = strRight.substr(match[0].length)\n\t\t}\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t} else {\n\t\tif (str) {\n\t\t\treturn [str]\n\t\t} else {\n\t\t\treturn []\n\t\t}\n\t}\n}\n\nfunction compileToHTML(json, pseudoMarkdown) {\n\tconst result = []\n\n\tjson.forEach(item => {\n\t\tif (typeof item === 'string') {\n\t\t\tresult.push({ types: [], value: item })\n\t\t} else {\n\t\t\tif (pseudoMarkdown[item.start]) {\n\t\t\t\tresult.push(parseContent(item))\n\t\t\t}\n\t\t}\n\t})\n\n\treturn result\n}\n\nfunction parseContent(item) {\n\tconst result = []\n\titerateContent(item, result, [])\n\treturn result\n}\n\nfunction iterateContent(item, result, types) {\n\titem.content.forEach(it => {\n\t\tif (typeof it === 'string') {\n\t\t\tresult.push({\n\t\t\t\ttypes: removeDuplicates(types.concat([item.type])),\n\t\t\t\tvalue: it\n\t\t\t})\n\t\t} else {\n\t\t\titerateContent(\n\t\t\t\tit,\n\t\t\t\tresult,\n\t\t\t\tremoveDuplicates([it.type].concat([item.type]).concat(types))\n\t\t\t)\n\t\t}\n\t})\n}\n\nfunction removeDuplicates(items) {\n\treturn [...new Set(items)]\n}\n\nfunction linkifyResult(array) {\n\tconst result = []\n\n\tarray.forEach(arr => {\n\t\tconst links = linkify.find(arr.value)\n\n\t\tif (links.length) {\n\t\t\tconst spaces = arr.value.replace(links[0].value, '')\n\t\t\tresult.push({ types: arr.types, value: spaces })\n\n\t\t\tarr.types = ['url'].concat(arr.types)\n\t\t\tarr.href = links[0].href\n\t\t\tarr.value = links[0].value\n\t\t}\n\n\t\tresult.push(arr)\n\t})\n\n\treturn result\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormatMessage.vue?vue&type=template&id=934b3d7e&\"\nimport script from \"./FormatMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./FormatMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (room, currentUserId, textMessages) => {\n\tif (room.typingUsers && room.typingUsers.length) {\n\t\tconst typingUsers = room.users.filter(user => {\n\t\t\tif (user._id === currentUserId) return\n\t\t\tif (room.typingUsers.indexOf(user._id) === -1) return\n\t\t\tif (user.status && user.status.state === 'offline') return\n\t\t\treturn true\n\t\t})\n\n\t\tif (!typingUsers.length) return\n\n\t\tif (room.users.length === 2) {\n\t\t\treturn textMessages.IS_TYPING\n\t\t} else {\n\t\t\treturn (\n\t\t\t\ttypingUsers.map(user => user.username).join(', ') +\n\t\t\t\t' ' +\n\t\t\t\ttextMessages.IS_TYPING\n\t\t\t)\n\t\t}\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomContent.vue?vue&type=template&id=6888cbad&\"\nimport script from \"./RoomContent.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (items, prop, val, startsWith = false) => {\n\tif (!val || val === '') return items\n\n\treturn items.filter(v => {\n\t\tif (startsWith) return formatString(v[prop]).startsWith(formatString(val))\n\t\treturn formatString(v[prop]).includes(formatString(val))\n\t})\n}\n\nfunction formatString(string) {\n\treturn string\n\t\t.toLowerCase()\n\t\t.normalize('NFD')\n\t\t.replace(/[\\u0300-\\u036f]/g, '')\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsList.vue?vue&type=template&id=e9cbf0d4&\"\nimport script from \"./RoomsList.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isMobile && !_vm.showRoomsList) || !_vm.isMobile || _vm.singleRoom),expression:\"(isMobile && !showRoomsList) || !isMobile || singleRoom\"}],staticClass:\"vac-col-messages\",on:{\"touchstart\":_vm.touchStart}},[(_vm.showNoRoom)?_vm._t(\"no-room-selected\",function(){return [_c('div',{staticClass:\"vac-container-center vac-room-empty\"},[_c('div',[_vm._v(_vm._s(_vm.textMessages.ROOM_EMPTY))])])]}):_c('room-header',{attrs:{\"current-user-id\":_vm.currentUserId,\"text-messages\":_vm.textMessages,\"single-room\":_vm.singleRoom,\"show-rooms-list\":_vm.showRoomsList,\"is-mobile\":_vm.isMobile,\"room-info-enabled\":_vm.roomInfoEnabled,\"menu-actions\":_vm.menuActions,\"room\":_vm.room,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"message-selection-actions\":_vm.messageSelectionActions,\"selected-messages-total\":_vm.selectedMessages.length},on:{\"toggle-rooms-list\":function($event){return _vm.$emit('toggle-rooms-list')},\"room-info\":function($event){return _vm.$emit('room-info')},\"menu-action-handler\":function($event){return _vm.$emit('menu-action-handler', $event)},\"message-selection-action-handler\":_vm.messageSelectionActionHandler,\"cancel-message-selection\":function($event){_vm.messageSelectionEnabled = false}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{ref:\"scrollContainer\",staticClass:\"vac-container-scroll\",attrs:{\"id\":\"messages-list\"},on:{\"scroll\":_vm.onContainerScroll}},[_c('loader',{attrs:{\"show\":_vm.loadingMessages},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-messages-container\"},[_c('div',{class:{ 'vac-messages-hidden': _vm.loadingMessages }},[_c('transition',{attrs:{\"name\":\"vac-fade-message\"}},[_c('div',[(_vm.showNoMessages)?_c('div',{staticClass:\"vac-text-started\"},[_vm._t(\"messages-empty\",function(){return [_vm._v(\" \"+_vm._s(_vm.textMessages.MESSAGES_EMPTY)+\" \")]})],2):_vm._e(),(_vm.showMessagesStarted)?_c('div',{staticClass:\"vac-text-started\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.CONVERSATION_STARTED)+\" \"+_vm._s(_vm.messages[0].date)+\" \")]):_vm._e()])]),(_vm.messages.length && !_vm.messagesLoaded)?_c('div',{attrs:{\"id\":\"infinite-loader-messages\"}},[_c('loader',{attrs:{\"show\":true,\"infinite\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e(),_c('transition-group',{key:_vm.roomId,attrs:{\"name\":\"vac-fade-message\",\"tag\":\"span\"}},_vm._l((_vm.messages),function(m,i){return _c('div',{key:m.indexId || m._id},[_c('room-message',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":m,\"index\":i,\"messages\":_vm.messages,\"edited-message-id\":_vm.editedMessageId,\"message-actions\":_vm.messageActions,\"room-users\":_vm.room.users,\"text-messages\":_vm.textMessages,\"new-messages\":_vm.newMessages,\"show-reaction-emojis\":_vm.showReactionEmojis,\"show-new-messages-divider\":_vm.showNewMessagesDivider,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"username-options\":_vm.usernameOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"selected-messages\":_vm.selectedMessages},on:{\"message-added\":_vm.onMessageAdded,\"message-action-handler\":_vm.messageActionHandler,\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag,\"open-failed-message\":function($event){return _vm.$emit('open-failed-message', $event)},\"send-message-reaction\":_vm.sendMessageReaction,\"select-message\":_vm.selectMessage,\"unselect-message\":_vm.unselectMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),0)],1)])],1),(!_vm.loadingMessages)?_c('div',[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollIcon)?_c('div',{staticClass:\"vac-icon-scroll\",on:{\"click\":_vm.scrollToBottom}},[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollMessagesCount)?_c('div',{staticClass:\"vac-badge-counter vac-messages-count\"},[_vm._v(\" \"+_vm._s(_vm.scrollMessagesCount)+\" \")]):_vm._e()]),_vm._t(\"scroll-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"scroll\"}})]})],2):_vm._e()])],1):_vm._e(),_c('room-footer',{attrs:{\"room\":_vm.room,\"room-id\":_vm.roomId,\"room-message\":_vm.roomMessage,\"text-messages\":_vm.textMessages,\"show-send-icon\":_vm.showSendIcon,\"show-files\":_vm.showFiles,\"show-audio\":_vm.showAudio,\"show-emojis\":_vm.showEmojis,\"show-footer\":_vm.showFooter,\"accepted-files\":_vm.acceptedFiles,\"textarea-action-enabled\":_vm.textareaActionEnabled,\"user-tags-enabled\":_vm.userTagsEnabled,\"emojis-suggestion-enabled\":_vm.emojisSuggestionEnabled,\"templates-text\":_vm.templatesText,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"audio-bit-rate\":_vm.audioBitRate,\"audio-sample-rate\":_vm.audioSampleRate,\"init-reply-message\":_vm.initReplyMessage,\"init-edit-message\":_vm.initEditMessage},on:{\"update-edited-message-id\":function($event){_vm.editedMessageId = $event},\"edit-message\":function($event){return _vm.$emit('edit-message', $event)},\"send-message\":function($event){return _vm.$emit('send-message', $event)},\"typing-message\":function($event){return _vm.$emit('typing-message', $event)},\"textarea-action-handler\":function($event){return _vm.$emit('textarea-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-header vac-app-border-b\"},[_vm._t(\"room-header\",function(){return [_c('div',{staticClass:\"vac-room-wrapper\"},[_c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageSelectionEnabled)?_c('div',{staticClass:\"vac-room-selection\"},[_vm._l((_vm.messageSelectionActions),function(action){return _c('div',{key:action.name,attrs:{\"id\":action.name}},[_c('div',{staticClass:\"vac-selection-button\",on:{\"click\":function($event){return _vm.messageSelectionActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \"),_c('span',{staticClass:\"vac-selection-button-count\"},[_vm._v(\" \"+_vm._s(_vm.selectedMessagesTotal)+\" \")])])])}),_c('div',{staticClass:\"vac-selection-cancel vac-item-clickable\",on:{\"click\":function($event){return _vm.$emit('cancel-message-selection')}}},[_vm._v(\" \"+_vm._s(_vm.textMessages.CANCEL_SELECT_MESSAGE)+\" \")])],2):_vm._e()]),(!_vm.messageSelectionEnabled && _vm.messageSelectionAnimationEnded)?[(!_vm.singleRoom)?_c('div',{staticClass:\"vac-svg-button vac-toggle-button\",class:{ 'vac-rotate-icon-init': !_vm.isMobile, 'vac-rotate-icon': !_vm.showRoomsList && !_vm.isMobile },on:{\"click\":function($event){return _vm.$emit('toggle-rooms-list')}}},[_vm._t(\"toggle-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"toggle\"}})]})],2):_vm._e(),_c('div',{staticClass:\"vac-info-wrapper\",class:{ 'vac-item-clickable': _vm.roomInfoEnabled },on:{\"click\":function($event){return _vm.$emit('room-info')}}},[_vm._t(\"room-header-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_vm._t(\"room-header-info\",function(){return [_c('div',{staticClass:\"vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.typingUsers)?_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.userStatus)+\" \")])])]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2),(_vm.room.roomId)?_vm._t(\"room-options\",function(){return [(_vm.menuActions.length)?_c('div',{staticClass:\"vac-svg-button vac-room-options\",on:{\"click\":function($event){_vm.menuOpened = !_vm.menuOpened}}},[_vm._t(\"menu-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"menu\"}})]})],2):_vm._e(),(_vm.menuActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.menuOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.menuActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.menuActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]}):_vm._e()]:_vm._e()],2)]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\t\t\t\n\t\t\n\t\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomHeader.vue?vue&type=template&id=938fbc28&\"\nimport script from \"./RoomHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(Object.keys(_vm.room).length && _vm.showFooter),expression:\"Object.keys(room).length && showFooter\"}],staticClass:\"vac-room-footer\",class:{\n\t\t'vac-app-box-shadow': _vm.shadowFooter\n\t},attrs:{\"id\":\"room-footer\"}},[_c('room-emojis',{attrs:{\"filtered-emojis\":_vm.filteredEmojis,\"select-item\":_vm.selectEmojiItem,\"active-up-or-down\":_vm.activeUpOrDownEmojis},on:{\"select-emoji\":function($event){return _vm.selectEmoji($event)},\"activate-item\":function($event){_vm.activeUpOrDownEmojis = 0}}}),_c('room-users-tag',{attrs:{\"filtered-users-tag\":_vm.filteredUsersTag,\"select-item\":_vm.selectUsersTagItem,\"active-up-or-down\":_vm.activeUpOrDownUsersTag},on:{\"select-user-tag\":function($event){return _vm.selectUserTag($event)},\"activate-item\":function($event){_vm.activeUpOrDownUsersTag = 0}}}),_c('room-templates-text',{attrs:{\"filtered-templates-text\":_vm.filteredTemplatesText,\"select-item\":_vm.selectTemplatesTextItem,\"active-up-or-down\":_vm.activeUpOrDownTemplatesText},on:{\"select-template-text\":function($event){return _vm.selectTemplateText($event)},\"activate-item\":function($event){_vm.activeUpOrDownTemplatesText = 0}}}),_c('room-message-reply',{attrs:{\"room\":_vm.room,\"message-reply\":_vm.messageReply,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('room-files',{attrs:{\"files\":_vm.files},on:{\"remove-file\":_vm.removeFile,\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-box-footer\",class:{ 'vac-box-footer-border': !_vm.files.length }},[(_vm.showAudio && !_vm.files.length)?_c('div',{staticClass:\"vac-icon-textarea-left\"},[(_vm.isRecording)?[_c('div',{staticClass:\"vac-svg-button vac-icon-audio-stop\",on:{\"click\":_vm.stopRecorder}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2),_c('div',{staticClass:\"vac-dot-audio-record\"}),_c('div',{staticClass:\"vac-dot-audio-record-time\"},[_vm._v(\" \"+_vm._s(_vm.recordedTime)+\" \")]),_c('div',{staticClass:\"vac-svg-button vac-icon-audio-confirm\",on:{\"click\":function($event){return _vm.toggleRecorder(false)}}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"checkmark\"}})]})],2)]:_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.toggleRecorder(true)}}},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]})],2)],2):_vm._e(),_c('textarea',{ref:\"roomTextarea\",staticClass:\"vac-textarea\",class:{\n\t\t\t\t'vac-textarea-outline': _vm.editedMessage._id\n\t\t\t},style:({\n\t\t\t\t'min-height': \"20px\",\n\t\t\t\t'padding-left': \"12px\"\n\t\t\t}),attrs:{\"id\":\"roomTextarea\",\"placeholder\":_vm.textMessages.TYPE_MESSAGE},on:{\"input\":_vm.onChangeInput,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.escapeTextarea.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.updateActiveUpOrDown(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.updateActiveUpOrDown(1)}],\"paste\":_vm.onPasteImage}}),_c('div',{staticClass:\"vac-icon-textarea\"},[(_vm.editedMessage._id)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.resetMessage}},[_vm._t(\"edit-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2):_vm._e(),(_vm.showEmojis)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(function () { return (_vm.emojiOpened = false); }),expression:\"() => (emojiOpened = false)\"}]},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{attrs:{\"emoji-opened\":_vm.emojiOpened,\"position-top\":true},on:{\"add-emoji\":_vm.addEmoji,\"open-emoji\":function($event){_vm.emojiOpened = $event}},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.addEmoji},{ emojiOpened: _vm.emojiOpened })],2):_vm._e(),(_vm.showFiles)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.launchFilePicker}},[_vm._t(\"paperclip-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"paperclip\"}})]})],2):_vm._e(),(_vm.textareaActionEnabled)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.textareaActionHandler}},[_vm._t(\"custom-action-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"deleted\"}})]})],2):_vm._e(),(_vm.showFiles)?_c('input',{ref:\"file\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\",\"accept\":_vm.acceptedFiles},on:{\"change\":function($event){return _vm.onFileChange($event.target.files)}}}):_vm._e(),(_vm.showSendIcon)?_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-send-disabled': _vm.isMessageEmpty },on:{\"click\":_vm.sendMessage}},[_vm._t(\"send-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"send\",\"param\":_vm.isMessageEmpty || _vm.isFileLoading ? 'disabled' : ''}})]})],2):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import Picker from './picker.js'\nimport Database from './database.js'\nexport { Picker, Database }\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-emoji-wrapper\"},[_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{\"click\":_vm.openEmoji}},[_vm._t(\"emoji-picker-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"emoji\",\"param\":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{\"name\":\"vac-slide-up\",\"appear\":\"\"}},[_c('div',{staticClass:\"vac-emoji-picker\",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({\n\t\t\t\t\theight: (_vm.emojiPickerHeight + \"px\"),\n\t\t\t\t\ttop: _vm.positionTop ? _vm.emojiPickerHeight : (_vm.emojiPickerTop + \"px\"),\n\t\t\t\t\tright: _vm.emojiPickerRight,\n\t\t\t\t\tdisplay: _vm.emojiPickerTop || !_vm.emojiReaction ? 'initial' : 'none'\n\t\t\t\t})},[(_vm.emojiOpened)?_c('emoji-picker',{ref:\"emojiPicker\"}):_vm._e()],1)])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmojiPickerContainer.vue?vue&type=template&id=4b3cfd82&\"\nimport script from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.files.length)?_c('div',{staticClass:\"vac-room-files-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-files-box\"},_vm._l((_vm.files),function(file,i){return _c('div',{key:i},[_c('room-file',{attrs:{\"file\":file,\"index\":i},on:{\"remove-file\":function($event){return _vm.$emit('remove-file', $event)}}})],1)}),0),_c('div',{staticClass:\"vac-icon-close\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-file-container\"},[_c('loader',{attrs:{\"show\":_vm.file.loading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-svg-button vac-icon-remove\",on:{\"click\":function($event){return _vm.$emit('remove-file', _vm.index)}}},[_vm._t(\"image-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close\",\"param\":\"image\"}})]})],2),(_vm.isImage)?_c('div',{staticClass:\"vac-message-image\",class:{ 'vac-blur-loading': _vm.file.loading },style:({\n\t\t\t'background-image': (\"url('\" + (_vm.file.localUrl || _vm.file.url) + \"')\")\n\t\t})}):(_vm.isVideo)?_c('video',{class:{ 'vac-blur-loading': _vm.file.loading },attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.localUrl || _vm.file.url}})]):_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-blur-loading': _vm.file.loading }},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.file.name)+\" \")]),(_vm.file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.file.extension)+\" \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFile.vue?vue&type=template&id=c0a62836&\"\nimport script from \"./RoomFile.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFiles.vue?vue&type=template&id=60413016&\"\nimport script from \"./RoomFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageReply)?_c('div',{staticClass:\"vac-reply-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-reply-box\"},[_c('div',{staticClass:\"vac-reply-info\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.messageReply.username)+\" \")]),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.messageReply.content,\"users\":_vm.room.users,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)]),(_vm.isImage)?_c('img',{staticClass:\"vac-image-reply\",attrs:{\"src\":_vm.firstFile.url}}):(_vm.isVideo)?_c('video',{staticClass:\"vac-image-reply\",attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})]):(_vm.isAudio)?_c('audio-player',{staticClass:\"vac-audio-reply\",attrs:{\"src\":_vm.firstFile.url},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-image-reply vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"vac-icon-reply\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"vac-audio-player\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.playback}},[(_vm.isPlaying)?_vm._t(\"audio-pause-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-pause\"}})]}):_vm._t(\"audio-play-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-play\"}})]})],2),_c('audio-control',{attrs:{\"percentage\":_vm.progress,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"change-linehead\":_vm.onUpdateProgress,\"hover-audio-progress\":function($event){return _vm.$emit('hover-audio-progress', $event)}}}),_c('audio',{attrs:{\"id\":_vm.playerUniqId,\"src\":_vm.audioSource}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"progress\",staticClass:\"vac-player-bar\",on:{\"mousedown\":_vm.onMouseDown,\"mouseover\":function($event){return _vm.$emit('hover-audio-progress', true)},\"mouseout\":function($event){return _vm.$emit('hover-audio-progress', false)}}},[_c('div',{staticClass:\"vac-player-progress\"},[_c('div',{staticClass:\"vac-line-container\"},[_c('div',{staticClass:\"vac-line-progress\",style:({ width: (_vm.percentage + \"%\") })}),_c('div',{staticClass:\"vac-line-dot\",class:{ 'vac-line-dot__active': _vm.isMouseDown },style:({ left: (_vm.percentage + \"%\") })})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=1721db79&\"\nimport script from \"./AudioControl.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioControl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioPlayer.vue?vue&type=template&id=d8b85268&\"\nimport script from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessageReply.vue?vue&type=template&id=86b41b08&\"\nimport script from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredUsersTag.length)?_c('div',{staticClass:\"vac-tags-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredUsersTag),function(user,index){return _c('div',{key:user._id,staticClass:\"vac-tags-box\",class:{ 'vac-tags-box-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-user-tag', user)}}},[_c('div',{staticClass:\"vac-tags-info\"},[(user.avatar)?_c('div',{staticClass:\"vac-avatar vac-tags-avatar\",style:({ 'background-image': (\"url('\" + (user.avatar) + \"')\") })}):_vm._e(),_c('div',{staticClass:\"vac-tags-username\"},[_vm._v(\" \"+_vm._s(user.username)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomUsersTag.vue?vue&type=template&id=082c6732&\"\nimport script from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredEmojis.length)?_c('div',{staticClass:\"vac-emojis-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredEmojis),function(emoji,index){return _c('div',{key:emoji,staticClass:\"vac-emoji-element\",class:{ 'vac-emoji-element-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-emoji', emoji)}}},[_vm._v(\" \"+_vm._s(emoji)+\" \")])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomEmojis.vue?vue&type=template&id=b6026542&\"\nimport script from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredTemplatesText.length)?_c('div',{staticClass:\"vac-template-container vac-app-box-shadow\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredTemplatesText),function(template,index){return _c('div',{key:index,staticClass:\"vac-template-box\",class:{ 'vac-template-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-template-text', template)}}},[_c('div',{staticClass:\"vac-template-info\"},[_c('div',{staticClass:\"vac-template-tag\"},[_vm._v(\" /\"+_vm._s(template.tag)+\" \")]),_c('div',{staticClass:\"vac-template-text\"},[_vm._v(\" \"+_vm._s(template.text)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomTemplatesText.vue?vue&type=template&id=113f1c86&\"\nimport script from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nlet lamejs\ntry {\n\tlamejs = require('lamejs')\n} catch (_) {\n\tlamejs = { missing: true }\n}\n\nconst { Mp3Encoder } = lamejs\n\nexport default class {\n\tconstructor(config) {\n\t\tif (lamejs.missing) {\n\t\t\tthrow new Error(\n\t\t\t\t'You must add lamejs in your dependencies to use the audio recorder. Please run \"npm install lamejs --save\"'\n\t\t\t)\n\t\t}\n\n\t\tthis.bitRate = config.bitRate\n\t\tthis.sampleRate = config.sampleRate\n\t\tthis.dataBuffer = []\n\t\tthis.encoder = new Mp3Encoder(1, this.sampleRate, this.bitRate)\n\t}\n\n\tencode(arrayBuffer) {\n\t\tconst maxSamples = 1152\n\t\tconst samples = this._convertBuffer(arrayBuffer)\n\t\tlet remaining = samples.length\n\n\t\tfor (let i = 0; remaining >= 0; i += maxSamples) {\n\t\t\tconst left = samples.subarray(i, i + maxSamples)\n\t\t\tconst buffer = this.encoder.encodeBuffer(left)\n\t\t\tthis.dataBuffer.push(new Int8Array(buffer))\n\t\t\tremaining -= maxSamples\n\t\t}\n\t}\n\n\tfinish() {\n\t\tthis.dataBuffer.push(this.encoder.flush())\n\t\tconst blob = new Blob(this.dataBuffer, { type: 'audio/mp3' })\n\t\tthis.dataBuffer = []\n\n\t\treturn {\n\t\t\tid: Date.now(),\n\t\t\tblob: blob,\n\t\t\turl: URL.createObjectURL(blob)\n\t\t}\n\t}\n\n\t_floatTo16BitPCM(input, output) {\n\t\tfor (let i = 0; i < input.length; i++) {\n\t\t\tconst s = Math.max(-1, Math.min(1, input[i]))\n\t\t\toutput[i] = s < 0 ? s * 0x8000 : s * 0x7fff\n\t\t}\n\t}\n\n\t_convertBuffer(arrayBuffer) {\n\t\tconst data = new Float32Array(arrayBuffer)\n\t\tconst out = new Int16Array(arrayBuffer.length)\n\t\tthis._floatTo16BitPCM(data, out)\n\t\treturn out\n\t}\n}\n","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nimport Mp3Encoder from './mp3-encoder'\n\nexport default class {\n\tconstructor(options = {}) {\n\t\tthis.beforeRecording = options.beforeRecording\n\t\tthis.pauseRecording = options.pauseRecording\n\t\tthis.afterRecording = options.afterRecording\n\t\tthis.micFailed = options.micFailed\n\n\t\tthis.encoderOptions = {\n\t\t\tbitRate: options.bitRate,\n\t\t\tsampleRate: options.sampleRate\n\t\t}\n\n\t\tthis.bufferSize = 4096\n\t\tthis.records = []\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.duration = 0\n\t\tthis.volume = 0\n\n\t\tthis._duration = 0\n\t}\n\n\tstart() {\n\t\tconst constraints = {\n\t\t\tvideo: false,\n\t\t\taudio: {\n\t\t\t\tchannelCount: 1,\n\t\t\t\techoCancellation: false\n\t\t\t}\n\t\t}\n\n\t\tthis.beforeRecording && this.beforeRecording('start recording')\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia(constraints)\n\t\t\t.then(this._micCaptured.bind(this))\n\t\t\t.catch(this._micError.bind(this))\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = true\n\n\t\tif (!this.lameEncoder) {\n\t\t\tthis.lameEncoder = new Mp3Encoder(this.encoderOptions)\n\t\t}\n\t}\n\n\tstop() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\t\tthis.context.close()\n\n\t\tlet record = null\n\n\t\trecord = this.lameEncoder.finish()\n\n\t\trecord.duration = this.duration\n\t\tthis.records.push(record)\n\n\t\tthis._duration = 0\n\t\tthis.duration = 0\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.afterRecording && this.afterRecording(record)\n\t}\n\n\tpause() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\n\t\tthis._duration = this.duration\n\t\tthis.isPause = true\n\n\t\tthis.pauseRecording && this.pauseRecording('pause recording')\n\t}\n\n\t_micCaptured(stream) {\n\t\tthis.context = new (window.AudioContext || window.webkitAudioContext)()\n\t\tthis.duration = this._duration\n\t\tthis.input = this.context.createMediaStreamSource(stream)\n\t\tthis.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1)\n\t\tthis.stream = stream\n\n\t\tthis.processor.onaudioprocess = ev => {\n\t\t\tconst sample = ev.inputBuffer.getChannelData(0)\n\t\t\tlet sum = 0.0\n\n\t\t\tif (this.lameEncoder) {\n\t\t\t\tthis.lameEncoder.encode(sample)\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < sample.length; ++i) {\n\t\t\t\tsum += sample[i] * sample[i]\n\t\t\t}\n\n\t\t\tthis.duration =\n\t\t\t\tparseFloat(this._duration) +\n\t\t\t\tparseFloat(this.context.currentTime.toFixed(2))\n\t\t\tthis.volume = Math.sqrt(sum / sample.length).toFixed(2)\n\t\t}\n\n\t\tthis.input.connect(this.processor)\n\t\tthis.processor.connect(this.context.destination)\n\t}\n\n\t_micError(error) {\n\t\tthis.micFailed && this.micFailed(error)\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFooter.vue?vue&type=template&id=457f6483&\"\nimport script from \"./RoomFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFooter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"message\",staticClass:\"vac-message-wrapper\",attrs:{\"id\":_vm.message._id}},[(_vm.showDate)?_c('div',{staticClass:\"vac-card-info vac-card-date\"},[_vm._v(\" \"+_vm._s(_vm.message.date)+\" \")]):_vm._e(),(_vm.newMessage._id === _vm.message._id)?_c('div',{staticClass:\"vac-line-new\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.NEW_MESSAGES)+\" \")]):_vm._e(),(_vm.message.system)?_c('div',{staticClass:\"vac-card-info vac-card-system\"},[_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_c('div',{staticClass:\"vac-message-box\",class:{ 'vac-offset-current': _vm.message.senderId === _vm.currentUserId },on:{\"click\":_vm.selectMessage}},[_vm._t(\"message\",function(){return [(_vm.message.avatar && _vm.message.senderId !== _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasSenderUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-offset\"}):_vm._e(),_c('div',{staticClass:\"vac-message-container\",class:{\n\t\t\t\t\t'vac-message-container-offset': _vm.messageOffset\n\t\t\t\t}},[_c('div',{staticClass:\"vac-message-card\",class:{\n\t\t\t\t\t\t'vac-message-highlight': _vm.isMessageHover,\n\t\t\t\t\t\t'vac-message-current': _vm.message.senderId === _vm.currentUserId,\n\t\t\t\t\t\t'vac-message-deleted': _vm.message.deleted,\n\t\t\t\t\t\t'vac-item-clickable': _vm.messageSelectionEnabled,\n\t\t\t\t\t\t'vac-message-selected': _vm.isMessageSelected\n\t\t\t\t\t},on:{\"mouseover\":_vm.onHoverMessage,\"mouseleave\":_vm.onLeaveMessage}},[(_vm.showUsername)?_c('div',{staticClass:\"vac-text-username\",class:{\n\t\t\t\t\t\t\t'vac-username-reply': !_vm.message.deleted && _vm.message.replyMessage\n\t\t\t\t\t\t}},[_c('span',[_vm._v(_vm._s(_vm.message.username))])]):_vm._e(),(!_vm.message.deleted && _vm.message.replyMessage)?_c('message-reply',{attrs:{\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),(_vm.message.deleted)?_c('div',[_vm._t(\"deleted-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}})]}),_c('span',[_vm._v(_vm._s(_vm.textMessages.MESSAGE_DELETED))])],2):(!_vm.message.files || !_vm.message.files.length)?_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(!_vm.isAudio || _vm.message.files.length > 1)?_c('message-files',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):[_c('audio-player',{attrs:{\"message-id\":_vm.message._id,\"src\":_vm.message.files[0].url,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.message.deleted)?_c('div',{staticClass:\"vac-progress-time\"},[_vm._v(\" \"+_vm._s(_vm.progressTime)+\" \")]):_vm._e()],_c('div',{staticClass:\"vac-text-timestamp\"},[(_vm.message.edited && !_vm.message.deleted)?_c('div',{staticClass:\"vac-icon-edited\"},[_vm._t(\"pencil-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"pencil\"}})]})],2):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.message.timestamp))]),(_vm.isCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.message.distributed ? 'double-checkmark' : 'checkmark',\"param\":_vm.message.seen ? 'seen' : ''}})]},null,{ message: _vm.message })],2):_vm._e()]),_c('message-actions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"message-actions\":_vm.messageActions,\"show-reaction-emojis\":_vm.showReactionEmojis,\"message-hover\":_vm.messageHover,\"hover-message-id\":_vm.hoverMessageId,\"hover-audio-progress\":_vm.hoverAudioProgress},on:{\"update-message-hover\":function($event){_vm.messageHover = $event},\"update-options-opened\":function($event){_vm.optionsOpened = $event},\"update-emoji-opened\":function($event){_vm.emojiOpened = $event},\"message-action-handler\":_vm.messageActionHandler,\"send-message-reaction\":_vm.sendMessageReaction},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2),_c('message-reactions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message},on:{\"send-message-reaction\":_vm.sendMessageReaction}})],1),_vm._t(\"message-failure\",function(){return [(_vm.message.failure && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-failure-container vac-svg-button\",class:{\n\t\t\t\t\t\t'vac-failure-container-avatar':\n\t\t\t\t\t\t\t_vm.message.avatar && _vm.message.senderId === _vm.currentUserId\n\t\t\t\t\t},on:{\"click\":function($event){return _vm.$emit('open-failed-message', { message: _vm.message })}}},[_c('div',{staticClass:\"vac-failure-text\"},[_vm._v(\" ! \")])]):_vm._e()]},null,{ message: _vm.message }),(_vm.message.avatar && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar vac-avatar-current\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasCurrentUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-current-offset\"}):_vm._e()]},null,{ message: _vm.message })],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-reply-message\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.replyUsername)+\" \")]),(_vm.isImage)?_c('div',{staticClass:\"vac-image-reply-container\"},[_c('div',{staticClass:\"vac-message-image vac-message-image-reply\",style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.firstFile.url) + \"')\")\n\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-reply-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})])]):(_vm.isAudio)?_c('audio-player',{attrs:{\"src\":_vm.firstFile.url},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.message.replyMessage.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReply.vue?vue&type=template&id=514045b4&\"\nimport script from \"./MessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-files-container\"},[_vm._l((_vm.imageVideoFiles),function(file,idx){return _c('div',{key:idx + 'iv'},[_c('message-file',{attrs:{\"file\":file,\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"index\":idx,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":function($event){return _vm.$emit('open-file', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_vm._l((_vm.otherFiles),function(file,idx){return _c('div',{key:idx + 'a',staticClass:\"vac-file-wrapper\"},[(file.progress >= 0)?_c('progress-bar',{style:({ top: '44px' }),attrs:{\"progress\":file.progress}}):_vm._e(),_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-file-container-progress': file.progress >= 0 },on:{\"click\":function($event){return _vm.openFile($event, file, 'download')}}},[_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(file.name)+\" \")]),(file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(file.extension)+\" \")]):_vm._e()])],1)}),_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":function($event){return _vm.$emit('open-user-tag', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-fade-spinner\",\"appear\":\"\"}},[_c('div',{ref:\"progress\",staticClass:\"vac-progress-wrapper\"},[_c('svg',{attrs:{\"height\":_vm.radius * 2,\"width\":_vm.radius * 2}},[_c('circle',{style:({\n\t\t\t\t\tstrokeDashoffset: _vm.strokeDashoffset,\n\t\t\t\t\tstrokeLinecap: 'round'\n\t\t\t\t}),attrs:{\"stroke\":\"rgba(255, 255, 255, 0.7)\",\"stroke-dasharray\":_vm.circumference + ' ' + _vm.circumference,\"stroke-width\":_vm.stroke,\"fill\":\"transparent\",\"r\":_vm.normalizedRadius,\"cx\":_vm.radius,\"cy\":_vm.radius}})]),_c('div',{staticClass:\"vac-progress-content\",style:({\n\t\t\t\theight: _vm.radius * 2 - 19 + 'px',\n\t\t\t\twidth: _vm.radius * 2 - 19 + 'px'\n\t\t\t})},[_c('div',{staticClass:\"vac-progress-text\"},[_vm._v(\" \"+_vm._s(_vm.progress)),_c('span',{staticClass:\"vac-progress-pourcent\"},[_vm._v(\"%\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressBar.vue?vue&type=template&id=561521ed&\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-file-container\"},[(_vm.isImage)?_c('div',{ref:'imageRef' + _vm.index,staticClass:\"vac-message-image-container\",on:{\"mouseover\":function($event){_vm.imageHover = true},\"mouseleave\":function($event){_vm.imageHover = false},\"click\":function($event){return _vm.openFile($event, 'preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"progress\":_vm.file.progress}}):_c('loader',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"show\":_vm.isImageLoading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-message-image\",class:{\n\t\t\t\t'vac-blur-loading':\n\t\t\t\t\t_vm.isImageLoading && _vm.message.senderId === _vm.currentUserId\n\t\t\t},style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.isImageLoading ? _vm.file.preview || _vm.file.url : _vm.file.url) + \"')\"),\n\t\t\t\t'max-height': ((_vm.imageResponsive.maxHeight) + \"px\")\n\t\t\t})},[_c('transition',{attrs:{\"name\":\"vac-fade-image\"}},[(!_vm.messageSelectionEnabled && _vm.imageHover && !_vm.isImageLoading)?_c('div',{staticClass:\"vac-image-buttons\"},[_c('div',{staticClass:\"vac-svg-button vac-button-view\",on:{\"click\":function($event){return _vm.openFile($event, 'preview')}}},[_vm._t(\"eye-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"eye\"}})]})],2),_c('div',{staticClass:\"vac-svg-button vac-button-download\",on:{\"click\":function($event){return _vm.openFile($event, 'download')}}},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2)]):_vm._e()])],1)],1):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-container\",on:{\"click\":function($event){$event.preventDefault();return _vm.openFile('preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{attrs:{\"progress\":_vm.file.progress}}):_vm._e(),_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFile.vue?vue&type=template&id=442d693d&\"\nimport script from \"./MessageFile.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFiles.vue?vue&type=template&id=ebb72a26&\"\nimport script from \"./MessageFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-actions-wrapper\"},[_c('div',{staticClass:\"vac-options-container\",style:({\n\t\t\tdisplay: _vm.hoverAudioProgress ? 'none' : 'initial',\n\t\t\twidth:\n\t\t\t\t_vm.filteredMessageActions.length && _vm.showReactionEmojis ? '70px' : '45px'\n\t\t})},[_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},[(_vm.isMessageActions || _vm.isMessageReactions)?_c('div',{key:\"1\",staticClass:\"vac-blur-container\",class:{\n\t\t\t\t\t'vac-options-me': _vm.message.senderId === _vm.currentUserId\n\t\t\t\t}}):_vm._e(),(_vm.isMessageActions)?_c('div',{key:\"2\",ref:\"actionIcon\",staticClass:\"vac-svg-button vac-message-options\",on:{\"click\":_vm.openOptions}},[_vm._t(\"dropdown-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"message\"}})]})],2):_vm._e(),(_vm.isMessageReactions)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeEmoji),expression:\"closeEmoji\"}],key:\"3\"},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{staticClass:\"vac-message-emojis\",style:({ right: _vm.isMessageActions ? '30px' : '5px' }),attrs:{\"emoji-opened\":_vm.emojiOpened,\"emoji-reaction\":true,\"position-right\":_vm.message.senderId === _vm.currentUserId},on:{\"add-emoji\":_vm.sendMessageReaction,\"open-emoji\":_vm.openEmoji},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-reaction-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.sendMessageReaction},{ emojiOpened: _vm.emojiOpened })],2):_vm._e()])],1),(_vm.filteredMessageActions.length)?_c('transition',{attrs:{\"name\":_vm.message.senderId === _vm.currentUserId\n\t\t\t\t? 'vac-slide-left'\n\t\t\t\t: 'vac-slide-right'}},[(_vm.optionsOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeOptions),expression:\"closeOptions\"}],ref:\"menuOptions\",staticClass:\"vac-menu-options\",class:{\n\t\t\t\t'vac-menu-left': _vm.message.senderId !== _vm.currentUserId\n\t\t\t},style:({ top: (_vm.menuOptionsTop + \"px\") })},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.filteredMessageActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.messageActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageActions.vue?vue&type=template&id=27f1a961&\"\nimport script from \"./MessageActions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageActions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.message.deleted)?_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},_vm._l((_vm.message.reactions),function(reaction,key){return _c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(reaction.length),expression:\"reaction.length\"}],key:key + 0,staticClass:\"vac-button-reaction\",class:{\n\t\t\t'vac-reaction-me': reaction.indexOf(_vm.currentUserId) !== -1\n\t\t},style:({\n\t\t\tfloat: _vm.message.senderId === _vm.currentUserId ? 'right' : 'left'\n\t\t}),on:{\"click\":function($event){return _vm.sendMessageReaction({ unicode: key }, reaction)}}},[_vm._v(\" \"+_vm._s(key)),_c('span',[_vm._v(_vm._s(reaction.length))])])}),0):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReactions.vue?vue&type=template&id=3fc44a38&\"\nimport script from \"./MessageReactions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReactions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessage.vue?vue&type=template&id=545cd2c3&\"\nimport script from \"./RoomMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Room.vue?vue&type=template&id=5c60aee1&\"\nimport script from \"./Room.vue?vue&type=script&lang=js&\"\nexport * from \"./Room.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal\",staticClass:\"vac-media-preview\",attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeModal.apply(null, arguments)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeModal.apply(null, arguments)}}},[_c('transition',{attrs:{\"name\":\"vac-bounce-preview\",\"appear\":\"\"}},[(_vm.isImage)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('div',{staticClass:\"vac-image-preview\",style:({\n\t\t\t\t\t'background-image': (\"url('\" + (_vm.file.url) + \"')\")\n\t\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\",\"autoplay\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])]):_vm._e()]),_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"preview-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\",\"param\":\"preview\"}})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MediaPreview.vue?vue&type=template&id=2d3ea15a&\"\nimport script from \"./MediaPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaPreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\tROOMS_EMPTY: 'No rooms',\n\tROOM_EMPTY: 'No room selected',\n\tNEW_MESSAGES: 'New Messages',\n\tMESSAGE_DELETED: 'This message was deleted',\n\tMESSAGES_EMPTY: 'No messages',\n\tCONVERSATION_STARTED: 'Conversation started on:',\n\tTYPE_MESSAGE: 'Type message',\n\tSEARCH: 'Search',\n\tIS_ONLINE: 'is online',\n\tLAST_SEEN: 'last seen ',\n\tIS_TYPING: 'is writing...',\n\tCANCEL_SELECT_MESSAGE: 'Cancel'\n}\n","export const defaultThemeStyles = {\n\tlight: {\n\t\tgeneral: {\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorButtonClear: '#1976d2',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#fff',\n\t\t\tcolorPlaceholder: '#9ca6af',\n\t\t\tcolorCaret: '#1976d2',\n\t\t\tcolorSpinner: '#333',\n\t\t\tborderStyle: '1px solid #e1e4e8',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#fff',\n\t\t\tcolorRoomName: '#0a0a0a',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#f8f9fa',\n\t\t\tborderStyleInput: '1px solid #e1e4e8',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#e5e5e6',\n\t\t\tbackgroundTagActive: '#e5e5e6',\n\t\t\tbackgroundTag: '#f8f9fa'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#f8f9fa'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6',\n\t\t\tbackgroundActive: '#e5effa',\n\t\t\tcolorActive: '#1976d2',\n\t\t\tborderColorSearch: '#e1e5e8'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundMe: '#ccf2cf',\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#dadfe2',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#757e85',\n\t\t\tcolorUsername: '#9ca6af',\n\t\t\tcolorTimestamp: '#828c94',\n\t\t\tbackgroundDate: '#e5effa',\n\t\t\tcolorDate: '#505a62',\n\t\t\tbackgroundSystem: '#e5effa',\n\t\t\tcolorSystem: '#505a62',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.08)',\n\t\t\tcolorReplyUsername: '#0a0a0a',\n\t\t\tcolorReply: '#6e6e6e',\n\t\t\tcolorTag: '#0d579c',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#1976d2',\n\t\t\tbackgroundScrollCounter: '#0696c7',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: '#eee',\n\t\t\tborderStyleReaction: '1px solid #eee',\n\t\t\tbackgroundReactionHover: '#fff',\n\t\t\tborderStyleReactionHover: '1px solid #ddd',\n\t\t\tcolorReactionCounter: '#0a0a0a',\n\t\t\tbackgroundReactionMe: '#cfecf5',\n\t\t\tborderStyleReactionMe: '1px solid #3b98b8',\n\t\t\tbackgroundReactionHoverMe: '#cfecf5',\n\t\t\tborderStyleReactionHoverMe: '1px solid #3b98b8',\n\t\t\tcolorReactionCounterMe: '#0b59b3',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundAudioProgress: '#455247',\n\t\t\tbackgroundAudioProgressSelector: '#455247',\n\t\t\tcolorFileExtension: '#757e85'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#0a0a0a',\n\t\t\tcolorMessage: '#67717a',\n\t\t\tcolorTimestamp: '#a2aeb8',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#9ca6af',\n\t\t\tbackgroundCounterBadge: '#0696c7',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#fff'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#9ca6af',\n\t\t\tadd: '#1976d2',\n\t\t\ttoggle: '#0a0a0a',\n\t\t\tmenu: '#0a0a0a',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#1976d2',\n\t\t\tcloseOutline: '#000',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#1976d2',\n\t\t\tsendDisabled: '#9ca6af',\n\t\t\temoji: '#1976d2',\n\t\t\temojiReaction: 'rgba(0, 0, 0, 0.3)',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#9e9e9e',\n\t\t\tcheckmark: '#9e9e9e',\n\t\t\tcheckmarkSeen: '#0696c7',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#9e9e9e',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#1976d2',\n\t\t\taudioPlay: '#455247',\n\t\t\taudioPause: '#455247',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t},\n\tdark: {\n\t\tgeneral: {\n\t\t\tcolor: '#fff',\n\t\t\tcolorButtonClear: '#fff',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#202223',\n\t\t\tcolorPlaceholder: '#596269',\n\t\t\tcolorCaret: '#fff',\n\t\t\tcolorSpinner: '#fff',\n\t\t\tborderStyle: 'none',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#181a1b',\n\t\t\tcolorRoomName: '#fff',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#131415',\n\t\t\tborderStyleInput: 'none',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#1b1c1c',\n\t\t\tbackgroundTagActive: '#1b1c1c',\n\t\t\tbackgroundTag: '#131415'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#131415'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#181a1b',\n\t\t\tbackgroundHover: '#202224',\n\t\t\tbackgroundActive: '#151617',\n\t\t\tcolorActive: '#fff',\n\t\t\tborderColorSearch: '#181a1b'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#2a2c33',\n\t\t\tbackgroundHover: '#26282e'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#22242a',\n\t\t\tbackgroundMe: '#1f7e80',\n\t\t\tcolor: '#fff',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#1b1c21',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#a2a5a8',\n\t\t\tcolorUsername: '#b3bac9',\n\t\t\tcolorTimestamp: '#ebedf2',\n\t\t\tbackgroundDate: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorDate: '#bec5cc',\n\t\t\tbackgroundSystem: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorSystem: '#bec5cc',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.18)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.18)',\n\t\t\tcolorReplyUsername: '#fff',\n\t\t\tcolorReply: '#d6d6d6',\n\t\t\tcolorTag: '#f0c60a',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#fff',\n\t\t\tbackgroundScrollCounter: '#1976d2',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: 'none',\n\t\t\tborderStyleReaction: 'none',\n\t\t\tbackgroundReactionHover: '#202223',\n\t\t\tborderStyleReactionHover: 'none',\n\t\t\tcolorReactionCounter: '#fff',\n\t\t\tbackgroundReactionMe: '#4e9ad1',\n\t\t\tborderStyleReactionMe: 'none',\n\t\t\tbackgroundReactionHoverMe: '#4e9ad1',\n\t\t\tborderStyleReactionHoverMe: 'none',\n\t\t\tcolorReactionCounterMe: '#fff',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(255, 255, 255, 0.15)',\n\t\t\tbackgroundAudioProgress: '#b7d4d3',\n\t\t\tbackgroundAudioProgressSelector: '#b7d4d3',\n\t\t\tcolorFileExtension: '#a2a5a8'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#fff',\n\t\t\tcolorMessage: '#6c7278',\n\t\t\tcolorTimestamp: '#6c7278',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#596269',\n\t\t\tbackgroundCounterBadge: '#1976d2',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#343740'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#596269',\n\t\t\tadd: '#fff',\n\t\t\ttoggle: '#fff',\n\t\t\tmenu: '#fff',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#fff',\n\t\t\tcloseOutline: '#fff',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#fff',\n\t\t\tsendDisabled: '#646a70',\n\t\t\temoji: '#fff',\n\t\t\temojiReaction: '#fff',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#ebedf2',\n\t\t\tcheckmark: '#ebedf2',\n\t\t\tcheckmarkSeen: '#f0d90a',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#fff',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#fff',\n\t\t\taudioPlay: '#b7d4d3',\n\t\t\taudioPause: '#b7d4d3',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t}\n}\n\nexport const cssThemeVars = ({\n\tgeneral,\n\tcontainer,\n\theader,\n\tfooter,\n\tsidemenu,\n\tcontent,\n\tdropdown,\n\tmessage,\n\tmarkdown,\n\troom,\n\temoji,\n\ticons\n}) => {\n\treturn {\n\t\t// general\n\t\t'--chat-color': general.color,\n\t\t'--chat-color-button-clear': general.colorButtonClear,\n\t\t'--chat-color-button': general.colorButton,\n\t\t'--chat-bg-color-button': general.backgroundColorButton,\n\t\t'--chat-bg-color-input': general.backgroundInput,\n\t\t'--chat-color-spinner': general.colorSpinner,\n\t\t'--chat-color-placeholder': general.colorPlaceholder,\n\t\t'--chat-color-caret': general.colorCaret,\n\t\t'--chat-border-style': general.borderStyle,\n\t\t'--chat-bg-scroll-icon': general.backgroundScrollIcon,\n\n\t\t// container\n\t\t'--chat-container-border': container.border,\n\t\t'--chat-container-border-radius': container.borderRadius,\n\t\t'--chat-container-box-shadow': container.boxShadow,\n\n\t\t// header\n\t\t'--chat-header-bg-color': header.background,\n\t\t'--chat-header-color-name': header.colorRoomName,\n\t\t'--chat-header-color-info': header.colorRoomInfo,\n\n\t\t// footer\n\t\t'--chat-footer-bg-color': footer.background,\n\t\t'--chat-border-style-input': footer.borderStyleInput,\n\t\t'--chat-border-color-input-selected': footer.borderInputSelected,\n\t\t'--chat-footer-bg-color-reply': footer.backgroundReply,\n\t\t'--chat-footer-bg-color-tag-active': footer.backgroundTagActive,\n\t\t'--chat-footer-bg-color-tag': footer.backgroundTag,\n\n\t\t// content\n\t\t'--chat-content-bg-color': content.background,\n\n\t\t// sidemenu\n\t\t'--chat-sidemenu-bg-color': sidemenu.background,\n\t\t'--chat-sidemenu-bg-color-hover': sidemenu.backgroundHover,\n\t\t'--chat-sidemenu-bg-color-active': sidemenu.backgroundActive,\n\t\t'--chat-sidemenu-color-active': sidemenu.colorActive,\n\t\t'--chat-sidemenu-border-color-search': sidemenu.borderColorSearch,\n\n\t\t// dropdown\n\t\t'--chat-dropdown-bg-color': dropdown.background,\n\t\t'--chat-dropdown-bg-color-hover': dropdown.backgroundHover,\n\n\t\t// message\n\t\t'--chat-message-bg-color': message.background,\n\t\t'--chat-message-bg-color-me': message.backgroundMe,\n\t\t'--chat-message-color-started': message.colorStarted,\n\t\t'--chat-message-bg-color-deleted': message.backgroundDeleted,\n\t\t'--chat-message-bg-color-selected': message.backgroundSelected,\n\t\t'--chat-message-color-deleted': message.colorDeleted,\n\t\t'--chat-message-color-username': message.colorUsername,\n\t\t'--chat-message-color-timestamp': message.colorTimestamp,\n\t\t'--chat-message-bg-color-date': message.backgroundDate,\n\t\t'--chat-message-color-date': message.colorDate,\n\t\t'--chat-message-bg-color-system': message.backgroundSystem,\n\t\t'--chat-message-color-system': message.colorSystem,\n\t\t'--chat-message-color': message.color,\n\t\t'--chat-message-bg-color-media': message.backgroundMedia,\n\t\t'--chat-message-bg-color-reply': message.backgroundReply,\n\t\t'--chat-message-color-reply-username': message.colorReplyUsername,\n\t\t'--chat-message-color-reply-content': message.colorReply,\n\t\t'--chat-message-color-tag': message.colorTag,\n\t\t'--chat-message-bg-color-image': message.backgroundImage,\n\t\t'--chat-message-color-new-messages': message.colorNewMessages,\n\t\t'--chat-message-bg-color-scroll-counter': message.backgroundScrollCounter,\n\t\t'--chat-message-color-scroll-counter': message.colorScrollCounter,\n\t\t'--chat-message-bg-color-reaction': message.backgroundReaction,\n\t\t'--chat-message-border-style-reaction': message.borderStyleReaction,\n\t\t'--chat-message-bg-color-reaction-hover': message.backgroundReactionHover,\n\t\t'--chat-message-border-style-reaction-hover':\n\t\t\tmessage.borderStyleReactionHover,\n\t\t'--chat-message-color-reaction-counter': message.colorReactionCounter,\n\t\t'--chat-message-bg-color-reaction-me': message.backgroundReactionMe,\n\t\t'--chat-message-border-style-reaction-me': message.borderStyleReactionMe,\n\t\t'--chat-message-bg-color-reaction-hover-me':\n\t\t\tmessage.backgroundReactionHoverMe,\n\t\t'--chat-message-border-style-reaction-hover-me':\n\t\t\tmessage.borderStyleReactionHoverMe,\n\t\t'--chat-message-color-reaction-counter-me': message.colorReactionCounterMe,\n\t\t'--chat-message-bg-color-audio-record': message.backgroundAudioRecord,\n\t\t'--chat-message-bg-color-audio-line': message.backgroundAudioLine,\n\t\t'--chat-message-bg-color-audio-progress': message.backgroundAudioProgress,\n\t\t'--chat-message-bg-color-audio-progress-selector':\n\t\t\tmessage.backgroundAudioProgressSelector,\n\t\t'--chat-message-color-file-extension': message.colorFileExtension,\n\n\t\t// markdown\n\t\t'--chat-markdown-bg': markdown.background,\n\t\t'--chat-markdown-border': markdown.border,\n\t\t'--chat-markdown-color': markdown.color,\n\t\t'--chat-markdown-color-multi': markdown.colorMulti,\n\n\t\t// room\n\t\t'--chat-room-color-username': room.colorUsername,\n\t\t'--chat-room-color-message': room.colorMessage,\n\t\t'--chat-room-color-timestamp': room.colorTimestamp,\n\t\t'--chat-room-color-online': room.colorStateOnline,\n\t\t'--chat-room-color-offline': room.colorStateOffline,\n\t\t'--chat-room-bg-color-badge': room.backgroundCounterBadge,\n\t\t'--chat-room-color-badge': room.colorCounterBadge,\n\n\t\t// emoji\n\t\t'--chat-emoji-bg-color': emoji.background,\n\n\t\t// icons\n\t\t'--chat-icon-color-search': icons.search,\n\t\t'--chat-icon-color-add': icons.add,\n\t\t'--chat-icon-color-toggle': icons.toggle,\n\t\t'--chat-icon-color-menu': icons.menu,\n\t\t'--chat-icon-color-close': icons.close,\n\t\t'--chat-icon-color-close-image': icons.closeImage,\n\t\t'--chat-icon-color-file': icons.file,\n\t\t'--chat-icon-color-paperclip': icons.paperclip,\n\t\t'--chat-icon-color-close-outline': icons.closeOutline,\n\t\t'--chat-icon-color-close-preview': icons.closePreview,\n\t\t'--chat-icon-color-send': icons.send,\n\t\t'--chat-icon-color-send-disabled': icons.sendDisabled,\n\t\t'--chat-icon-color-emoji': icons.emoji,\n\t\t'--chat-icon-color-emoji-reaction': icons.emojiReaction,\n\t\t'--chat-icon-color-document': icons.document,\n\t\t'--chat-icon-color-pencil': icons.pencil,\n\t\t'--chat-icon-color-checkmark': icons.checkmark,\n\t\t'--chat-icon-color-checkmark-seen': icons.checkmarkSeen,\n\t\t'--chat-icon-color-eye': icons.eye,\n\t\t'--chat-icon-color-dropdown-message': icons.dropdownMessage,\n\t\t'--chat-icon-bg-dropdown-message': icons.dropdownMessageBackground,\n\t\t'--chat-icon-color-dropdown-room': icons.dropdownRoom,\n\t\t'--chat-icon-color-dropdown-scroll': icons.dropdownScroll,\n\t\t'--chat-icon-color-microphone': icons.microphone,\n\t\t'--chat-icon-color-audio-play': icons.audioPlay,\n\t\t'--chat-icon-color-audio-pause': icons.audioPause,\n\t\t'--chat-icon-color-audio-cancel': icons.audioCancel,\n\t\t'--chat-icon-color-audio-confirm': icons.audioConfirm\n\t}\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&shadow\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&shadow\"","import { render, staticRenderFns } from \"./ChatWindow.vue?vue&type=template&id=1aef5270&shadow\"\nimport script from \"./ChatWindow.vue?vue&type=script&lang=js&shadow\"\nexport * from \"./ChatWindow.vue?vue&type=script&lang=js&shadow\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./ChatWindow.vue?vue&type=style&index=0&lang=scss&shadow\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n ,true\n)\n\nexport default component.exports","import './setPublicPath'\nimport Vue from 'vue'\nimport wrap from '@vue/web-component-wrapper'\n\n// runtime shared by every component chunk\nimport 'css-loader/dist/runtime/api.js'\nimport 'vue-style-loader/lib/addStylesShadow'\nimport 'vue-loader/lib/runtime/componentNormalizer'\n\nimport vueAdvancedChat from '~root/./src/lib/ChatWindow.vue?shadow'\nwindow.customElements.define('vue-advanced-chat', wrap(Vue, vueAdvancedChat))","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpFlags = require('../internals/regexp-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\nvar getFlags = uncurryThis(regExpFlags);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible('flags' in RegExpPrototype\n ? searchValue.flags\n : getFlags(searchValue)\n ));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","function HuffCodeTab(len, max, tab, hl) {\n this.xlen = len;\n this.linmax = max;\n this.table = tab;\n this.hlen = hl;\n}\n\nvar Tables = {};\n\n\nTables.t1HB = [\n 1, 1,\n 1, 0\n];\n\nTables.t2HB = [\n 1, 2, 1,\n 3, 1, 1,\n 3, 2, 0\n];\n\nTables.t3HB = [\n 3, 2, 1,\n 1, 1, 1,\n 3, 2, 0\n];\n\nTables.t5HB = [\n 1, 2, 6, 5,\n 3, 1, 4, 4,\n 7, 5, 7, 1,\n 6, 1, 1, 0\n];\n\nTables.t6HB = [\n 7, 3, 5, 1,\n 6, 2, 3, 2,\n 5, 4, 4, 1,\n 3, 3, 2, 0\n];\n\nTables.t7HB = [\n 1, 2, 10, 19, 16, 10,\n 3, 3, 7, 10, 5, 3,\n 11, 4, 13, 17, 8, 4,\n 12, 11, 18, 15, 11, 2,\n 7, 6, 9, 14, 3, 1,\n 6, 4, 5, 3, 2, 0\n];\n\nTables.t8HB = [\n 3, 4, 6, 18, 12, 5,\n 5, 1, 2, 16, 9, 3,\n 7, 3, 5, 14, 7, 3,\n 19, 17, 15, 13, 10, 4,\n 13, 5, 8, 11, 5, 1,\n 12, 4, 4, 1, 1, 0\n];\n\nTables.t9HB = [\n 7, 5, 9, 14, 15, 7,\n 6, 4, 5, 5, 6, 7,\n 7, 6, 8, 8, 8, 5,\n 15, 6, 9, 10, 5, 1,\n 11, 7, 9, 6, 4, 1,\n 14, 4, 6, 2, 6, 0\n];\n\nTables.t10HB = [\n 1, 2, 10, 23, 35, 30, 12, 17,\n 3, 3, 8, 12, 18, 21, 12, 7,\n 11, 9, 15, 21, 32, 40, 19, 6,\n 14, 13, 22, 34, 46, 23, 18, 7,\n 20, 19, 33, 47, 27, 22, 9, 3,\n 31, 22, 41, 26, 21, 20, 5, 3,\n 14, 13, 10, 11, 16, 6, 5, 1,\n 9, 8, 7, 8, 4, 4, 2, 0\n];\n\nTables.t11HB = [\n 3, 4, 10, 24, 34, 33, 21, 15,\n 5, 3, 4, 10, 32, 17, 11, 10,\n 11, 7, 13, 18, 30, 31, 20, 5,\n 25, 11, 19, 59, 27, 18, 12, 5,\n 35, 33, 31, 58, 30, 16, 7, 5,\n 28, 26, 32, 19, 17, 15, 8, 14,\n 14, 12, 9, 13, 14, 9, 4, 1,\n 11, 4, 6, 6, 6, 3, 2, 0\n];\n\nTables.t12HB = [\n 9, 6, 16, 33, 41, 39, 38, 26,\n 7, 5, 6, 9, 23, 16, 26, 11,\n 17, 7, 11, 14, 21, 30, 10, 7,\n 17, 10, 15, 12, 18, 28, 14, 5,\n 32, 13, 22, 19, 18, 16, 9, 5,\n 40, 17, 31, 29, 17, 13, 4, 2,\n 27, 12, 11, 15, 10, 7, 4, 1,\n 27, 12, 8, 12, 6, 3, 1, 0\n];\n\nTables.t13HB = [\n 1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19,\n 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14,\n 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16,\n 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14,\n 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24,\n 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17,\n 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15,\n 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42,\n 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16,\n 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11,\n 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22,\n 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7,\n 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5,\n 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3,\n 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2,\n 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1\n];\n\nTables.t15HB = [\n 7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63,\n 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36,\n 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33,\n 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29,\n 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27,\n 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38,\n 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30,\n 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25,\n 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20,\n 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15,\n 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9,\n 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11,\n 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7,\n 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3,\n 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1,\n 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0\n];\n\nTables.t16HB = [\n 1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17,\n 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9,\n 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16,\n 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26,\n 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9,\n 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16,\n 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10,\n 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8,\n 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7,\n 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11,\n 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4,\n 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6,\n 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4,\n 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2,\n 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0,\n 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3\n];\n\nTables.t24HB = [\n 15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88,\n 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42,\n 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18,\n 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16,\n 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14,\n 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12,\n 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10,\n 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17,\n 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16,\n 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11,\n 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10,\n 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6,\n 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4,\n 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2,\n 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0,\n 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3\n];\n\nTables.t32HB = [\n 1 << 0, 5 << 1, 4 << 1, 5 << 2, 6 << 1, 5 << 2, 4 << 2, 4 << 3,\n 7 << 1, 3 << 2, 6 << 2, 0 << 3, 7 << 2, 2 << 3, 3 << 3, 1 << 4\n];\n\nTables.t33HB = [\n 15 << 0, 14 << 1, 13 << 1, 12 << 2, 11 << 1, 10 << 2, 9 << 2, 8 << 3,\n 7 << 1, 6 << 2, 5 << 2, 4 << 3, 3 << 2, 2 << 3, 1 << 3, 0 << 4\n];\n\nTables.t1l = [\n 1, 4,\n 3, 5\n];\n\nTables.t2l = [\n 1, 4, 7,\n 4, 5, 7,\n 6, 7, 8\n];\n\nTables.t3l = [\n 2, 3, 7,\n 4, 4, 7,\n 6, 7, 8\n];\n\nTables.t5l = [\n 1, 4, 7, 8,\n 4, 5, 8, 9,\n 7, 8, 9, 10,\n 8, 8, 9, 10\n];\n\nTables.t6l = [\n 3, 4, 6, 8,\n 4, 4, 6, 7,\n 5, 6, 7, 8,\n 7, 7, 8, 9\n];\n\nTables.t7l = [\n 1, 4, 7, 9, 9, 10,\n 4, 6, 8, 9, 9, 10,\n 7, 7, 9, 10, 10, 11,\n 8, 9, 10, 11, 11, 11,\n 8, 9, 10, 11, 11, 12,\n 9, 10, 11, 12, 12, 12\n];\n\nTables.t8l = [\n 2, 4, 7, 9, 9, 10,\n 4, 4, 6, 10, 10, 10,\n 7, 6, 8, 10, 10, 11,\n 9, 10, 10, 11, 11, 12,\n 9, 9, 10, 11, 12, 12,\n 10, 10, 11, 11, 13, 13\n];\n\nTables.t9l = [\n 3, 4, 6, 7, 9, 10,\n 4, 5, 6, 7, 8, 10,\n 5, 6, 7, 8, 9, 10,\n 7, 7, 8, 9, 9, 10,\n 8, 8, 9, 9, 10, 11,\n 9, 9, 10, 10, 11, 11\n];\n\nTables.t10l = [\n 1, 4, 7, 9, 10, 10, 10, 11,\n 4, 6, 8, 9, 10, 11, 10, 10,\n 7, 8, 9, 10, 11, 12, 11, 11,\n 8, 9, 10, 11, 12, 12, 11, 12,\n 9, 10, 11, 12, 12, 12, 12, 12,\n 10, 11, 12, 12, 13, 13, 12, 13,\n 9, 10, 11, 12, 12, 12, 13, 13,\n 10, 10, 11, 12, 12, 13, 13, 13\n];\n\nTables.t11l = [\n 2, 4, 6, 8, 9, 10, 9, 10,\n 4, 5, 6, 8, 10, 10, 9, 10,\n 6, 7, 8, 9, 10, 11, 10, 10,\n 8, 8, 9, 11, 10, 12, 10, 11,\n 9, 10, 10, 11, 11, 12, 11, 12,\n 9, 10, 11, 12, 12, 13, 12, 13,\n 9, 9, 9, 10, 11, 12, 12, 12,\n 9, 9, 10, 11, 12, 12, 12, 12\n];\n\nTables.t12l = [\n 4, 4, 6, 8, 9, 10, 10, 10,\n 4, 5, 6, 7, 9, 9, 10, 10,\n 6, 6, 7, 8, 9, 10, 9, 10,\n 7, 7, 8, 8, 9, 10, 10, 10,\n 8, 8, 9, 9, 10, 10, 10, 11,\n 9, 9, 10, 10, 10, 11, 10, 11,\n 9, 9, 9, 10, 10, 11, 11, 12,\n 10, 10, 10, 11, 11, 11, 11, 12\n];\n\nTables.t13l = [\n 1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14,\n 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14,\n 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15,\n 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15,\n 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16,\n 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16,\n 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16,\n 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18,\n 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17,\n 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17,\n 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19,\n 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18,\n 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18,\n 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18,\n 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18,\n 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18\n];\n\nTables.t15l = [\n 3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14,\n 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13,\n 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13,\n 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14,\n 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14,\n 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15,\n 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15,\n 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15,\n 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15,\n 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15\n];\n\nTables.t16_5l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14,\n 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12\n];\n\nTables.t16l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13,\n 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10\n];\n\nTables.t24l = [\n 4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10,\n 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10,\n 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9,\n 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9,\n 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9,\n 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9,\n 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9,\n 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10,\n 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10,\n 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10,\n 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6\n];\n\nTables.t32l = [\n 1 + 0, 4 + 1, 4 + 1, 5 + 2, 4 + 1, 6 + 2, 5 + 2, 6 + 3,\n 4 + 1, 5 + 2, 5 + 2, 6 + 3, 5 + 2, 6 + 3, 6 + 3, 6 + 4\n];\n\nTables.t33l = [\n 4 + 0, 4 + 1, 4 + 1, 4 + 2, 4 + 1, 4 + 2, 4 + 2, 4 + 3,\n 4 + 1, 4 + 2, 4 + 2, 4 + 3, 4 + 2, 4 + 3, 4 + 3, 4 + 4\n];\n\nTables.ht = [\n /* xlen, linmax, table, hlen */\n new HuffCodeTab(0, 0, null, null),\n new HuffCodeTab(2, 0, Tables.t1HB, Tables.t1l),\n new HuffCodeTab(3, 0, Tables.t2HB, Tables.t2l),\n new HuffCodeTab(3, 0, Tables.t3HB, Tables.t3l),\n new HuffCodeTab(0, 0, null, null), /* Apparently not used */\n new HuffCodeTab(4, 0, Tables.t5HB, Tables.t5l),\n new HuffCodeTab(4, 0, Tables.t6HB, Tables.t6l),\n new HuffCodeTab(6, 0, Tables.t7HB, Tables.t7l),\n new HuffCodeTab(6, 0, Tables.t8HB, Tables.t8l),\n new HuffCodeTab(6, 0, Tables.t9HB, Tables.t9l),\n new HuffCodeTab(8, 0, Tables.t10HB, Tables.t10l),\n new HuffCodeTab(8, 0, Tables.t11HB, Tables.t11l),\n new HuffCodeTab(8, 0, Tables.t12HB, Tables.t12l),\n new HuffCodeTab(16, 0, Tables.t13HB, Tables.t13l),\n new HuffCodeTab(0, 0, null, Tables.t16_5l), /* Apparently not used */\n new HuffCodeTab(16, 0, Tables.t15HB, Tables.t15l),\n\n new HuffCodeTab(1, 1, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(2, 3, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(3, 7, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(4, 15, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(6, 63, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(8, 255, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(10, 1023, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(13, 8191, Tables.t16HB, Tables.t16l),\n\n new HuffCodeTab(4, 15, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(5, 31, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(6, 63, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(7, 127, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(8, 255, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(9, 511, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(11, 2047, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(13, 8191, Tables.t24HB, Tables.t24l),\n\n new HuffCodeTab(0, 0, Tables.t32HB, Tables.t32l),\n new HuffCodeTab(0, 0, Tables.t33HB, Tables.t33l),\n];\n\n/**\n * \n * for (i = 0; i < 16*16; i++) [\n * largetbl[i] = ((ht[16].hlen[i]) << 16) + ht[24].hlen[i];\n * ]\n * \n *\n */\nTables.largetbl = [\n 0x010004, 0x050005, 0x070007, 0x090008, 0x0a0009, 0x0a000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000c, 0x0c000c, 0x0d000c, 0x0d000c, 0x0d000c, 0x0e000d, 0x0a000a,\n 0x040005, 0x060006, 0x080007, 0x090008, 0x0a0009, 0x0b000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000b, 0x0c000c, 0x0d000c, 0x0e000c, 0x0d000c, 0x0e000c, 0x0a000a,\n 0x070007, 0x080007, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0c000b, 0x0d000b, 0x0d000c, 0x0d000c, 0x0e000c, 0x0e000d, 0x0b0009,\n 0x090008, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0c0009,\n 0x0a0009, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000a, 0x0d000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000d, 0x0b0009,\n 0x0a000a, 0x0a0009, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0e000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0c0009,\n 0x0b000a, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0d000b, 0x0d000b,\n 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000d, 0x0c0009,\n 0x0b000b, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b,\n 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x11000d, 0x11000d, 0x0c000a,\n 0x0b000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b,\n 0x0f000b, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000d, 0x10000d, 0x0c000a,\n 0x0c000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b, 0x0f000c,\n 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0f000d, 0x10000d, 0x0f000d, 0x0d000a,\n 0x0c000c, 0x0d000b, 0x0c000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c,\n 0x0f000c, 0x10000c, 0x10000c, 0x10000d, 0x11000d, 0x11000d, 0x10000d, 0x0c000a,\n 0x0d000c, 0x0d000c, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x10000c,\n 0x10000c, 0x10000c, 0x10000c, 0x10000d, 0x10000d, 0x0f000d, 0x10000d, 0x0d000a,\n 0x0d000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c,\n 0x0f000c, 0x11000c, 0x10000d, 0x10000d, 0x10000d, 0x10000d, 0x12000d, 0x0d000a,\n 0x0f000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000c,\n 0x10000d, 0x12000d, 0x11000d, 0x11000d, 0x11000d, 0x13000d, 0x11000d, 0x0d000a,\n 0x0e000d, 0x0f000c, 0x0d000c, 0x0e000c, 0x10000c, 0x10000c, 0x0f000c, 0x10000d,\n 0x10000d, 0x11000d, 0x12000d, 0x11000d, 0x13000d, 0x11000d, 0x10000d, 0x0d000a,\n 0x0a0009, 0x0a0009, 0x0a0009, 0x0b0009, 0x0b0009, 0x0c0009, 0x0c0009, 0x0c0009,\n 0x0d0009, 0x0d0009, 0x0d0009, 0x0d000a, 0x0d000a, 0x0d000a, 0x0d000a, 0x0a0006\n];\n/**\n * \n * for (i = 0; i < 3*3; i++) [\n * table23[i] = ((ht[2].hlen[i]) << 16) + ht[3].hlen[i];\n * ]\n * \n *\n */\nTables.table23 = [\n 0x010002, 0x040003, 0x070007,\n 0x040004, 0x050004, 0x070007,\n 0x060006, 0x070007, 0x080008\n];\n\n/**\n * \n * for (i = 0; i < 4*4; i++) [\n * table56[i] = ((ht[5].hlen[i]) << 16) + ht[6].hlen[i];\n * ]\n * \n *\n */\nTables.table56 = [\n 0x010003, 0x040004, 0x070006, 0x080008, 0x040004, 0x050004, 0x080006, 0x090007,\n 0x070005, 0x080006, 0x090007, 0x0a0008, 0x080007, 0x080007, 0x090008, 0x0a0009\n];\n\nTables.bitrate_table = [\n [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], /* MPEG 2 */\n [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], /* MPEG 1 */\n [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1], /* MPEG 2.5 */\n];\n\n/**\n * MPEG 2, MPEG 1, MPEG 2.5.\n */\nTables.samplerate_table = [\n [22050, 24000, 16000, -1],\n [44100, 48000, 32000, -1],\n [11025, 12000, 8000, -1],\n];\n\n/**\n * This is the scfsi_band table from 2.4.2.7 of the IS.\n */\nTables.scfsi_band = [0, 6, 11, 16, 21];\n\nmodule.exports = Tables;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar RangeError = global.RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","module.exports = typeof window == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar padStart = require('../internals/string-pad').start;\n\nvar RangeError = global.RangeError;\nvar abs = Math.abs;\nvar DatePrototype = Date.prototype;\nvar n$DateToISOString = DatePrototype.toISOString;\nvar getTime = uncurryThis(DatePrototype.getTime);\nvar getUTCDate = uncurryThis(DatePrototype.getUTCDate);\nvar getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear);\nvar getUTCHours = uncurryThis(DatePrototype.getUTCHours);\nvar getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds);\nvar getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes);\nvar getUTCMonth = uncurryThis(DatePrototype.getUTCMonth);\nvar getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds);\n\n// `Date.prototype.toISOString` method implementation\n// https://tc39.es/ecma262/#sec-date.prototype.toisostring\n// PhantomJS / old WebKit fails here:\nmodule.exports = (fails(function () {\n return n$DateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n n$DateToISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime(this))) throw RangeError('Invalid time value');\n var date = this;\n var year = getUTCFullYear(date);\n var milliseconds = getUTCMilliseconds(date);\n var sign = year < 0 ? '-' : year > 9999 ? '+' : '';\n return sign + padStart(abs(year), sign ? 6 : 4, 0) +\n '-' + padStart(getUTCMonth(date) + 1, 2, 0) +\n '-' + padStart(getUTCDate(date), 2, 0) +\n 'T' + padStart(getUTCHours(date), 2, 0) +\n ':' + padStart(getUTCMinutes(date), 2, 0) +\n ':' + padStart(getUTCSeconds(date), 2, 0) +\n '.' + padStart(milliseconds, 3, 0) +\n 'Z';\n} : n$DateToISOString;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (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 defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","//package mp3;\n\n/* MPEG modes */\nfunction MPEGMode(ordinal) {\n var _ordinal = ordinal;\n this.ordinal = function () {\n return _ordinal;\n }\n}\n\nMPEGMode.STEREO = new MPEGMode(0);\nMPEGMode.JOINT_STEREO = new MPEGMode(1);\nMPEGMode.DUAL_CHANNEL = new MPEGMode(2);\nMPEGMode.MONO = new MPEGMode(3);\nMPEGMode.NOT_SET = new MPEGMode(4);\n\nmodule.exports = MPEGMode;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Takehiro = require('./Takehiro.js');\nvar Tables = require('./Tables.js');\nvar Encoder = require('./Encoder.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nBitStream.EQ = function (a, b) {\n return (Math.abs(a) > Math.abs(b)) ? (Math.abs((a) - (b)) <= (Math\n .abs(a) * 1e-6))\n : (Math.abs((a) - (b)) <= (Math.abs(b) * 1e-6));\n};\n\nBitStream.NEQ = function (a, b) {\n return !BitStream.EQ(a, b);\n};\n\nfunction BitStream() {\n var self = this;\n var CRC16_POLYNOMIAL = 0x8005;\n\n /*\n * we work with ints, so when doing bit manipulation, we limit ourselves to\n * MAX_LENGTH-2 just to be on the safe side\n */\n var MAX_LENGTH = 32;\n\n //GainAnalysis ga;\n //MPGLib mpg;\n //Version ver;\n //VBRTag vbr;\n var ga = null;\n var mpg = null;\n var ver = null;\n var vbr = null;\n\n //public final void setModules(GainAnalysis ga, MPGLib mpg, Version ver,\n //\tVBRTag vbr) {\n\n this.setModules = function (_ga, _mpg, _ver, _vbr) {\n ga = _ga;\n mpg = _mpg;\n ver = _ver;\n vbr = _vbr;\n };\n\n /**\n * Bit stream buffer.\n */\n //private byte[] buf;\n var buf = null;\n /**\n * Bit counter of bit stream.\n */\n var totbit = 0;\n /**\n * Pointer to top byte in buffer.\n */\n var bufByteIdx = 0;\n /**\n * Pointer to top bit of top byte in buffer.\n */\n var bufBitIdx = 0;\n\n /**\n * compute bitsperframe and mean_bits for a layer III frame\n */\n this.getframebits = function (gfp) {\n var gfc = gfp.internal_flags;\n var bit_rate;\n\n /* get bitrate in kbps [?] */\n if (gfc.bitrate_index != 0)\n bit_rate = Tables.bitrate_table[gfp.version][gfc.bitrate_index];\n else\n bit_rate = gfp.brate;\n assert(8 <= bit_rate && bit_rate <= 640);\n\n /* main encoding routine toggles padding on and off */\n /* one Layer3 Slot consists of 8 bits */\n var bytes = 0 | (gfp.version + 1) * 72000 * bit_rate / gfp.out_samplerate + gfc.padding;\n return 8 * bytes;\n };\n\n function putheader_bits(gfc) {\n System.arraycopy(gfc.header[gfc.w_ptr].buf, 0, buf, bufByteIdx, gfc.sideinfo_len);\n bufByteIdx += gfc.sideinfo_len;\n totbit += gfc.sideinfo_len * 8;\n gfc.w_ptr = (gfc.w_ptr + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n }\n\n /**\n * write j bits into the bit stream\n */\n function putbits2(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n assert(gfc.header[gfc.w_ptr].write_timing >= totbit);\n if (gfc.header[gfc.w_ptr].write_timing == totbit) {\n putheader_bits(gfc);\n }\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * write j bits into the bit stream, ignoring frame headers\n */\n function putbits_noheaders(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * Some combinations of bitrate, Fs, and stereo make it impossible to stuff\n * out a frame using just main_data, due to the limited number of bits to\n * indicate main_data_length. In these situations, we put stuffing bits into\n * the ancillary data...\n */\n function drain_into_ancillary(gfp, remainingBits) {\n var gfc = gfp.internal_flags;\n var i;\n assert(remainingBits >= 0);\n\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4c, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x41, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4d, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x45, 8);\n remainingBits -= 8;\n }\n\n if (remainingBits >= 32) {\n var version = ver.getLameShortVersion();\n if (remainingBits >= 32)\n for (i = 0; i < version.length && remainingBits >= 8; ++i) {\n remainingBits -= 8;\n putbits2(gfc, version.charAt(i), 8);\n }\n }\n\n for (; remainingBits >= 1; remainingBits -= 1) {\n putbits2(gfc, gfc.ancillary_flag, 1);\n gfc.ancillary_flag ^= (!gfp.disable_reservoir ? 1 : 0);\n }\n\n assert(remainingBits == 0);\n\n }\n\n /**\n * write N bits into the header\n */\n function writeheader(gfc, val, j) {\n var ptr = gfc.header[gfc.h_ptr].ptr;\n\n while (j > 0) {\n var k = Math.min(j, 8 - (ptr & 7));\n j -= k;\n assert(j < MAX_LENGTH);\n /* >> 32 too large for 32 bit machines */\n\n gfc.header[gfc.h_ptr].buf[ptr >> 3] |= ((val >> j)) << (8 - (ptr & 7) - k);\n ptr += k;\n }\n gfc.header[gfc.h_ptr].ptr = ptr;\n }\n\n function CRC_update(value, crc) {\n value <<= 8;\n for (var i = 0; i < 8; i++) {\n value <<= 1;\n crc <<= 1;\n\n if ((((crc ^ value) & 0x10000) != 0))\n crc ^= CRC16_POLYNOMIAL;\n }\n return crc;\n }\n\n this.CRC_writeheader = function (gfc, header) {\n var crc = 0xffff;\n /* (jo) init crc16 for error_protection */\n\n crc = CRC_update(header[2] & 0xff, crc);\n crc = CRC_update(header[3] & 0xff, crc);\n for (var i = 6; i < gfc.sideinfo_len; i++) {\n crc = CRC_update(header[i] & 0xff, crc);\n }\n\n header[4] = (byte)(crc >> 8);\n header[5] = (byte)(crc & 255);\n };\n\n function encodeSideInfo2(gfp, bitsPerFrame) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var gr, ch;\n\n l3_side = gfc.l3_side;\n gfc.header[gfc.h_ptr].ptr = 0;\n Arrays.fill(gfc.header[gfc.h_ptr].buf, 0, gfc.sideinfo_len, 0);\n if (gfp.out_samplerate < 16000)\n writeheader(gfc, 0xffe, 12);\n else\n writeheader(gfc, 0xfff, 12);\n writeheader(gfc, (gfp.version), 1);\n writeheader(gfc, 4 - 3, 2);\n writeheader(gfc, (!gfp.error_protection ? 1 : 0), 1);\n writeheader(gfc, (gfc.bitrate_index), 4);\n writeheader(gfc, (gfc.samplerate_index), 2);\n writeheader(gfc, (gfc.padding), 1);\n writeheader(gfc, (gfp.extension), 1);\n writeheader(gfc, (gfp.mode.ordinal()), 2);\n writeheader(gfc, (gfc.mode_ext), 2);\n writeheader(gfc, (gfp.copyright), 1);\n writeheader(gfc, (gfp.original), 1);\n writeheader(gfc, (gfp.emphasis), 2);\n if (gfp.error_protection) {\n writeheader(gfc, 0, 16);\n /* dummy */\n }\n\n if (gfp.version == 1) {\n /* MPEG1 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 9);\n\n if (gfc.channels_out == 2)\n writeheader(gfc, l3_side.private_bits, 3);\n else\n writeheader(gfc, l3_side.private_bits, 5);\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var band;\n for (band = 0; band < 4; band++) {\n writeheader(gfc, l3_side.scfsi[ch][band], 1);\n }\n }\n\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 4);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.preflag, 1);\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n } else {\n /* MPEG2 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 8);\n writeheader(gfc, l3_side.private_bits, gfc.channels_out);\n\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 9);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n\n if (gfp.error_protection) {\n /* (jo) error_protection: add crc16 information to header */\n CRC_writeheader(gfc, gfc.header[gfc.h_ptr].buf);\n }\n\n {\n var old = gfc.h_ptr;\n assert(gfc.header[old].ptr == gfc.sideinfo_len * 8);\n\n gfc.h_ptr = (old + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n gfc.header[gfc.h_ptr].write_timing = gfc.header[old].write_timing\n + bitsPerFrame;\n\n if (gfc.h_ptr == gfc.w_ptr) {\n /* yikes! we are out of header buffer space */\n System.err\n .println(\"Error: MAX_HEADER_BUF too small in bitstream.c \\n\");\n }\n\n }\n }\n\n function huffman_coder_count1(gfc, gi) {\n /* Write count1 area */\n var h = Tables.ht[gi.count1table_select + 32];\n var i, bits = 0;\n\n var ix = gi.big_values;\n var xr = gi.big_values;\n assert(gi.count1table_select < 2);\n\n for (i = (gi.count1 - gi.big_values) / 4; i > 0; --i) {\n var huffbits = 0;\n var p = 0, v;\n\n v = gi.l3_enc[ix + 0];\n if (v != 0) {\n p += 8;\n if (gi.xr[xr + 0] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 1];\n if (v != 0) {\n p += 4;\n huffbits *= 2;\n if (gi.xr[xr + 1] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 2];\n if (v != 0) {\n p += 2;\n huffbits *= 2;\n if (gi.xr[xr + 2] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 3];\n if (v != 0) {\n p++;\n huffbits *= 2;\n if (gi.xr[xr + 3] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n ix += 4;\n xr += 4;\n putbits2(gfc, huffbits + h.table[p], h.hlen[p]);\n bits += h.hlen[p];\n }\n return bits;\n }\n\n /**\n * Implements the pseudocode of page 98 of the IS\n */\n function Huffmancode(gfc, tableindex, start, end, gi) {\n var h = Tables.ht[tableindex];\n var bits = 0;\n\n assert(tableindex < 32);\n if (0 == tableindex)\n return bits;\n\n for (var i = start; i < end; i += 2) {\n var cbits = 0;\n var xbits = 0;\n var linbits = h.xlen;\n var xlen = h.xlen;\n var ext = 0;\n var x1 = gi.l3_enc[i];\n var x2 = gi.l3_enc[i + 1];\n\n if (x1 != 0) {\n if (gi.xr[i] < 0)\n ext++;\n cbits--;\n }\n\n if (tableindex > 15) {\n /* use ESC-words */\n if (x1 > 14) {\n var linbits_x1 = x1 - 15;\n assert(linbits_x1 <= h.linmax);\n ext |= linbits_x1 << 1;\n xbits = linbits;\n x1 = 15;\n }\n\n if (x2 > 14) {\n var linbits_x2 = x2 - 15;\n assert(linbits_x2 <= h.linmax);\n ext <<= linbits;\n ext |= linbits_x2;\n xbits += linbits;\n x2 = 15;\n }\n xlen = 16;\n }\n\n if (x2 != 0) {\n ext <<= 1;\n if (gi.xr[i + 1] < 0)\n ext++;\n cbits--;\n }\n\n assert((x1 | x2) < 16);\n\n x1 = x1 * xlen + x2;\n xbits -= cbits;\n cbits += h.hlen[x1];\n\n assert(cbits <= MAX_LENGTH);\n assert(xbits <= MAX_LENGTH);\n\n putbits2(gfc, h.table[x1], cbits);\n putbits2(gfc, ext, xbits);\n bits += cbits + xbits;\n }\n return bits;\n }\n\n /**\n * Note the discussion of huffmancodebits() on pages 28 and 29 of the IS, as\n * well as the definitions of the side information on pages 26 and 27.\n */\n function ShortHuffmancodebits(gfc, gi) {\n var region1Start = 3 * gfc.scalefac_band.s[3];\n if (region1Start > gi.big_values)\n region1Start = gi.big_values;\n\n /* short blocks do not have a region2 */\n var bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n gi.big_values, gi);\n return bits;\n }\n\n function LongHuffmancodebits(gfc, gi) {\n var bigvalues, bits;\n var region1Start, region2Start;\n\n bigvalues = gi.big_values;\n assert(0 <= bigvalues && bigvalues <= 576);\n\n var i = gi.region0_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region1Start = gfc.scalefac_band.l[i];\n i += gi.region1_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region2Start = gfc.scalefac_band.l[i];\n\n if (region1Start > bigvalues)\n region1Start = bigvalues;\n\n if (region2Start > bigvalues)\n region2Start = bigvalues;\n\n bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n region2Start, gi);\n bits += Huffmancode(gfc, gi.table_select[2], region2Start, bigvalues,\n gi);\n return bits;\n }\n\n function writeMainData(gfp) {\n var gr, ch, sfb, data_bits, tot_bits = 0;\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n\n if (gfp.version == 1) {\n /* MPEG 1 */\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var slen1 = Takehiro.slen1_tab[gi.scalefac_compress];\n var slen2 = Takehiro.slen2_tab[gi.scalefac_compress];\n data_bits = 0;\n for (sfb = 0; sfb < gi.sfbdivide; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen1);\n data_bits += slen1;\n }\n for (; sfb < gi.sfbmax; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen2);\n data_bits += slen2;\n }\n assert(data_bits == gi.part2_length);\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length + gi.part2_length);\n tot_bits += data_bits;\n }\n /* for ch */\n }\n /* for gr */\n } else {\n /* MPEG 2 */\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var i, sfb_partition, scale_bits = 0;\n assert(gi.sfb_partition_table != null);\n data_bits = 0;\n sfb = 0;\n sfb_partition = 0;\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition] / 3;\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 0], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 1], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 2], 0), slen);\n scale_bits += 3 * slen;\n }\n }\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition];\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc, Math.max(gi.scalefac[sfb], 0), slen);\n scale_bits += slen;\n }\n }\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length);\n assert(scale_bits == gi.part2_length);\n tot_bits += scale_bits + data_bits;\n }\n /* for ch */\n }\n /* for gf */\n return tot_bits;\n }\n\n /* main_data */\n\n function TotalBytes() {\n this.total = 0;\n }\n\n /*\n * compute the number of bits required to flush all mp3 frames currently in\n * the buffer. This should be the same as the reservoir size. Only call this\n * routine between frames - i.e. only after all headers and data have been\n * added to the buffer by format_bitstream().\n *\n * Also compute total_bits_output = size of mp3 buffer (including frame\n * headers which may not have yet been send to the mp3 buffer) + number of\n * bits needed to flush all mp3 frames.\n *\n * total_bytes_output is the size of the mp3 output buffer if\n * lame_encode_flush_nogap() was called right now.\n */\n function compute_flushbits(gfp, total_bytes_output) {\n var gfc = gfp.internal_flags;\n var flushbits, remaining_headers;\n var bitsPerFrame;\n var last_ptr, first_ptr;\n first_ptr = gfc.w_ptr;\n /* first header to add to bitstream */\n last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n\n /* add this many bits to bitstream so we can flush all headers */\n flushbits = gfc.header[last_ptr].write_timing - totbit;\n total_bytes_output.total = flushbits;\n\n if (flushbits >= 0) {\n /* if flushbits >= 0, some headers have not yet been written */\n /* reduce flushbits by the size of the headers */\n remaining_headers = 1 + last_ptr - first_ptr;\n if (last_ptr < first_ptr)\n remaining_headers = 1 + last_ptr - first_ptr\n + LameInternalFlags.MAX_HEADER_BUF;\n flushbits -= remaining_headers * 8 * gfc.sideinfo_len;\n }\n\n /*\n * finally, add some bits so that the last frame is complete these bits\n * are not necessary to decode the last frame, but some decoders will\n * ignore last frame if these bits are missing\n */\n bitsPerFrame = self.getframebits(gfp);\n flushbits += bitsPerFrame;\n total_bytes_output.total += bitsPerFrame;\n /* round up: */\n if ((total_bytes_output.total % 8) != 0)\n total_bytes_output.total = 1 + (total_bytes_output.total / 8);\n else\n total_bytes_output.total = (total_bytes_output.total / 8);\n total_bytes_output.total += bufByteIdx + 1;\n\n if (flushbits < 0) {\n System.err.println(\"strange error flushing buffer ... \\n\");\n }\n return flushbits;\n }\n\n this.flush_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var flushbits;\n var last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n l3_side = gfc.l3_side;\n\n if ((flushbits = compute_flushbits(gfp, new TotalBytes())) < 0)\n return;\n drain_into_ancillary(gfp, flushbits);\n\n /* check that the 100% of the last frame has been written to bitstream */\n assert(gfc.header[last_ptr].write_timing + this.getframebits(gfp) == totbit);\n\n /*\n * we have padded out all frames with ancillary data, which is the same\n * as filling the bitreservoir with ancillary data, so :\n */\n gfc.ResvSize = 0;\n l3_side.main_data_begin = 0;\n\n /* save the ReplayGain value */\n if (gfc.findReplayGain) {\n var RadioGain = ga.GetTitleGain(gfc.rgdata);\n assert(NEQ(RadioGain, GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES));\n gfc.RadioGain = Math.floor(RadioGain * 10.0 + 0.5) | 0;\n /* round to nearest */\n }\n\n /* find the gain and scale change required for no clipping */\n if (gfc.findPeakSample) {\n gfc.noclipGainChange = Math.ceil(Math\n .log10(gfc.PeakSample / 32767.0) * 20.0 * 10.0) | 0;\n /* round up */\n\n if (gfc.noclipGainChange > 0) {\n /* clipping occurs */\n if (EQ(gfp.scale, 1.0) || EQ(gfp.scale, 0.0))\n gfc.noclipScale = (Math\n .floor((32767.0 / gfc.PeakSample) * 100.0) / 100.0);\n /* round down */\n else {\n /*\n * the user specified his own scaling factor. We could\n * suggest the scaling factor of\n * (32767.0/gfp.PeakSample)*(gfp.scale) but it's usually\n * very inaccurate. So we'd rather not advice him on the\n * scaling factor.\n */\n gfc.noclipScale = -1;\n }\n } else\n /* no clipping */\n gfc.noclipScale = -1;\n }\n };\n\n this.add_dummy_byte = function (gfp, val, n) {\n var gfc = gfp.internal_flags;\n var i;\n\n while (n-- > 0) {\n putbits_noheaders(gfc, val, 8);\n\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing += 8;\n }\n };\n\n /**\n * This is called after a frame of audio has been quantized and coded. It\n * will write the encoded audio to the bitstream. Note that from a layer3\n * encoder's perspective the bit stream is primarily a series of main_data()\n * blocks, with header and side information inserted at the proper locations\n * to maintain framing. (See Figure A.7 in the IS).\n */\n this.format_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n l3_side = gfc.l3_side;\n\n var bitsPerFrame = this.getframebits(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_pre);\n\n encodeSideInfo2(gfp, bitsPerFrame);\n var bits = 8 * gfc.sideinfo_len;\n bits += writeMainData(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_post);\n bits += l3_side.resvDrain_post;\n\n l3_side.main_data_begin += (bitsPerFrame - bits) / 8;\n\n /*\n * compare number of bits needed to clear all buffered mp3 frames with\n * what we think the resvsize is:\n */\n if (compute_flushbits(gfp, new TotalBytes()) != gfc.ResvSize) {\n System.err.println(\"Internal buffer inconsistency. flushbits <> ResvSize\");\n }\n\n /*\n * compare main_data_begin for the next frame with what we think the\n * resvsize is:\n */\n if ((l3_side.main_data_begin * 8) != gfc.ResvSize) {\n System.err.printf(\"bit reservoir error: \\n\"\n + \"l3_side.main_data_begin: %d \\n\"\n + \"Resvoir size: %d \\n\"\n + \"resv drain (post) %d \\n\"\n + \"resv drain (pre) %d \\n\"\n + \"header and sideinfo: %d \\n\"\n + \"data bits: %d \\n\"\n + \"total bits: %d (remainder: %d) \\n\"\n + \"bitsperframe: %d \\n\",\n 8 * l3_side.main_data_begin, gfc.ResvSize,\n l3_side.resvDrain_post, l3_side.resvDrain_pre,\n 8 * gfc.sideinfo_len, bits - l3_side.resvDrain_post - 8\n * gfc.sideinfo_len, bits, bits % 8, bitsPerFrame);\n\n System.err.println(\"This is a fatal error. It has several possible causes:\");\n System.err.println(\"90%% LAME compiled with buggy version of gcc using advanced optimizations\");\n System.err.println(\" 9%% Your system is overclocked\");\n System.err.println(\" 1%% bug in LAME encoding library\");\n\n gfc.ResvSize = l3_side.main_data_begin * 8;\n }\n //;\n assert(totbit % 8 == 0);\n\n if (totbit > 1000000000) {\n /*\n * to avoid totbit overflow, (at 8h encoding at 128kbs) lets reset\n * bit counter\n */\n var i;\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing -= totbit;\n totbit = 0;\n }\n\n return 0;\n };\n\n /**\n *
\n     * copy data out of the internal MP3 bit buffer into a user supplied\n     *       unsigned char buffer.\n     *\n     *       mp3data=0      indicates data in buffer is an id3tags and VBR tags\n     *       mp3data=1      data is real mp3 frame data.\n     * 
\n */\n this.copy_buffer = function (gfc, buffer, bufferPos, size, mp3data) {\n var minimum = bufByteIdx + 1;\n if (minimum <= 0)\n return 0;\n if (size != 0 && minimum > size) {\n /* buffer is too small */\n return -1;\n }\n System.arraycopy(buf, 0, buffer, bufferPos, minimum);\n bufByteIdx = -1;\n bufBitIdx = 0;\n\n if (mp3data != 0) {\n var crc = new_int(1);\n crc[0] = gfc.nMusicCRC;\n vbr.updateMusicCRC(crc, buffer, bufferPos, minimum);\n gfc.nMusicCRC = crc[0];\n\n /**\n * sum number of bytes belonging to the mp3 stream this info will be\n * written into the Xing/LAME header for seeking\n */\n if (minimum > 0) {\n gfc.VBR_seek_table.nBytesWritten += minimum;\n }\n\n if (gfc.decode_on_the_fly) { /* decode the frame */\n var pcm_buf = new_float_n([2, 1152]);\n var mp3_in = minimum;\n var samples_out = -1;\n var i;\n\n /* re-synthesis to pcm. Repeat until we get a samples_out=0 */\n while (samples_out != 0) {\n\n samples_out = mpg.hip_decode1_unclipped(gfc.hip, buffer,\n bufferPos, mp3_in, pcm_buf[0], pcm_buf[1]);\n /*\n * samples_out = 0: need more data to decode samples_out =\n * -1: error. Lets assume 0 pcm output samples_out = number\n * of samples output\n */\n\n /*\n * set the lenght of the mp3 input buffer to zero, so that\n * in the next iteration of the loop we will be querying\n * mpglib about buffered data\n */\n mp3_in = 0;\n\n if (samples_out == -1) {\n /*\n * error decoding. Not fatal, but might screw up the\n * ReplayGain tag. What should we do? Ignore for now\n */\n samples_out = 0;\n }\n if (samples_out > 0) {\n /* process the PCM data */\n\n /*\n * this should not be possible, and indicates we have\n * overflown the pcm_buf buffer\n */\n assert(samples_out <= 1152);\n\n if (gfc.findPeakSample) {\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[0][i];\n else if (-pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[0][i];\n }\n if (gfc.channels_out > 1)\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[1][i];\n else if (-pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[1][i];\n }\n }\n\n if (gfc.findReplayGain)\n if (ga.AnalyzeSamples(gfc.rgdata, pcm_buf[0], 0,\n pcm_buf[1], 0, samples_out,\n gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR)\n return -6;\n\n }\n /* if (samples_out>0) */\n }\n /* while (samples_out!=0) */\n }\n /* if (gfc.decode_on_the_fly) */\n\n }\n /* if (mp3data) */\n return minimum;\n };\n\n this.init_bit_stream_w = function (gfc) {\n buf = new_byte(Lame.LAME_MAXMP3BUFFER);\n\n gfc.h_ptr = gfc.w_ptr = 0;\n gfc.header[gfc.h_ptr].write_timing = 0;\n bufByteIdx = -1;\n bufBitIdx = 0;\n totbit = 0;\n };\n\n // From machine.h\n\n\n}\n\nmodule.exports = BitStream;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\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 TypeError = global.TypeError;\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 = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(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 hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Date = global.Date;\nvar getTime = uncurryThis(Date.prototype.getTime);\n\n// `Date.now` method\n// https://tc39.es/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return getTime(new Date());\n }\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\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 name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\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 isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GainAnalysis = require('./GainAnalysis.js');\n\nfunction ReplayGain() {\n this.linprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * left input samples, with pre-buffer\n */\n this.linpre = 0;\n this.lstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"first step\" (i.e. post first filter) samples\n */\n this.lstep = 0;\n this.loutbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"out\" (i.e. post second filter) samples\n */\n this.lout = 0;\n this.rinprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * right input samples ...\n */\n this.rinpre = 0;\n this.rstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rstep = 0;\n this.routbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rout = 0;\n /**\n * number of samples required to reach number of milliseconds required\n * for RMS window\n */\n this.sampleWindow = 0;\n this.totsamp = 0;\n this.lsum = 0.;\n this.rsum = 0.;\n this.freqindex = 0;\n this.first = 0;\n this.A = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n this.B = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n\n}\n\nmodule.exports = ReplayGain;\n","//package mp3;\n\nfunction CalcNoiseResult() {\n /**\n * sum of quantization noise > masking\n */\n this.over_noise = 0.;\n /**\n * sum of all quantization noise\n */\n this.tot_noise = 0.;\n /**\n * max quantization noise\n */\n this.max_noise = 0.;\n /**\n * number of quantization noise > masking\n */\n this.over_count = 0;\n /**\n * SSD-like cost of distorted bands\n */\n this.over_SSD = 0;\n this.bits = 0;\n}\n\nmodule.exports = CalcNoiseResult;\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\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 (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","module.exports = require('./lib/linkify');\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n\ttoString: function toString() {\n\t\treturn this.v + '';\n\t}\n};\n\nfunction inheritsToken(value) {\n\tvar props = value ? { v: value } : {};\n\treturn (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\nvar DOMAIN = inheritsToken();\n\n/**\n\t@class AT\n\t@extends TextToken\n*/\nvar AT = inheritsToken('@');\n\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\nvar COLON = inheritsToken(':');\n\n/**\n\t@class DOT\n\t@extends TextToken\n*/\nvar DOT = inheritsToken('.');\n\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\nvar PUNCTUATION = inheritsToken();\n\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\nvar LOCALHOST = inheritsToken();\n\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\nvar NL = inheritsToken('\\n');\n\n/**\n\t@class NUM\n\t@extends TextToken\n*/\nvar NUM = inheritsToken();\n\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\nvar PLUS = inheritsToken('+');\n\n/**\n\t@class POUND\n\t@extends TextToken\n*/\nvar POUND = inheritsToken('#');\n\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\nvar PROTOCOL = inheritsToken();\n\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\nvar MAILTO = inheritsToken('mailto:');\n\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\nvar QUERY = inheritsToken('?');\n\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\nvar SLASH = inheritsToken('/');\n\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\nvar UNDERSCORE = inheritsToken('_');\n\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\nvar SYM = inheritsToken();\n\n/**\n\t@class TLD\n\t@extends TextToken\n*/\nvar TLD = inheritsToken();\n\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\nvar WS = inheritsToken();\n\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\n\nvar AMPERSAND = inheritsToken('&');\n\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\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","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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 : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\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 Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(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 (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\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 // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar n$ParseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = n$ParseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : n$ParseFloat;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction FFT() {\n\n var window = new_float(Encoder.BLKSIZE);\n var window_s = new_float(Encoder.BLKSIZE_s / 2);\n\n var costab = [\n 9.238795325112867e-01, 3.826834323650898e-01,\n 9.951847266721969e-01, 9.801714032956060e-02,\n 9.996988186962042e-01, 2.454122852291229e-02,\n 9.999811752826011e-01, 6.135884649154475e-03\n ];\n\n function fht(fz, fzPos, n) {\n var tri = 0;\n var k4;\n var fi;\n var gi;\n\n n <<= 1;\n /* to get BLKSIZE, because of 3DNow! ASM routine */\n var fn = fzPos + n;\n k4 = 4;\n do {\n var s1, c1;\n var i, k1, k2, k3, kx;\n kx = k4 >> 1;\n k1 = k4;\n k2 = k4 << 1;\n k3 = k2 + k1;\n k4 = k2 << 1;\n fi = fzPos;\n gi = fi + kx;\n do {\n var f0, f1, f2, f3;\n f1 = fz[fi + 0] - fz[fi + k1];\n f0 = fz[fi + 0] + fz[fi + k1];\n f3 = fz[fi + k2] - fz[fi + k3];\n f2 = fz[fi + k2] + fz[fi + k3];\n fz[fi + k2] = f0 - f2;\n fz[fi + 0] = f0 + f2;\n fz[fi + k3] = f1 - f3;\n fz[fi + k1] = f1 + f3;\n f1 = fz[gi + 0] - fz[gi + k1];\n f0 = fz[gi + 0] + fz[gi + k1];\n f3 = (Util.SQRT2 * fz[gi + k3]);\n f2 = (Util.SQRT2 * fz[gi + k2]);\n fz[gi + k2] = f0 - f2;\n fz[gi + 0] = f0 + f2;\n fz[gi + k3] = f1 - f3;\n fz[gi + k1] = f1 + f3;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c1 = costab[tri + 0];\n s1 = costab[tri + 1];\n for (i = 1; i < kx; i++) {\n var c2, s2;\n c2 = 1 - (2 * s1) * s1;\n s2 = (2 * s1) * c1;\n fi = fzPos + i;\n gi = fzPos + k1 - i;\n do {\n var a, b, g0, f0, f1, g1, f2, g2, f3, g3;\n b = s2 * fz[fi + k1] - c2 * fz[gi + k1];\n a = c2 * fz[fi + k1] + s2 * fz[gi + k1];\n f1 = fz[fi + 0] - a;\n f0 = fz[fi + 0] + a;\n g1 = fz[gi + 0] - b;\n g0 = fz[gi + 0] + b;\n b = s2 * fz[fi + k3] - c2 * fz[gi + k3];\n a = c2 * fz[fi + k3] + s2 * fz[gi + k3];\n f3 = fz[fi + k2] - a;\n f2 = fz[fi + k2] + a;\n g3 = fz[gi + k2] - b;\n g2 = fz[gi + k2] + b;\n b = s1 * f2 - c1 * g3;\n a = c1 * f2 + s1 * g3;\n fz[fi + k2] = f0 - a;\n fz[fi + 0] = f0 + a;\n fz[gi + k3] = g1 - b;\n fz[gi + k1] = g1 + b;\n b = c1 * g2 - s1 * f3;\n a = s1 * g2 + c1 * f3;\n fz[gi + k2] = g0 - a;\n fz[gi + 0] = g0 + a;\n fz[fi + k3] = f1 - b;\n fz[fi + k1] = f1 + b;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c2 = c1;\n c1 = c2 * costab[tri + 0] - s1 * costab[tri + 1];\n s1 = c2 * costab[tri + 1] + s1 * costab[tri + 0];\n }\n tri += 2;\n } while (k4 < n);\n }\n\n var rv_tbl = [0x00, 0x80, 0x40,\n 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10,\n 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70,\n 0xf0, 0x08, 0x88, 0x48, 0xc8, 0x28,\n 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58,\n 0xd8, 0x38, 0xb8, 0x78, 0xf8, 0x04,\n 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64,\n 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34,\n 0xb4, 0x74, 0xf4, 0x0c, 0x8c, 0x4c,\n 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c,\n 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c,\n 0xfc, 0x02, 0x82, 0x42, 0xc2, 0x22,\n 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52,\n 0xd2, 0x32, 0xb2, 0x72, 0xf2, 0x0a,\n 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a,\n 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a,\n 0xba, 0x7a, 0xfa, 0x06, 0x86, 0x46,\n 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16,\n 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76,\n 0xf6, 0x0e, 0x8e, 0x4e, 0xce, 0x2e,\n 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e,\n 0xde, 0x3e, 0xbe, 0x7e, 0xfe];\n\n this.fft_short = function (gfc, x_real, chn, buffer, bufPos) {\n for (var b = 0; b < 3; b++) {\n var x = Encoder.BLKSIZE_s / 2;\n var k = 0xffff & ((576 / 3) * (b + 1));\n var j = Encoder.BLKSIZE_s / 8 - 1;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[j << 2] & 0xff;\n\n f0 = window_s[i] * buffer[chn][bufPos + i + k];\n w = window_s[0x7f - i] * buffer[chn][bufPos + i + k + 0x80];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x40] * buffer[chn][bufPos + i + k + 0x40];\n w = window_s[0x3f - i] * buffer[chn][bufPos + i + k + 0xc0];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n x_real[b][x + 0] = f0 + f2;\n x_real[b][x + 2] = f0 - f2;\n x_real[b][x + 1] = f1 + f3;\n x_real[b][x + 3] = f1 - f3;\n\n f0 = window_s[i + 0x01] * buffer[chn][bufPos + i + k + 0x01];\n w = window_s[0x7e - i] * buffer[chn][bufPos + i + k + 0x81];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x41] * buffer[chn][bufPos + i + k + 0x41];\n w = window_s[0x3e - i] * buffer[chn][bufPos + i + k + 0xc1];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 0] = f0 + f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 2] = f0 - f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 1] = f1 + f3;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 3] = f1 - f3;\n } while (--j >= 0);\n\n fht(x_real[b], x, Encoder.BLKSIZE_s / 2);\n /* BLKSIZE_s/2 because of 3DNow! ASM routine */\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n }\n\n this.fft_long = function (gfc, y, chn, buffer, bufPos) {\n var jj = Encoder.BLKSIZE / 8 - 1;\n var x = Encoder.BLKSIZE / 2;\n\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[jj] & 0xff;\n f0 = window[i] * buffer[chn][bufPos + i];\n w = window[i + 0x200] * buffer[chn][bufPos + i + 0x200];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x100] * buffer[chn][bufPos + i + 0x100];\n w = window[i + 0x300] * buffer[chn][bufPos + i + 0x300];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n y[x + 0] = f0 + f2;\n y[x + 2] = f0 - f2;\n y[x + 1] = f1 + f3;\n y[x + 3] = f1 - f3;\n\n f0 = window[i + 0x001] * buffer[chn][bufPos + i + 0x001];\n w = window[i + 0x201] * buffer[chn][bufPos + i + 0x201];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x101] * buffer[chn][bufPos + i + 0x101];\n w = window[i + 0x301] * buffer[chn][bufPos + i + 0x301];\n f3 = f2 - w;\n f2 = f2 + w;\n\n y[x + Encoder.BLKSIZE / 2 + 0] = f0 + f2;\n y[x + Encoder.BLKSIZE / 2 + 2] = f0 - f2;\n y[x + Encoder.BLKSIZE / 2 + 1] = f1 + f3;\n y[x + Encoder.BLKSIZE / 2 + 3] = f1 - f3;\n } while (--jj >= 0);\n\n fht(y, x, Encoder.BLKSIZE / 2);\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n\n this.init_fft = function (gfc) {\n /* The type of window used here will make no real difference, but */\n /*\n * in the interest of merging nspsytune stuff - switch to blackman\n * window\n */\n for (var i = 0; i < Encoder.BLKSIZE; i++)\n /* blackman window */\n window[i] = (0.42 - 0.5 * Math.cos(2 * Math.PI * (i + .5)\n / Encoder.BLKSIZE) + 0.08 * Math.cos(4 * Math.PI * (i + .5)\n / Encoder.BLKSIZE));\n\n for (var i = 0; i < Encoder.BLKSIZE_s / 2; i++)\n window_s[i] = (0.5 * (1.0 - Math.cos(2.0 * Math.PI\n * (i + 0.5) / Encoder.BLKSIZE_s)));\n\n }\n\n}\n\nmodule.exports = FFT;\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\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 toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","export * from \"-!../../node_modules/vue-style-loader/index.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=style&index=0&lang=scss&shadow\"","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","import Database from './database.js';\n\nfunction noop() { }\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\n\nconst dirty_components = [];\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\nconst outroing = new Set();\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\n// via https://unpkg.com/browse/emojibase-data@6.0.0/meta/groups.json\nconst allGroups = [\n [-1, '✨', 'custom'],\n [0, '😀', 'smileys-emotion'],\n [1, '👋', 'people-body'],\n [3, '🐱', 'animals-nature'],\n [4, '🍎', 'food-drink'],\n [5, '🏠️', 'travel-places'],\n [6, '⚽', 'activities'],\n [7, '📝', 'objects'],\n [8, '⛔️', 'symbols'],\n [9, '🏁', 'flags']\n].map(([id, emoji, name]) => ({ id, emoji, name }));\n\nconst groups = allGroups.slice(1);\nconst customGroup = allGroups[0];\n\nconst MIN_SEARCH_TEXT_LENGTH = 2;\nconst NUM_SKIN_TONES = 6;\n\n/* istanbul ignore next */\nconst rIC = typeof requestIdleCallback === 'function' ? requestIdleCallback : setTimeout;\n\n// check for ZWJ (zero width joiner) character\nfunction hasZwj (emoji) {\n return emoji.unicode.includes('\\u200d')\n}\n\n// Find one good representative emoji from each version to test by checking its color.\n// Ideally it should have color in the center. For some inspiration, see:\n// https://about.gitlab.com/blog/2018/05/30/journey-in-native-unicode-emoji/\n//\n// Note that for certain versions (12.1, 13.1), there is no point in testing them explicitly, because\n// all the emoji from this version are compound-emoji from previous versions. So they would pass a color\n// test, even in browsers that display them as double emoji. (E.g. \"face in clouds\" might render as\n// \"face without mouth\" plus \"fog\".) These emoji can only be filtered using the width test,\n// which happens in checkZwjSupport.js.\nconst versionsAndTestEmoji = {\n '🫠': 14,\n '🥲': 13.1, // smiling face with tear, technically from v13 but see note above\n '🥻': 12.1, // sari, technically from v12 but see note above\n '🥰': 11,\n '🤩': 5,\n '👱‍♀️': 4,\n '🤣': 3,\n '👁️‍🗨️': 2,\n '😀': 1,\n '😐️': 0.7,\n '😃': 0.6\n};\n\nconst TIMEOUT_BEFORE_LOADING_MESSAGE = 1000; // 1 second\nconst DEFAULT_SKIN_TONE_EMOJI = '🖐️';\nconst DEFAULT_NUM_COLUMNS = 8;\n\n// Based on https://fivethirtyeight.com/features/the-100-most-used-emojis/ and\n// https://blog.emojipedia.org/facebook-reveals-most-and-least-used-emojis/ with\n// a bit of my own curation. (E.g. avoid the \"OK\" gesture because of connotations:\n// https://emojipedia.org/ok-hand/)\nconst MOST_COMMONLY_USED_EMOJI = [\n '😊',\n '😒',\n '♥️',\n '👍️',\n '😍',\n '😂',\n '😭',\n '☺️',\n '😔',\n '😩',\n '😏',\n '💕',\n '🙌',\n '😘'\n];\n\n// It's important to list Twemoji Mozilla before everything else, because Mozilla bundles their\n// own font on some platforms (notably Windows and Linux as of this writing). Typically Mozilla\n// updates faster than the underlying OS, and we don't want to render older emoji in one font and\n// newer emoji in another font:\n// https://github.com/nolanlawson/emoji-picker-element/pull/268#issuecomment-1073347283\nconst FONT_FAMILY = '\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",' +\n '\"Noto Color Emoji\",\"EmojiOne Color\",\"Android Emoji\",sans-serif';\n\n/* istanbul ignore next */\nconst DEFAULT_CATEGORY_SORTING = (a, b) => a < b ? -1 : a > b ? 1 : 0;\n\n// Test if an emoji is supported by rendering it to canvas and checking that the color is not black\n\nconst getTextFeature = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = canvas.height = 1;\n\n const ctx = canvas.getContext('2d');\n ctx.textBaseline = 'top';\n ctx.font = `100px ${FONT_FAMILY}`;\n ctx.fillStyle = color;\n ctx.scale(0.01, 0.01);\n ctx.fillText(text, 0, 0);\n\n return ctx.getImageData(0, 0, 1, 1).data\n};\n\nconst compareFeatures = (feature1, feature2) => {\n const feature1Str = [...feature1].join(',');\n const feature2Str = [...feature2].join(',');\n // This is RGBA, so for 0,0,0, we are checking that the first RGB is not all zeroes.\n // Most of the time when unsupported this is 0,0,0,0, but on Chrome on Mac it is\n // 0,0,0,61 - there is a transparency here.\n return feature1Str === feature2Str && !feature1Str.startsWith('0,0,0,')\n};\n\nfunction testColorEmojiSupported (text) {\n // Render white and black and then compare them to each other and ensure they're the same\n // color, and neither one is black. This shows that the emoji was rendered in color.\n const feature1 = getTextFeature(text, '#000');\n const feature2 = getTextFeature(text, '#fff');\n return feature1 && feature2 && compareFeatures(feature1, feature2)\n}\n\n// rather than check every emoji ever, which would be expensive, just check some representatives from the\n\nfunction determineEmojiSupportLevel () {\n const entries = Object.entries(versionsAndTestEmoji);\n try {\n // start with latest emoji and work backwards\n for (const [emoji, version] of entries) {\n if (testColorEmojiSupported(emoji)) {\n return version\n }\n }\n } catch (e) { // canvas error\n } finally {\n }\n // In case of an error, be generous and just assume all emoji are supported (e.g. for canvas errors\n // due to anti-fingerprinting add-ons). Better to show some gray boxes than nothing at all.\n return entries[0][1] // first one in the list is the most recent version\n}\n\n// Check which emojis we know for sure aren't supported, based on Unicode version level\nconst emojiSupportLevelPromise = new Promise(resolve => (\n rIC(() => (\n resolve(determineEmojiSupportLevel()) // delay so ideally this can run while IDB is first populating\n ))\n));\n// determine which emojis containing ZWJ (zero width joiner) characters\n// are supported (rendered as one glyph) rather than unsupported (rendered as two or more glyphs)\nconst supportedZwjEmojis = new Map();\n\nconst VARIATION_SELECTOR = '\\ufe0f';\nconst SKINTONE_MODIFIER = '\\ud83c';\nconst ZWJ = '\\u200d';\nconst LIGHT_SKIN_TONE = 0x1F3FB;\nconst LIGHT_SKIN_TONE_MODIFIER = 0xdffb;\n\n// TODO: this is a naive implementation, we can improve it later\n// It's only used for the skintone picker, so as long as people don't customize with\n// really exotic emoji then it should work fine\nfunction applySkinTone (str, skinTone) {\n if (skinTone === 0) {\n return str\n }\n const zwjIndex = str.indexOf(ZWJ);\n if (zwjIndex !== -1) {\n return str.substring(0, zwjIndex) +\n String.fromCodePoint(LIGHT_SKIN_TONE + skinTone - 1) +\n str.substring(zwjIndex)\n }\n if (str.endsWith(VARIATION_SELECTOR)) {\n str = str.substring(0, str.length - 1);\n }\n return str + SKINTONE_MODIFIER + String.fromCodePoint(LIGHT_SKIN_TONE_MODIFIER + skinTone - 1)\n}\n\nfunction halt (event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\n// Implementation left/right or up/down navigation, circling back when you\n// reach the start/end of the list\nfunction incrementOrDecrement (decrement, val, arr) {\n val += (decrement ? -1 : 1);\n if (val < 0) {\n val = arr.length - 1;\n } else if (val >= arr.length) {\n val = 0;\n }\n return val\n}\n\n// like lodash's uniqBy but much smaller\nfunction uniqBy (arr, func) {\n const set = new Set();\n const res = [];\n for (const item of arr) {\n const key = func(item);\n if (!set.has(key)) {\n set.add(key);\n res.push(item);\n }\n }\n return res\n}\n\n// We don't need all the data on every emoji, and there are specific things we need\n// for the UI, so build a \"view model\" from the emoji object we got from the database\n\nfunction summarizeEmojisForUI (emojis, emojiSupportLevel) {\n const toSimpleSkinsMap = skins => {\n const res = {};\n for (const skin of skins) {\n // ignore arrays like [1, 2] with multiple skin tones\n // also ignore variants that are in an unsupported emoji version\n // (these do exist - variants from a different version than their base emoji)\n if (typeof skin.tone === 'number' && skin.version <= emojiSupportLevel) {\n res[skin.tone] = skin.unicode;\n }\n }\n return res\n };\n\n return emojis.map(({ unicode, skins, shortcodes, url, name, category }) => ({\n unicode,\n name,\n shortcodes,\n url,\n category,\n id: unicode || name,\n skins: skins && toSimpleSkinsMap(skins),\n title: (shortcodes || []).join(', ')\n }))\n}\n\n// import rAF from one place so that the bundle size is a bit smaller\nconst rAF = requestAnimationFrame;\n\n// Svelte action to calculate the width of an element and auto-update\n\nlet resizeObserverSupported = typeof ResizeObserver === 'function';\n\nfunction calculateWidth (node, onUpdate) {\n let resizeObserver;\n if (resizeObserverSupported) {\n resizeObserver = new ResizeObserver(entries => (\n onUpdate(entries[0].contentRect.width)\n ));\n resizeObserver.observe(node);\n } else { // just set the width once, don't bother trying to track it\n rAF(() => (\n onUpdate(node.getBoundingClientRect().width)\n ));\n }\n\n // cleanup function (called on destroy)\n return {\n destroy () {\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n }\n }\n}\n\n// get the width of the text inside of a DOM node, via https://stackoverflow.com/a/59525891/680742\nfunction calculateTextWidth (node) {\n /* istanbul ignore else */\n {\n const range = document.createRange();\n range.selectNode(node.firstChild);\n return range.getBoundingClientRect().width\n }\n}\n\nlet baselineEmojiWidth;\n\nfunction checkZwjSupport (zwjEmojisToCheck, baselineEmoji, emojiToDomNode) {\n for (const emoji of zwjEmojisToCheck) {\n const domNode = emojiToDomNode(emoji);\n const emojiWidth = calculateTextWidth(domNode);\n if (typeof baselineEmojiWidth === 'undefined') { // calculate the baseline emoji width only once\n baselineEmojiWidth = calculateTextWidth(baselineEmoji);\n }\n // On Windows, some supported emoji are ~50% bigger than the baseline emoji, but what we really want to guard\n // against are the ones that are 2x the size, because those are truly broken (person with red hair = person with\n // floating red wig, black cat = cat with black square, polar bear = bear with snowflake, etc.)\n // So here we set the threshold at 1.8 times the size of the baseline emoji.\n const supported = emojiWidth / 1.8 < baselineEmojiWidth;\n supportedZwjEmojis.set(emoji.unicode, supported);\n }\n}\n\n// Measure after style/layout are complete\n\nconst requestPostAnimationFrame = callback => {\n rAF(() => {\n setTimeout(callback);\n });\n};\n\n// like lodash's uniq\n\nfunction uniq (arr) {\n return uniqBy(arr, _ => _)\n}\n\n/* src/picker/components/Picker/Picker.svelte generated by Svelte v3.46.4 */\n\nconst { Map: Map_1 } = globals;\n\nfunction get_each_context(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_1(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[66] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_2(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_3(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[69] = list[i];\n\treturn child_ctx;\n}\n\nfunction get_each_context_4(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[72] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\n// (43:38) {#each skinTones as skinTone, i (skinTone)}\nfunction create_each_block_4(key_1, ctx) {\n\tlet div;\n\tlet t_value = /*skinTone*/ ctx[72] + \"\";\n\tlet t;\n\tlet div_id_value;\n\tlet div_class_value;\n\tlet div_aria_selected_value;\n\tlet div_title_value;\n\tlet div_aria_label_value;\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"id\", div_id_value = \"skintone-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div, \"class\", div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(div, \"aria-selected\", div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div, \"role\", \"option\");\n\t\t\tattr(div, \"title\", div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tattr(div, \"tabindex\", \"-1\");\n\t\t\tattr(div, \"aria-label\", div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tthis.first = div;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tappend(div, t);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && t_value !== (t_value = /*skinTone*/ ctx[72] + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && div_id_value !== (div_id_value = \"skintone-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div, \"id\", div_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_class_value !== (div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(div, \"class\", div_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_aria_selected_value !== (div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div, \"aria-selected\", div_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_title_value !== (div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"title\", div_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_aria_label_value !== (div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"aria-label\", div_aria_label_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t}\n\t};\n}\n\n// (53:33) {#each groups as group (group.id)}\nfunction create_each_block_3(key_1, ctx) {\n\tlet button;\n\tlet div;\n\tlet t_value = /*group*/ ctx[69].emoji + \"\";\n\tlet t;\n\tlet button_aria_controls_value;\n\tlet button_aria_label_value;\n\tlet button_aria_selected_value;\n\tlet button_title_value;\n\tlet mounted;\n\tlet dispose;\n\n\tfunction click_handler() {\n\t\treturn /*click_handler*/ ctx[49](/*group*/ ctx[69]);\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"class\", \"nav-emoji emoji\");\n\t\t\tattr(button, \"role\", \"tab\");\n\t\t\tattr(button, \"class\", \"nav-button\");\n\t\t\tattr(button, \"aria-controls\", button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id);\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id);\n\t\t\tattr(button, \"title\", button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tappend(button, div);\n\t\t\tappend(div, t);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = listen(button, \"click\", click_handler);\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*groups*/ 4096 && t_value !== (t_value = /*group*/ ctx[69].emoji + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*groups*/ 4096 && button_aria_controls_value !== (button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-controls\", button_aria_controls_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_aria_label_value !== (button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup, groups*/ 12304 && button_aria_selected_value !== (button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_title_value !== (button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tmounted = false;\n\t\t\tdispose();\n\t\t}\n\t};\n}\n\n// (93:100) {:else}\nfunction create_else_block_1(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (93:40) {#if emoji.unicode}\nfunction create_if_block_1(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (88:53) {#each emojiWithCategory.emojis as emoji, i (emoji.id)}\nfunction create_each_block_2(key_1, ctx) {\n\tlet button;\n\tlet button_role_value;\n\tlet button_aria_selected_value;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_class_value;\n\tlet button_id_value;\n\n\tfunction select_block_type(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block_1;\n\t\treturn create_else_block_1;\n\t}\n\n\tlet current_block_type = select_block_type(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem');\n\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '');\n\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\n\t\t\tattr(button, \"class\", button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(button, \"id\", button_id_value = \"emo-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && button_role_value !== (button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem')) {\n\t\t\t\tattr(button, \"role\", button_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_aria_selected_value !== (button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '')) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_class_value !== (button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(button, \"class\", button_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_id_value !== (button_id_value = \"emo-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\n// (69:36) {#each currentEmojisWithCategories as emojiWithCategory, i (emojiWithCategory.category)}\nfunction create_each_block_1(key_1, ctx) {\n\tlet div0;\n\n\tlet t_value = (/*searchMode*/ ctx[4]\n\t? /*i18n*/ ctx[0].searchResultsLabel\n\t: /*emojiWithCategory*/ ctx[66].category\n\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\";\n\n\tlet t;\n\tlet div0_id_value;\n\tlet div0_class_value;\n\tlet div1;\n\tlet each_blocks = [];\n\tlet each_1_lookup = new Map_1();\n\tlet div1_role_value;\n\tlet div1_aria_labelledby_value;\n\tlet div1_id_value;\n\tlet each_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\tconst get_key = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value_2.length; i += 1) {\n\t\tlet child_ctx = get_each_context_2(ctx, each_value_2, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach_1_lookup.set(key, each_blocks[i] = create_each_block_2(key, child_ctx));\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv0 = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tdiv1 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tattr(div0, \"id\", div0_id_value = \"menu-label-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div0, \"class\", div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div0, \"aria-hidden\", \"true\");\n\t\t\tattr(div1, \"class\", \"emoji-menu\");\n\t\t\tattr(div1, \"role\", div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu');\n\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65]);\n\t\t\tattr(div1, \"id\", div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '');\n\t\t\tthis.first = div0;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div0, anchor);\n\t\t\tappend(div0, t);\n\t\t\tinsert(target, div1, anchor);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div1, null);\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentEmojisWithCategories, currentGroup*/ 40977 && t_value !== (t_value = (/*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_id_value !== (div0_id_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div0, \"id\", div0_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_class_value !== (div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div0, \"class\", div0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin*/ 402686256) {\n\t\t\t\teach_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value_2, each_1_lookup, div1, destroy_block, create_each_block_2, null, get_each_context_2);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_role_value !== (div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu')) {\n\t\t\t\tattr(div1, \"role\", div1_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div1_aria_labelledby_value !== (div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_id_value !== (div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '')) {\n\t\t\t\tattr(div1, \"id\", div1_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div0);\n\t\t\tif (detaching) detach(div1);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\t\t}\n\t};\n}\n\n// (102:94) {:else}\nfunction create_else_block(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (102:34) {#if emoji.unicode}\nfunction create_if_block(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (98:102) {#each currentFavorites as emoji, i (emoji.id)}\nfunction create_each_block(key_1, ctx) {\n\tlet button;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_id_value;\n\n\tfunction select_block_type_1(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block;\n\t\treturn create_else_block;\n\t}\n\n\tlet current_block_type = select_block_type_1(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", \"menuitem\");\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\t\t\tattr(button, \"class\", \"emoji\");\n\t\t\tattr(button, \"id\", button_id_value = \"fav-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type_1(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_id_value !== (button_id_value = \"fav-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\nfunction create_fragment(ctx) {\n\tlet section;\n\tlet div0;\n\tlet div4;\n\tlet div1;\n\tlet input;\n\tlet input_placeholder_value;\n\tlet input_aria_expanded_value;\n\tlet input_aria_activedescendant_value;\n\tlet label;\n\tlet t0_value = /*i18n*/ ctx[0].searchLabel + \"\";\n\tlet t0;\n\tlet span0;\n\tlet t1_value = /*i18n*/ ctx[0].searchDescription + \"\";\n\tlet t1;\n\tlet div2;\n\tlet button0;\n\tlet t2;\n\tlet button0_class_value;\n\tlet div2_class_value;\n\tlet span1;\n\tlet t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\";\n\tlet t3;\n\tlet div3;\n\tlet each_blocks_3 = [];\n\tlet each0_lookup = new Map_1();\n\tlet div3_class_value;\n\tlet div3_aria_label_value;\n\tlet div3_aria_activedescendant_value;\n\tlet div3_aria_hidden_value;\n\tlet div5;\n\tlet each_blocks_2 = [];\n\tlet each1_lookup = new Map_1();\n\tlet div5_aria_label_value;\n\tlet div7;\n\tlet div6;\n\tlet div8;\n\tlet t4;\n\tlet div8_class_value;\n\tlet div10;\n\tlet div9;\n\tlet each_blocks_1 = [];\n\tlet each2_lookup = new Map_1();\n\tlet div10_class_value;\n\tlet div10_role_value;\n\tlet div10_aria_label_value;\n\tlet div10_id_value;\n\tlet div11;\n\tlet each_blocks = [];\n\tlet each3_lookup = new Map_1();\n\tlet div11_class_value;\n\tlet div11_aria_label_value;\n\tlet button1;\n\tlet section_aria_label_value;\n\tlet mounted;\n\tlet dispose;\n\tlet each_value_4 = /*skinTones*/ ctx[9];\n\tconst get_key = ctx => /*skinTone*/ ctx[72];\n\n\tfor (let i = 0; i < each_value_4.length; i += 1) {\n\t\tlet child_ctx = get_each_context_4(ctx, each_value_4, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach0_lookup.set(key, each_blocks_3[i] = create_each_block_4(key, child_ctx));\n\t}\n\n\tlet each_value_3 = /*groups*/ ctx[12];\n\tconst get_key_1 = ctx => /*group*/ ctx[69].id;\n\n\tfor (let i = 0; i < each_value_3.length; i += 1) {\n\t\tlet child_ctx = get_each_context_3(ctx, each_value_3, i);\n\t\tlet key = get_key_1(child_ctx);\n\t\teach1_lookup.set(key, each_blocks_2[i] = create_each_block_3(key, child_ctx));\n\t}\n\n\tlet each_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\tconst get_key_2 = ctx => /*emojiWithCategory*/ ctx[66].category;\n\n\tfor (let i = 0; i < each_value_1.length; i += 1) {\n\t\tlet child_ctx = get_each_context_1(ctx, each_value_1, i);\n\t\tlet key = get_key_2(child_ctx);\n\t\teach2_lookup.set(key, each_blocks_1[i] = create_each_block_1(key, child_ctx));\n\t}\n\n\tlet each_value = /*currentFavorites*/ ctx[10];\n\tconst get_key_3 = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value.length; i += 1) {\n\t\tlet child_ctx = get_each_context(ctx, each_value, i);\n\t\tlet key = get_key_3(child_ctx);\n\t\teach3_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));\n\t}\n\n\treturn {\n\t\tc() {\n\t\t\tsection = element(\"section\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tdiv4 = element(\"div\");\n\t\t\tdiv1 = element(\"div\");\n\t\t\tinput = element(\"input\");\n\t\t\tlabel = element(\"label\");\n\t\t\tt0 = text(t0_value);\n\t\t\tspan0 = element(\"span\");\n\t\t\tt1 = text(t1_value);\n\t\t\tdiv2 = element(\"div\");\n\t\t\tbutton0 = element(\"button\");\n\t\t\tt2 = text(/*skinToneButtonText*/ ctx[21]);\n\t\t\tspan1 = element(\"span\");\n\t\t\tt3 = text(t3_value);\n\t\t\tdiv3 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].c();\n\t\t\t}\n\n\t\t\tdiv5 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].c();\n\t\t\t}\n\n\t\t\tdiv7 = element(\"div\");\n\t\t\tdiv6 = element(\"div\");\n\t\t\tdiv8 = element(\"div\");\n\t\t\tt4 = text(/*message*/ ctx[18]);\n\t\t\tdiv10 = element(\"div\");\n\t\t\tdiv9 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].c();\n\t\t\t}\n\n\t\t\tdiv11 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tbutton1 = element(\"button\");\n\t\t\tbutton1.textContent = \"😀\";\n\t\t\tattr(div0, \"class\", \"pad-top\");\n\t\t\tattr(input, \"id\", \"search\");\n\t\t\tattr(input, \"class\", \"search\");\n\t\t\tattr(input, \"type\", \"search\");\n\t\t\tattr(input, \"role\", \"combobox\");\n\t\t\tattr(input, \"enterkeyhint\", \"search\");\n\t\t\tattr(input, \"placeholder\", input_placeholder_value = /*i18n*/ ctx[0].searchLabel);\n\t\t\tattr(input, \"autocapitalize\", \"none\");\n\t\t\tattr(input, \"autocomplete\", \"off\");\n\t\t\tattr(input, \"spellcheck\", \"true\");\n\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length));\n\t\t\tattr(input, \"aria-controls\", \"search-results\");\n\t\t\tattr(input, \"aria-describedby\", \"search-description\");\n\t\t\tattr(input, \"aria-autocomplete\", \"list\");\n\n\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '');\n\n\t\t\tattr(label, \"class\", \"sr-only\");\n\t\t\tattr(label, \"for\", \"search\");\n\t\t\tattr(span0, \"id\", \"search-description\");\n\t\t\tattr(span0, \"class\", \"sr-only\");\n\t\t\tattr(div1, \"class\", \"search-wrapper\");\n\t\t\tattr(button0, \"id\", \"skintone-button\");\n\t\t\tattr(button0, \"class\", button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''));\n\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"aria-describedby\", \"skintone-description\");\n\t\t\tattr(button0, \"aria-haspopup\", \"listbox\");\n\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(button0, \"aria-controls\", \"skintone-list\");\n\n\t\t\tattr(div2, \"class\", div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''));\n\n\t\t\tattr(span1, \"id\", \"skintone-description\");\n\t\t\tattr(span1, \"class\", \"sr-only\");\n\t\t\tattr(div3, \"id\", \"skintone-list\");\n\n\t\t\tattr(div3, \"class\", div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'));\n\n\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? 0\n\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\n\t\t\tattr(div3, \"role\", \"listbox\");\n\t\t\tattr(div3, \"aria-label\", div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel);\n\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(div4, \"class\", \"search-row\");\n\t\t\tattr(div5, \"class\", \"nav\");\n\t\t\tattr(div5, \"role\", \"tablist\");\n\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\tattr(div5, \"aria-label\", div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel);\n\t\t\tattr(div6, \"class\", \"indicator\");\n\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\tattr(div7, \"class\", \"indicator-wrapper\");\n\t\t\tattr(div8, \"class\", div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'));\n\t\t\tattr(div8, \"role\", \"alert\");\n\t\t\tattr(div8, \"aria-live\", \"polite\");\n\n\t\t\tattr(div10, \"class\", div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div10, \"role\", div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel');\n\n\t\t\tattr(div10, \"aria-label\", div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]);\n\n\t\t\tattr(div10, \"id\", div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`);\n\n\t\t\tattr(div10, \"tabindex\", \"0\");\n\t\t\tattr(div11, \"class\", div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''));\n\t\t\tattr(div11, \"role\", \"menu\");\n\t\t\tattr(div11, \"aria-label\", div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel);\n\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\tattr(button1, \"aria-hidden\", \"true\");\n\t\t\tattr(button1, \"tabindex\", \"-1\");\n\t\t\tattr(button1, \"class\", \"abs-pos hidden emoji\");\n\t\t\tattr(section, \"class\", \"picker\");\n\t\t\tattr(section, \"aria-label\", section_aria_label_value = /*i18n*/ ctx[0].regionLabel);\n\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, section, anchor);\n\t\t\tappend(section, div0);\n\t\t\tappend(section, div4);\n\t\t\tappend(div4, div1);\n\t\t\tappend(div1, input);\n\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\tappend(div1, label);\n\t\t\tappend(label, t0);\n\t\t\tappend(div1, span0);\n\t\t\tappend(span0, t1);\n\t\t\tappend(div4, div2);\n\t\t\tappend(div2, button0);\n\t\t\tappend(button0, t2);\n\t\t\tappend(div4, span1);\n\t\t\tappend(span1, t3);\n\t\t\tappend(div4, div3);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].m(div3, null);\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](div3);\n\t\t\tappend(section, div5);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].m(div5, null);\n\t\t\t}\n\n\t\t\tappend(section, div7);\n\t\t\tappend(div7, div6);\n\t\t\tappend(section, div8);\n\t\t\tappend(div8, t4);\n\t\t\tappend(section, div10);\n\t\t\tappend(div10, div9);\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].m(div9, null);\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](div10);\n\t\t\tappend(section, div11);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div11, null);\n\t\t\t}\n\n\t\t\tappend(section, button1);\n\t\t\t/*button1_binding*/ ctx[51](button1);\n\t\t\t/*section_binding*/ ctx[52](section);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(input, \"input\", /*input_input_handler*/ ctx[47]),\n\t\t\t\t\tlisten(input, \"keydown\", /*onSearchKeydown*/ ctx[30]),\n\t\t\t\t\tlisten(button0, \"click\", /*onClickSkinToneButton*/ ctx[35]),\n\t\t\t\t\tlisten(div3, \"focusout\", /*onSkinToneOptionsFocusOut*/ ctx[38]),\n\t\t\t\t\tlisten(div3, \"click\", /*onSkinToneOptionsClick*/ ctx[34]),\n\t\t\t\t\tlisten(div3, \"keydown\", /*onSkinToneOptionsKeydown*/ ctx[36]),\n\t\t\t\t\tlisten(div3, \"keyup\", /*onSkinToneOptionsKeyup*/ ctx[37]),\n\t\t\t\t\tlisten(div5, \"keydown\", /*onNavKeydown*/ ctx[32]),\n\t\t\t\t\taction_destroyer(/*calculateEmojiGridStyle*/ ctx[29].call(null, div9)),\n\t\t\t\t\tlisten(div10, \"click\", /*onEmojiClick*/ ctx[33]),\n\t\t\t\t\tlisten(div11, \"click\", /*onEmojiClick*/ ctx[33])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*i18n*/ 1 && input_placeholder_value !== (input_placeholder_value = /*i18n*/ ctx[0].searchLabel)) {\n\t\t\t\tattr(input, \"placeholder\", input_placeholder_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojis*/ 18 && input_aria_expanded_value !== (input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length))) {\n\t\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSearchItemId*/ 67108864 && input_aria_activedescendant_value !== (input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '')) {\n\t\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t0_value !== (t0_value = /*i18n*/ ctx[0].searchLabel + \"\")) set_data(t0, t0_value);\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t1_value !== (t1_value = /*i18n*/ ctx[0].searchDescription + \"\")) set_data(t1, t1_value);\n\t\t\tif (dirty[0] & /*skinToneButtonText*/ 2097152) set_data(t2, /*skinToneButtonText*/ ctx[21]);\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && button0_class_value !== (button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''))) {\n\t\t\t\tattr(button0, \"class\", button0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpandedAfterAnimation*/ 524288 && div2_class_value !== (div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''))) {\n\t\t\t\tattr(div2, \"class\", div2_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t3_value !== (t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\")) set_data(t3, t3_value);\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone, i18n*/ 1049089) {\n\t\t\t\teach_value_4 = /*skinTones*/ ctx[9];\n\t\t\t\teach_blocks_3 = update_keyed_each(each_blocks_3, dirty, get_key, 1, ctx, each_value_4, each0_lookup, div3, destroy_block, create_each_block_4, null, get_each_context_4);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_class_value !== (div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'))) {\n\t\t\t\tattr(div3, \"class\", div3_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t\t? 0\n\t\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div3_aria_label_value !== (div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel)) {\n\t\t\t\tattr(div3, \"aria-label\", div3_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSkinTone*/ 1048576 && div3_aria_activedescendant_value !== (div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_aria_hidden_value !== (div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6])) {\n\t\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups, i18n, searchMode, currentGroup*/ 12305 | dirty[1] & /*onNavClick*/ 1) {\n\t\t\t\teach_value_3 = /*groups*/ ctx[12];\n\t\t\t\teach_blocks_2 = update_keyed_each(each_blocks_2, dirty, get_key_1, 1, ctx, each_value_3, each1_lookup, div5, destroy_block, create_each_block_3, null, get_each_context_3);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups*/ 4096) {\n\t\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div5_aria_label_value !== (div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel)) {\n\t\t\t\tattr(div5, \"aria-label\", div5_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*isRtl, currentGroupIndex*/ 16779264) {\n\t\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144) set_data(t4, /*message*/ ctx[18]);\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div8_class_value !== (div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'))) {\n\t\t\t\tattr(div8, \"class\", div8_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin, i18n, currentGroup*/ 402694449) {\n\t\t\t\teach_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\t\t\t\teach_blocks_1 = update_keyed_each(each_blocks_1, dirty, get_key_2, 1, ctx, each_value_1, each2_lookup, div9, destroy_block, create_each_block_1, null, get_each_context_1);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*databaseLoaded, message*/ 278528 && div10_class_value !== (div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div10, \"class\", div10_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div10_role_value !== (div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel')) {\n\t\t\t\tattr(div10, \"role\", div10_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentGroup*/ 8209 && div10_aria_label_value !== (div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name])) {\n\t\t\t\tattr(div10, \"aria-label\", div10_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup*/ 8208 && div10_id_value !== (div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`)) {\n\t\t\t\tattr(div10, \"id\", div10_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*labelWithSkin, currentFavorites, currentSkinTone, unicodeWithSkin*/ 402654464) {\n\t\t\t\teach_value = /*currentFavorites*/ ctx[10];\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key_3, 1, ctx, each_value, each3_lookup, div11, destroy_block, create_each_block, null, get_each_context);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div11_class_value !== (div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''))) {\n\t\t\t\tattr(div11, \"class\", div11_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div11_aria_label_value !== (div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel)) {\n\t\t\t\tattr(div11, \"aria-label\", div11_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*scrollbarWidth*/ 33554432) {\n\t\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && section_aria_label_value !== (section_aria_label_value = /*i18n*/ ctx[0].regionLabel)) {\n\t\t\t\tattr(section, \"aria-label\", section_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*pickerStyle*/ 4194304) {\n\t\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t\t}\n\t\t},\n\t\ti: noop,\n\t\to: noop,\n\t\td(detaching) {\n\t\t\tif (detaching) detach(section);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].d();\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](null);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].d();\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].d();\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](null);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\n\t\t\t/*button1_binding*/ ctx[51](null);\n\t\t\t/*section_binding*/ ctx[52](null);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance($$self, $$props, $$invalidate) {\n\tlet { skinToneEmoji } = $$props;\n\tlet { i18n } = $$props;\n\tlet { database } = $$props;\n\tlet { customEmoji } = $$props;\n\tlet { customCategorySorting } = $$props;\n\n\t// private\n\tlet initialLoad = true;\n\n\tlet currentEmojis = [];\n\tlet currentEmojisWithCategories = []; // eslint-disable-line no-unused-vars\n\tlet rawSearchText = '';\n\tlet searchText = '';\n\tlet rootElement;\n\tlet baselineEmoji;\n\tlet tabpanelElement;\n\tlet searchMode = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItem = -1;\n\tlet message; // eslint-disable-line no-unused-vars\n\tlet skinTonePickerExpanded = false;\n\tlet skinTonePickerExpandedAfterAnimation = false; // eslint-disable-line no-unused-vars\n\tlet skinToneDropdown;\n\tlet currentSkinTone = 0;\n\tlet activeSkinTone = 0;\n\tlet skinToneButtonText; // eslint-disable-line no-unused-vars\n\tlet pickerStyle; // eslint-disable-line no-unused-vars\n\tlet skinToneButtonLabel = ''; // eslint-disable-line no-unused-vars\n\tlet skinTones = [];\n\tlet currentFavorites = []; // eslint-disable-line no-unused-vars\n\tlet defaultFavoriteEmojis;\n\tlet numColumns = DEFAULT_NUM_COLUMNS;\n\tlet isRtl = false;\n\tlet scrollbarWidth = 0; // eslint-disable-line no-unused-vars\n\tlet currentGroupIndex = 0;\n\tlet groups$1 = groups;\n\tlet currentGroup;\n\tlet databaseLoaded = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItemId; // eslint-disable-line no-unused-vars\n\n\t//\n\t// Utils/helpers\n\t//\n\tconst focus = id => {\n\t\trootElement.getRootNode().getElementById(id).focus();\n\t};\n\n\t// fire a custom event that crosses the shadow boundary\n\tconst fireEvent = (name, detail) => {\n\t\trootElement.dispatchEvent(new CustomEvent(name, { detail, bubbles: true, composed: true }));\n\t};\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst unicodeWithSkin = (emoji, currentSkinTone) => currentSkinTone && emoji.skins && emoji.skins[currentSkinTone] || emoji.unicode;\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst labelWithSkin = (emoji, currentSkinTone) => uniq([\n\t\temoji.name || unicodeWithSkin(emoji, currentSkinTone),\n\t\t...emoji.shortcodes || []\n\t]).join(', ');\n\n\t// Detect a skintone option button\n\tconst isSkinToneOption = element => (/^skintone-/).test(element.id);\n\n\t//\n\t// Determine the emoji support level (in requestIdleCallback)\n\t//\n\temojiSupportLevelPromise.then(level => {\n\t\t// Can't actually test emoji support in Jest/JSDom, emoji never render in color in Cairo\n\t\t/* istanbul ignore next */\n\t\tif (!level) {\n\t\t\t$$invalidate(18, message = i18n.emojiUnsupportedMessage);\n\t\t}\n\t});\n\n\t//\n\t// Calculate the width of the emoji grid. This serves two purposes:\n\t// 1) Re-calculate the --num-columns var because it may have changed\n\t// 2) Re-calculate the scrollbar width because it may have changed\n\t// (i.e. because the number of items changed)\n\t// 3) Re-calculate whether we're in RTL mode or not.\n\t//\n\t// The benefit of doing this in one place is to align with rAF/ResizeObserver\n\t// and do all the calculations in one go. RTL vs LTR is not strictly width-related,\n\t// but since we're already reading the style here, and since it's already aligned with\n\t// the rAF loop, this is the most appropriate place to do it perf-wise.\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction calculateEmojiGridStyle(node) {\n\t\treturn calculateWidth(node, width => {\n\t\t\t/* istanbul ignore next */\n\t\t\tif (\"production\" !== 'test') {\n\t\t\t\t// jsdom throws errors for this kind of fancy stuff\n\t\t\t\t// read all the style/layout calculations we need to make\n\t\t\t\tconst style = getComputedStyle(rootElement);\n\n\t\t\t\tconst newNumColumns = parseInt(style.getPropertyValue('--num-columns'), 10);\n\t\t\t\tconst newIsRtl = style.getPropertyValue('direction') === 'rtl';\n\t\t\t\tconst parentWidth = node.parentElement.getBoundingClientRect().width;\n\t\t\t\tconst newScrollbarWidth = parentWidth - width;\n\n\t\t\t\t// write to Svelte variables\n\t\t\t\t$$invalidate(46, numColumns = newNumColumns);\n\n\t\t\t\t$$invalidate(25, scrollbarWidth = newScrollbarWidth); // eslint-disable-line no-unused-vars\n\t\t\t\t$$invalidate(24, isRtl = newIsRtl); // eslint-disable-line no-unused-vars\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction checkZwjSupportAndUpdate(zwjEmojisToCheck) {\n\t\tconst rootNode = rootElement.getRootNode();\n\t\tconst emojiToDomNode = emoji => rootNode.getElementById(`emo-${emoji.id}`);\n\t\tcheckZwjSupport(zwjEmojisToCheck, baselineEmoji, emojiToDomNode);\n\n\t\t// force update\n\t\t$$invalidate(1, currentEmojis = currentEmojis); // eslint-disable-line no-self-assign\n\t}\n\n\tfunction isZwjSupported(emoji) {\n\t\treturn !emoji.unicode || !hasZwj(emoji) || supportedZwjEmojis.get(emoji.unicode);\n\t}\n\n\tasync function filterEmojisByVersion(emojis) {\n\t\tconst emojiSupportLevel = await emojiSupportLevelPromise;\n\n\t\t// !version corresponds to custom emoji\n\t\treturn emojis.filter(({ version }) => !version || version <= emojiSupportLevel);\n\t}\n\n\tasync function summarizeEmojis(emojis) {\n\t\treturn summarizeEmojisForUI(emojis, await emojiSupportLevelPromise);\n\t}\n\n\tasync function getEmojisByGroup(group) {\n\n\t\tif (typeof group === 'undefined') {\n\t\t\treturn [];\n\t\t}\n\n\t\t// -1 is custom emoji\n\t\tconst emoji = group === -1\n\t\t? customEmoji\n\t\t: await database.getEmojiByGroup(group);\n\n\t\treturn summarizeEmojis(await filterEmojisByVersion(emoji));\n\t}\n\n\tasync function getEmojisBySearchQuery(query) {\n\t\treturn summarizeEmojis(await filterEmojisByVersion(await database.getEmojiBySearchQuery(query)));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSearchKeydown(event) {\n\t\tif (!searchMode || !currentEmojis.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst goToNextOrPrevious = previous => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(5, activeSearchItem = incrementOrDecrement(previous, activeSearchItem, currentEmojis));\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn goToNextOrPrevious(false);\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn goToNextOrPrevious(true);\n\t\t\tcase 'Enter':\n\t\t\t\tif (activeSearchItem !== -1) {\n\t\t\t\t\thalt(event);\n\t\t\t\t\treturn clickEmoji(currentEmojis[activeSearchItem].id);\n\t\t\t\t} else if (currentEmojis.length) {\n\t\t\t\t\t$$invalidate(5, activeSearchItem = 0);\n\t\t\t\t}\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on nav\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavClick(group) {\n\t\t$$invalidate(2, rawSearchText = '');\n\t\t$$invalidate(44, searchText = '');\n\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t$$invalidate(11, currentGroupIndex = groups$1.findIndex(_ => _.id === group.id));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavKeydown(event) {\n\t\tconst { target, key } = event;\n\n\t\tconst doFocus = el => {\n\t\t\tif (el) {\n\t\t\t\thalt(event);\n\t\t\t\tel.focus();\n\t\t\t}\n\t\t};\n\n\t\tswitch (key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\treturn doFocus(target.previousSibling);\n\t\t\tcase 'ArrowRight':\n\t\t\t\treturn doFocus(target.nextSibling);\n\t\t\tcase 'Home':\n\t\t\t\treturn doFocus(target.parentElement.firstChild);\n\t\t\tcase 'End':\n\t\t\t\treturn doFocus(target.parentElement.lastChild);\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on an emoji\n\t//\n\tasync function clickEmoji(unicodeOrName) {\n\t\tconst emoji = await database.getEmojiByUnicodeOrName(unicodeOrName);\n\t\tconst emojiSummary = [...currentEmojis, ...currentFavorites].find(_ => _.id === unicodeOrName);\n\t\tconst skinTonedUnicode = emojiSummary.unicode && unicodeWithSkin(emojiSummary, currentSkinTone);\n\t\tawait database.incrementFavoriteEmojiCount(unicodeOrName);\n\n\t\tfireEvent('emoji-click', {\n\t\t\temoji,\n\t\t\tskinTone: currentSkinTone,\n\t\t\t...skinTonedUnicode && { unicode: skinTonedUnicode },\n\t\t\t...emojiSummary.name && { name: emojiSummary.name }\n\t\t});\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onEmojiClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!target.classList.contains('emoji')) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst id = target.id.substring(4); // replace 'emo-' or 'fav-' prefix\n\n\t\t/* no await */\n\t\tclickEmoji(id);\n\t}\n\n\t//\n\t// Handle user input on the skintone picker\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!isSkinToneOption(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst skinTone = parseInt(target.id.slice(9), 10); // remove 'skintone-' prefix\n\t\t$$invalidate(8, currentSkinTone = skinTone);\n\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\tfocus('skintone-button');\n\t\tfireEvent('skin-tone-change', { skinTone });\n\n\t\t/* no await */\n\t\tdatabase.setPreferredSkinTone(skinTone);\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onClickSkinToneButton(event) {\n\t\t$$invalidate(6, skinTonePickerExpanded = !skinTonePickerExpanded);\n\t\t$$invalidate(20, activeSkinTone = currentSkinTone);\n\n\t\tif (skinTonePickerExpanded) {\n\t\t\thalt(event);\n\t\t\trAF(() => focus(`skintone-${activeSkinTone}`));\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeydown(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst changeActiveSkinTone = async nextSkinTone => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(20, activeSkinTone = nextSkinTone);\n\t\t\tawait tick();\n\t\t\tfocus(`skintone-${activeSkinTone}`);\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(true, activeSkinTone, skinTones));\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(false, activeSkinTone, skinTones));\n\t\t\tcase 'Home':\n\t\t\t\treturn changeActiveSkinTone(0);\n\t\t\tcase 'End':\n\t\t\t\treturn changeActiveSkinTone(skinTones.length - 1);\n\t\t\tcase 'Enter':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t\tcase 'Escape':\n\t\t\t\thalt(event);\n\t\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t\t\treturn focus('skintone-button');\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeyup(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase ' ':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsFocusOut(event) {\n\t\t// On blur outside of the skintone options, collapse the skintone picker.\n\t\t// Except if focus is just moving to another skintone option, e.g. pressing up/down to change focus\n\t\tconst { relatedTarget } = event;\n\n\t\tif (!relatedTarget || !isSkinToneOption(relatedTarget)) {\n\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t}\n\t}\n\n\tfunction input_input_handler() {\n\t\trawSearchText = this.value;\n\t\t$$invalidate(2, rawSearchText);\n\t}\n\n\tfunction div3_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tskinToneDropdown = $$value;\n\t\t\t$$invalidate(7, skinToneDropdown);\n\t\t});\n\t}\n\n\tconst click_handler = group => onNavClick(group);\n\n\tfunction div10_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\ttabpanelElement = $$value;\n\t\t\t$$invalidate(3, tabpanelElement);\n\t\t});\n\t}\n\n\tfunction button1_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tbaselineEmoji = $$value;\n\t\t\t$$invalidate(17, baselineEmoji);\n\t\t});\n\t}\n\n\tfunction section_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\trootElement = $$value;\n\t\t\t$$invalidate(16, rootElement);\n\t\t});\n\t}\n\n\t$$self.$$set = $$props => {\n\t\tif ('skinToneEmoji' in $$props) $$invalidate(40, skinToneEmoji = $$props.skinToneEmoji);\n\t\tif ('i18n' in $$props) $$invalidate(0, i18n = $$props.i18n);\n\t\tif ('database' in $$props) $$invalidate(39, database = $$props.database);\n\t\tif ('customEmoji' in $$props) $$invalidate(41, customEmoji = $$props.customEmoji);\n\t\tif ('customCategorySorting' in $$props) $$invalidate(42, customCategorySorting = $$props.customCategorySorting);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[1] & /*customEmoji, database*/ 1280) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the customEmoji\n\t\t\t//\n\t\t\t{\n\t\t\t\tif (customEmoji && database) {\n\t\t\t\t\t$$invalidate(39, database.customEmoji = customEmoji, database);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n*/ 1 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the database object\n\t\t\t//\n\t\t\t{\n\t\t\t\t// show a Loading message if it takes a long time, or show an error if there's a network/IDB error\n\t\t\t\tasync function handleDatabaseLoading() {\n\t\t\t\t\tlet showingLoadingMessage = false;\n\n\t\t\t\t\tconst timeoutHandle = setTimeout(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tshowingLoadingMessage = true;\n\t\t\t\t\t\t\t$$invalidate(18, message = i18n.loadingMessage);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTIMEOUT_BEFORE_LOADING_MESSAGE\n\t\t\t\t\t);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait database.ready();\n\t\t\t\t\t\t$$invalidate(14, databaseLoaded = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t} catch(err) {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t$$invalidate(18, message = i18n.networkErrorMessage);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tclearTimeout(timeoutHandle);\n\n\t\t\t\t\t\tif (showingLoadingMessage) {\n\t\t\t\t\t\t\t// Seems safer than checking the i18n string, which may change\n\t\t\t\t\t\t\tshowingLoadingMessage = false;\n\n\t\t\t\t\t\t\t$$invalidate(18, message = ''); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (database) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\thandleDatabaseLoading();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups*/ 4096 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) {\n\t\t\t{\n\t\t\t\tif (customEmoji && customEmoji.length) {\n\t\t\t\t\t$$invalidate(12, groups$1 = [customGroup, ...groups]);\n\t\t\t\t} else if (groups$1 !== groups) {\n\t\t\t\t\t$$invalidate(12, groups$1 = groups);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Handle user input on the search input\n\t\t\t//\n\t\t\t{\n\t\t\t\trIC(() => {\n\t\t\t\t\t$$invalidate(44, searchText = (rawSearchText || '').trim()); // defer to avoid input delays, plus we can trim here\n\t\t\t\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144) {\n\t\t\t//\n\t\t\t// Update the current group based on the currentGroupIndex\n\t\t\t//\n\t\t\t$$invalidate(13, currentGroup = groups$1[currentGroupIndex]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded, currentGroup*/ 24576 | $$self.$$.dirty[1] & /*searchText*/ 8192) {\n\t\t\t//\n\t\t\t// Set or update the currentEmojis. Check for invalid ZWJ renderings\n\t\t\t// (i.e. double emoji).\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateEmojis() {\n\n\t\t\t\t\tif (!databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(1, currentEmojis = []);\n\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t} else if (searchText.length >= MIN_SEARCH_TEXT_LENGTH) {\n\t\t\t\t\t\tconst currentSearchText = searchText;\n\t\t\t\t\t\tconst newEmojis = await getEmojisBySearchQuery(currentSearchText);\n\n\t\t\t\t\t\tif (currentSearchText === searchText) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = true);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (currentGroup) {\n\t\t\t\t\t\tconst currentGroupId = currentGroup.id;\n\t\t\t\t\t\tconst newEmojis = await getEmojisByGroup(currentGroupId);\n\n\t\t\t\t\t\tif (currentGroupId === currentGroup.id) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdateEmojis();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, searchMode*/ 4112) {\n\t\t\t//\n\t\t\t// Global styles for the entire picker\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(22, pickerStyle = `\n --font-family: ${FONT_FAMILY};\n --num-groups: ${groups$1.length}; \n --indicator-opacity: ${searchMode ? 0 : 1}; \n --num-skintones: ${NUM_SKIN_TONES};`);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the preferred skin tone\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updatePreferredSkinTone() {\n\t\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(8, currentSkinTone = await database.getPreferredSkinTone());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdatePreferredSkinTone();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[1] & /*skinToneEmoji*/ 512) {\n\t\t\t$$invalidate(9, skinTones = Array(NUM_SKIN_TONES).fill().map((_, i) => applySkinTone(skinToneEmoji, i)));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTones, currentSkinTone*/ 768) {\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(21, skinToneButtonText = skinTones[currentSkinTone]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n, currentSkinTone*/ 257) {\n\t\t\t$$invalidate(23, skinToneButtonLabel = i18n.skinToneLabel.replace('{skinTone}', i18n.skinTones[currentSkinTone]));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the favorites emojis\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateDefaultFavoriteEmojis() {\n\t\t\t\t\t$$invalidate(45, defaultFavoriteEmojis = (await Promise.all(MOST_COMMONLY_USED_EMOJI.map(unicode => database.getEmojiByUnicodeOrName(unicode)))).filter(Boolean)); // filter because in Jest tests we don't have all the emoji in the DB\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateDefaultFavoriteEmojis();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database, numColumns, defaultFavoriteEmojis*/ 49408) {\n\t\t\t{\n\t\t\t\tasync function updateFavorites() {\n\t\t\t\t\tconst dbFavorites = await database.getTopFavoriteEmoji(numColumns);\n\t\t\t\t\tconst favorites = await summarizeEmojis(uniqBy([...dbFavorites, ...defaultFavoriteEmojis], _ => _.unicode || _.name).slice(0, numColumns));\n\t\t\t\t\t$$invalidate(10, currentFavorites = favorites);\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded && defaultFavoriteEmojis) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateFavorites();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, tabpanelElement*/ 10) {\n\t\t\t// Some emojis have their ligatures rendered as two or more consecutive emojis\n\t\t\t// We want to treat these the same as unsupported emojis, so we compare their\n\t\t\t// widths against the baseline widths and remove them as necessary\n\t\t\t{\n\t\t\t\tconst zwjEmojisToCheck = currentEmojis.filter(emoji => emoji.unicode).filter(emoji => hasZwj(emoji) && !supportedZwjEmojis.has(emoji.unicode)); // filter custom emoji\n\n\t\t\t\tif (zwjEmojisToCheck.length) {\n\t\t\t\t\t// render now, check their length later\n\t\t\t\t\trAF(() => checkZwjSupportAndUpdate(zwjEmojisToCheck));\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(1, currentEmojis = currentEmojis.filter(isZwjSupported));\n\n\t\t\t\t\trAF(() => {\n\t\t\t\t\t\t// Avoid Svelte doing an invalidation on the \"setter\" here.\n\t\t\t\t\t\t// At best the invalidation is useless, at worst it can cause infinite loops:\n\t\t\t\t\t\t// https://github.com/nolanlawson/emoji-picker-element/pull/180\n\t\t\t\t\t\t// https://github.com/sveltejs/svelte/issues/6521\n\t\t\t\t\t\t// Also note tabpanelElement can be null if the element is disconnected\n\t\t\t\t\t\t// immediately after connected, hence `|| {}`\n\t\t\t\t\t\t(tabpanelElement || {}).scrollTop = 0; // reset scroll top to 0 when emojis change\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, currentFavorites*/ 1026 | $$self.$$.dirty[1] & /*initialLoad*/ 4096) {\n\t\t\t{\n\t\t\t\t// consider initialLoad to be complete when the first tabpanel and favorites are rendered\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (\"production\" !== 'production' || false) {\n\t\t\t\t\tif (currentEmojis.length && currentFavorites.length && initialLoad) {\n\t\t\t\t\t\t$$invalidate(43, initialLoad = false);\n\t\t\t\t\t\trequestPostAnimationFrame(() => (void 0));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*searchMode, currentEmojis*/ 18 | $$self.$$.dirty[1] & /*customCategorySorting*/ 2048) {\n\t\t\t//\n\t\t\t// Derive currentEmojisWithCategories from currentEmojis. This is always done even if there\n\t\t\t// are no categories, because it's just easier to code the HTML this way.\n\t\t\t//\n\t\t\t{\n\t\t\t\tfunction calculateCurrentEmojisWithCategories() {\n\t\t\t\t\tif (searchMode) {\n\t\t\t\t\t\treturn [{ category: '', emojis: currentEmojis }];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst categoriesToEmoji = new Map();\n\n\t\t\t\t\tfor (const emoji of currentEmojis) {\n\t\t\t\t\t\tconst category = emoji.category || '';\n\t\t\t\t\t\tlet emojis = categoriesToEmoji.get(category);\n\n\t\t\t\t\t\tif (!emojis) {\n\t\t\t\t\t\t\temojis = [];\n\t\t\t\t\t\t\tcategoriesToEmoji.set(category, emojis);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\temojis.push(emoji);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [...categoriesToEmoji.entries()].map(([category, emojis]) => ({ category, emojis })).sort((a, b) => customCategorySorting(a.category, b.category));\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\t$$invalidate(15, currentEmojisWithCategories = calculateCurrentEmojisWithCategories());\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*activeSearchItem, currentEmojis*/ 34) {\n\t\t\t//\n\t\t\t// Handle active search item (i.e. pressing up or down while searching)\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(26, activeSearchItemId = activeSearchItem !== -1 && currentEmojis[activeSearchItem].id);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTonePickerExpanded, skinToneDropdown*/ 192) {\n\t\t\t// To make the animation nicer, change the z-index of the skintone picker button\n\t\t\t// *after* the animation has played. This makes it appear that the picker box\n\t\t\t// is expanding \"below\" the button\n\t\t\t{\n\t\t\t\tif (skinTonePickerExpanded) {\n\t\t\t\t\tskinToneDropdown.addEventListener(\n\t\t\t\t\t\t'transitionend',\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ once: true }\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = false); // eslint-disable-line no-unused-vars\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\ti18n,\n\t\tcurrentEmojis,\n\t\trawSearchText,\n\t\ttabpanelElement,\n\t\tsearchMode,\n\t\tactiveSearchItem,\n\t\tskinTonePickerExpanded,\n\t\tskinToneDropdown,\n\t\tcurrentSkinTone,\n\t\tskinTones,\n\t\tcurrentFavorites,\n\t\tcurrentGroupIndex,\n\t\tgroups$1,\n\t\tcurrentGroup,\n\t\tdatabaseLoaded,\n\t\tcurrentEmojisWithCategories,\n\t\trootElement,\n\t\tbaselineEmoji,\n\t\tmessage,\n\t\tskinTonePickerExpandedAfterAnimation,\n\t\tactiveSkinTone,\n\t\tskinToneButtonText,\n\t\tpickerStyle,\n\t\tskinToneButtonLabel,\n\t\tisRtl,\n\t\tscrollbarWidth,\n\t\tactiveSearchItemId,\n\t\tunicodeWithSkin,\n\t\tlabelWithSkin,\n\t\tcalculateEmojiGridStyle,\n\t\tonSearchKeydown,\n\t\tonNavClick,\n\t\tonNavKeydown,\n\t\tonEmojiClick,\n\t\tonSkinToneOptionsClick,\n\t\tonClickSkinToneButton,\n\t\tonSkinToneOptionsKeydown,\n\t\tonSkinToneOptionsKeyup,\n\t\tonSkinToneOptionsFocusOut,\n\t\tdatabase,\n\t\tskinToneEmoji,\n\t\tcustomEmoji,\n\t\tcustomCategorySorting,\n\t\tinitialLoad,\n\t\tsearchText,\n\t\tdefaultFavoriteEmojis,\n\t\tnumColumns,\n\t\tinput_input_handler,\n\t\tdiv3_binding,\n\t\tclick_handler,\n\t\tdiv10_binding,\n\t\tbutton1_binding,\n\t\tsection_binding\n\t];\n}\n\nclass Picker extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\n\t\tinit(\n\t\t\tthis,\n\t\t\toptions,\n\t\t\tinstance,\n\t\t\tcreate_fragment,\n\t\t\tsafe_not_equal,\n\t\t\t{\n\t\t\t\tskinToneEmoji: 40,\n\t\t\t\ti18n: 0,\n\t\t\t\tdatabase: 39,\n\t\t\t\tcustomEmoji: 41,\n\t\t\t\tcustomCategorySorting: 42\n\t\t\t},\n\t\t\tnull,\n\t\t\t[-1, -1, -1]\n\t\t);\n\t}\n}\n\nconst DEFAULT_DATA_SOURCE = 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json';\nconst DEFAULT_LOCALE = 'en';\n\nvar enI18n = {\n categoriesLabel: 'Categories',\n emojiUnsupportedMessage: 'Your browser does not support color emoji.',\n favoritesLabel: 'Favorites',\n loadingMessage: 'Loading…',\n networkErrorMessage: 'Could not load emoji.',\n regionLabel: 'Emoji picker',\n searchDescription: 'When search results are available, press up or down to select and enter to choose.',\n searchLabel: 'Search',\n searchResultsLabel: 'Search results',\n skinToneDescription: 'When expanded, press up or down to select and enter to choose.',\n skinToneLabel: 'Choose a skin tone (currently {skinTone})',\n skinTonesLabel: 'Skin tones',\n skinTones: [\n 'Default',\n 'Light',\n 'Medium-Light',\n 'Medium',\n 'Medium-Dark',\n 'Dark'\n ],\n categories: {\n custom: 'Custom',\n 'smileys-emotion': 'Smileys and emoticons',\n 'people-body': 'People and body',\n 'animals-nature': 'Animals and nature',\n 'food-drink': 'Food and drink',\n 'travel-places': 'Travel and places',\n activities: 'Activities',\n objects: 'Objects',\n symbols: 'Symbols',\n flags: 'Flags'\n }\n};\n\nconst PROPS = [\n 'customEmoji',\n 'customCategorySorting',\n 'database',\n 'dataSource',\n 'i18n',\n 'locale',\n 'skinToneEmoji'\n];\n\nclass PickerElement extends HTMLElement {\n constructor (props) {\n super();\n this.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = \":host{--emoji-size:1.375rem;--emoji-padding:0.5rem;--category-emoji-size:var(--emoji-size);--category-emoji-padding:var(--emoji-padding);--indicator-height:3px;--input-border-radius:0.5rem;--input-border-size:1px;--input-font-size:1rem;--input-line-height:1.5;--input-padding:0.25rem;--num-columns:8;--outline-size:2px;--border-size:1px;--skintone-border-radius:1rem;--category-font-size:1rem;display:flex;width:min-content;height:400px}:host,:host(.light){--background:#fff;--border-color:#e0e0e0;--indicator-color:#385ac1;--input-border-color:#999;--input-font-color:#111;--input-placeholder-color:#999;--outline-color:#999;--category-font-color:#111;--button-active-background:#e6e6e6;--button-hover-background:#d9d9d9}:host(.dark){--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}@media (prefers-color-scheme:dark){:host{--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}}:host([hidden]){display:none}button{margin:0;padding:0;border:0;background:0 0;box-shadow:none;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0}input{padding:0;margin:0;line-height:1.15;font-family:inherit}input[type=search]{-webkit-appearance:none}:focus{outline:var(--outline-color) solid var(--outline-size);outline-offset:calc(-1*var(--outline-size))}:host([data-js-focus-visible]) :focus:not([data-focus-visible-added]){outline:0}:focus:not(:focus-visible){outline:0}.hide-focus{outline:0}*{box-sizing:border-box}.picker{contain:content;display:flex;flex-direction:column;background:var(--background);border:var(--border-size) solid var(--border-color);width:100%;height:100%;overflow:hidden;--total-emoji-size:calc(var(--emoji-size) + (2 * var(--emoji-padding)));--total-category-emoji-size:calc(var(--category-emoji-size) + (2 * var(--category-emoji-padding)))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{opacity:0;pointer-events:none}.abs-pos{position:absolute;left:0;top:0}.gone{display:none!important}.skintone-button-wrapper,.skintone-list{background:var(--background);z-index:3}.skintone-button-wrapper.expanded{z-index:1}.skintone-list{position:absolute;inset-inline-end:0;top:0;z-index:2;overflow:visible;border-bottom:var(--border-size) solid var(--border-color);border-radius:0 0 var(--skintone-border-radius) var(--skintone-border-radius);will-change:transform;transition:transform .2s ease-in-out;transform-origin:center 0}@media (prefers-reduced-motion:reduce){.skintone-list{transition-duration:.001s}}@supports not (inset-inline-end:0){.skintone-list{right:0}}.skintone-list.no-animate{transition:none}.tabpanel{overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:transform;min-height:0;flex:1;contain:content}.emoji-menu{display:grid;grid-template-columns:repeat(var(--num-columns),var(--total-emoji-size));justify-content:space-around;align-items:flex-start;width:100%}.category{padding:var(--emoji-padding);font-size:var(--category-font-size);color:var(--category-font-color)}.custom-emoji,.emoji,button.emoji{height:var(--total-emoji-size);width:var(--total-emoji-size)}.emoji,button.emoji{font-size:var(--emoji-size);display:flex;align-items:center;justify-content:center;border-radius:100%;line-height:1;overflow:hidden;font-family:var(--font-family);cursor:pointer}@media (hover:hover) and (pointer:fine){.emoji:hover,button.emoji:hover{background:var(--button-hover-background)}}.emoji.active,.emoji:active,button.emoji.active,button.emoji:active{background:var(--button-active-background)}.custom-emoji{padding:var(--emoji-padding);object-fit:contain;pointer-events:none;background-repeat:no-repeat;background-position:center center;background-size:var(--emoji-size) var(--emoji-size)}.nav,.nav-button{align-items:center}.nav{display:grid;justify-content:space-between;contain:content}.nav-button{display:flex;justify-content:center}.nav-emoji{font-size:var(--category-emoji-size);width:var(--total-category-emoji-size);height:var(--total-category-emoji-size)}.indicator-wrapper{display:flex;border-bottom:1px solid var(--border-color)}.indicator{width:calc(100%/var(--num-groups));height:var(--indicator-height);opacity:var(--indicator-opacity);background-color:var(--indicator-color);will-change:transform,opacity;transition:opacity .1s linear,transform .25s ease-in-out}@media (prefers-reduced-motion:reduce){.indicator{will-change:opacity;transition:opacity .1s linear}}.pad-top,input.search{background:var(--background);width:100%}.pad-top{height:var(--emoji-padding);z-index:3}.search-row{display:flex;align-items:center;position:relative;padding-inline-start:var(--emoji-padding);padding-bottom:var(--emoji-padding)}.search-wrapper{flex:1;min-width:0}input.search{padding:var(--input-padding);border-radius:var(--input-border-radius);border:var(--input-border-size) solid var(--input-border-color);color:var(--input-font-color);font-size:var(--input-font-size);line-height:var(--input-line-height)}input.search::placeholder{color:var(--input-placeholder-color)}.favorites{display:flex;flex-direction:row;border-top:var(--border-size) solid var(--border-color);contain:content}.message{padding:var(--emoji-padding)}\";\n this.shadowRoot.appendChild(style);\n this._ctx = {\n // Set defaults\n locale: DEFAULT_LOCALE,\n dataSource: DEFAULT_DATA_SOURCE,\n skinToneEmoji: DEFAULT_SKIN_TONE_EMOJI,\n customCategorySorting: DEFAULT_CATEGORY_SORTING,\n customEmoji: null,\n i18n: enI18n,\n ...props\n };\n // Handle properties set before the element was upgraded\n for (const prop of PROPS) {\n if (prop !== 'database' && Object.prototype.hasOwnProperty.call(this, prop)) {\n this._ctx[prop] = this[prop];\n delete this[prop];\n }\n }\n this._dbFlush(); // wait for a flush before creating the db, in case the user calls e.g. a setter or setAttribute\n }\n\n connectedCallback () {\n this._cmp = new Picker({\n target: this.shadowRoot,\n props: this._ctx\n });\n }\n\n disconnectedCallback () {\n this._cmp.$destroy();\n this._cmp = undefined;\n\n const { database } = this._ctx;\n if (database) {\n database.close()\n // only happens if the database failed to load in the first place, so we don't care)\n .catch(err => console.error(err));\n }\n }\n\n static get observedAttributes () {\n return ['locale', 'data-source', 'skin-tone-emoji'] // complex objects aren't supported, also use kebab-case\n }\n\n attributeChangedCallback (attrName, oldValue, newValue) {\n // convert from kebab-case to camelcase\n // see https://github.com/sveltejs/svelte/issues/3852#issuecomment-665037015\n this._set(\n attrName.replace(/-([a-z])/g, (_, up) => up.toUpperCase()),\n newValue\n );\n }\n\n _set (prop, newValue) {\n this._ctx[prop] = newValue;\n if (this._cmp) {\n this._cmp.$set({ [prop]: newValue });\n }\n if (['locale', 'dataSource'].includes(prop)) {\n this._dbFlush();\n }\n }\n\n _dbCreate () {\n const { locale, dataSource, database } = this._ctx;\n // only create a new database if we really need to\n if (!database || database.locale !== locale || database.dataSource !== dataSource) {\n this._set('database', new Database({ locale, dataSource }));\n }\n }\n\n // Update the Database in one microtask if the locale/dataSource change. We do one microtask\n // so we don't create two Databases if e.g. both the locale and the dataSource change\n _dbFlush () {\n Promise.resolve().then(() => (\n this._dbCreate()\n ));\n }\n}\n\nconst definitions = {};\n\nfor (const prop of PROPS) {\n definitions[prop] = {\n get () {\n if (prop === 'database') {\n // in rare cases, the microtask may not be flushed yet, so we need to instantiate the DB\n // now if the user is asking for it\n this._dbCreate();\n }\n return this._ctx[prop]\n },\n set (val) {\n if (prop === 'database') {\n throw new Error('database is read-only')\n }\n this._set(prop, val);\n }\n };\n}\n\nObject.defineProperties(PickerElement.prototype, definitions);\n\n/* istanbul ignore else */\nif (!customElements.get('emoji-picker')) { // if already defined, do nothing (e.g. same script imported twice)\n customElements.define('emoji-picker', PickerElement);\n}\n\nexport { PickerElement as default };\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=2c0ab9be&\"\nimport script from \"./Loader.vue?vue&type=script&lang=js&\"\nexport * from \"./Loader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{\n\t\t'vac-box-search': _vm.showSearchBar,\n\t\t'vac-box-empty': !_vm.showSearchBar\n\t}},[(_vm.showSearch)?[(!_vm.loadingRooms && _vm.rooms.length)?_c('div',{staticClass:\"vac-icon-search\"},[_vm._t(\"search-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"search\"}})]})],2):_vm._e(),(!_vm.loadingRooms && _vm.rooms.length)?_c('input',{staticClass:\"vac-input\",attrs:{\"type\":\"search\",\"placeholder\":_vm.textMessages.SEARCH,\"autocomplete\":\"off\"},on:{\"input\":function($event){return _vm.$emit('search-room', $event)}}}):_vm._e()]:_vm._e(),(_vm.showAddRoom)?_c('div',{staticClass:\"vac-svg-button vac-add-icon\",on:{\"click\":function($event){return _vm.$emit('add-room')}}},[_vm._t(\"add-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"add\"}})]})],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"version\":\"1.1\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":(\"0 0 \" + _vm.size + \" \" + _vm.size)}},[_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path}}),(_vm.svgItem[_vm.name].path2)?_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path2}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SvgIcon.vue?vue&type=template&id=e01c0bf4&\"\nimport script from \"./SvgIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsSearch.vue?vue&type=template&id=1fc42a9b&\"\nimport script from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-container\"},[_vm._t(\"room-list-item\",function(){return [_vm._t(\"room-list-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_c('div',{staticClass:\"vac-name-container vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-title-container\"},[(_vm.userStatus)?_c('div',{staticClass:\"vac-state-circle\",class:{ 'vac-state-online': _vm.userStatus === 'online' }}):_vm._e(),_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.room.lastMessage)?_c('div',{staticClass:\"vac-text-date\"},[_vm._v(\" \"+_vm._s(_vm.room.lastMessage.timestamp)+\" \")]):_vm._e()]),_c('div',{staticClass:\"vac-text-last\",class:{\n\t\t\t\t\t'vac-message-new':\n\t\t\t\t\t\t_vm.room.lastMessage && _vm.room.lastMessage.new && !_vm.typingUsers\n\t\t\t\t}},[(_vm.isMessageCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.room.lastMessage.distributed\n\t\t\t\t\t\t\t\t\t? 'double-checkmark'\n\t\t\t\t\t\t\t\t\t: 'checkmark',\"param\":_vm.room.lastMessage.seen ? 'seen' : ''}})]},null,{ message: _vm.room.lastMessage })],2):_vm._e(),(_vm.room.lastMessage && !_vm.room.lastMessage.deleted && _vm.isAudio)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]}),_vm._v(\" \"+_vm._s(_vm.formattedDuration)+\" \")],2):(_vm.room.lastMessage)?_c('format-message',{attrs:{\"content\":_vm.getLastMessage,\"deleted\":!!_vm.room.lastMessage.deleted && !_vm.typingUsers,\"users\":_vm.room.users,\"linkify\":false,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"single-line\":true},scopedSlots:_vm._u([{key:\"deleted-icon\",fn:function(data){return [_vm._t(\"deleted-icon\",null,null,data)]}}],null,true)}):_vm._e(),(!_vm.room.lastMessage && _vm.typingUsers)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_vm._e(),_c('div',{staticClass:\"vac-room-options-container\"},[(_vm.room.unreadCount)?_c('div',{staticClass:\"vac-badge-counter vac-room-badge\"},[_vm._v(\" \"+_vm._s(_vm.room.unreadCount)+\" \")]):_vm._e(),_vm._t(\"room-list-options\",function(){return [(_vm.roomActions.length)?_c('div',{staticClass:\"vac-svg-button vac-list-room-options\",on:{\"click\":function($event){$event.stopPropagation();_vm.roomMenuOpened = _vm.room.roomId}}},[_vm._t(\"room-list-options-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"room\"}})]})],2):_vm._e(),(_vm.roomActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.roomMenuOpened === _vm.room.roomId)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeRoomMenu),expression:\"closeRoomMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.roomActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.roomActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]},null,{ room: _vm.room })],2)],1)])]},null,{ room: _vm.room })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-format-message-wrapper\",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:\"vac-format-container\"},[_c(message.url ? 'a' : 'span',{tag:\"component\",class:{\n\t\t\t\t\t'vac-text-ellipsis': _vm.singleLine,\n\t\t\t\t\t'vac-text-bold': message.bold,\n\t\t\t\t\t'vac-text-italic': _vm.deleted || message.italic,\n\t\t\t\t\t'vac-text-strike': message.strike,\n\t\t\t\t\t'vac-text-underline': message.underline,\n\t\t\t\t\t'vac-text-inline-code': !_vm.singleLine && message.inline,\n\t\t\t\t\t'vac-text-multiline-code': !_vm.singleLine && message.multiline,\n\t\t\t\t\t'vac-text-tag': !_vm.singleLine && !_vm.reply && message.tag\n\t\t\t\t},attrs:{\"href\":message.href,\"target\":message.href ? _vm.linkOptions.target : null,\"rel\":message.href ? _vm.linkOptions.rel : null},on:{\"click\":function($event){return _vm.openTag(message)}}},[_vm._t(\"deleted-icon\",function(){return [(_vm.deleted)?_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}}):_vm._e()]},null,{ deleted: _vm.deleted }),(message.url && message.image)?[_c('div',{staticClass:\"vac-image-link-container\"},[_c('div',{staticClass:\"vac-image-link\",style:({\n\t\t\t\t\t\t\t\t'background-image': (\"url('\" + (message.value) + \"')\"),\n\t\t\t\t\t\t\t\theight: message.height\n\t\t\t\t\t\t\t})})]),_c('div',{staticClass:\"vac-image-link-message\"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',{domProps:{\"innerHTML\":_vm._s(message.value)}},[_vm._v(\" \"+_vm._s(message.value)+\" \")])]],2)],1)}),0):_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.formattedContent)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","const linkify = require('linkifyjs')\n// require('linkifyjs/plugins/hashtag')(linkify)\n\nexport default (text, doLinkify, textFormatting) => {\n\tconst typeMarkdown = {\n\t\tbold: textFormatting.bold,\n\t\titalic: textFormatting.italic,\n\t\tstrike: textFormatting.strike,\n\t\tunderline: textFormatting.underline,\n\t\tmultilineCode: textFormatting.multilineCode,\n\t\tinlineCode: textFormatting.inlineCode\n\t}\n\n\tconst pseudoMarkdown = {\n\t\t[typeMarkdown.bold]: {\n\t\t\tend: '\\\\' + typeMarkdown.bold,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'bold'\n\t\t},\n\t\t[typeMarkdown.italic]: {\n\t\t\tend: typeMarkdown.italic,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'italic'\n\t\t},\n\t\t[typeMarkdown.strike]: {\n\t\t\tend: typeMarkdown.strike,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'strike'\n\t\t},\n\t\t[typeMarkdown.underline]: {\n\t\t\tend: typeMarkdown.underline,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'underline'\n\t\t},\n\t\t[typeMarkdown.multilineCode]: {\n\t\t\tend: typeMarkdown.multilineCode,\n\t\t\tallowed_chars: '(.|\\n)',\n\t\t\ttype: 'multiline-code'\n\t\t},\n\t\t[typeMarkdown.inlineCode]: {\n\t\t\tend: typeMarkdown.inlineCode,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'inline-code'\n\t\t},\n\t\t'': {\n\t\t\tallowed_chars: '.',\n\t\t\tend: '',\n\t\t\ttype: 'tag'\n\t\t}\n\t}\n\n\tconst json = compileToJSON(text, pseudoMarkdown)\n\n\tconst html = compileToHTML(json, pseudoMarkdown)\n\n\tconst result = [].concat.apply([], html)\n\n\tif (doLinkify) linkifyResult(result)\n\n\treturn result\n}\n\nfunction compileToJSON(str, pseudoMarkdown) {\n\tlet result = []\n\tlet minIndexOf = -1\n\tlet minIndexOfKey = null\n\n\tlet links = linkify.find(str)\n\tlet minIndexFromLink = false\n\n\tif (links.length > 0) {\n\t\tminIndexOf = str.indexOf(links[0].value)\n\t\tminIndexFromLink = true\n\t}\n\n\tObject.keys(pseudoMarkdown).forEach(startingValue => {\n\t\tconst io = str.indexOf(startingValue)\n\t\tif (io >= 0 && (minIndexOf < 0 || io < minIndexOf)) {\n\t\t\tminIndexOf = io\n\t\t\tminIndexOfKey = startingValue\n\t\t\tminIndexFromLink = false\n\t\t}\n\t})\n\n\tif (minIndexFromLink && minIndexOfKey !== -1) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tlet strLink = str.substr(minIndexOf, links[0].value.length)\n\t\tlet strRight = str.substr(minIndexOf + links[0].value.length)\n\t\tresult.push(strLeft)\n\t\tresult.push(strLink)\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t}\n\n\tif (minIndexOfKey) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tconst char = minIndexOfKey\n\t\tlet strRight = str.substr(minIndexOf + char.length)\n\n\t\tif (str.replace(/\\s/g, '').length === char.length * 2) {\n\t\t\treturn [str]\n\t\t}\n\n\t\tconst match = strRight.match(\n\t\t\tnew RegExp(\n\t\t\t\t'^(' +\n\t\t\t\t\t(pseudoMarkdown[char].allowed_chars || '.') +\n\t\t\t\t\t'*' +\n\t\t\t\t\t(pseudoMarkdown[char].end ? '?' : '') +\n\t\t\t\t\t')' +\n\t\t\t\t\t(pseudoMarkdown[char].end\n\t\t\t\t\t\t? '(' + pseudoMarkdown[char].end + ')'\n\t\t\t\t\t\t: ''),\n\t\t\t\t'm'\n\t\t\t)\n\t\t)\n\t\tif (!match || !match[1]) {\n\t\t\tstrLeft = strLeft + char\n\t\t\tresult.push(strLeft)\n\t\t} else {\n\t\t\tif (strLeft) {\n\t\t\t\tresult.push(strLeft)\n\t\t\t}\n\t\t\tconst object = {\n\t\t\t\tstart: char,\n\t\t\t\tcontent: compileToJSON(match[1], pseudoMarkdown),\n\t\t\t\tend: match[2],\n\t\t\t\ttype: pseudoMarkdown[char].type\n\t\t\t}\n\t\t\tresult.push(object)\n\t\t\tstrRight = strRight.substr(match[0].length)\n\t\t}\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t} else {\n\t\tif (str) {\n\t\t\treturn [str]\n\t\t} else {\n\t\t\treturn []\n\t\t}\n\t}\n}\n\nfunction compileToHTML(json, pseudoMarkdown) {\n\tconst result = []\n\n\tjson.forEach(item => {\n\t\tif (typeof item === 'string') {\n\t\t\tresult.push({ types: [], value: item })\n\t\t} else {\n\t\t\tif (pseudoMarkdown[item.start]) {\n\t\t\t\tresult.push(parseContent(item))\n\t\t\t}\n\t\t}\n\t})\n\n\treturn result\n}\n\nfunction parseContent(item) {\n\tconst result = []\n\titerateContent(item, result, [])\n\treturn result\n}\n\nfunction iterateContent(item, result, types) {\n\titem.content.forEach(it => {\n\t\tif (typeof it === 'string') {\n\t\t\tresult.push({\n\t\t\t\ttypes: removeDuplicates(types.concat([item.type])),\n\t\t\t\tvalue: it\n\t\t\t})\n\t\t} else {\n\t\t\titerateContent(\n\t\t\t\tit,\n\t\t\t\tresult,\n\t\t\t\tremoveDuplicates([it.type].concat([item.type]).concat(types))\n\t\t\t)\n\t\t}\n\t})\n}\n\nfunction removeDuplicates(items) {\n\treturn [...new Set(items)]\n}\n\nfunction linkifyResult(array) {\n\tconst result = []\n\n\tarray.forEach(arr => {\n\t\tconst links = linkify.find(arr.value)\n\n\t\tif (links.length) {\n\t\t\tconst spaces = arr.value.replace(links[0].value, '')\n\t\t\tresult.push({ types: arr.types, value: spaces })\n\n\t\t\tarr.types = ['url'].concat(arr.types)\n\t\t\tarr.href = links[0].href\n\t\t\tarr.value = links[0].value\n\t\t}\n\n\t\tresult.push(arr)\n\t})\n\n\treturn result\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormatMessage.vue?vue&type=template&id=3a015d3f&\"\nimport script from \"./FormatMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./FormatMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (room, currentUserId, textMessages) => {\n\tif (room.typingUsers && room.typingUsers.length) {\n\t\tconst typingUsers = room.users.filter(user => {\n\t\t\tif (user._id === currentUserId) return\n\t\t\tif (room.typingUsers.indexOf(user._id) === -1) return\n\t\t\tif (user.status && user.status.state === 'offline') return\n\t\t\treturn true\n\t\t})\n\n\t\tif (!typingUsers.length) return\n\n\t\tif (room.users.length === 2) {\n\t\t\treturn textMessages.IS_TYPING\n\t\t} else {\n\t\t\treturn (\n\t\t\t\ttypingUsers.map(user => user.username).join(', ') +\n\t\t\t\t' ' +\n\t\t\t\ttextMessages.IS_TYPING\n\t\t\t)\n\t\t}\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomContent.vue?vue&type=template&id=6888cbad&\"\nimport script from \"./RoomContent.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (items, prop, val, startsWith = false) => {\n\tif (!val || val === '') return items\n\n\treturn items.filter(v => {\n\t\tif (startsWith) return formatString(v[prop]).startsWith(formatString(val))\n\t\treturn formatString(v[prop]).includes(formatString(val))\n\t})\n}\n\nfunction formatString(string) {\n\treturn string\n\t\t.toLowerCase()\n\t\t.normalize('NFD')\n\t\t.replace(/[\\u0300-\\u036f]/g, '')\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsList.vue?vue&type=template&id=e9cbf0d4&\"\nimport script from \"./RoomsList.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isMobile && !_vm.showRoomsList) || !_vm.isMobile || _vm.singleRoom),expression:\"(isMobile && !showRoomsList) || !isMobile || singleRoom\"}],staticClass:\"vac-col-messages\",on:{\"touchstart\":_vm.touchStart}},[(_vm.showNoRoom)?_vm._t(\"no-room-selected\",function(){return [_c('div',{staticClass:\"vac-container-center vac-room-empty\"},[_c('div',[_vm._v(_vm._s(_vm.textMessages.ROOM_EMPTY))])])]}):_c('room-header',{attrs:{\"current-user-id\":_vm.currentUserId,\"text-messages\":_vm.textMessages,\"single-room\":_vm.singleRoom,\"show-rooms-list\":_vm.showRoomsList,\"is-mobile\":_vm.isMobile,\"room-info-enabled\":_vm.roomInfoEnabled,\"menu-actions\":_vm.menuActions,\"room\":_vm.room,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"message-selection-actions\":_vm.messageSelectionActions,\"selected-messages-total\":_vm.selectedMessages.length},on:{\"toggle-rooms-list\":function($event){return _vm.$emit('toggle-rooms-list')},\"room-info\":function($event){return _vm.$emit('room-info')},\"menu-action-handler\":function($event){return _vm.$emit('menu-action-handler', $event)},\"message-selection-action-handler\":_vm.messageSelectionActionHandler,\"cancel-message-selection\":function($event){_vm.messageSelectionEnabled = false}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{ref:\"scrollContainer\",staticClass:\"vac-container-scroll\",attrs:{\"id\":\"messages-list\"},on:{\"scroll\":_vm.onContainerScroll}},[_c('loader',{attrs:{\"show\":_vm.loadingMessages},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-messages-container\"},[_c('div',{class:{ 'vac-messages-hidden': _vm.loadingMessages }},[_c('transition',{attrs:{\"name\":\"vac-fade-message\"}},[_c('div',[(_vm.showNoMessages)?_c('div',{staticClass:\"vac-text-started\"},[_vm._t(\"messages-empty\",function(){return [_vm._v(\" \"+_vm._s(_vm.textMessages.MESSAGES_EMPTY)+\" \")]})],2):_vm._e(),(_vm.showMessagesStarted)?_c('div',{staticClass:\"vac-text-started\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.CONVERSATION_STARTED)+\" \"+_vm._s(_vm.messages[0].date)+\" \")]):_vm._e()])]),(_vm.messages.length && !_vm.messagesLoaded)?_c('div',{attrs:{\"id\":\"infinite-loader-messages\"}},[_c('loader',{attrs:{\"show\":true,\"infinite\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e(),_c('transition-group',{key:_vm.roomId,attrs:{\"name\":\"vac-fade-message\",\"tag\":\"span\"}},_vm._l((_vm.messages),function(m,i){return _c('div',{key:m.indexId || m._id},[_c('room-message',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":m,\"index\":i,\"messages\":_vm.messages,\"edited-message-id\":_vm.editedMessageId,\"message-actions\":_vm.messageActions,\"room-users\":_vm.room.users,\"text-messages\":_vm.textMessages,\"new-messages\":_vm.newMessages,\"show-reaction-emojis\":_vm.showReactionEmojis,\"show-new-messages-divider\":_vm.showNewMessagesDivider,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"username-options\":_vm.usernameOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"selected-messages\":_vm.selectedMessages},on:{\"message-added\":_vm.onMessageAdded,\"message-action-handler\":_vm.messageActionHandler,\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag,\"open-failed-message\":function($event){return _vm.$emit('open-failed-message', $event)},\"send-message-reaction\":_vm.sendMessageReaction,\"select-message\":_vm.selectMessage,\"unselect-message\":_vm.unselectMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),0)],1)])],1),(!_vm.loadingMessages)?_c('div',[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollIcon)?_c('div',{staticClass:\"vac-icon-scroll\",on:{\"click\":_vm.scrollToBottom}},[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollMessagesCount)?_c('div',{staticClass:\"vac-badge-counter vac-messages-count\"},[_vm._v(\" \"+_vm._s(_vm.scrollMessagesCount)+\" \")]):_vm._e()]),_vm._t(\"scroll-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"scroll\"}})]})],2):_vm._e()])],1):_vm._e(),_c('room-footer',{attrs:{\"room\":_vm.room,\"room-id\":_vm.roomId,\"room-message\":_vm.roomMessage,\"text-messages\":_vm.textMessages,\"show-send-icon\":_vm.showSendIcon,\"show-files\":_vm.showFiles,\"show-audio\":_vm.showAudio,\"show-emojis\":_vm.showEmojis,\"show-footer\":_vm.showFooter,\"accepted-files\":_vm.acceptedFiles,\"textarea-action-enabled\":_vm.textareaActionEnabled,\"user-tags-enabled\":_vm.userTagsEnabled,\"emojis-suggestion-enabled\":_vm.emojisSuggestionEnabled,\"templates-text\":_vm.templatesText,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"audio-bit-rate\":_vm.audioBitRate,\"audio-sample-rate\":_vm.audioSampleRate,\"init-reply-message\":_vm.initReplyMessage,\"init-edit-message\":_vm.initEditMessage},on:{\"update-edited-message-id\":function($event){_vm.editedMessageId = $event},\"edit-message\":function($event){return _vm.$emit('edit-message', $event)},\"send-message\":function($event){return _vm.$emit('send-message', $event)},\"typing-message\":function($event){return _vm.$emit('typing-message', $event)},\"textarea-action-handler\":function($event){return _vm.$emit('textarea-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-header vac-app-border-b\"},[_vm._t(\"room-header\",function(){return [_c('div',{staticClass:\"vac-room-wrapper\"},[_c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageSelectionEnabled)?_c('div',{staticClass:\"vac-room-selection\"},[_vm._l((_vm.messageSelectionActions),function(action){return _c('div',{key:action.name,attrs:{\"id\":action.name}},[_c('div',{staticClass:\"vac-selection-button\",on:{\"click\":function($event){return _vm.messageSelectionActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \"),_c('span',{staticClass:\"vac-selection-button-count\"},[_vm._v(\" \"+_vm._s(_vm.selectedMessagesTotal)+\" \")])])])}),_c('div',{staticClass:\"vac-selection-cancel vac-item-clickable\",on:{\"click\":function($event){return _vm.$emit('cancel-message-selection')}}},[_vm._v(\" \"+_vm._s(_vm.textMessages.CANCEL_SELECT_MESSAGE)+\" \")])],2):_vm._e()]),(!_vm.messageSelectionEnabled && _vm.messageSelectionAnimationEnded)?[(!_vm.singleRoom)?_c('div',{staticClass:\"vac-svg-button vac-toggle-button\",class:{ 'vac-rotate-icon-init': !_vm.isMobile, 'vac-rotate-icon': !_vm.showRoomsList && !_vm.isMobile },on:{\"click\":function($event){return _vm.$emit('toggle-rooms-list')}}},[_vm._t(\"toggle-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"toggle\"}})]})],2):_vm._e(),_c('div',{staticClass:\"vac-info-wrapper\",class:{ 'vac-item-clickable': _vm.roomInfoEnabled },on:{\"click\":function($event){return _vm.$emit('room-info')}}},[_vm._t(\"room-header-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_vm._t(\"room-header-info\",function(){return [_c('div',{staticClass:\"vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.typingUsers)?_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.userStatus)+\" \")])])]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2),(_vm.room.roomId)?_vm._t(\"room-options\",function(){return [(_vm.menuActions.length)?_c('div',{staticClass:\"vac-svg-button vac-room-options\",on:{\"click\":function($event){_vm.menuOpened = !_vm.menuOpened}}},[_vm._t(\"menu-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"menu\"}})]})],2):_vm._e(),(_vm.menuActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.menuOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.menuActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.menuActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]}):_vm._e()]:_vm._e()],2)]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\t\t\t\n\t\t\n\t\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomHeader.vue?vue&type=template&id=938fbc28&\"\nimport script from \"./RoomHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(Object.keys(_vm.room).length && _vm.showFooter),expression:\"Object.keys(room).length && showFooter\"}],staticClass:\"vac-room-footer\",class:{\n\t\t'vac-app-box-shadow': _vm.shadowFooter\n\t},attrs:{\"id\":\"room-footer\"}},[_c('room-emojis',{attrs:{\"filtered-emojis\":_vm.filteredEmojis,\"select-item\":_vm.selectEmojiItem,\"active-up-or-down\":_vm.activeUpOrDownEmojis},on:{\"select-emoji\":function($event){return _vm.selectEmoji($event)},\"activate-item\":function($event){_vm.activeUpOrDownEmojis = 0}}}),_c('room-users-tag',{attrs:{\"filtered-users-tag\":_vm.filteredUsersTag,\"select-item\":_vm.selectUsersTagItem,\"active-up-or-down\":_vm.activeUpOrDownUsersTag},on:{\"select-user-tag\":function($event){return _vm.selectUserTag($event)},\"activate-item\":function($event){_vm.activeUpOrDownUsersTag = 0}}}),_c('room-templates-text',{attrs:{\"filtered-templates-text\":_vm.filteredTemplatesText,\"select-item\":_vm.selectTemplatesTextItem,\"active-up-or-down\":_vm.activeUpOrDownTemplatesText},on:{\"select-template-text\":function($event){return _vm.selectTemplateText($event)},\"activate-item\":function($event){_vm.activeUpOrDownTemplatesText = 0}}}),_c('room-message-reply',{attrs:{\"room\":_vm.room,\"message-reply\":_vm.messageReply,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('room-files',{attrs:{\"files\":_vm.files},on:{\"remove-file\":_vm.removeFile,\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-box-footer\",class:{ 'vac-box-footer-border': !_vm.files.length }},[(_vm.showAudio && !_vm.files.length)?_c('div',{staticClass:\"vac-icon-textarea-left\"},[(_vm.isRecording)?[_c('div',{staticClass:\"vac-svg-button vac-icon-audio-stop\",on:{\"click\":_vm.stopRecorder}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2),_c('div',{staticClass:\"vac-dot-audio-record\"}),_c('div',{staticClass:\"vac-dot-audio-record-time\"},[_vm._v(\" \"+_vm._s(_vm.recordedTime)+\" \")]),_c('div',{staticClass:\"vac-svg-button vac-icon-audio-confirm\",on:{\"click\":function($event){return _vm.toggleRecorder(false)}}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"checkmark\"}})]})],2)]:_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.toggleRecorder(true)}}},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]})],2)],2):_vm._e(),_c('textarea',{ref:\"roomTextarea\",staticClass:\"vac-textarea\",class:{\n\t\t\t\t'vac-textarea-outline': _vm.editedMessage._id\n\t\t\t},style:({\n\t\t\t\t'min-height': \"20px\",\n\t\t\t\t'padding-left': \"12px\"\n\t\t\t}),attrs:{\"id\":\"roomTextarea\",\"placeholder\":_vm.textMessages.TYPE_MESSAGE},on:{\"input\":_vm.onChangeInput,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.escapeTextarea.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.updateActiveUpOrDown(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.updateActiveUpOrDown(1)}],\"paste\":_vm.onPasteImage}}),_c('div',{staticClass:\"vac-icon-textarea\"},[(_vm.editedMessage._id)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.resetMessage}},[_vm._t(\"edit-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2):_vm._e(),(_vm.showEmojis)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(function () { return (_vm.emojiOpened = false); }),expression:\"() => (emojiOpened = false)\"}]},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{attrs:{\"emoji-opened\":_vm.emojiOpened,\"position-top\":true},on:{\"add-emoji\":_vm.addEmoji,\"open-emoji\":function($event){_vm.emojiOpened = $event}},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.addEmoji},{ emojiOpened: _vm.emojiOpened })],2):_vm._e(),(_vm.showFiles)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.launchFilePicker}},[_vm._t(\"paperclip-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"paperclip\"}})]})],2):_vm._e(),(_vm.textareaActionEnabled)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.textareaActionHandler}},[_vm._t(\"custom-action-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"deleted\"}})]})],2):_vm._e(),(_vm.showFiles)?_c('input',{ref:\"file\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\",\"accept\":_vm.acceptedFiles},on:{\"change\":function($event){return _vm.onFileChange($event.target.files)}}}):_vm._e(),(_vm.showSendIcon)?_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-send-disabled': _vm.isMessageEmpty },on:{\"click\":_vm.sendMessage}},[_vm._t(\"send-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"send\",\"param\":_vm.isMessageEmpty || _vm.isFileLoading ? 'disabled' : ''}})]})],2):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import Picker from './picker.js'\nimport Database from './database.js'\nexport { Picker, Database }\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-emoji-wrapper\"},[_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{\"click\":_vm.openEmoji}},[_vm._t(\"emoji-picker-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"emoji\",\"param\":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{\"name\":\"vac-slide-up\",\"appear\":\"\"}},[_c('div',{staticClass:\"vac-emoji-picker\",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({\n\t\t\t\t\theight: (_vm.emojiPickerHeight + \"px\"),\n\t\t\t\t\ttop: _vm.positionTop ? _vm.emojiPickerHeight : (_vm.emojiPickerTop + \"px\"),\n\t\t\t\t\tright: _vm.emojiPickerRight,\n\t\t\t\t\tdisplay: _vm.emojiPickerTop || !_vm.emojiReaction ? 'initial' : 'none'\n\t\t\t\t})},[(_vm.emojiOpened)?_c('emoji-picker',{ref:\"emojiPicker\"}):_vm._e()],1)])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmojiPickerContainer.vue?vue&type=template&id=44125154&\"\nimport script from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.files.length)?_c('div',{staticClass:\"vac-room-files-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-files-box\"},_vm._l((_vm.files),function(file,i){return _c('div',{key:i},[_c('room-file',{attrs:{\"file\":file,\"index\":i},on:{\"remove-file\":function($event){return _vm.$emit('remove-file', $event)}}})],1)}),0),_c('div',{staticClass:\"vac-icon-close\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-file-container\"},[_c('loader',{attrs:{\"show\":_vm.file.loading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-svg-button vac-icon-remove\",on:{\"click\":function($event){return _vm.$emit('remove-file', _vm.index)}}},[_vm._t(\"image-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close\",\"param\":\"image\"}})]})],2),(_vm.isImage)?_c('div',{staticClass:\"vac-message-image\",class:{ 'vac-blur-loading': _vm.file.loading },style:({\n\t\t\t'background-image': (\"url('\" + (_vm.file.localUrl || _vm.file.url) + \"')\")\n\t\t})}):(_vm.isVideo)?_c('video',{class:{ 'vac-blur-loading': _vm.file.loading },attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.localUrl || _vm.file.url}})]):_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-blur-loading': _vm.file.loading }},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.file.name)+\" \")]),(_vm.file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.file.extension)+\" \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFile.vue?vue&type=template&id=c0a62836&\"\nimport script from \"./RoomFile.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFiles.vue?vue&type=template&id=60413016&\"\nimport script from \"./RoomFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageReply)?_c('div',{staticClass:\"vac-reply-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-reply-box\"},[_c('div',{staticClass:\"vac-reply-info\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.messageReply.username)+\" \")]),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.messageReply.content,\"users\":_vm.room.users,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)]),(_vm.isImage)?_c('img',{staticClass:\"vac-image-reply\",attrs:{\"src\":_vm.firstFile.url}}):(_vm.isVideo)?_c('video',{staticClass:\"vac-image-reply\",attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})]):(_vm.isAudio)?_c('audio-player',{staticClass:\"vac-audio-reply\",attrs:{\"src\":_vm.firstFile.url},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-image-reply vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"vac-icon-reply\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"vac-audio-player\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.playback}},[(_vm.isPlaying)?_vm._t(\"audio-pause-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-pause\"}})]}):_vm._t(\"audio-play-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-play\"}})]})],2),_c('audio-control',{attrs:{\"percentage\":_vm.progress,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"change-linehead\":_vm.onUpdateProgress,\"hover-audio-progress\":function($event){return _vm.$emit('hover-audio-progress', $event)}}}),_c('audio',{attrs:{\"id\":_vm.playerUniqId,\"src\":_vm.audioSource}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"progress\",staticClass:\"vac-player-bar\",on:{\"mousedown\":_vm.onMouseDown,\"mouseover\":function($event){return _vm.$emit('hover-audio-progress', true)},\"mouseout\":function($event){return _vm.$emit('hover-audio-progress', false)}}},[_c('div',{staticClass:\"vac-player-progress\"},[_c('div',{staticClass:\"vac-line-container\"},[_c('div',{staticClass:\"vac-line-progress\",style:({ width: (_vm.percentage + \"%\") })}),_c('div',{staticClass:\"vac-line-dot\",class:{ 'vac-line-dot__active': _vm.isMouseDown },style:({ left: (_vm.percentage + \"%\") })})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=1721db79&\"\nimport script from \"./AudioControl.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioControl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioPlayer.vue?vue&type=template&id=d8b85268&\"\nimport script from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessageReply.vue?vue&type=template&id=86b41b08&\"\nimport script from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredUsersTag.length)?_c('div',{staticClass:\"vac-tags-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredUsersTag),function(user,index){return _c('div',{key:user._id,staticClass:\"vac-tags-box\",class:{ 'vac-tags-box-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-user-tag', user)}}},[_c('div',{staticClass:\"vac-tags-info\"},[(user.avatar)?_c('div',{staticClass:\"vac-avatar vac-tags-avatar\",style:({ 'background-image': (\"url('\" + (user.avatar) + \"')\") })}):_vm._e(),_c('div',{staticClass:\"vac-tags-username\"},[_vm._v(\" \"+_vm._s(user.username)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomUsersTag.vue?vue&type=template&id=082c6732&\"\nimport script from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredEmojis.length)?_c('div',{staticClass:\"vac-emojis-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredEmojis),function(emoji,index){return _c('div',{key:emoji,staticClass:\"vac-emoji-element\",class:{ 'vac-emoji-element-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-emoji', emoji)}}},[_vm._v(\" \"+_vm._s(emoji)+\" \")])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomEmojis.vue?vue&type=template&id=b6026542&\"\nimport script from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredTemplatesText.length)?_c('div',{staticClass:\"vac-template-container vac-app-box-shadow\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredTemplatesText),function(template,index){return _c('div',{key:index,staticClass:\"vac-template-box\",class:{ 'vac-template-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-template-text', template)}}},[_c('div',{staticClass:\"vac-template-info\"},[_c('div',{staticClass:\"vac-template-tag\"},[_vm._v(\" /\"+_vm._s(template.tag)+\" \")]),_c('div',{staticClass:\"vac-template-text\"},[_vm._v(\" \"+_vm._s(template.text)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomTemplatesText.vue?vue&type=template&id=113f1c86&\"\nimport script from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nlet lamejs\ntry {\n\tlamejs = require('lamejs')\n} catch (_) {\n\tlamejs = { missing: true }\n}\n\nconst { Mp3Encoder } = lamejs\n\nexport default class {\n\tconstructor(config) {\n\t\tif (lamejs.missing) {\n\t\t\tthrow new Error(\n\t\t\t\t'You must add lamejs in your dependencies to use the audio recorder. Please run \"npm install lamejs --save\"'\n\t\t\t)\n\t\t}\n\n\t\tthis.bitRate = config.bitRate\n\t\tthis.sampleRate = config.sampleRate\n\t\tthis.dataBuffer = []\n\t\tthis.encoder = new Mp3Encoder(1, this.sampleRate, this.bitRate)\n\t}\n\n\tencode(arrayBuffer) {\n\t\tconst maxSamples = 1152\n\t\tconst samples = this._convertBuffer(arrayBuffer)\n\t\tlet remaining = samples.length\n\n\t\tfor (let i = 0; remaining >= 0; i += maxSamples) {\n\t\t\tconst left = samples.subarray(i, i + maxSamples)\n\t\t\tconst buffer = this.encoder.encodeBuffer(left)\n\t\t\tthis.dataBuffer.push(new Int8Array(buffer))\n\t\t\tremaining -= maxSamples\n\t\t}\n\t}\n\n\tfinish() {\n\t\tthis.dataBuffer.push(this.encoder.flush())\n\t\tconst blob = new Blob(this.dataBuffer, { type: 'audio/mp3' })\n\t\tthis.dataBuffer = []\n\n\t\treturn {\n\t\t\tid: Date.now(),\n\t\t\tblob: blob,\n\t\t\turl: URL.createObjectURL(blob)\n\t\t}\n\t}\n\n\t_floatTo16BitPCM(input, output) {\n\t\tfor (let i = 0; i < input.length; i++) {\n\t\t\tconst s = Math.max(-1, Math.min(1, input[i]))\n\t\t\toutput[i] = s < 0 ? s * 0x8000 : s * 0x7fff\n\t\t}\n\t}\n\n\t_convertBuffer(arrayBuffer) {\n\t\tconst data = new Float32Array(arrayBuffer)\n\t\tconst out = new Int16Array(arrayBuffer.length)\n\t\tthis._floatTo16BitPCM(data, out)\n\t\treturn out\n\t}\n}\n","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nimport Mp3Encoder from './mp3-encoder'\n\nexport default class {\n\tconstructor(options = {}) {\n\t\tthis.beforeRecording = options.beforeRecording\n\t\tthis.pauseRecording = options.pauseRecording\n\t\tthis.afterRecording = options.afterRecording\n\t\tthis.micFailed = options.micFailed\n\n\t\tthis.encoderOptions = {\n\t\t\tbitRate: options.bitRate,\n\t\t\tsampleRate: options.sampleRate\n\t\t}\n\n\t\tthis.bufferSize = 4096\n\t\tthis.records = []\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.duration = 0\n\t\tthis.volume = 0\n\n\t\tthis._duration = 0\n\t}\n\n\tstart() {\n\t\tconst constraints = {\n\t\t\tvideo: false,\n\t\t\taudio: {\n\t\t\t\tchannelCount: 1,\n\t\t\t\techoCancellation: false\n\t\t\t}\n\t\t}\n\n\t\tthis.beforeRecording && this.beforeRecording('start recording')\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia(constraints)\n\t\t\t.then(this._micCaptured.bind(this))\n\t\t\t.catch(this._micError.bind(this))\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = true\n\n\t\tif (!this.lameEncoder) {\n\t\t\tthis.lameEncoder = new Mp3Encoder(this.encoderOptions)\n\t\t}\n\t}\n\n\tstop() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\t\tthis.context.close()\n\n\t\tlet record = null\n\n\t\trecord = this.lameEncoder.finish()\n\n\t\trecord.duration = this.duration\n\t\tthis.records.push(record)\n\n\t\tthis._duration = 0\n\t\tthis.duration = 0\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.afterRecording && this.afterRecording(record)\n\t}\n\n\tpause() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\n\t\tthis._duration = this.duration\n\t\tthis.isPause = true\n\n\t\tthis.pauseRecording && this.pauseRecording('pause recording')\n\t}\n\n\t_micCaptured(stream) {\n\t\tthis.context = new (window.AudioContext || window.webkitAudioContext)()\n\t\tthis.duration = this._duration\n\t\tthis.input = this.context.createMediaStreamSource(stream)\n\t\tthis.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1)\n\t\tthis.stream = stream\n\n\t\tthis.processor.onaudioprocess = ev => {\n\t\t\tconst sample = ev.inputBuffer.getChannelData(0)\n\t\t\tlet sum = 0.0\n\n\t\t\tif (this.lameEncoder) {\n\t\t\t\tthis.lameEncoder.encode(sample)\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < sample.length; ++i) {\n\t\t\t\tsum += sample[i] * sample[i]\n\t\t\t}\n\n\t\t\tthis.duration =\n\t\t\t\tparseFloat(this._duration) +\n\t\t\t\tparseFloat(this.context.currentTime.toFixed(2))\n\t\t\tthis.volume = Math.sqrt(sum / sample.length).toFixed(2)\n\t\t}\n\n\t\tthis.input.connect(this.processor)\n\t\tthis.processor.connect(this.context.destination)\n\t}\n\n\t_micError(error) {\n\t\tthis.micFailed && this.micFailed(error)\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFooter.vue?vue&type=template&id=457f6483&\"\nimport script from \"./RoomFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFooter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"message\",staticClass:\"vac-message-wrapper\",attrs:{\"id\":_vm.message._id}},[(_vm.showDate)?_c('div',{staticClass:\"vac-card-info vac-card-date\"},[_vm._v(\" \"+_vm._s(_vm.message.date)+\" \")]):_vm._e(),(_vm.newMessage._id === _vm.message._id)?_c('div',{staticClass:\"vac-line-new\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.NEW_MESSAGES)+\" \")]):_vm._e(),(_vm.message.system)?_c('div',{staticClass:\"vac-card-info vac-card-system\"},[_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_c('div',{staticClass:\"vac-message-box\",class:{ 'vac-offset-current': _vm.message.senderId === _vm.currentUserId },on:{\"click\":_vm.selectMessage}},[_vm._t(\"message\",function(){return [(_vm.message.avatar && _vm.message.senderId !== _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasSenderUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-offset\"}):_vm._e(),_c('div',{staticClass:\"vac-message-container\",class:{\n\t\t\t\t\t'vac-message-container-offset': _vm.messageOffset\n\t\t\t\t}},[_c('div',{staticClass:\"vac-message-card\",class:{\n\t\t\t\t\t\t'vac-message-highlight': _vm.isMessageHover,\n\t\t\t\t\t\t'vac-message-current': _vm.message.senderId === _vm.currentUserId,\n\t\t\t\t\t\t'vac-message-deleted': _vm.message.deleted,\n\t\t\t\t\t\t'vac-item-clickable': _vm.messageSelectionEnabled,\n\t\t\t\t\t\t'vac-message-selected': _vm.isMessageSelected\n\t\t\t\t\t},on:{\"mouseover\":_vm.onHoverMessage,\"mouseleave\":_vm.onLeaveMessage}},[(_vm.showUsername)?_c('div',{staticClass:\"vac-text-username\",class:{\n\t\t\t\t\t\t\t'vac-username-reply': !_vm.message.deleted && _vm.message.replyMessage\n\t\t\t\t\t\t}},[_c('span',[_vm._v(_vm._s(_vm.message.username))])]):_vm._e(),(!_vm.message.deleted && _vm.message.replyMessage)?_c('message-reply',{attrs:{\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),(_vm.message.deleted)?_c('div',[_vm._t(\"deleted-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}})]}),_c('span',[_vm._v(_vm._s(_vm.textMessages.MESSAGE_DELETED))])],2):(!_vm.message.files || !_vm.message.files.length)?_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(!_vm.isAudio || _vm.message.files.length > 1)?_c('message-files',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):[_c('audio-player',{attrs:{\"message-id\":_vm.message._id,\"src\":_vm.message.files[0].url,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.message.deleted)?_c('div',{staticClass:\"vac-progress-time\"},[_vm._v(\" \"+_vm._s(_vm.progressTime)+\" \")]):_vm._e()],_c('div',{staticClass:\"vac-text-timestamp\"},[(_vm.message.edited && !_vm.message.deleted)?_c('div',{staticClass:\"vac-icon-edited\"},[_vm._t(\"pencil-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"pencil\"}})]})],2):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.message.timestamp))]),(_vm.isCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.message.distributed ? 'double-checkmark' : 'checkmark',\"param\":_vm.message.seen ? 'seen' : ''}})]},null,{ message: _vm.message })],2):_vm._e()]),_c('message-actions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"message-actions\":_vm.messageActions,\"show-reaction-emojis\":_vm.showReactionEmojis,\"message-hover\":_vm.messageHover,\"hover-message-id\":_vm.hoverMessageId,\"hover-audio-progress\":_vm.hoverAudioProgress},on:{\"update-message-hover\":function($event){_vm.messageHover = $event},\"update-options-opened\":function($event){_vm.optionsOpened = $event},\"update-emoji-opened\":function($event){_vm.emojiOpened = $event},\"message-action-handler\":_vm.messageActionHandler,\"send-message-reaction\":_vm.sendMessageReaction},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2),_c('message-reactions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message},on:{\"send-message-reaction\":_vm.sendMessageReaction}})],1),_vm._t(\"message-failure\",function(){return [(_vm.message.failure && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-failure-container vac-svg-button\",class:{\n\t\t\t\t\t\t'vac-failure-container-avatar':\n\t\t\t\t\t\t\t_vm.message.avatar && _vm.message.senderId === _vm.currentUserId\n\t\t\t\t\t},on:{\"click\":function($event){return _vm.$emit('open-failed-message', { message: _vm.message })}}},[_c('div',{staticClass:\"vac-failure-text\"},[_vm._v(\" ! \")])]):_vm._e()]},null,{ message: _vm.message }),(_vm.message.avatar && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar vac-avatar-current\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasCurrentUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-current-offset\"}):_vm._e()]},null,{ message: _vm.message })],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-reply-message\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.replyUsername)+\" \")]),(_vm.isImage)?_c('div',{staticClass:\"vac-image-reply-container\"},[_c('div',{staticClass:\"vac-message-image vac-message-image-reply\",style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.firstFile.url) + \"')\")\n\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-reply-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})])]):(_vm.isAudio)?_c('audio-player',{attrs:{\"src\":_vm.firstFile.url},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.message.replyMessage.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReply.vue?vue&type=template&id=514045b4&\"\nimport script from \"./MessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-files-container\"},[_vm._l((_vm.imageVideoFiles),function(file,idx){return _c('div',{key:idx + 'iv'},[_c('message-file',{attrs:{\"file\":file,\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"index\":idx,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":function($event){return _vm.$emit('open-file', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_vm._l((_vm.otherFiles),function(file,idx){return _c('div',{key:idx + 'a',staticClass:\"vac-file-wrapper\"},[(file.progress >= 0)?_c('progress-bar',{style:({ top: '44px' }),attrs:{\"progress\":file.progress}}):_vm._e(),_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-file-container-progress': file.progress >= 0 },on:{\"click\":function($event){return _vm.openFile($event, file, 'download')}}},[_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(file.name)+\" \")]),(file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(file.extension)+\" \")]):_vm._e()])],1)}),_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":function($event){return _vm.$emit('open-user-tag', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-fade-spinner\",\"appear\":\"\"}},[_c('div',{ref:\"progress\",staticClass:\"vac-progress-wrapper\"},[_c('svg',{attrs:{\"height\":_vm.radius * 2,\"width\":_vm.radius * 2}},[_c('circle',{style:({\n\t\t\t\t\tstrokeDashoffset: _vm.strokeDashoffset,\n\t\t\t\t\tstrokeLinecap: 'round'\n\t\t\t\t}),attrs:{\"stroke\":\"rgba(255, 255, 255, 0.7)\",\"stroke-dasharray\":_vm.circumference + ' ' + _vm.circumference,\"stroke-width\":_vm.stroke,\"fill\":\"transparent\",\"r\":_vm.normalizedRadius,\"cx\":_vm.radius,\"cy\":_vm.radius}})]),_c('div',{staticClass:\"vac-progress-content\",style:({\n\t\t\t\theight: _vm.radius * 2 - 19 + 'px',\n\t\t\t\twidth: _vm.radius * 2 - 19 + 'px'\n\t\t\t})},[_c('div',{staticClass:\"vac-progress-text\"},[_vm._v(\" \"+_vm._s(_vm.progress)),_c('span',{staticClass:\"vac-progress-pourcent\"},[_vm._v(\"%\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressBar.vue?vue&type=template&id=561521ed&\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-file-container\"},[(_vm.isImage)?_c('div',{ref:'imageRef' + _vm.index,staticClass:\"vac-message-image-container\",on:{\"mouseover\":function($event){_vm.imageHover = true},\"mouseleave\":function($event){_vm.imageHover = false},\"click\":function($event){return _vm.openFile($event, 'preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"progress\":_vm.file.progress}}):_c('loader',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"show\":_vm.isImageLoading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-message-image\",class:{\n\t\t\t\t'vac-blur-loading':\n\t\t\t\t\t_vm.isImageLoading && _vm.message.senderId === _vm.currentUserId\n\t\t\t},style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.isImageLoading ? _vm.file.preview || _vm.file.url : _vm.file.url) + \"')\"),\n\t\t\t\t'max-height': ((_vm.imageResponsive.maxHeight) + \"px\")\n\t\t\t})},[_c('transition',{attrs:{\"name\":\"vac-fade-image\"}},[(!_vm.messageSelectionEnabled && _vm.imageHover && !_vm.isImageLoading)?_c('div',{staticClass:\"vac-image-buttons\"},[_c('div',{staticClass:\"vac-svg-button vac-button-view\",on:{\"click\":function($event){return _vm.openFile($event, 'preview')}}},[_vm._t(\"eye-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"eye\"}})]})],2),_c('div',{staticClass:\"vac-svg-button vac-button-download\",on:{\"click\":function($event){return _vm.openFile($event, 'download')}}},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2)]):_vm._e()])],1)],1):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-container\",on:{\"click\":function($event){$event.preventDefault();return _vm.openFile('preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{attrs:{\"progress\":_vm.file.progress}}):_vm._e(),_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFile.vue?vue&type=template&id=442d693d&\"\nimport script from \"./MessageFile.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFiles.vue?vue&type=template&id=ebb72a26&\"\nimport script from \"./MessageFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-actions-wrapper\"},[_c('div',{staticClass:\"vac-options-container\",style:({\n\t\t\tdisplay: _vm.hoverAudioProgress ? 'none' : 'initial',\n\t\t\twidth:\n\t\t\t\t_vm.filteredMessageActions.length && _vm.showReactionEmojis ? '70px' : '45px'\n\t\t})},[_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},[(_vm.isMessageActions || _vm.isMessageReactions)?_c('div',{key:\"1\",staticClass:\"vac-blur-container\",class:{\n\t\t\t\t\t'vac-options-me': _vm.message.senderId === _vm.currentUserId\n\t\t\t\t}}):_vm._e(),(_vm.isMessageActions)?_c('div',{key:\"2\",ref:\"actionIcon\",staticClass:\"vac-svg-button vac-message-options\",on:{\"click\":_vm.openOptions}},[_vm._t(\"dropdown-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"message\"}})]})],2):_vm._e(),(_vm.isMessageReactions)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeEmoji),expression:\"closeEmoji\"}],key:\"3\"},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{staticClass:\"vac-message-emojis\",style:({ right: _vm.isMessageActions ? '30px' : '5px' }),attrs:{\"emoji-opened\":_vm.emojiOpened,\"emoji-reaction\":true,\"position-right\":_vm.message.senderId === _vm.currentUserId},on:{\"add-emoji\":_vm.sendMessageReaction,\"open-emoji\":_vm.openEmoji},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-reaction-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.sendMessageReaction},{ emojiOpened: _vm.emojiOpened })],2):_vm._e()])],1),(_vm.filteredMessageActions.length)?_c('transition',{attrs:{\"name\":_vm.message.senderId === _vm.currentUserId\n\t\t\t\t? 'vac-slide-left'\n\t\t\t\t: 'vac-slide-right'}},[(_vm.optionsOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeOptions),expression:\"closeOptions\"}],ref:\"menuOptions\",staticClass:\"vac-menu-options\",class:{\n\t\t\t\t'vac-menu-left': _vm.message.senderId !== _vm.currentUserId\n\t\t\t},style:({ top: (_vm.menuOptionsTop + \"px\") })},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.filteredMessageActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.messageActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageActions.vue?vue&type=template&id=27f1a961&\"\nimport script from \"./MessageActions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageActions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.message.deleted)?_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},_vm._l((_vm.message.reactions),function(reaction,key){return _c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(reaction.length),expression:\"reaction.length\"}],key:key + 0,staticClass:\"vac-button-reaction\",class:{\n\t\t\t'vac-reaction-me': reaction.indexOf(_vm.currentUserId) !== -1\n\t\t},style:({\n\t\t\tfloat: _vm.message.senderId === _vm.currentUserId ? 'right' : 'left'\n\t\t}),on:{\"click\":function($event){return _vm.sendMessageReaction({ unicode: key }, reaction)}}},[_vm._v(\" \"+_vm._s(key)),_c('span',[_vm._v(_vm._s(reaction.length))])])}),0):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReactions.vue?vue&type=template&id=3fc44a38&\"\nimport script from \"./MessageReactions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReactions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessage.vue?vue&type=template&id=545cd2c3&\"\nimport script from \"./RoomMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Room.vue?vue&type=template&id=5c60aee1&\"\nimport script from \"./Room.vue?vue&type=script&lang=js&\"\nexport * from \"./Room.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal\",staticClass:\"vac-media-preview\",attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeModal.apply(null, arguments)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeModal.apply(null, arguments)}}},[_c('transition',{attrs:{\"name\":\"vac-bounce-preview\",\"appear\":\"\"}},[(_vm.isImage)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('div',{staticClass:\"vac-image-preview\",style:({\n\t\t\t\t\t'background-image': (\"url('\" + (_vm.file.url) + \"')\")\n\t\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\",\"autoplay\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])]):_vm._e()]),_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"preview-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\",\"param\":\"preview\"}})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MediaPreview.vue?vue&type=template&id=2d3ea15a&\"\nimport script from \"./MediaPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaPreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\tROOMS_EMPTY: 'No rooms',\n\tROOM_EMPTY: 'No room selected',\n\tNEW_MESSAGES: 'New Messages',\n\tMESSAGE_DELETED: 'This message was deleted',\n\tMESSAGES_EMPTY: 'No messages',\n\tCONVERSATION_STARTED: 'Conversation started on:',\n\tTYPE_MESSAGE: 'Type message',\n\tSEARCH: 'Search',\n\tIS_ONLINE: 'is online',\n\tLAST_SEEN: 'last seen ',\n\tIS_TYPING: 'is writing...',\n\tCANCEL_SELECT_MESSAGE: 'Cancel'\n}\n","export const defaultThemeStyles = {\n\tlight: {\n\t\tgeneral: {\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorButtonClear: '#1976d2',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#fff',\n\t\t\tcolorPlaceholder: '#9ca6af',\n\t\t\tcolorCaret: '#1976d2',\n\t\t\tcolorSpinner: '#333',\n\t\t\tborderStyle: '1px solid #e1e4e8',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#fff',\n\t\t\tcolorRoomName: '#0a0a0a',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#f8f9fa',\n\t\t\tborderStyleInput: '1px solid #e1e4e8',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#e5e5e6',\n\t\t\tbackgroundTagActive: '#e5e5e6',\n\t\t\tbackgroundTag: '#f8f9fa'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#f8f9fa'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6',\n\t\t\tbackgroundActive: '#e5effa',\n\t\t\tcolorActive: '#1976d2',\n\t\t\tborderColorSearch: '#e1e5e8'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundMe: '#ccf2cf',\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#dadfe2',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#757e85',\n\t\t\tcolorUsername: '#9ca6af',\n\t\t\tcolorTimestamp: '#828c94',\n\t\t\tbackgroundDate: '#e5effa',\n\t\t\tcolorDate: '#505a62',\n\t\t\tbackgroundSystem: '#e5effa',\n\t\t\tcolorSystem: '#505a62',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.08)',\n\t\t\tcolorReplyUsername: '#0a0a0a',\n\t\t\tcolorReply: '#6e6e6e',\n\t\t\tcolorTag: '#0d579c',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#1976d2',\n\t\t\tbackgroundScrollCounter: '#0696c7',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: '#eee',\n\t\t\tborderStyleReaction: '1px solid #eee',\n\t\t\tbackgroundReactionHover: '#fff',\n\t\t\tborderStyleReactionHover: '1px solid #ddd',\n\t\t\tcolorReactionCounter: '#0a0a0a',\n\t\t\tbackgroundReactionMe: '#cfecf5',\n\t\t\tborderStyleReactionMe: '1px solid #3b98b8',\n\t\t\tbackgroundReactionHoverMe: '#cfecf5',\n\t\t\tborderStyleReactionHoverMe: '1px solid #3b98b8',\n\t\t\tcolorReactionCounterMe: '#0b59b3',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundAudioProgress: '#455247',\n\t\t\tbackgroundAudioProgressSelector: '#455247',\n\t\t\tcolorFileExtension: '#757e85'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#0a0a0a',\n\t\t\tcolorMessage: '#67717a',\n\t\t\tcolorTimestamp: '#a2aeb8',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#9ca6af',\n\t\t\tbackgroundCounterBadge: '#0696c7',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#fff'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#9ca6af',\n\t\t\tadd: '#1976d2',\n\t\t\ttoggle: '#0a0a0a',\n\t\t\tmenu: '#0a0a0a',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#1976d2',\n\t\t\tcloseOutline: '#000',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#1976d2',\n\t\t\tsendDisabled: '#9ca6af',\n\t\t\temoji: '#1976d2',\n\t\t\temojiReaction: 'rgba(0, 0, 0, 0.3)',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#9e9e9e',\n\t\t\tcheckmark: '#9e9e9e',\n\t\t\tcheckmarkSeen: '#0696c7',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#9e9e9e',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#1976d2',\n\t\t\taudioPlay: '#455247',\n\t\t\taudioPause: '#455247',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t},\n\tdark: {\n\t\tgeneral: {\n\t\t\tcolor: '#fff',\n\t\t\tcolorButtonClear: '#fff',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#202223',\n\t\t\tcolorPlaceholder: '#596269',\n\t\t\tcolorCaret: '#fff',\n\t\t\tcolorSpinner: '#fff',\n\t\t\tborderStyle: 'none',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#181a1b',\n\t\t\tcolorRoomName: '#fff',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#131415',\n\t\t\tborderStyleInput: 'none',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#1b1c1c',\n\t\t\tbackgroundTagActive: '#1b1c1c',\n\t\t\tbackgroundTag: '#131415'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#131415'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#181a1b',\n\t\t\tbackgroundHover: '#202224',\n\t\t\tbackgroundActive: '#151617',\n\t\t\tcolorActive: '#fff',\n\t\t\tborderColorSearch: '#181a1b'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#2a2c33',\n\t\t\tbackgroundHover: '#26282e'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#22242a',\n\t\t\tbackgroundMe: '#1f7e80',\n\t\t\tcolor: '#fff',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#1b1c21',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#a2a5a8',\n\t\t\tcolorUsername: '#b3bac9',\n\t\t\tcolorTimestamp: '#ebedf2',\n\t\t\tbackgroundDate: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorDate: '#bec5cc',\n\t\t\tbackgroundSystem: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorSystem: '#bec5cc',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.18)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.18)',\n\t\t\tcolorReplyUsername: '#fff',\n\t\t\tcolorReply: '#d6d6d6',\n\t\t\tcolorTag: '#f0c60a',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#fff',\n\t\t\tbackgroundScrollCounter: '#1976d2',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: 'none',\n\t\t\tborderStyleReaction: 'none',\n\t\t\tbackgroundReactionHover: '#202223',\n\t\t\tborderStyleReactionHover: 'none',\n\t\t\tcolorReactionCounter: '#fff',\n\t\t\tbackgroundReactionMe: '#4e9ad1',\n\t\t\tborderStyleReactionMe: 'none',\n\t\t\tbackgroundReactionHoverMe: '#4e9ad1',\n\t\t\tborderStyleReactionHoverMe: 'none',\n\t\t\tcolorReactionCounterMe: '#fff',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(255, 255, 255, 0.15)',\n\t\t\tbackgroundAudioProgress: '#b7d4d3',\n\t\t\tbackgroundAudioProgressSelector: '#b7d4d3',\n\t\t\tcolorFileExtension: '#a2a5a8'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#fff',\n\t\t\tcolorMessage: '#6c7278',\n\t\t\tcolorTimestamp: '#6c7278',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#596269',\n\t\t\tbackgroundCounterBadge: '#1976d2',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#343740'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#596269',\n\t\t\tadd: '#fff',\n\t\t\ttoggle: '#fff',\n\t\t\tmenu: '#fff',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#fff',\n\t\t\tcloseOutline: '#fff',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#fff',\n\t\t\tsendDisabled: '#646a70',\n\t\t\temoji: '#fff',\n\t\t\temojiReaction: '#fff',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#ebedf2',\n\t\t\tcheckmark: '#ebedf2',\n\t\t\tcheckmarkSeen: '#f0d90a',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#fff',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#fff',\n\t\t\taudioPlay: '#b7d4d3',\n\t\t\taudioPause: '#b7d4d3',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t}\n}\n\nexport const cssThemeVars = ({\n\tgeneral,\n\tcontainer,\n\theader,\n\tfooter,\n\tsidemenu,\n\tcontent,\n\tdropdown,\n\tmessage,\n\tmarkdown,\n\troom,\n\temoji,\n\ticons\n}) => {\n\treturn {\n\t\t// general\n\t\t'--chat-color': general.color,\n\t\t'--chat-color-button-clear': general.colorButtonClear,\n\t\t'--chat-color-button': general.colorButton,\n\t\t'--chat-bg-color-button': general.backgroundColorButton,\n\t\t'--chat-bg-color-input': general.backgroundInput,\n\t\t'--chat-color-spinner': general.colorSpinner,\n\t\t'--chat-color-placeholder': general.colorPlaceholder,\n\t\t'--chat-color-caret': general.colorCaret,\n\t\t'--chat-border-style': general.borderStyle,\n\t\t'--chat-bg-scroll-icon': general.backgroundScrollIcon,\n\n\t\t// container\n\t\t'--chat-container-border': container.border,\n\t\t'--chat-container-border-radius': container.borderRadius,\n\t\t'--chat-container-box-shadow': container.boxShadow,\n\n\t\t// header\n\t\t'--chat-header-bg-color': header.background,\n\t\t'--chat-header-color-name': header.colorRoomName,\n\t\t'--chat-header-color-info': header.colorRoomInfo,\n\n\t\t// footer\n\t\t'--chat-footer-bg-color': footer.background,\n\t\t'--chat-border-style-input': footer.borderStyleInput,\n\t\t'--chat-border-color-input-selected': footer.borderInputSelected,\n\t\t'--chat-footer-bg-color-reply': footer.backgroundReply,\n\t\t'--chat-footer-bg-color-tag-active': footer.backgroundTagActive,\n\t\t'--chat-footer-bg-color-tag': footer.backgroundTag,\n\n\t\t// content\n\t\t'--chat-content-bg-color': content.background,\n\n\t\t// sidemenu\n\t\t'--chat-sidemenu-bg-color': sidemenu.background,\n\t\t'--chat-sidemenu-bg-color-hover': sidemenu.backgroundHover,\n\t\t'--chat-sidemenu-bg-color-active': sidemenu.backgroundActive,\n\t\t'--chat-sidemenu-color-active': sidemenu.colorActive,\n\t\t'--chat-sidemenu-border-color-search': sidemenu.borderColorSearch,\n\n\t\t// dropdown\n\t\t'--chat-dropdown-bg-color': dropdown.background,\n\t\t'--chat-dropdown-bg-color-hover': dropdown.backgroundHover,\n\n\t\t// message\n\t\t'--chat-message-bg-color': message.background,\n\t\t'--chat-message-bg-color-me': message.backgroundMe,\n\t\t'--chat-message-color-started': message.colorStarted,\n\t\t'--chat-message-bg-color-deleted': message.backgroundDeleted,\n\t\t'--chat-message-bg-color-selected': message.backgroundSelected,\n\t\t'--chat-message-color-deleted': message.colorDeleted,\n\t\t'--chat-message-color-username': message.colorUsername,\n\t\t'--chat-message-color-timestamp': message.colorTimestamp,\n\t\t'--chat-message-bg-color-date': message.backgroundDate,\n\t\t'--chat-message-color-date': message.colorDate,\n\t\t'--chat-message-bg-color-system': message.backgroundSystem,\n\t\t'--chat-message-color-system': message.colorSystem,\n\t\t'--chat-message-color': message.color,\n\t\t'--chat-message-bg-color-media': message.backgroundMedia,\n\t\t'--chat-message-bg-color-reply': message.backgroundReply,\n\t\t'--chat-message-color-reply-username': message.colorReplyUsername,\n\t\t'--chat-message-color-reply-content': message.colorReply,\n\t\t'--chat-message-color-tag': message.colorTag,\n\t\t'--chat-message-bg-color-image': message.backgroundImage,\n\t\t'--chat-message-color-new-messages': message.colorNewMessages,\n\t\t'--chat-message-bg-color-scroll-counter': message.backgroundScrollCounter,\n\t\t'--chat-message-color-scroll-counter': message.colorScrollCounter,\n\t\t'--chat-message-bg-color-reaction': message.backgroundReaction,\n\t\t'--chat-message-border-style-reaction': message.borderStyleReaction,\n\t\t'--chat-message-bg-color-reaction-hover': message.backgroundReactionHover,\n\t\t'--chat-message-border-style-reaction-hover':\n\t\t\tmessage.borderStyleReactionHover,\n\t\t'--chat-message-color-reaction-counter': message.colorReactionCounter,\n\t\t'--chat-message-bg-color-reaction-me': message.backgroundReactionMe,\n\t\t'--chat-message-border-style-reaction-me': message.borderStyleReactionMe,\n\t\t'--chat-message-bg-color-reaction-hover-me':\n\t\t\tmessage.backgroundReactionHoverMe,\n\t\t'--chat-message-border-style-reaction-hover-me':\n\t\t\tmessage.borderStyleReactionHoverMe,\n\t\t'--chat-message-color-reaction-counter-me': message.colorReactionCounterMe,\n\t\t'--chat-message-bg-color-audio-record': message.backgroundAudioRecord,\n\t\t'--chat-message-bg-color-audio-line': message.backgroundAudioLine,\n\t\t'--chat-message-bg-color-audio-progress': message.backgroundAudioProgress,\n\t\t'--chat-message-bg-color-audio-progress-selector':\n\t\t\tmessage.backgroundAudioProgressSelector,\n\t\t'--chat-message-color-file-extension': message.colorFileExtension,\n\n\t\t// markdown\n\t\t'--chat-markdown-bg': markdown.background,\n\t\t'--chat-markdown-border': markdown.border,\n\t\t'--chat-markdown-color': markdown.color,\n\t\t'--chat-markdown-color-multi': markdown.colorMulti,\n\n\t\t// room\n\t\t'--chat-room-color-username': room.colorUsername,\n\t\t'--chat-room-color-message': room.colorMessage,\n\t\t'--chat-room-color-timestamp': room.colorTimestamp,\n\t\t'--chat-room-color-online': room.colorStateOnline,\n\t\t'--chat-room-color-offline': room.colorStateOffline,\n\t\t'--chat-room-bg-color-badge': room.backgroundCounterBadge,\n\t\t'--chat-room-color-badge': room.colorCounterBadge,\n\n\t\t// emoji\n\t\t'--chat-emoji-bg-color': emoji.background,\n\n\t\t// icons\n\t\t'--chat-icon-color-search': icons.search,\n\t\t'--chat-icon-color-add': icons.add,\n\t\t'--chat-icon-color-toggle': icons.toggle,\n\t\t'--chat-icon-color-menu': icons.menu,\n\t\t'--chat-icon-color-close': icons.close,\n\t\t'--chat-icon-color-close-image': icons.closeImage,\n\t\t'--chat-icon-color-file': icons.file,\n\t\t'--chat-icon-color-paperclip': icons.paperclip,\n\t\t'--chat-icon-color-close-outline': icons.closeOutline,\n\t\t'--chat-icon-color-close-preview': icons.closePreview,\n\t\t'--chat-icon-color-send': icons.send,\n\t\t'--chat-icon-color-send-disabled': icons.sendDisabled,\n\t\t'--chat-icon-color-emoji': icons.emoji,\n\t\t'--chat-icon-color-emoji-reaction': icons.emojiReaction,\n\t\t'--chat-icon-color-document': icons.document,\n\t\t'--chat-icon-color-pencil': icons.pencil,\n\t\t'--chat-icon-color-checkmark': icons.checkmark,\n\t\t'--chat-icon-color-checkmark-seen': icons.checkmarkSeen,\n\t\t'--chat-icon-color-eye': icons.eye,\n\t\t'--chat-icon-color-dropdown-message': icons.dropdownMessage,\n\t\t'--chat-icon-bg-dropdown-message': icons.dropdownMessageBackground,\n\t\t'--chat-icon-color-dropdown-room': icons.dropdownRoom,\n\t\t'--chat-icon-color-dropdown-scroll': icons.dropdownScroll,\n\t\t'--chat-icon-color-microphone': icons.microphone,\n\t\t'--chat-icon-color-audio-play': icons.audioPlay,\n\t\t'--chat-icon-color-audio-pause': icons.audioPause,\n\t\t'--chat-icon-color-audio-cancel': icons.audioCancel,\n\t\t'--chat-icon-color-audio-confirm': icons.audioConfirm\n\t}\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&shadow\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&shadow\"","import { render, staticRenderFns } from \"./ChatWindow.vue?vue&type=template&id=1aef5270&shadow\"\nimport script from \"./ChatWindow.vue?vue&type=script&lang=js&shadow\"\nexport * from \"./ChatWindow.vue?vue&type=script&lang=js&shadow\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./ChatWindow.vue?vue&type=style&index=0&lang=scss&shadow\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n ,true\n)\n\nexport default component.exports","import './setPublicPath'\nimport Vue from 'vue'\nimport wrap from '@vue/web-component-wrapper'\n\n// runtime shared by every component chunk\nimport 'css-loader/dist/runtime/api.js'\nimport 'vue-style-loader/lib/addStylesShadow'\nimport 'vue-loader/lib/runtime/componentNormalizer'\n\nimport vueAdvancedChat from '~root/./src/lib/ChatWindow.vue?shadow'\nwindow.customElements.define('vue-advanced-chat', wrap(Vue, vueAdvancedChat))","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar TypeError = global.TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\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 call(then, 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\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\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_PROMISE_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 call(task, 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 call(task, 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 call(then, 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_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\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: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\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 && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { 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, PromisePrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","var NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","function HuffCodeTab(len, max, tab, hl) {\n this.xlen = len;\n this.linmax = max;\n this.table = tab;\n this.hlen = hl;\n}\n\nvar Tables = {};\n\n\nTables.t1HB = [\n 1, 1,\n 1, 0\n];\n\nTables.t2HB = [\n 1, 2, 1,\n 3, 1, 1,\n 3, 2, 0\n];\n\nTables.t3HB = [\n 3, 2, 1,\n 1, 1, 1,\n 3, 2, 0\n];\n\nTables.t5HB = [\n 1, 2, 6, 5,\n 3, 1, 4, 4,\n 7, 5, 7, 1,\n 6, 1, 1, 0\n];\n\nTables.t6HB = [\n 7, 3, 5, 1,\n 6, 2, 3, 2,\n 5, 4, 4, 1,\n 3, 3, 2, 0\n];\n\nTables.t7HB = [\n 1, 2, 10, 19, 16, 10,\n 3, 3, 7, 10, 5, 3,\n 11, 4, 13, 17, 8, 4,\n 12, 11, 18, 15, 11, 2,\n 7, 6, 9, 14, 3, 1,\n 6, 4, 5, 3, 2, 0\n];\n\nTables.t8HB = [\n 3, 4, 6, 18, 12, 5,\n 5, 1, 2, 16, 9, 3,\n 7, 3, 5, 14, 7, 3,\n 19, 17, 15, 13, 10, 4,\n 13, 5, 8, 11, 5, 1,\n 12, 4, 4, 1, 1, 0\n];\n\nTables.t9HB = [\n 7, 5, 9, 14, 15, 7,\n 6, 4, 5, 5, 6, 7,\n 7, 6, 8, 8, 8, 5,\n 15, 6, 9, 10, 5, 1,\n 11, 7, 9, 6, 4, 1,\n 14, 4, 6, 2, 6, 0\n];\n\nTables.t10HB = [\n 1, 2, 10, 23, 35, 30, 12, 17,\n 3, 3, 8, 12, 18, 21, 12, 7,\n 11, 9, 15, 21, 32, 40, 19, 6,\n 14, 13, 22, 34, 46, 23, 18, 7,\n 20, 19, 33, 47, 27, 22, 9, 3,\n 31, 22, 41, 26, 21, 20, 5, 3,\n 14, 13, 10, 11, 16, 6, 5, 1,\n 9, 8, 7, 8, 4, 4, 2, 0\n];\n\nTables.t11HB = [\n 3, 4, 10, 24, 34, 33, 21, 15,\n 5, 3, 4, 10, 32, 17, 11, 10,\n 11, 7, 13, 18, 30, 31, 20, 5,\n 25, 11, 19, 59, 27, 18, 12, 5,\n 35, 33, 31, 58, 30, 16, 7, 5,\n 28, 26, 32, 19, 17, 15, 8, 14,\n 14, 12, 9, 13, 14, 9, 4, 1,\n 11, 4, 6, 6, 6, 3, 2, 0\n];\n\nTables.t12HB = [\n 9, 6, 16, 33, 41, 39, 38, 26,\n 7, 5, 6, 9, 23, 16, 26, 11,\n 17, 7, 11, 14, 21, 30, 10, 7,\n 17, 10, 15, 12, 18, 28, 14, 5,\n 32, 13, 22, 19, 18, 16, 9, 5,\n 40, 17, 31, 29, 17, 13, 4, 2,\n 27, 12, 11, 15, 10, 7, 4, 1,\n 27, 12, 8, 12, 6, 3, 1, 0\n];\n\nTables.t13HB = [\n 1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19,\n 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14,\n 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16,\n 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14,\n 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24,\n 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17,\n 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15,\n 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42,\n 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16,\n 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11,\n 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22,\n 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7,\n 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5,\n 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3,\n 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2,\n 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1\n];\n\nTables.t15HB = [\n 7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63,\n 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36,\n 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33,\n 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29,\n 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27,\n 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38,\n 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30,\n 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25,\n 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20,\n 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15,\n 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9,\n 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11,\n 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7,\n 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3,\n 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1,\n 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0\n];\n\nTables.t16HB = [\n 1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17,\n 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9,\n 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16,\n 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26,\n 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9,\n 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16,\n 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10,\n 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8,\n 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7,\n 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11,\n 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4,\n 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6,\n 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4,\n 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2,\n 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0,\n 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3\n];\n\nTables.t24HB = [\n 15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88,\n 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42,\n 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18,\n 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16,\n 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14,\n 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12,\n 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10,\n 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17,\n 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16,\n 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11,\n 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10,\n 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6,\n 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4,\n 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2,\n 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0,\n 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3\n];\n\nTables.t32HB = [\n 1 << 0, 5 << 1, 4 << 1, 5 << 2, 6 << 1, 5 << 2, 4 << 2, 4 << 3,\n 7 << 1, 3 << 2, 6 << 2, 0 << 3, 7 << 2, 2 << 3, 3 << 3, 1 << 4\n];\n\nTables.t33HB = [\n 15 << 0, 14 << 1, 13 << 1, 12 << 2, 11 << 1, 10 << 2, 9 << 2, 8 << 3,\n 7 << 1, 6 << 2, 5 << 2, 4 << 3, 3 << 2, 2 << 3, 1 << 3, 0 << 4\n];\n\nTables.t1l = [\n 1, 4,\n 3, 5\n];\n\nTables.t2l = [\n 1, 4, 7,\n 4, 5, 7,\n 6, 7, 8\n];\n\nTables.t3l = [\n 2, 3, 7,\n 4, 4, 7,\n 6, 7, 8\n];\n\nTables.t5l = [\n 1, 4, 7, 8,\n 4, 5, 8, 9,\n 7, 8, 9, 10,\n 8, 8, 9, 10\n];\n\nTables.t6l = [\n 3, 4, 6, 8,\n 4, 4, 6, 7,\n 5, 6, 7, 8,\n 7, 7, 8, 9\n];\n\nTables.t7l = [\n 1, 4, 7, 9, 9, 10,\n 4, 6, 8, 9, 9, 10,\n 7, 7, 9, 10, 10, 11,\n 8, 9, 10, 11, 11, 11,\n 8, 9, 10, 11, 11, 12,\n 9, 10, 11, 12, 12, 12\n];\n\nTables.t8l = [\n 2, 4, 7, 9, 9, 10,\n 4, 4, 6, 10, 10, 10,\n 7, 6, 8, 10, 10, 11,\n 9, 10, 10, 11, 11, 12,\n 9, 9, 10, 11, 12, 12,\n 10, 10, 11, 11, 13, 13\n];\n\nTables.t9l = [\n 3, 4, 6, 7, 9, 10,\n 4, 5, 6, 7, 8, 10,\n 5, 6, 7, 8, 9, 10,\n 7, 7, 8, 9, 9, 10,\n 8, 8, 9, 9, 10, 11,\n 9, 9, 10, 10, 11, 11\n];\n\nTables.t10l = [\n 1, 4, 7, 9, 10, 10, 10, 11,\n 4, 6, 8, 9, 10, 11, 10, 10,\n 7, 8, 9, 10, 11, 12, 11, 11,\n 8, 9, 10, 11, 12, 12, 11, 12,\n 9, 10, 11, 12, 12, 12, 12, 12,\n 10, 11, 12, 12, 13, 13, 12, 13,\n 9, 10, 11, 12, 12, 12, 13, 13,\n 10, 10, 11, 12, 12, 13, 13, 13\n];\n\nTables.t11l = [\n 2, 4, 6, 8, 9, 10, 9, 10,\n 4, 5, 6, 8, 10, 10, 9, 10,\n 6, 7, 8, 9, 10, 11, 10, 10,\n 8, 8, 9, 11, 10, 12, 10, 11,\n 9, 10, 10, 11, 11, 12, 11, 12,\n 9, 10, 11, 12, 12, 13, 12, 13,\n 9, 9, 9, 10, 11, 12, 12, 12,\n 9, 9, 10, 11, 12, 12, 12, 12\n];\n\nTables.t12l = [\n 4, 4, 6, 8, 9, 10, 10, 10,\n 4, 5, 6, 7, 9, 9, 10, 10,\n 6, 6, 7, 8, 9, 10, 9, 10,\n 7, 7, 8, 8, 9, 10, 10, 10,\n 8, 8, 9, 9, 10, 10, 10, 11,\n 9, 9, 10, 10, 10, 11, 10, 11,\n 9, 9, 9, 10, 10, 11, 11, 12,\n 10, 10, 10, 11, 11, 11, 11, 12\n];\n\nTables.t13l = [\n 1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14,\n 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14,\n 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15,\n 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15,\n 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16,\n 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16,\n 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16,\n 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18,\n 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17,\n 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17,\n 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19,\n 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18,\n 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18,\n 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18,\n 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18,\n 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18\n];\n\nTables.t15l = [\n 3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14,\n 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13,\n 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13,\n 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14,\n 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14,\n 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15,\n 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15,\n 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15,\n 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15,\n 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15\n];\n\nTables.t16_5l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14,\n 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12\n];\n\nTables.t16l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13,\n 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10\n];\n\nTables.t24l = [\n 4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10,\n 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10,\n 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9,\n 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9,\n 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9,\n 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9,\n 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9,\n 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10,\n 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10,\n 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10,\n 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6\n];\n\nTables.t32l = [\n 1 + 0, 4 + 1, 4 + 1, 5 + 2, 4 + 1, 6 + 2, 5 + 2, 6 + 3,\n 4 + 1, 5 + 2, 5 + 2, 6 + 3, 5 + 2, 6 + 3, 6 + 3, 6 + 4\n];\n\nTables.t33l = [\n 4 + 0, 4 + 1, 4 + 1, 4 + 2, 4 + 1, 4 + 2, 4 + 2, 4 + 3,\n 4 + 1, 4 + 2, 4 + 2, 4 + 3, 4 + 2, 4 + 3, 4 + 3, 4 + 4\n];\n\nTables.ht = [\n /* xlen, linmax, table, hlen */\n new HuffCodeTab(0, 0, null, null),\n new HuffCodeTab(2, 0, Tables.t1HB, Tables.t1l),\n new HuffCodeTab(3, 0, Tables.t2HB, Tables.t2l),\n new HuffCodeTab(3, 0, Tables.t3HB, Tables.t3l),\n new HuffCodeTab(0, 0, null, null), /* Apparently not used */\n new HuffCodeTab(4, 0, Tables.t5HB, Tables.t5l),\n new HuffCodeTab(4, 0, Tables.t6HB, Tables.t6l),\n new HuffCodeTab(6, 0, Tables.t7HB, Tables.t7l),\n new HuffCodeTab(6, 0, Tables.t8HB, Tables.t8l),\n new HuffCodeTab(6, 0, Tables.t9HB, Tables.t9l),\n new HuffCodeTab(8, 0, Tables.t10HB, Tables.t10l),\n new HuffCodeTab(8, 0, Tables.t11HB, Tables.t11l),\n new HuffCodeTab(8, 0, Tables.t12HB, Tables.t12l),\n new HuffCodeTab(16, 0, Tables.t13HB, Tables.t13l),\n new HuffCodeTab(0, 0, null, Tables.t16_5l), /* Apparently not used */\n new HuffCodeTab(16, 0, Tables.t15HB, Tables.t15l),\n\n new HuffCodeTab(1, 1, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(2, 3, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(3, 7, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(4, 15, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(6, 63, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(8, 255, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(10, 1023, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(13, 8191, Tables.t16HB, Tables.t16l),\n\n new HuffCodeTab(4, 15, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(5, 31, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(6, 63, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(7, 127, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(8, 255, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(9, 511, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(11, 2047, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(13, 8191, Tables.t24HB, Tables.t24l),\n\n new HuffCodeTab(0, 0, Tables.t32HB, Tables.t32l),\n new HuffCodeTab(0, 0, Tables.t33HB, Tables.t33l),\n];\n\n/**\n * \n * for (i = 0; i < 16*16; i++) [\n * largetbl[i] = ((ht[16].hlen[i]) << 16) + ht[24].hlen[i];\n * ]\n * \n *\n */\nTables.largetbl = [\n 0x010004, 0x050005, 0x070007, 0x090008, 0x0a0009, 0x0a000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000c, 0x0c000c, 0x0d000c, 0x0d000c, 0x0d000c, 0x0e000d, 0x0a000a,\n 0x040005, 0x060006, 0x080007, 0x090008, 0x0a0009, 0x0b000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000b, 0x0c000c, 0x0d000c, 0x0e000c, 0x0d000c, 0x0e000c, 0x0a000a,\n 0x070007, 0x080007, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0c000b, 0x0d000b, 0x0d000c, 0x0d000c, 0x0e000c, 0x0e000d, 0x0b0009,\n 0x090008, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0c0009,\n 0x0a0009, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000a, 0x0d000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000d, 0x0b0009,\n 0x0a000a, 0x0a0009, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0e000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0c0009,\n 0x0b000a, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0d000b, 0x0d000b,\n 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000d, 0x0c0009,\n 0x0b000b, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b,\n 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x11000d, 0x11000d, 0x0c000a,\n 0x0b000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b,\n 0x0f000b, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000d, 0x10000d, 0x0c000a,\n 0x0c000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b, 0x0f000c,\n 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0f000d, 0x10000d, 0x0f000d, 0x0d000a,\n 0x0c000c, 0x0d000b, 0x0c000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c,\n 0x0f000c, 0x10000c, 0x10000c, 0x10000d, 0x11000d, 0x11000d, 0x10000d, 0x0c000a,\n 0x0d000c, 0x0d000c, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x10000c,\n 0x10000c, 0x10000c, 0x10000c, 0x10000d, 0x10000d, 0x0f000d, 0x10000d, 0x0d000a,\n 0x0d000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c,\n 0x0f000c, 0x11000c, 0x10000d, 0x10000d, 0x10000d, 0x10000d, 0x12000d, 0x0d000a,\n 0x0f000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000c,\n 0x10000d, 0x12000d, 0x11000d, 0x11000d, 0x11000d, 0x13000d, 0x11000d, 0x0d000a,\n 0x0e000d, 0x0f000c, 0x0d000c, 0x0e000c, 0x10000c, 0x10000c, 0x0f000c, 0x10000d,\n 0x10000d, 0x11000d, 0x12000d, 0x11000d, 0x13000d, 0x11000d, 0x10000d, 0x0d000a,\n 0x0a0009, 0x0a0009, 0x0a0009, 0x0b0009, 0x0b0009, 0x0c0009, 0x0c0009, 0x0c0009,\n 0x0d0009, 0x0d0009, 0x0d0009, 0x0d000a, 0x0d000a, 0x0d000a, 0x0d000a, 0x0a0006\n];\n/**\n * \n * for (i = 0; i < 3*3; i++) [\n * table23[i] = ((ht[2].hlen[i]) << 16) + ht[3].hlen[i];\n * ]\n * \n *\n */\nTables.table23 = [\n 0x010002, 0x040003, 0x070007,\n 0x040004, 0x050004, 0x070007,\n 0x060006, 0x070007, 0x080008\n];\n\n/**\n * \n * for (i = 0; i < 4*4; i++) [\n * table56[i] = ((ht[5].hlen[i]) << 16) + ht[6].hlen[i];\n * ]\n * \n *\n */\nTables.table56 = [\n 0x010003, 0x040004, 0x070006, 0x080008, 0x040004, 0x050004, 0x080006, 0x090007,\n 0x070005, 0x080006, 0x090007, 0x0a0008, 0x080007, 0x080007, 0x090008, 0x0a0009\n];\n\nTables.bitrate_table = [\n [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], /* MPEG 2 */\n [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], /* MPEG 1 */\n [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1], /* MPEG 2.5 */\n];\n\n/**\n * MPEG 2, MPEG 1, MPEG 2.5.\n */\nTables.samplerate_table = [\n [22050, 24000, 16000, -1],\n [44100, 48000, 32000, -1],\n [11025, 12000, 8000, -1],\n];\n\n/**\n * This is the scfsi_band table from 2.4.2.7 of the IS.\n */\nTables.scfsi_band = [0, 6, 11, 16, 21];\n\nmodule.exports = Tables;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar RangeError = global.RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.set.constructor');\n","module.exports = typeof window == 'object' && typeof Deno != 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es-x/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es-x/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar padStart = require('../internals/string-pad').start;\n\nvar RangeError = global.RangeError;\nvar abs = Math.abs;\nvar DatePrototype = Date.prototype;\nvar n$DateToISOString = DatePrototype.toISOString;\nvar getTime = uncurryThis(DatePrototype.getTime);\nvar getUTCDate = uncurryThis(DatePrototype.getUTCDate);\nvar getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear);\nvar getUTCHours = uncurryThis(DatePrototype.getUTCHours);\nvar getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds);\nvar getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes);\nvar getUTCMonth = uncurryThis(DatePrototype.getUTCMonth);\nvar getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds);\n\n// `Date.prototype.toISOString` method implementation\n// https://tc39.es/ecma262/#sec-date.prototype.toisostring\n// PhantomJS / old WebKit fails here:\nmodule.exports = (fails(function () {\n return n$DateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n n$DateToISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime(this))) throw RangeError('Invalid time value');\n var date = this;\n var year = getUTCFullYear(date);\n var milliseconds = getUTCMilliseconds(date);\n var sign = year < 0 ? '-' : year > 9999 ? '+' : '';\n return sign + padStart(abs(year), sign ? 6 : 4, 0) +\n '-' + padStart(getUTCMonth(date) + 1, 2, 0) +\n '-' + padStart(getUTCDate(date), 2, 0) +\n 'T' + padStart(getUTCHours(date), 2, 0) +\n ':' + padStart(getUTCMinutes(date), 2, 0) +\n ':' + padStart(getUTCSeconds(date), 2, 0) +\n '.' + padStart(milliseconds, 3, 0) +\n 'Z';\n} : n$DateToISOString;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (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 defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","//package mp3;\n\n/* MPEG modes */\nfunction MPEGMode(ordinal) {\n var _ordinal = ordinal;\n this.ordinal = function () {\n return _ordinal;\n }\n}\n\nMPEGMode.STEREO = new MPEGMode(0);\nMPEGMode.JOINT_STEREO = new MPEGMode(1);\nMPEGMode.DUAL_CHANNEL = new MPEGMode(2);\nMPEGMode.MONO = new MPEGMode(3);\nMPEGMode.NOT_SET = new MPEGMode(4);\n\nmodule.exports = MPEGMode;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Takehiro = require('./Takehiro.js');\nvar Tables = require('./Tables.js');\nvar Encoder = require('./Encoder.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nBitStream.EQ = function (a, b) {\n return (Math.abs(a) > Math.abs(b)) ? (Math.abs((a) - (b)) <= (Math\n .abs(a) * 1e-6))\n : (Math.abs((a) - (b)) <= (Math.abs(b) * 1e-6));\n};\n\nBitStream.NEQ = function (a, b) {\n return !BitStream.EQ(a, b);\n};\n\nfunction BitStream() {\n var self = this;\n var CRC16_POLYNOMIAL = 0x8005;\n\n /*\n * we work with ints, so when doing bit manipulation, we limit ourselves to\n * MAX_LENGTH-2 just to be on the safe side\n */\n var MAX_LENGTH = 32;\n\n //GainAnalysis ga;\n //MPGLib mpg;\n //Version ver;\n //VBRTag vbr;\n var ga = null;\n var mpg = null;\n var ver = null;\n var vbr = null;\n\n //public final void setModules(GainAnalysis ga, MPGLib mpg, Version ver,\n //\tVBRTag vbr) {\n\n this.setModules = function (_ga, _mpg, _ver, _vbr) {\n ga = _ga;\n mpg = _mpg;\n ver = _ver;\n vbr = _vbr;\n };\n\n /**\n * Bit stream buffer.\n */\n //private byte[] buf;\n var buf = null;\n /**\n * Bit counter of bit stream.\n */\n var totbit = 0;\n /**\n * Pointer to top byte in buffer.\n */\n var bufByteIdx = 0;\n /**\n * Pointer to top bit of top byte in buffer.\n */\n var bufBitIdx = 0;\n\n /**\n * compute bitsperframe and mean_bits for a layer III frame\n */\n this.getframebits = function (gfp) {\n var gfc = gfp.internal_flags;\n var bit_rate;\n\n /* get bitrate in kbps [?] */\n if (gfc.bitrate_index != 0)\n bit_rate = Tables.bitrate_table[gfp.version][gfc.bitrate_index];\n else\n bit_rate = gfp.brate;\n assert(8 <= bit_rate && bit_rate <= 640);\n\n /* main encoding routine toggles padding on and off */\n /* one Layer3 Slot consists of 8 bits */\n var bytes = 0 | (gfp.version + 1) * 72000 * bit_rate / gfp.out_samplerate + gfc.padding;\n return 8 * bytes;\n };\n\n function putheader_bits(gfc) {\n System.arraycopy(gfc.header[gfc.w_ptr].buf, 0, buf, bufByteIdx, gfc.sideinfo_len);\n bufByteIdx += gfc.sideinfo_len;\n totbit += gfc.sideinfo_len * 8;\n gfc.w_ptr = (gfc.w_ptr + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n }\n\n /**\n * write j bits into the bit stream\n */\n function putbits2(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n assert(gfc.header[gfc.w_ptr].write_timing >= totbit);\n if (gfc.header[gfc.w_ptr].write_timing == totbit) {\n putheader_bits(gfc);\n }\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * write j bits into the bit stream, ignoring frame headers\n */\n function putbits_noheaders(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * Some combinations of bitrate, Fs, and stereo make it impossible to stuff\n * out a frame using just main_data, due to the limited number of bits to\n * indicate main_data_length. In these situations, we put stuffing bits into\n * the ancillary data...\n */\n function drain_into_ancillary(gfp, remainingBits) {\n var gfc = gfp.internal_flags;\n var i;\n assert(remainingBits >= 0);\n\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4c, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x41, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4d, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x45, 8);\n remainingBits -= 8;\n }\n\n if (remainingBits >= 32) {\n var version = ver.getLameShortVersion();\n if (remainingBits >= 32)\n for (i = 0; i < version.length && remainingBits >= 8; ++i) {\n remainingBits -= 8;\n putbits2(gfc, version.charAt(i), 8);\n }\n }\n\n for (; remainingBits >= 1; remainingBits -= 1) {\n putbits2(gfc, gfc.ancillary_flag, 1);\n gfc.ancillary_flag ^= (!gfp.disable_reservoir ? 1 : 0);\n }\n\n assert(remainingBits == 0);\n\n }\n\n /**\n * write N bits into the header\n */\n function writeheader(gfc, val, j) {\n var ptr = gfc.header[gfc.h_ptr].ptr;\n\n while (j > 0) {\n var k = Math.min(j, 8 - (ptr & 7));\n j -= k;\n assert(j < MAX_LENGTH);\n /* >> 32 too large for 32 bit machines */\n\n gfc.header[gfc.h_ptr].buf[ptr >> 3] |= ((val >> j)) << (8 - (ptr & 7) - k);\n ptr += k;\n }\n gfc.header[gfc.h_ptr].ptr = ptr;\n }\n\n function CRC_update(value, crc) {\n value <<= 8;\n for (var i = 0; i < 8; i++) {\n value <<= 1;\n crc <<= 1;\n\n if ((((crc ^ value) & 0x10000) != 0))\n crc ^= CRC16_POLYNOMIAL;\n }\n return crc;\n }\n\n this.CRC_writeheader = function (gfc, header) {\n var crc = 0xffff;\n /* (jo) init crc16 for error_protection */\n\n crc = CRC_update(header[2] & 0xff, crc);\n crc = CRC_update(header[3] & 0xff, crc);\n for (var i = 6; i < gfc.sideinfo_len; i++) {\n crc = CRC_update(header[i] & 0xff, crc);\n }\n\n header[4] = (byte)(crc >> 8);\n header[5] = (byte)(crc & 255);\n };\n\n function encodeSideInfo2(gfp, bitsPerFrame) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var gr, ch;\n\n l3_side = gfc.l3_side;\n gfc.header[gfc.h_ptr].ptr = 0;\n Arrays.fill(gfc.header[gfc.h_ptr].buf, 0, gfc.sideinfo_len, 0);\n if (gfp.out_samplerate < 16000)\n writeheader(gfc, 0xffe, 12);\n else\n writeheader(gfc, 0xfff, 12);\n writeheader(gfc, (gfp.version), 1);\n writeheader(gfc, 4 - 3, 2);\n writeheader(gfc, (!gfp.error_protection ? 1 : 0), 1);\n writeheader(gfc, (gfc.bitrate_index), 4);\n writeheader(gfc, (gfc.samplerate_index), 2);\n writeheader(gfc, (gfc.padding), 1);\n writeheader(gfc, (gfp.extension), 1);\n writeheader(gfc, (gfp.mode.ordinal()), 2);\n writeheader(gfc, (gfc.mode_ext), 2);\n writeheader(gfc, (gfp.copyright), 1);\n writeheader(gfc, (gfp.original), 1);\n writeheader(gfc, (gfp.emphasis), 2);\n if (gfp.error_protection) {\n writeheader(gfc, 0, 16);\n /* dummy */\n }\n\n if (gfp.version == 1) {\n /* MPEG1 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 9);\n\n if (gfc.channels_out == 2)\n writeheader(gfc, l3_side.private_bits, 3);\n else\n writeheader(gfc, l3_side.private_bits, 5);\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var band;\n for (band = 0; band < 4; band++) {\n writeheader(gfc, l3_side.scfsi[ch][band], 1);\n }\n }\n\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 4);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.preflag, 1);\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n } else {\n /* MPEG2 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 8);\n writeheader(gfc, l3_side.private_bits, gfc.channels_out);\n\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 9);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n\n if (gfp.error_protection) {\n /* (jo) error_protection: add crc16 information to header */\n CRC_writeheader(gfc, gfc.header[gfc.h_ptr].buf);\n }\n\n {\n var old = gfc.h_ptr;\n assert(gfc.header[old].ptr == gfc.sideinfo_len * 8);\n\n gfc.h_ptr = (old + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n gfc.header[gfc.h_ptr].write_timing = gfc.header[old].write_timing\n + bitsPerFrame;\n\n if (gfc.h_ptr == gfc.w_ptr) {\n /* yikes! we are out of header buffer space */\n System.err\n .println(\"Error: MAX_HEADER_BUF too small in bitstream.c \\n\");\n }\n\n }\n }\n\n function huffman_coder_count1(gfc, gi) {\n /* Write count1 area */\n var h = Tables.ht[gi.count1table_select + 32];\n var i, bits = 0;\n\n var ix = gi.big_values;\n var xr = gi.big_values;\n assert(gi.count1table_select < 2);\n\n for (i = (gi.count1 - gi.big_values) / 4; i > 0; --i) {\n var huffbits = 0;\n var p = 0, v;\n\n v = gi.l3_enc[ix + 0];\n if (v != 0) {\n p += 8;\n if (gi.xr[xr + 0] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 1];\n if (v != 0) {\n p += 4;\n huffbits *= 2;\n if (gi.xr[xr + 1] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 2];\n if (v != 0) {\n p += 2;\n huffbits *= 2;\n if (gi.xr[xr + 2] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 3];\n if (v != 0) {\n p++;\n huffbits *= 2;\n if (gi.xr[xr + 3] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n ix += 4;\n xr += 4;\n putbits2(gfc, huffbits + h.table[p], h.hlen[p]);\n bits += h.hlen[p];\n }\n return bits;\n }\n\n /**\n * Implements the pseudocode of page 98 of the IS\n */\n function Huffmancode(gfc, tableindex, start, end, gi) {\n var h = Tables.ht[tableindex];\n var bits = 0;\n\n assert(tableindex < 32);\n if (0 == tableindex)\n return bits;\n\n for (var i = start; i < end; i += 2) {\n var cbits = 0;\n var xbits = 0;\n var linbits = h.xlen;\n var xlen = h.xlen;\n var ext = 0;\n var x1 = gi.l3_enc[i];\n var x2 = gi.l3_enc[i + 1];\n\n if (x1 != 0) {\n if (gi.xr[i] < 0)\n ext++;\n cbits--;\n }\n\n if (tableindex > 15) {\n /* use ESC-words */\n if (x1 > 14) {\n var linbits_x1 = x1 - 15;\n assert(linbits_x1 <= h.linmax);\n ext |= linbits_x1 << 1;\n xbits = linbits;\n x1 = 15;\n }\n\n if (x2 > 14) {\n var linbits_x2 = x2 - 15;\n assert(linbits_x2 <= h.linmax);\n ext <<= linbits;\n ext |= linbits_x2;\n xbits += linbits;\n x2 = 15;\n }\n xlen = 16;\n }\n\n if (x2 != 0) {\n ext <<= 1;\n if (gi.xr[i + 1] < 0)\n ext++;\n cbits--;\n }\n\n assert((x1 | x2) < 16);\n\n x1 = x1 * xlen + x2;\n xbits -= cbits;\n cbits += h.hlen[x1];\n\n assert(cbits <= MAX_LENGTH);\n assert(xbits <= MAX_LENGTH);\n\n putbits2(gfc, h.table[x1], cbits);\n putbits2(gfc, ext, xbits);\n bits += cbits + xbits;\n }\n return bits;\n }\n\n /**\n * Note the discussion of huffmancodebits() on pages 28 and 29 of the IS, as\n * well as the definitions of the side information on pages 26 and 27.\n */\n function ShortHuffmancodebits(gfc, gi) {\n var region1Start = 3 * gfc.scalefac_band.s[3];\n if (region1Start > gi.big_values)\n region1Start = gi.big_values;\n\n /* short blocks do not have a region2 */\n var bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n gi.big_values, gi);\n return bits;\n }\n\n function LongHuffmancodebits(gfc, gi) {\n var bigvalues, bits;\n var region1Start, region2Start;\n\n bigvalues = gi.big_values;\n assert(0 <= bigvalues && bigvalues <= 576);\n\n var i = gi.region0_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region1Start = gfc.scalefac_band.l[i];\n i += gi.region1_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region2Start = gfc.scalefac_band.l[i];\n\n if (region1Start > bigvalues)\n region1Start = bigvalues;\n\n if (region2Start > bigvalues)\n region2Start = bigvalues;\n\n bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n region2Start, gi);\n bits += Huffmancode(gfc, gi.table_select[2], region2Start, bigvalues,\n gi);\n return bits;\n }\n\n function writeMainData(gfp) {\n var gr, ch, sfb, data_bits, tot_bits = 0;\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n\n if (gfp.version == 1) {\n /* MPEG 1 */\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var slen1 = Takehiro.slen1_tab[gi.scalefac_compress];\n var slen2 = Takehiro.slen2_tab[gi.scalefac_compress];\n data_bits = 0;\n for (sfb = 0; sfb < gi.sfbdivide; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen1);\n data_bits += slen1;\n }\n for (; sfb < gi.sfbmax; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen2);\n data_bits += slen2;\n }\n assert(data_bits == gi.part2_length);\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length + gi.part2_length);\n tot_bits += data_bits;\n }\n /* for ch */\n }\n /* for gr */\n } else {\n /* MPEG 2 */\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var i, sfb_partition, scale_bits = 0;\n assert(gi.sfb_partition_table != null);\n data_bits = 0;\n sfb = 0;\n sfb_partition = 0;\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition] / 3;\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 0], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 1], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 2], 0), slen);\n scale_bits += 3 * slen;\n }\n }\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition];\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc, Math.max(gi.scalefac[sfb], 0), slen);\n scale_bits += slen;\n }\n }\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length);\n assert(scale_bits == gi.part2_length);\n tot_bits += scale_bits + data_bits;\n }\n /* for ch */\n }\n /* for gf */\n return tot_bits;\n }\n\n /* main_data */\n\n function TotalBytes() {\n this.total = 0;\n }\n\n /*\n * compute the number of bits required to flush all mp3 frames currently in\n * the buffer. This should be the same as the reservoir size. Only call this\n * routine between frames - i.e. only after all headers and data have been\n * added to the buffer by format_bitstream().\n *\n * Also compute total_bits_output = size of mp3 buffer (including frame\n * headers which may not have yet been send to the mp3 buffer) + number of\n * bits needed to flush all mp3 frames.\n *\n * total_bytes_output is the size of the mp3 output buffer if\n * lame_encode_flush_nogap() was called right now.\n */\n function compute_flushbits(gfp, total_bytes_output) {\n var gfc = gfp.internal_flags;\n var flushbits, remaining_headers;\n var bitsPerFrame;\n var last_ptr, first_ptr;\n first_ptr = gfc.w_ptr;\n /* first header to add to bitstream */\n last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n\n /* add this many bits to bitstream so we can flush all headers */\n flushbits = gfc.header[last_ptr].write_timing - totbit;\n total_bytes_output.total = flushbits;\n\n if (flushbits >= 0) {\n /* if flushbits >= 0, some headers have not yet been written */\n /* reduce flushbits by the size of the headers */\n remaining_headers = 1 + last_ptr - first_ptr;\n if (last_ptr < first_ptr)\n remaining_headers = 1 + last_ptr - first_ptr\n + LameInternalFlags.MAX_HEADER_BUF;\n flushbits -= remaining_headers * 8 * gfc.sideinfo_len;\n }\n\n /*\n * finally, add some bits so that the last frame is complete these bits\n * are not necessary to decode the last frame, but some decoders will\n * ignore last frame if these bits are missing\n */\n bitsPerFrame = self.getframebits(gfp);\n flushbits += bitsPerFrame;\n total_bytes_output.total += bitsPerFrame;\n /* round up: */\n if ((total_bytes_output.total % 8) != 0)\n total_bytes_output.total = 1 + (total_bytes_output.total / 8);\n else\n total_bytes_output.total = (total_bytes_output.total / 8);\n total_bytes_output.total += bufByteIdx + 1;\n\n if (flushbits < 0) {\n System.err.println(\"strange error flushing buffer ... \\n\");\n }\n return flushbits;\n }\n\n this.flush_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var flushbits;\n var last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n l3_side = gfc.l3_side;\n\n if ((flushbits = compute_flushbits(gfp, new TotalBytes())) < 0)\n return;\n drain_into_ancillary(gfp, flushbits);\n\n /* check that the 100% of the last frame has been written to bitstream */\n assert(gfc.header[last_ptr].write_timing + this.getframebits(gfp) == totbit);\n\n /*\n * we have padded out all frames with ancillary data, which is the same\n * as filling the bitreservoir with ancillary data, so :\n */\n gfc.ResvSize = 0;\n l3_side.main_data_begin = 0;\n\n /* save the ReplayGain value */\n if (gfc.findReplayGain) {\n var RadioGain = ga.GetTitleGain(gfc.rgdata);\n assert(NEQ(RadioGain, GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES));\n gfc.RadioGain = Math.floor(RadioGain * 10.0 + 0.5) | 0;\n /* round to nearest */\n }\n\n /* find the gain and scale change required for no clipping */\n if (gfc.findPeakSample) {\n gfc.noclipGainChange = Math.ceil(Math\n .log10(gfc.PeakSample / 32767.0) * 20.0 * 10.0) | 0;\n /* round up */\n\n if (gfc.noclipGainChange > 0) {\n /* clipping occurs */\n if (EQ(gfp.scale, 1.0) || EQ(gfp.scale, 0.0))\n gfc.noclipScale = (Math\n .floor((32767.0 / gfc.PeakSample) * 100.0) / 100.0);\n /* round down */\n else {\n /*\n * the user specified his own scaling factor. We could\n * suggest the scaling factor of\n * (32767.0/gfp.PeakSample)*(gfp.scale) but it's usually\n * very inaccurate. So we'd rather not advice him on the\n * scaling factor.\n */\n gfc.noclipScale = -1;\n }\n } else\n /* no clipping */\n gfc.noclipScale = -1;\n }\n };\n\n this.add_dummy_byte = function (gfp, val, n) {\n var gfc = gfp.internal_flags;\n var i;\n\n while (n-- > 0) {\n putbits_noheaders(gfc, val, 8);\n\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing += 8;\n }\n };\n\n /**\n * This is called after a frame of audio has been quantized and coded. It\n * will write the encoded audio to the bitstream. Note that from a layer3\n * encoder's perspective the bit stream is primarily a series of main_data()\n * blocks, with header and side information inserted at the proper locations\n * to maintain framing. (See Figure A.7 in the IS).\n */\n this.format_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n l3_side = gfc.l3_side;\n\n var bitsPerFrame = this.getframebits(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_pre);\n\n encodeSideInfo2(gfp, bitsPerFrame);\n var bits = 8 * gfc.sideinfo_len;\n bits += writeMainData(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_post);\n bits += l3_side.resvDrain_post;\n\n l3_side.main_data_begin += (bitsPerFrame - bits) / 8;\n\n /*\n * compare number of bits needed to clear all buffered mp3 frames with\n * what we think the resvsize is:\n */\n if (compute_flushbits(gfp, new TotalBytes()) != gfc.ResvSize) {\n System.err.println(\"Internal buffer inconsistency. flushbits <> ResvSize\");\n }\n\n /*\n * compare main_data_begin for the next frame with what we think the\n * resvsize is:\n */\n if ((l3_side.main_data_begin * 8) != gfc.ResvSize) {\n System.err.printf(\"bit reservoir error: \\n\"\n + \"l3_side.main_data_begin: %d \\n\"\n + \"Resvoir size: %d \\n\"\n + \"resv drain (post) %d \\n\"\n + \"resv drain (pre) %d \\n\"\n + \"header and sideinfo: %d \\n\"\n + \"data bits: %d \\n\"\n + \"total bits: %d (remainder: %d) \\n\"\n + \"bitsperframe: %d \\n\",\n 8 * l3_side.main_data_begin, gfc.ResvSize,\n l3_side.resvDrain_post, l3_side.resvDrain_pre,\n 8 * gfc.sideinfo_len, bits - l3_side.resvDrain_post - 8\n * gfc.sideinfo_len, bits, bits % 8, bitsPerFrame);\n\n System.err.println(\"This is a fatal error. It has several possible causes:\");\n System.err.println(\"90%% LAME compiled with buggy version of gcc using advanced optimizations\");\n System.err.println(\" 9%% Your system is overclocked\");\n System.err.println(\" 1%% bug in LAME encoding library\");\n\n gfc.ResvSize = l3_side.main_data_begin * 8;\n }\n //;\n assert(totbit % 8 == 0);\n\n if (totbit > 1000000000) {\n /*\n * to avoid totbit overflow, (at 8h encoding at 128kbs) lets reset\n * bit counter\n */\n var i;\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing -= totbit;\n totbit = 0;\n }\n\n return 0;\n };\n\n /**\n *
\n     * copy data out of the internal MP3 bit buffer into a user supplied\n     *       unsigned char buffer.\n     *\n     *       mp3data=0      indicates data in buffer is an id3tags and VBR tags\n     *       mp3data=1      data is real mp3 frame data.\n     * 
\n */\n this.copy_buffer = function (gfc, buffer, bufferPos, size, mp3data) {\n var minimum = bufByteIdx + 1;\n if (minimum <= 0)\n return 0;\n if (size != 0 && minimum > size) {\n /* buffer is too small */\n return -1;\n }\n System.arraycopy(buf, 0, buffer, bufferPos, minimum);\n bufByteIdx = -1;\n bufBitIdx = 0;\n\n if (mp3data != 0) {\n var crc = new_int(1);\n crc[0] = gfc.nMusicCRC;\n vbr.updateMusicCRC(crc, buffer, bufferPos, minimum);\n gfc.nMusicCRC = crc[0];\n\n /**\n * sum number of bytes belonging to the mp3 stream this info will be\n * written into the Xing/LAME header for seeking\n */\n if (minimum > 0) {\n gfc.VBR_seek_table.nBytesWritten += minimum;\n }\n\n if (gfc.decode_on_the_fly) { /* decode the frame */\n var pcm_buf = new_float_n([2, 1152]);\n var mp3_in = minimum;\n var samples_out = -1;\n var i;\n\n /* re-synthesis to pcm. Repeat until we get a samples_out=0 */\n while (samples_out != 0) {\n\n samples_out = mpg.hip_decode1_unclipped(gfc.hip, buffer,\n bufferPos, mp3_in, pcm_buf[0], pcm_buf[1]);\n /*\n * samples_out = 0: need more data to decode samples_out =\n * -1: error. Lets assume 0 pcm output samples_out = number\n * of samples output\n */\n\n /*\n * set the lenght of the mp3 input buffer to zero, so that\n * in the next iteration of the loop we will be querying\n * mpglib about buffered data\n */\n mp3_in = 0;\n\n if (samples_out == -1) {\n /*\n * error decoding. Not fatal, but might screw up the\n * ReplayGain tag. What should we do? Ignore for now\n */\n samples_out = 0;\n }\n if (samples_out > 0) {\n /* process the PCM data */\n\n /*\n * this should not be possible, and indicates we have\n * overflown the pcm_buf buffer\n */\n assert(samples_out <= 1152);\n\n if (gfc.findPeakSample) {\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[0][i];\n else if (-pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[0][i];\n }\n if (gfc.channels_out > 1)\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[1][i];\n else if (-pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[1][i];\n }\n }\n\n if (gfc.findReplayGain)\n if (ga.AnalyzeSamples(gfc.rgdata, pcm_buf[0], 0,\n pcm_buf[1], 0, samples_out,\n gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR)\n return -6;\n\n }\n /* if (samples_out>0) */\n }\n /* while (samples_out!=0) */\n }\n /* if (gfc.decode_on_the_fly) */\n\n }\n /* if (mp3data) */\n return minimum;\n };\n\n this.init_bit_stream_w = function (gfc) {\n buf = new_byte(Lame.LAME_MAXMP3BUFFER);\n\n gfc.h_ptr = gfc.w_ptr = 0;\n gfc.header[gfc.h_ptr].write_timing = 0;\n bufByteIdx = -1;\n bufBitIdx = 0;\n totbit = 0;\n };\n\n // From machine.h\n\n\n}\n\nmodule.exports = BitStream;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\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 TypeError = global.TypeError;\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 = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(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 hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Date = global.Date;\nvar getTime = uncurryThis(Date.prototype.getTime);\n\n// `Date.now` method\n// https://tc39.es/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return getTime(new Date());\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GainAnalysis = require('./GainAnalysis.js');\n\nfunction ReplayGain() {\n this.linprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * left input samples, with pre-buffer\n */\n this.linpre = 0;\n this.lstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"first step\" (i.e. post first filter) samples\n */\n this.lstep = 0;\n this.loutbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"out\" (i.e. post second filter) samples\n */\n this.lout = 0;\n this.rinprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * right input samples ...\n */\n this.rinpre = 0;\n this.rstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rstep = 0;\n this.routbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rout = 0;\n /**\n * number of samples required to reach number of milliseconds required\n * for RMS window\n */\n this.sampleWindow = 0;\n this.totsamp = 0;\n this.lsum = 0.;\n this.rsum = 0.;\n this.freqindex = 0;\n this.first = 0;\n this.A = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n this.B = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n\n}\n\nmodule.exports = ReplayGain;\n","//package mp3;\n\nfunction CalcNoiseResult() {\n /**\n * sum of quantization noise > masking\n */\n this.over_noise = 0.;\n /**\n * sum of all quantization noise\n */\n this.tot_noise = 0.;\n /**\n * max quantization noise\n */\n this.max_noise = 0.;\n /**\n * number of quantization noise > masking\n */\n this.over_count = 0;\n /**\n * SSD-like cost of distorted bands\n */\n this.over_SSD = 0;\n this.bits = 0;\n}\n\nmodule.exports = CalcNoiseResult;\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\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 (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","module.exports = require('./lib/linkify');\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n\ttoString: function toString() {\n\t\treturn this.v + '';\n\t}\n};\n\nfunction inheritsToken(value) {\n\tvar props = value ? { v: value } : {};\n\treturn (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\nvar DOMAIN = inheritsToken();\n\n/**\n\t@class AT\n\t@extends TextToken\n*/\nvar AT = inheritsToken('@');\n\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\nvar COLON = inheritsToken(':');\n\n/**\n\t@class DOT\n\t@extends TextToken\n*/\nvar DOT = inheritsToken('.');\n\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\nvar PUNCTUATION = inheritsToken();\n\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\nvar LOCALHOST = inheritsToken();\n\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\nvar NL = inheritsToken('\\n');\n\n/**\n\t@class NUM\n\t@extends TextToken\n*/\nvar NUM = inheritsToken();\n\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\nvar PLUS = inheritsToken('+');\n\n/**\n\t@class POUND\n\t@extends TextToken\n*/\nvar POUND = inheritsToken('#');\n\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\nvar PROTOCOL = inheritsToken();\n\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\nvar MAILTO = inheritsToken('mailto:');\n\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\nvar QUERY = inheritsToken('?');\n\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\nvar SLASH = inheritsToken('/');\n\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\nvar UNDERSCORE = inheritsToken('_');\n\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\nvar SYM = inheritsToken();\n\n/**\n\t@class TLD\n\t@extends TextToken\n*/\nvar TLD = inheritsToken();\n\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\nvar WS = inheritsToken();\n\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\n\nvar AMPERSAND = inheritsToken('&');\n\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\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","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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\n// eslint-disable-next-line es-x/no-object-create -- safe\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 : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\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 defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(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 (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\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 defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar n$ParseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = n$ParseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : n$ParseFloat;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction FFT() {\n\n var window = new_float(Encoder.BLKSIZE);\n var window_s = new_float(Encoder.BLKSIZE_s / 2);\n\n var costab = [\n 9.238795325112867e-01, 3.826834323650898e-01,\n 9.951847266721969e-01, 9.801714032956060e-02,\n 9.996988186962042e-01, 2.454122852291229e-02,\n 9.999811752826011e-01, 6.135884649154475e-03\n ];\n\n function fht(fz, fzPos, n) {\n var tri = 0;\n var k4;\n var fi;\n var gi;\n\n n <<= 1;\n /* to get BLKSIZE, because of 3DNow! ASM routine */\n var fn = fzPos + n;\n k4 = 4;\n do {\n var s1, c1;\n var i, k1, k2, k3, kx;\n kx = k4 >> 1;\n k1 = k4;\n k2 = k4 << 1;\n k3 = k2 + k1;\n k4 = k2 << 1;\n fi = fzPos;\n gi = fi + kx;\n do {\n var f0, f1, f2, f3;\n f1 = fz[fi + 0] - fz[fi + k1];\n f0 = fz[fi + 0] + fz[fi + k1];\n f3 = fz[fi + k2] - fz[fi + k3];\n f2 = fz[fi + k2] + fz[fi + k3];\n fz[fi + k2] = f0 - f2;\n fz[fi + 0] = f0 + f2;\n fz[fi + k3] = f1 - f3;\n fz[fi + k1] = f1 + f3;\n f1 = fz[gi + 0] - fz[gi + k1];\n f0 = fz[gi + 0] + fz[gi + k1];\n f3 = (Util.SQRT2 * fz[gi + k3]);\n f2 = (Util.SQRT2 * fz[gi + k2]);\n fz[gi + k2] = f0 - f2;\n fz[gi + 0] = f0 + f2;\n fz[gi + k3] = f1 - f3;\n fz[gi + k1] = f1 + f3;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c1 = costab[tri + 0];\n s1 = costab[tri + 1];\n for (i = 1; i < kx; i++) {\n var c2, s2;\n c2 = 1 - (2 * s1) * s1;\n s2 = (2 * s1) * c1;\n fi = fzPos + i;\n gi = fzPos + k1 - i;\n do {\n var a, b, g0, f0, f1, g1, f2, g2, f3, g3;\n b = s2 * fz[fi + k1] - c2 * fz[gi + k1];\n a = c2 * fz[fi + k1] + s2 * fz[gi + k1];\n f1 = fz[fi + 0] - a;\n f0 = fz[fi + 0] + a;\n g1 = fz[gi + 0] - b;\n g0 = fz[gi + 0] + b;\n b = s2 * fz[fi + k3] - c2 * fz[gi + k3];\n a = c2 * fz[fi + k3] + s2 * fz[gi + k3];\n f3 = fz[fi + k2] - a;\n f2 = fz[fi + k2] + a;\n g3 = fz[gi + k2] - b;\n g2 = fz[gi + k2] + b;\n b = s1 * f2 - c1 * g3;\n a = c1 * f2 + s1 * g3;\n fz[fi + k2] = f0 - a;\n fz[fi + 0] = f0 + a;\n fz[gi + k3] = g1 - b;\n fz[gi + k1] = g1 + b;\n b = c1 * g2 - s1 * f3;\n a = s1 * g2 + c1 * f3;\n fz[gi + k2] = g0 - a;\n fz[gi + 0] = g0 + a;\n fz[fi + k3] = f1 - b;\n fz[fi + k1] = f1 + b;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c2 = c1;\n c1 = c2 * costab[tri + 0] - s1 * costab[tri + 1];\n s1 = c2 * costab[tri + 1] + s1 * costab[tri + 0];\n }\n tri += 2;\n } while (k4 < n);\n }\n\n var rv_tbl = [0x00, 0x80, 0x40,\n 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10,\n 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70,\n 0xf0, 0x08, 0x88, 0x48, 0xc8, 0x28,\n 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58,\n 0xd8, 0x38, 0xb8, 0x78, 0xf8, 0x04,\n 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64,\n 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34,\n 0xb4, 0x74, 0xf4, 0x0c, 0x8c, 0x4c,\n 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c,\n 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c,\n 0xfc, 0x02, 0x82, 0x42, 0xc2, 0x22,\n 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52,\n 0xd2, 0x32, 0xb2, 0x72, 0xf2, 0x0a,\n 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a,\n 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a,\n 0xba, 0x7a, 0xfa, 0x06, 0x86, 0x46,\n 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16,\n 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76,\n 0xf6, 0x0e, 0x8e, 0x4e, 0xce, 0x2e,\n 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e,\n 0xde, 0x3e, 0xbe, 0x7e, 0xfe];\n\n this.fft_short = function (gfc, x_real, chn, buffer, bufPos) {\n for (var b = 0; b < 3; b++) {\n var x = Encoder.BLKSIZE_s / 2;\n var k = 0xffff & ((576 / 3) * (b + 1));\n var j = Encoder.BLKSIZE_s / 8 - 1;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[j << 2] & 0xff;\n\n f0 = window_s[i] * buffer[chn][bufPos + i + k];\n w = window_s[0x7f - i] * buffer[chn][bufPos + i + k + 0x80];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x40] * buffer[chn][bufPos + i + k + 0x40];\n w = window_s[0x3f - i] * buffer[chn][bufPos + i + k + 0xc0];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n x_real[b][x + 0] = f0 + f2;\n x_real[b][x + 2] = f0 - f2;\n x_real[b][x + 1] = f1 + f3;\n x_real[b][x + 3] = f1 - f3;\n\n f0 = window_s[i + 0x01] * buffer[chn][bufPos + i + k + 0x01];\n w = window_s[0x7e - i] * buffer[chn][bufPos + i + k + 0x81];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x41] * buffer[chn][bufPos + i + k + 0x41];\n w = window_s[0x3e - i] * buffer[chn][bufPos + i + k + 0xc1];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 0] = f0 + f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 2] = f0 - f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 1] = f1 + f3;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 3] = f1 - f3;\n } while (--j >= 0);\n\n fht(x_real[b], x, Encoder.BLKSIZE_s / 2);\n /* BLKSIZE_s/2 because of 3DNow! ASM routine */\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n }\n\n this.fft_long = function (gfc, y, chn, buffer, bufPos) {\n var jj = Encoder.BLKSIZE / 8 - 1;\n var x = Encoder.BLKSIZE / 2;\n\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[jj] & 0xff;\n f0 = window[i] * buffer[chn][bufPos + i];\n w = window[i + 0x200] * buffer[chn][bufPos + i + 0x200];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x100] * buffer[chn][bufPos + i + 0x100];\n w = window[i + 0x300] * buffer[chn][bufPos + i + 0x300];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n y[x + 0] = f0 + f2;\n y[x + 2] = f0 - f2;\n y[x + 1] = f1 + f3;\n y[x + 3] = f1 - f3;\n\n f0 = window[i + 0x001] * buffer[chn][bufPos + i + 0x001];\n w = window[i + 0x201] * buffer[chn][bufPos + i + 0x201];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x101] * buffer[chn][bufPos + i + 0x101];\n w = window[i + 0x301] * buffer[chn][bufPos + i + 0x301];\n f3 = f2 - w;\n f2 = f2 + w;\n\n y[x + Encoder.BLKSIZE / 2 + 0] = f0 + f2;\n y[x + Encoder.BLKSIZE / 2 + 2] = f0 - f2;\n y[x + Encoder.BLKSIZE / 2 + 1] = f1 + f3;\n y[x + Encoder.BLKSIZE / 2 + 3] = f1 - f3;\n } while (--jj >= 0);\n\n fht(y, x, Encoder.BLKSIZE / 2);\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n\n this.init_fft = function (gfc) {\n /* The type of window used here will make no real difference, but */\n /*\n * in the interest of merging nspsytune stuff - switch to blackman\n * window\n */\n for (var i = 0; i < Encoder.BLKSIZE; i++)\n /* blackman window */\n window[i] = (0.42 - 0.5 * Math.cos(2 * Math.PI * (i + .5)\n / Encoder.BLKSIZE) + 0.08 * Math.cos(4 * Math.PI * (i + .5)\n / Encoder.BLKSIZE));\n\n for (var i = 0; i < Encoder.BLKSIZE_s / 2; i++)\n window_s[i] = (0.5 * (1.0 - Math.cos(2.0 * Math.PI\n * (i + 0.5) / Encoder.BLKSIZE_s)));\n\n }\n\n}\n\nmodule.exports = FFT;\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\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-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","export * from \"-!../../node_modules/vue-style-loader/index.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=style&index=0&lang=scss&shadow\"","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","import Database from './database.js';\n\nfunction noop() { }\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\n\nconst dirty_components = [];\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\nconst outroing = new Set();\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\n// via https://unpkg.com/browse/emojibase-data@6.0.0/meta/groups.json\nconst allGroups = [\n [-1, '✨', 'custom'],\n [0, '😀', 'smileys-emotion'],\n [1, '👋', 'people-body'],\n [3, '🐱', 'animals-nature'],\n [4, '🍎', 'food-drink'],\n [5, '🏠️', 'travel-places'],\n [6, '⚽', 'activities'],\n [7, '📝', 'objects'],\n [8, '⛔️', 'symbols'],\n [9, '🏁', 'flags']\n].map(([id, emoji, name]) => ({ id, emoji, name }));\n\nconst groups = allGroups.slice(1);\nconst customGroup = allGroups[0];\n\nconst MIN_SEARCH_TEXT_LENGTH = 2;\nconst NUM_SKIN_TONES = 6;\n\n/* istanbul ignore next */\nconst rIC = typeof requestIdleCallback === 'function' ? requestIdleCallback : setTimeout;\n\n// check for ZWJ (zero width joiner) character\nfunction hasZwj (emoji) {\n return emoji.unicode.includes('\\u200d')\n}\n\n// Find one good representative emoji from each version to test by checking its color.\n// Ideally it should have color in the center. For some inspiration, see:\n// https://about.gitlab.com/blog/2018/05/30/journey-in-native-unicode-emoji/\n//\n// Note that for certain versions (12.1, 13.1), there is no point in testing them explicitly, because\n// all the emoji from this version are compound-emoji from previous versions. So they would pass a color\n// test, even in browsers that display them as double emoji. (E.g. \"face in clouds\" might render as\n// \"face without mouth\" plus \"fog\".) These emoji can only be filtered using the width test,\n// which happens in checkZwjSupport.js.\nconst versionsAndTestEmoji = {\n '🫠': 14,\n '🥲': 13.1, // smiling face with tear, technically from v13 but see note above\n '🥻': 12.1, // sari, technically from v12 but see note above\n '🥰': 11,\n '🤩': 5,\n '👱‍♀️': 4,\n '🤣': 3,\n '👁️‍🗨️': 2,\n '😀': 1,\n '😐️': 0.7,\n '😃': 0.6\n};\n\nconst TIMEOUT_BEFORE_LOADING_MESSAGE = 1000; // 1 second\nconst DEFAULT_SKIN_TONE_EMOJI = '🖐️';\nconst DEFAULT_NUM_COLUMNS = 8;\n\n// Based on https://fivethirtyeight.com/features/the-100-most-used-emojis/ and\n// https://blog.emojipedia.org/facebook-reveals-most-and-least-used-emojis/ with\n// a bit of my own curation. (E.g. avoid the \"OK\" gesture because of connotations:\n// https://emojipedia.org/ok-hand/)\nconst MOST_COMMONLY_USED_EMOJI = [\n '😊',\n '😒',\n '♥️',\n '👍️',\n '😍',\n '😂',\n '😭',\n '☺️',\n '😔',\n '😩',\n '😏',\n '💕',\n '🙌',\n '😘'\n];\n\n// It's important to list Twemoji Mozilla before everything else, because Mozilla bundles their\n// own font on some platforms (notably Windows and Linux as of this writing). Typically Mozilla\n// updates faster than the underlying OS, and we don't want to render older emoji in one font and\n// newer emoji in another font:\n// https://github.com/nolanlawson/emoji-picker-element/pull/268#issuecomment-1073347283\nconst FONT_FAMILY = '\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",' +\n '\"Noto Color Emoji\",\"EmojiOne Color\",\"Android Emoji\",sans-serif';\n\n/* istanbul ignore next */\nconst DEFAULT_CATEGORY_SORTING = (a, b) => a < b ? -1 : a > b ? 1 : 0;\n\n// Test if an emoji is supported by rendering it to canvas and checking that the color is not black\n\nconst getTextFeature = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = canvas.height = 1;\n\n const ctx = canvas.getContext('2d');\n ctx.textBaseline = 'top';\n ctx.font = `100px ${FONT_FAMILY}`;\n ctx.fillStyle = color;\n ctx.scale(0.01, 0.01);\n ctx.fillText(text, 0, 0);\n\n return ctx.getImageData(0, 0, 1, 1).data\n};\n\nconst compareFeatures = (feature1, feature2) => {\n const feature1Str = [...feature1].join(',');\n const feature2Str = [...feature2].join(',');\n // This is RGBA, so for 0,0,0, we are checking that the first RGB is not all zeroes.\n // Most of the time when unsupported this is 0,0,0,0, but on Chrome on Mac it is\n // 0,0,0,61 - there is a transparency here.\n return feature1Str === feature2Str && !feature1Str.startsWith('0,0,0,')\n};\n\nfunction testColorEmojiSupported (text) {\n // Render white and black and then compare them to each other and ensure they're the same\n // color, and neither one is black. This shows that the emoji was rendered in color.\n const feature1 = getTextFeature(text, '#000');\n const feature2 = getTextFeature(text, '#fff');\n return feature1 && feature2 && compareFeatures(feature1, feature2)\n}\n\n// rather than check every emoji ever, which would be expensive, just check some representatives from the\n\nfunction determineEmojiSupportLevel () {\n const entries = Object.entries(versionsAndTestEmoji);\n try {\n // start with latest emoji and work backwards\n for (const [emoji, version] of entries) {\n if (testColorEmojiSupported(emoji)) {\n return version\n }\n }\n } catch (e) { // canvas error\n } finally {\n }\n // In case of an error, be generous and just assume all emoji are supported (e.g. for canvas errors\n // due to anti-fingerprinting add-ons). Better to show some gray boxes than nothing at all.\n return entries[0][1] // first one in the list is the most recent version\n}\n\n// Check which emojis we know for sure aren't supported, based on Unicode version level\nconst emojiSupportLevelPromise = new Promise(resolve => (\n rIC(() => (\n resolve(determineEmojiSupportLevel()) // delay so ideally this can run while IDB is first populating\n ))\n));\n// determine which emojis containing ZWJ (zero width joiner) characters\n// are supported (rendered as one glyph) rather than unsupported (rendered as two or more glyphs)\nconst supportedZwjEmojis = new Map();\n\nconst VARIATION_SELECTOR = '\\ufe0f';\nconst SKINTONE_MODIFIER = '\\ud83c';\nconst ZWJ = '\\u200d';\nconst LIGHT_SKIN_TONE = 0x1F3FB;\nconst LIGHT_SKIN_TONE_MODIFIER = 0xdffb;\n\n// TODO: this is a naive implementation, we can improve it later\n// It's only used for the skintone picker, so as long as people don't customize with\n// really exotic emoji then it should work fine\nfunction applySkinTone (str, skinTone) {\n if (skinTone === 0) {\n return str\n }\n const zwjIndex = str.indexOf(ZWJ);\n if (zwjIndex !== -1) {\n return str.substring(0, zwjIndex) +\n String.fromCodePoint(LIGHT_SKIN_TONE + skinTone - 1) +\n str.substring(zwjIndex)\n }\n if (str.endsWith(VARIATION_SELECTOR)) {\n str = str.substring(0, str.length - 1);\n }\n return str + SKINTONE_MODIFIER + String.fromCodePoint(LIGHT_SKIN_TONE_MODIFIER + skinTone - 1)\n}\n\nfunction halt (event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\n// Implementation left/right or up/down navigation, circling back when you\n// reach the start/end of the list\nfunction incrementOrDecrement (decrement, val, arr) {\n val += (decrement ? -1 : 1);\n if (val < 0) {\n val = arr.length - 1;\n } else if (val >= arr.length) {\n val = 0;\n }\n return val\n}\n\n// like lodash's uniqBy but much smaller\nfunction uniqBy (arr, func) {\n const set = new Set();\n const res = [];\n for (const item of arr) {\n const key = func(item);\n if (!set.has(key)) {\n set.add(key);\n res.push(item);\n }\n }\n return res\n}\n\n// We don't need all the data on every emoji, and there are specific things we need\n// for the UI, so build a \"view model\" from the emoji object we got from the database\n\nfunction summarizeEmojisForUI (emojis, emojiSupportLevel) {\n const toSimpleSkinsMap = skins => {\n const res = {};\n for (const skin of skins) {\n // ignore arrays like [1, 2] with multiple skin tones\n // also ignore variants that are in an unsupported emoji version\n // (these do exist - variants from a different version than their base emoji)\n if (typeof skin.tone === 'number' && skin.version <= emojiSupportLevel) {\n res[skin.tone] = skin.unicode;\n }\n }\n return res\n };\n\n return emojis.map(({ unicode, skins, shortcodes, url, name, category }) => ({\n unicode,\n name,\n shortcodes,\n url,\n category,\n id: unicode || name,\n skins: skins && toSimpleSkinsMap(skins),\n title: (shortcodes || []).join(', ')\n }))\n}\n\n// import rAF from one place so that the bundle size is a bit smaller\nconst rAF = requestAnimationFrame;\n\n// Svelte action to calculate the width of an element and auto-update\n\nlet resizeObserverSupported = typeof ResizeObserver === 'function';\n\nfunction calculateWidth (node, onUpdate) {\n let resizeObserver;\n if (resizeObserverSupported) {\n resizeObserver = new ResizeObserver(entries => (\n onUpdate(entries[0].contentRect.width)\n ));\n resizeObserver.observe(node);\n } else { // just set the width once, don't bother trying to track it\n rAF(() => (\n onUpdate(node.getBoundingClientRect().width)\n ));\n }\n\n // cleanup function (called on destroy)\n return {\n destroy () {\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n }\n }\n}\n\n// get the width of the text inside of a DOM node, via https://stackoverflow.com/a/59525891/680742\nfunction calculateTextWidth (node) {\n /* istanbul ignore else */\n {\n const range = document.createRange();\n range.selectNode(node.firstChild);\n return range.getBoundingClientRect().width\n }\n}\n\nlet baselineEmojiWidth;\n\nfunction checkZwjSupport (zwjEmojisToCheck, baselineEmoji, emojiToDomNode) {\n for (const emoji of zwjEmojisToCheck) {\n const domNode = emojiToDomNode(emoji);\n const emojiWidth = calculateTextWidth(domNode);\n if (typeof baselineEmojiWidth === 'undefined') { // calculate the baseline emoji width only once\n baselineEmojiWidth = calculateTextWidth(baselineEmoji);\n }\n // On Windows, some supported emoji are ~50% bigger than the baseline emoji, but what we really want to guard\n // against are the ones that are 2x the size, because those are truly broken (person with red hair = person with\n // floating red wig, black cat = cat with black square, polar bear = bear with snowflake, etc.)\n // So here we set the threshold at 1.8 times the size of the baseline emoji.\n const supported = emojiWidth / 1.8 < baselineEmojiWidth;\n supportedZwjEmojis.set(emoji.unicode, supported);\n }\n}\n\n// Measure after style/layout are complete\n\nconst requestPostAnimationFrame = callback => {\n rAF(() => {\n setTimeout(callback);\n });\n};\n\n// like lodash's uniq\n\nfunction uniq (arr) {\n return uniqBy(arr, _ => _)\n}\n\n/* src/picker/components/Picker/Picker.svelte generated by Svelte v3.46.4 */\n\nconst { Map: Map_1 } = globals;\n\nfunction get_each_context(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_1(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[66] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_2(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_3(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[69] = list[i];\n\treturn child_ctx;\n}\n\nfunction get_each_context_4(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[72] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\n// (43:38) {#each skinTones as skinTone, i (skinTone)}\nfunction create_each_block_4(key_1, ctx) {\n\tlet div;\n\tlet t_value = /*skinTone*/ ctx[72] + \"\";\n\tlet t;\n\tlet div_id_value;\n\tlet div_class_value;\n\tlet div_aria_selected_value;\n\tlet div_title_value;\n\tlet div_aria_label_value;\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"id\", div_id_value = \"skintone-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div, \"class\", div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(div, \"aria-selected\", div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div, \"role\", \"option\");\n\t\t\tattr(div, \"title\", div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tattr(div, \"tabindex\", \"-1\");\n\t\t\tattr(div, \"aria-label\", div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tthis.first = div;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tappend(div, t);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && t_value !== (t_value = /*skinTone*/ ctx[72] + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && div_id_value !== (div_id_value = \"skintone-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div, \"id\", div_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_class_value !== (div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(div, \"class\", div_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_aria_selected_value !== (div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div, \"aria-selected\", div_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_title_value !== (div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"title\", div_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_aria_label_value !== (div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"aria-label\", div_aria_label_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t}\n\t};\n}\n\n// (53:33) {#each groups as group (group.id)}\nfunction create_each_block_3(key_1, ctx) {\n\tlet button;\n\tlet div;\n\tlet t_value = /*group*/ ctx[69].emoji + \"\";\n\tlet t;\n\tlet button_aria_controls_value;\n\tlet button_aria_label_value;\n\tlet button_aria_selected_value;\n\tlet button_title_value;\n\tlet mounted;\n\tlet dispose;\n\n\tfunction click_handler() {\n\t\treturn /*click_handler*/ ctx[49](/*group*/ ctx[69]);\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"class\", \"nav-emoji emoji\");\n\t\t\tattr(button, \"role\", \"tab\");\n\t\t\tattr(button, \"class\", \"nav-button\");\n\t\t\tattr(button, \"aria-controls\", button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id);\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id);\n\t\t\tattr(button, \"title\", button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tappend(button, div);\n\t\t\tappend(div, t);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = listen(button, \"click\", click_handler);\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*groups*/ 4096 && t_value !== (t_value = /*group*/ ctx[69].emoji + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*groups*/ 4096 && button_aria_controls_value !== (button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-controls\", button_aria_controls_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_aria_label_value !== (button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup, groups*/ 12304 && button_aria_selected_value !== (button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_title_value !== (button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tmounted = false;\n\t\t\tdispose();\n\t\t}\n\t};\n}\n\n// (93:100) {:else}\nfunction create_else_block_1(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (93:40) {#if emoji.unicode}\nfunction create_if_block_1(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (88:53) {#each emojiWithCategory.emojis as emoji, i (emoji.id)}\nfunction create_each_block_2(key_1, ctx) {\n\tlet button;\n\tlet button_role_value;\n\tlet button_aria_selected_value;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_class_value;\n\tlet button_id_value;\n\n\tfunction select_block_type(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block_1;\n\t\treturn create_else_block_1;\n\t}\n\n\tlet current_block_type = select_block_type(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem');\n\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '');\n\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\n\t\t\tattr(button, \"class\", button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(button, \"id\", button_id_value = \"emo-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && button_role_value !== (button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem')) {\n\t\t\t\tattr(button, \"role\", button_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_aria_selected_value !== (button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '')) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_class_value !== (button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(button, \"class\", button_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_id_value !== (button_id_value = \"emo-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\n// (69:36) {#each currentEmojisWithCategories as emojiWithCategory, i (emojiWithCategory.category)}\nfunction create_each_block_1(key_1, ctx) {\n\tlet div0;\n\n\tlet t_value = (/*searchMode*/ ctx[4]\n\t? /*i18n*/ ctx[0].searchResultsLabel\n\t: /*emojiWithCategory*/ ctx[66].category\n\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\";\n\n\tlet t;\n\tlet div0_id_value;\n\tlet div0_class_value;\n\tlet div1;\n\tlet each_blocks = [];\n\tlet each_1_lookup = new Map_1();\n\tlet div1_role_value;\n\tlet div1_aria_labelledby_value;\n\tlet div1_id_value;\n\tlet each_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\tconst get_key = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value_2.length; i += 1) {\n\t\tlet child_ctx = get_each_context_2(ctx, each_value_2, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach_1_lookup.set(key, each_blocks[i] = create_each_block_2(key, child_ctx));\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv0 = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tdiv1 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tattr(div0, \"id\", div0_id_value = \"menu-label-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div0, \"class\", div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div0, \"aria-hidden\", \"true\");\n\t\t\tattr(div1, \"class\", \"emoji-menu\");\n\t\t\tattr(div1, \"role\", div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu');\n\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65]);\n\t\t\tattr(div1, \"id\", div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '');\n\t\t\tthis.first = div0;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div0, anchor);\n\t\t\tappend(div0, t);\n\t\t\tinsert(target, div1, anchor);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div1, null);\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentEmojisWithCategories, currentGroup*/ 40977 && t_value !== (t_value = (/*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_id_value !== (div0_id_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div0, \"id\", div0_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_class_value !== (div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div0, \"class\", div0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin*/ 402686256) {\n\t\t\t\teach_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value_2, each_1_lookup, div1, destroy_block, create_each_block_2, null, get_each_context_2);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_role_value !== (div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu')) {\n\t\t\t\tattr(div1, \"role\", div1_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div1_aria_labelledby_value !== (div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_id_value !== (div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '')) {\n\t\t\t\tattr(div1, \"id\", div1_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div0);\n\t\t\tif (detaching) detach(div1);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\t\t}\n\t};\n}\n\n// (102:94) {:else}\nfunction create_else_block(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (102:34) {#if emoji.unicode}\nfunction create_if_block(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (98:102) {#each currentFavorites as emoji, i (emoji.id)}\nfunction create_each_block(key_1, ctx) {\n\tlet button;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_id_value;\n\n\tfunction select_block_type_1(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block;\n\t\treturn create_else_block;\n\t}\n\n\tlet current_block_type = select_block_type_1(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", \"menuitem\");\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\t\t\tattr(button, \"class\", \"emoji\");\n\t\t\tattr(button, \"id\", button_id_value = \"fav-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type_1(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_id_value !== (button_id_value = \"fav-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\nfunction create_fragment(ctx) {\n\tlet section;\n\tlet div0;\n\tlet div4;\n\tlet div1;\n\tlet input;\n\tlet input_placeholder_value;\n\tlet input_aria_expanded_value;\n\tlet input_aria_activedescendant_value;\n\tlet label;\n\tlet t0_value = /*i18n*/ ctx[0].searchLabel + \"\";\n\tlet t0;\n\tlet span0;\n\tlet t1_value = /*i18n*/ ctx[0].searchDescription + \"\";\n\tlet t1;\n\tlet div2;\n\tlet button0;\n\tlet t2;\n\tlet button0_class_value;\n\tlet div2_class_value;\n\tlet span1;\n\tlet t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\";\n\tlet t3;\n\tlet div3;\n\tlet each_blocks_3 = [];\n\tlet each0_lookup = new Map_1();\n\tlet div3_class_value;\n\tlet div3_aria_label_value;\n\tlet div3_aria_activedescendant_value;\n\tlet div3_aria_hidden_value;\n\tlet div5;\n\tlet each_blocks_2 = [];\n\tlet each1_lookup = new Map_1();\n\tlet div5_aria_label_value;\n\tlet div7;\n\tlet div6;\n\tlet div8;\n\tlet t4;\n\tlet div8_class_value;\n\tlet div10;\n\tlet div9;\n\tlet each_blocks_1 = [];\n\tlet each2_lookup = new Map_1();\n\tlet div10_class_value;\n\tlet div10_role_value;\n\tlet div10_aria_label_value;\n\tlet div10_id_value;\n\tlet div11;\n\tlet each_blocks = [];\n\tlet each3_lookup = new Map_1();\n\tlet div11_class_value;\n\tlet div11_aria_label_value;\n\tlet button1;\n\tlet section_aria_label_value;\n\tlet mounted;\n\tlet dispose;\n\tlet each_value_4 = /*skinTones*/ ctx[9];\n\tconst get_key = ctx => /*skinTone*/ ctx[72];\n\n\tfor (let i = 0; i < each_value_4.length; i += 1) {\n\t\tlet child_ctx = get_each_context_4(ctx, each_value_4, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach0_lookup.set(key, each_blocks_3[i] = create_each_block_4(key, child_ctx));\n\t}\n\n\tlet each_value_3 = /*groups*/ ctx[12];\n\tconst get_key_1 = ctx => /*group*/ ctx[69].id;\n\n\tfor (let i = 0; i < each_value_3.length; i += 1) {\n\t\tlet child_ctx = get_each_context_3(ctx, each_value_3, i);\n\t\tlet key = get_key_1(child_ctx);\n\t\teach1_lookup.set(key, each_blocks_2[i] = create_each_block_3(key, child_ctx));\n\t}\n\n\tlet each_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\tconst get_key_2 = ctx => /*emojiWithCategory*/ ctx[66].category;\n\n\tfor (let i = 0; i < each_value_1.length; i += 1) {\n\t\tlet child_ctx = get_each_context_1(ctx, each_value_1, i);\n\t\tlet key = get_key_2(child_ctx);\n\t\teach2_lookup.set(key, each_blocks_1[i] = create_each_block_1(key, child_ctx));\n\t}\n\n\tlet each_value = /*currentFavorites*/ ctx[10];\n\tconst get_key_3 = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value.length; i += 1) {\n\t\tlet child_ctx = get_each_context(ctx, each_value, i);\n\t\tlet key = get_key_3(child_ctx);\n\t\teach3_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));\n\t}\n\n\treturn {\n\t\tc() {\n\t\t\tsection = element(\"section\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tdiv4 = element(\"div\");\n\t\t\tdiv1 = element(\"div\");\n\t\t\tinput = element(\"input\");\n\t\t\tlabel = element(\"label\");\n\t\t\tt0 = text(t0_value);\n\t\t\tspan0 = element(\"span\");\n\t\t\tt1 = text(t1_value);\n\t\t\tdiv2 = element(\"div\");\n\t\t\tbutton0 = element(\"button\");\n\t\t\tt2 = text(/*skinToneButtonText*/ ctx[21]);\n\t\t\tspan1 = element(\"span\");\n\t\t\tt3 = text(t3_value);\n\t\t\tdiv3 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].c();\n\t\t\t}\n\n\t\t\tdiv5 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].c();\n\t\t\t}\n\n\t\t\tdiv7 = element(\"div\");\n\t\t\tdiv6 = element(\"div\");\n\t\t\tdiv8 = element(\"div\");\n\t\t\tt4 = text(/*message*/ ctx[18]);\n\t\t\tdiv10 = element(\"div\");\n\t\t\tdiv9 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].c();\n\t\t\t}\n\n\t\t\tdiv11 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tbutton1 = element(\"button\");\n\t\t\tbutton1.textContent = \"😀\";\n\t\t\tattr(div0, \"class\", \"pad-top\");\n\t\t\tattr(input, \"id\", \"search\");\n\t\t\tattr(input, \"class\", \"search\");\n\t\t\tattr(input, \"type\", \"search\");\n\t\t\tattr(input, \"role\", \"combobox\");\n\t\t\tattr(input, \"enterkeyhint\", \"search\");\n\t\t\tattr(input, \"placeholder\", input_placeholder_value = /*i18n*/ ctx[0].searchLabel);\n\t\t\tattr(input, \"autocapitalize\", \"none\");\n\t\t\tattr(input, \"autocomplete\", \"off\");\n\t\t\tattr(input, \"spellcheck\", \"true\");\n\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length));\n\t\t\tattr(input, \"aria-controls\", \"search-results\");\n\t\t\tattr(input, \"aria-describedby\", \"search-description\");\n\t\t\tattr(input, \"aria-autocomplete\", \"list\");\n\n\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '');\n\n\t\t\tattr(label, \"class\", \"sr-only\");\n\t\t\tattr(label, \"for\", \"search\");\n\t\t\tattr(span0, \"id\", \"search-description\");\n\t\t\tattr(span0, \"class\", \"sr-only\");\n\t\t\tattr(div1, \"class\", \"search-wrapper\");\n\t\t\tattr(button0, \"id\", \"skintone-button\");\n\t\t\tattr(button0, \"class\", button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''));\n\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"aria-describedby\", \"skintone-description\");\n\t\t\tattr(button0, \"aria-haspopup\", \"listbox\");\n\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(button0, \"aria-controls\", \"skintone-list\");\n\n\t\t\tattr(div2, \"class\", div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''));\n\n\t\t\tattr(span1, \"id\", \"skintone-description\");\n\t\t\tattr(span1, \"class\", \"sr-only\");\n\t\t\tattr(div3, \"id\", \"skintone-list\");\n\n\t\t\tattr(div3, \"class\", div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'));\n\n\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? 0\n\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\n\t\t\tattr(div3, \"role\", \"listbox\");\n\t\t\tattr(div3, \"aria-label\", div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel);\n\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(div4, \"class\", \"search-row\");\n\t\t\tattr(div5, \"class\", \"nav\");\n\t\t\tattr(div5, \"role\", \"tablist\");\n\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\tattr(div5, \"aria-label\", div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel);\n\t\t\tattr(div6, \"class\", \"indicator\");\n\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\tattr(div7, \"class\", \"indicator-wrapper\");\n\t\t\tattr(div8, \"class\", div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'));\n\t\t\tattr(div8, \"role\", \"alert\");\n\t\t\tattr(div8, \"aria-live\", \"polite\");\n\n\t\t\tattr(div10, \"class\", div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div10, \"role\", div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel');\n\n\t\t\tattr(div10, \"aria-label\", div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]);\n\n\t\t\tattr(div10, \"id\", div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`);\n\n\t\t\tattr(div10, \"tabindex\", \"0\");\n\t\t\tattr(div11, \"class\", div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''));\n\t\t\tattr(div11, \"role\", \"menu\");\n\t\t\tattr(div11, \"aria-label\", div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel);\n\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\tattr(button1, \"aria-hidden\", \"true\");\n\t\t\tattr(button1, \"tabindex\", \"-1\");\n\t\t\tattr(button1, \"class\", \"abs-pos hidden emoji\");\n\t\t\tattr(section, \"class\", \"picker\");\n\t\t\tattr(section, \"aria-label\", section_aria_label_value = /*i18n*/ ctx[0].regionLabel);\n\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, section, anchor);\n\t\t\tappend(section, div0);\n\t\t\tappend(section, div4);\n\t\t\tappend(div4, div1);\n\t\t\tappend(div1, input);\n\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\tappend(div1, label);\n\t\t\tappend(label, t0);\n\t\t\tappend(div1, span0);\n\t\t\tappend(span0, t1);\n\t\t\tappend(div4, div2);\n\t\t\tappend(div2, button0);\n\t\t\tappend(button0, t2);\n\t\t\tappend(div4, span1);\n\t\t\tappend(span1, t3);\n\t\t\tappend(div4, div3);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].m(div3, null);\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](div3);\n\t\t\tappend(section, div5);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].m(div5, null);\n\t\t\t}\n\n\t\t\tappend(section, div7);\n\t\t\tappend(div7, div6);\n\t\t\tappend(section, div8);\n\t\t\tappend(div8, t4);\n\t\t\tappend(section, div10);\n\t\t\tappend(div10, div9);\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].m(div9, null);\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](div10);\n\t\t\tappend(section, div11);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div11, null);\n\t\t\t}\n\n\t\t\tappend(section, button1);\n\t\t\t/*button1_binding*/ ctx[51](button1);\n\t\t\t/*section_binding*/ ctx[52](section);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(input, \"input\", /*input_input_handler*/ ctx[47]),\n\t\t\t\t\tlisten(input, \"keydown\", /*onSearchKeydown*/ ctx[30]),\n\t\t\t\t\tlisten(button0, \"click\", /*onClickSkinToneButton*/ ctx[35]),\n\t\t\t\t\tlisten(div3, \"focusout\", /*onSkinToneOptionsFocusOut*/ ctx[38]),\n\t\t\t\t\tlisten(div3, \"click\", /*onSkinToneOptionsClick*/ ctx[34]),\n\t\t\t\t\tlisten(div3, \"keydown\", /*onSkinToneOptionsKeydown*/ ctx[36]),\n\t\t\t\t\tlisten(div3, \"keyup\", /*onSkinToneOptionsKeyup*/ ctx[37]),\n\t\t\t\t\tlisten(div5, \"keydown\", /*onNavKeydown*/ ctx[32]),\n\t\t\t\t\taction_destroyer(/*calculateEmojiGridStyle*/ ctx[29].call(null, div9)),\n\t\t\t\t\tlisten(div10, \"click\", /*onEmojiClick*/ ctx[33]),\n\t\t\t\t\tlisten(div11, \"click\", /*onEmojiClick*/ ctx[33])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*i18n*/ 1 && input_placeholder_value !== (input_placeholder_value = /*i18n*/ ctx[0].searchLabel)) {\n\t\t\t\tattr(input, \"placeholder\", input_placeholder_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojis*/ 18 && input_aria_expanded_value !== (input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length))) {\n\t\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSearchItemId*/ 67108864 && input_aria_activedescendant_value !== (input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '')) {\n\t\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t0_value !== (t0_value = /*i18n*/ ctx[0].searchLabel + \"\")) set_data(t0, t0_value);\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t1_value !== (t1_value = /*i18n*/ ctx[0].searchDescription + \"\")) set_data(t1, t1_value);\n\t\t\tif (dirty[0] & /*skinToneButtonText*/ 2097152) set_data(t2, /*skinToneButtonText*/ ctx[21]);\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && button0_class_value !== (button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''))) {\n\t\t\t\tattr(button0, \"class\", button0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpandedAfterAnimation*/ 524288 && div2_class_value !== (div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''))) {\n\t\t\t\tattr(div2, \"class\", div2_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t3_value !== (t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\")) set_data(t3, t3_value);\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone, i18n*/ 1049089) {\n\t\t\t\teach_value_4 = /*skinTones*/ ctx[9];\n\t\t\t\teach_blocks_3 = update_keyed_each(each_blocks_3, dirty, get_key, 1, ctx, each_value_4, each0_lookup, div3, destroy_block, create_each_block_4, null, get_each_context_4);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_class_value !== (div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'))) {\n\t\t\t\tattr(div3, \"class\", div3_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t\t? 0\n\t\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div3_aria_label_value !== (div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel)) {\n\t\t\t\tattr(div3, \"aria-label\", div3_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSkinTone*/ 1048576 && div3_aria_activedescendant_value !== (div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_aria_hidden_value !== (div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6])) {\n\t\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups, i18n, searchMode, currentGroup*/ 12305 | dirty[1] & /*onNavClick*/ 1) {\n\t\t\t\teach_value_3 = /*groups*/ ctx[12];\n\t\t\t\teach_blocks_2 = update_keyed_each(each_blocks_2, dirty, get_key_1, 1, ctx, each_value_3, each1_lookup, div5, destroy_block, create_each_block_3, null, get_each_context_3);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups*/ 4096) {\n\t\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div5_aria_label_value !== (div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel)) {\n\t\t\t\tattr(div5, \"aria-label\", div5_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*isRtl, currentGroupIndex*/ 16779264) {\n\t\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144) set_data(t4, /*message*/ ctx[18]);\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div8_class_value !== (div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'))) {\n\t\t\t\tattr(div8, \"class\", div8_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin, i18n, currentGroup*/ 402694449) {\n\t\t\t\teach_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\t\t\t\teach_blocks_1 = update_keyed_each(each_blocks_1, dirty, get_key_2, 1, ctx, each_value_1, each2_lookup, div9, destroy_block, create_each_block_1, null, get_each_context_1);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*databaseLoaded, message*/ 278528 && div10_class_value !== (div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div10, \"class\", div10_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div10_role_value !== (div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel')) {\n\t\t\t\tattr(div10, \"role\", div10_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentGroup*/ 8209 && div10_aria_label_value !== (div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name])) {\n\t\t\t\tattr(div10, \"aria-label\", div10_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup*/ 8208 && div10_id_value !== (div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`)) {\n\t\t\t\tattr(div10, \"id\", div10_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*labelWithSkin, currentFavorites, currentSkinTone, unicodeWithSkin*/ 402654464) {\n\t\t\t\teach_value = /*currentFavorites*/ ctx[10];\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key_3, 1, ctx, each_value, each3_lookup, div11, destroy_block, create_each_block, null, get_each_context);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div11_class_value !== (div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''))) {\n\t\t\t\tattr(div11, \"class\", div11_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div11_aria_label_value !== (div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel)) {\n\t\t\t\tattr(div11, \"aria-label\", div11_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*scrollbarWidth*/ 33554432) {\n\t\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && section_aria_label_value !== (section_aria_label_value = /*i18n*/ ctx[0].regionLabel)) {\n\t\t\t\tattr(section, \"aria-label\", section_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*pickerStyle*/ 4194304) {\n\t\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t\t}\n\t\t},\n\t\ti: noop,\n\t\to: noop,\n\t\td(detaching) {\n\t\t\tif (detaching) detach(section);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].d();\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](null);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].d();\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].d();\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](null);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\n\t\t\t/*button1_binding*/ ctx[51](null);\n\t\t\t/*section_binding*/ ctx[52](null);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance($$self, $$props, $$invalidate) {\n\tlet { skinToneEmoji } = $$props;\n\tlet { i18n } = $$props;\n\tlet { database } = $$props;\n\tlet { customEmoji } = $$props;\n\tlet { customCategorySorting } = $$props;\n\n\t// private\n\tlet initialLoad = true;\n\n\tlet currentEmojis = [];\n\tlet currentEmojisWithCategories = []; // eslint-disable-line no-unused-vars\n\tlet rawSearchText = '';\n\tlet searchText = '';\n\tlet rootElement;\n\tlet baselineEmoji;\n\tlet tabpanelElement;\n\tlet searchMode = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItem = -1;\n\tlet message; // eslint-disable-line no-unused-vars\n\tlet skinTonePickerExpanded = false;\n\tlet skinTonePickerExpandedAfterAnimation = false; // eslint-disable-line no-unused-vars\n\tlet skinToneDropdown;\n\tlet currentSkinTone = 0;\n\tlet activeSkinTone = 0;\n\tlet skinToneButtonText; // eslint-disable-line no-unused-vars\n\tlet pickerStyle; // eslint-disable-line no-unused-vars\n\tlet skinToneButtonLabel = ''; // eslint-disable-line no-unused-vars\n\tlet skinTones = [];\n\tlet currentFavorites = []; // eslint-disable-line no-unused-vars\n\tlet defaultFavoriteEmojis;\n\tlet numColumns = DEFAULT_NUM_COLUMNS;\n\tlet isRtl = false;\n\tlet scrollbarWidth = 0; // eslint-disable-line no-unused-vars\n\tlet currentGroupIndex = 0;\n\tlet groups$1 = groups;\n\tlet currentGroup;\n\tlet databaseLoaded = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItemId; // eslint-disable-line no-unused-vars\n\n\t//\n\t// Utils/helpers\n\t//\n\tconst focus = id => {\n\t\trootElement.getRootNode().getElementById(id).focus();\n\t};\n\n\t// fire a custom event that crosses the shadow boundary\n\tconst fireEvent = (name, detail) => {\n\t\trootElement.dispatchEvent(new CustomEvent(name, { detail, bubbles: true, composed: true }));\n\t};\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst unicodeWithSkin = (emoji, currentSkinTone) => currentSkinTone && emoji.skins && emoji.skins[currentSkinTone] || emoji.unicode;\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst labelWithSkin = (emoji, currentSkinTone) => uniq([\n\t\temoji.name || unicodeWithSkin(emoji, currentSkinTone),\n\t\t...emoji.shortcodes || []\n\t]).join(', ');\n\n\t// Detect a skintone option button\n\tconst isSkinToneOption = element => (/^skintone-/).test(element.id);\n\n\t//\n\t// Determine the emoji support level (in requestIdleCallback)\n\t//\n\temojiSupportLevelPromise.then(level => {\n\t\t// Can't actually test emoji support in Jest/JSDom, emoji never render in color in Cairo\n\t\t/* istanbul ignore next */\n\t\tif (!level) {\n\t\t\t$$invalidate(18, message = i18n.emojiUnsupportedMessage);\n\t\t}\n\t});\n\n\t//\n\t// Calculate the width of the emoji grid. This serves two purposes:\n\t// 1) Re-calculate the --num-columns var because it may have changed\n\t// 2) Re-calculate the scrollbar width because it may have changed\n\t// (i.e. because the number of items changed)\n\t// 3) Re-calculate whether we're in RTL mode or not.\n\t//\n\t// The benefit of doing this in one place is to align with rAF/ResizeObserver\n\t// and do all the calculations in one go. RTL vs LTR is not strictly width-related,\n\t// but since we're already reading the style here, and since it's already aligned with\n\t// the rAF loop, this is the most appropriate place to do it perf-wise.\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction calculateEmojiGridStyle(node) {\n\t\treturn calculateWidth(node, width => {\n\t\t\t/* istanbul ignore next */\n\t\t\tif (\"production\" !== 'test') {\n\t\t\t\t// jsdom throws errors for this kind of fancy stuff\n\t\t\t\t// read all the style/layout calculations we need to make\n\t\t\t\tconst style = getComputedStyle(rootElement);\n\n\t\t\t\tconst newNumColumns = parseInt(style.getPropertyValue('--num-columns'), 10);\n\t\t\t\tconst newIsRtl = style.getPropertyValue('direction') === 'rtl';\n\t\t\t\tconst parentWidth = node.parentElement.getBoundingClientRect().width;\n\t\t\t\tconst newScrollbarWidth = parentWidth - width;\n\n\t\t\t\t// write to Svelte variables\n\t\t\t\t$$invalidate(46, numColumns = newNumColumns);\n\n\t\t\t\t$$invalidate(25, scrollbarWidth = newScrollbarWidth); // eslint-disable-line no-unused-vars\n\t\t\t\t$$invalidate(24, isRtl = newIsRtl); // eslint-disable-line no-unused-vars\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction checkZwjSupportAndUpdate(zwjEmojisToCheck) {\n\t\tconst rootNode = rootElement.getRootNode();\n\t\tconst emojiToDomNode = emoji => rootNode.getElementById(`emo-${emoji.id}`);\n\t\tcheckZwjSupport(zwjEmojisToCheck, baselineEmoji, emojiToDomNode);\n\n\t\t// force update\n\t\t$$invalidate(1, currentEmojis = currentEmojis); // eslint-disable-line no-self-assign\n\t}\n\n\tfunction isZwjSupported(emoji) {\n\t\treturn !emoji.unicode || !hasZwj(emoji) || supportedZwjEmojis.get(emoji.unicode);\n\t}\n\n\tasync function filterEmojisByVersion(emojis) {\n\t\tconst emojiSupportLevel = await emojiSupportLevelPromise;\n\n\t\t// !version corresponds to custom emoji\n\t\treturn emojis.filter(({ version }) => !version || version <= emojiSupportLevel);\n\t}\n\n\tasync function summarizeEmojis(emojis) {\n\t\treturn summarizeEmojisForUI(emojis, await emojiSupportLevelPromise);\n\t}\n\n\tasync function getEmojisByGroup(group) {\n\n\t\tif (typeof group === 'undefined') {\n\t\t\treturn [];\n\t\t}\n\n\t\t// -1 is custom emoji\n\t\tconst emoji = group === -1\n\t\t? customEmoji\n\t\t: await database.getEmojiByGroup(group);\n\n\t\treturn summarizeEmojis(await filterEmojisByVersion(emoji));\n\t}\n\n\tasync function getEmojisBySearchQuery(query) {\n\t\treturn summarizeEmojis(await filterEmojisByVersion(await database.getEmojiBySearchQuery(query)));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSearchKeydown(event) {\n\t\tif (!searchMode || !currentEmojis.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst goToNextOrPrevious = previous => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(5, activeSearchItem = incrementOrDecrement(previous, activeSearchItem, currentEmojis));\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn goToNextOrPrevious(false);\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn goToNextOrPrevious(true);\n\t\t\tcase 'Enter':\n\t\t\t\tif (activeSearchItem !== -1) {\n\t\t\t\t\thalt(event);\n\t\t\t\t\treturn clickEmoji(currentEmojis[activeSearchItem].id);\n\t\t\t\t} else if (currentEmojis.length) {\n\t\t\t\t\t$$invalidate(5, activeSearchItem = 0);\n\t\t\t\t}\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on nav\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavClick(group) {\n\t\t$$invalidate(2, rawSearchText = '');\n\t\t$$invalidate(44, searchText = '');\n\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t$$invalidate(11, currentGroupIndex = groups$1.findIndex(_ => _.id === group.id));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavKeydown(event) {\n\t\tconst { target, key } = event;\n\n\t\tconst doFocus = el => {\n\t\t\tif (el) {\n\t\t\t\thalt(event);\n\t\t\t\tel.focus();\n\t\t\t}\n\t\t};\n\n\t\tswitch (key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\treturn doFocus(target.previousSibling);\n\t\t\tcase 'ArrowRight':\n\t\t\t\treturn doFocus(target.nextSibling);\n\t\t\tcase 'Home':\n\t\t\t\treturn doFocus(target.parentElement.firstChild);\n\t\t\tcase 'End':\n\t\t\t\treturn doFocus(target.parentElement.lastChild);\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on an emoji\n\t//\n\tasync function clickEmoji(unicodeOrName) {\n\t\tconst emoji = await database.getEmojiByUnicodeOrName(unicodeOrName);\n\t\tconst emojiSummary = [...currentEmojis, ...currentFavorites].find(_ => _.id === unicodeOrName);\n\t\tconst skinTonedUnicode = emojiSummary.unicode && unicodeWithSkin(emojiSummary, currentSkinTone);\n\t\tawait database.incrementFavoriteEmojiCount(unicodeOrName);\n\n\t\tfireEvent('emoji-click', {\n\t\t\temoji,\n\t\t\tskinTone: currentSkinTone,\n\t\t\t...skinTonedUnicode && { unicode: skinTonedUnicode },\n\t\t\t...emojiSummary.name && { name: emojiSummary.name }\n\t\t});\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onEmojiClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!target.classList.contains('emoji')) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst id = target.id.substring(4); // replace 'emo-' or 'fav-' prefix\n\n\t\t/* no await */\n\t\tclickEmoji(id);\n\t}\n\n\t//\n\t// Handle user input on the skintone picker\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!isSkinToneOption(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst skinTone = parseInt(target.id.slice(9), 10); // remove 'skintone-' prefix\n\t\t$$invalidate(8, currentSkinTone = skinTone);\n\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\tfocus('skintone-button');\n\t\tfireEvent('skin-tone-change', { skinTone });\n\n\t\t/* no await */\n\t\tdatabase.setPreferredSkinTone(skinTone);\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onClickSkinToneButton(event) {\n\t\t$$invalidate(6, skinTonePickerExpanded = !skinTonePickerExpanded);\n\t\t$$invalidate(20, activeSkinTone = currentSkinTone);\n\n\t\tif (skinTonePickerExpanded) {\n\t\t\thalt(event);\n\t\t\trAF(() => focus(`skintone-${activeSkinTone}`));\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeydown(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst changeActiveSkinTone = async nextSkinTone => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(20, activeSkinTone = nextSkinTone);\n\t\t\tawait tick();\n\t\t\tfocus(`skintone-${activeSkinTone}`);\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(true, activeSkinTone, skinTones));\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(false, activeSkinTone, skinTones));\n\t\t\tcase 'Home':\n\t\t\t\treturn changeActiveSkinTone(0);\n\t\t\tcase 'End':\n\t\t\t\treturn changeActiveSkinTone(skinTones.length - 1);\n\t\t\tcase 'Enter':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t\tcase 'Escape':\n\t\t\t\thalt(event);\n\t\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t\t\treturn focus('skintone-button');\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeyup(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase ' ':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsFocusOut(event) {\n\t\t// On blur outside of the skintone options, collapse the skintone picker.\n\t\t// Except if focus is just moving to another skintone option, e.g. pressing up/down to change focus\n\t\tconst { relatedTarget } = event;\n\n\t\tif (!relatedTarget || !isSkinToneOption(relatedTarget)) {\n\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t}\n\t}\n\n\tfunction input_input_handler() {\n\t\trawSearchText = this.value;\n\t\t$$invalidate(2, rawSearchText);\n\t}\n\n\tfunction div3_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tskinToneDropdown = $$value;\n\t\t\t$$invalidate(7, skinToneDropdown);\n\t\t});\n\t}\n\n\tconst click_handler = group => onNavClick(group);\n\n\tfunction div10_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\ttabpanelElement = $$value;\n\t\t\t$$invalidate(3, tabpanelElement);\n\t\t});\n\t}\n\n\tfunction button1_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tbaselineEmoji = $$value;\n\t\t\t$$invalidate(17, baselineEmoji);\n\t\t});\n\t}\n\n\tfunction section_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\trootElement = $$value;\n\t\t\t$$invalidate(16, rootElement);\n\t\t});\n\t}\n\n\t$$self.$$set = $$props => {\n\t\tif ('skinToneEmoji' in $$props) $$invalidate(40, skinToneEmoji = $$props.skinToneEmoji);\n\t\tif ('i18n' in $$props) $$invalidate(0, i18n = $$props.i18n);\n\t\tif ('database' in $$props) $$invalidate(39, database = $$props.database);\n\t\tif ('customEmoji' in $$props) $$invalidate(41, customEmoji = $$props.customEmoji);\n\t\tif ('customCategorySorting' in $$props) $$invalidate(42, customCategorySorting = $$props.customCategorySorting);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[1] & /*customEmoji, database*/ 1280) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the customEmoji\n\t\t\t//\n\t\t\t{\n\t\t\t\tif (customEmoji && database) {\n\t\t\t\t\t$$invalidate(39, database.customEmoji = customEmoji, database);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n*/ 1 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the database object\n\t\t\t//\n\t\t\t{\n\t\t\t\t// show a Loading message if it takes a long time, or show an error if there's a network/IDB error\n\t\t\t\tasync function handleDatabaseLoading() {\n\t\t\t\t\tlet showingLoadingMessage = false;\n\n\t\t\t\t\tconst timeoutHandle = setTimeout(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tshowingLoadingMessage = true;\n\t\t\t\t\t\t\t$$invalidate(18, message = i18n.loadingMessage);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTIMEOUT_BEFORE_LOADING_MESSAGE\n\t\t\t\t\t);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait database.ready();\n\t\t\t\t\t\t$$invalidate(14, databaseLoaded = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t} catch(err) {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t$$invalidate(18, message = i18n.networkErrorMessage);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tclearTimeout(timeoutHandle);\n\n\t\t\t\t\t\tif (showingLoadingMessage) {\n\t\t\t\t\t\t\t// Seems safer than checking the i18n string, which may change\n\t\t\t\t\t\t\tshowingLoadingMessage = false;\n\n\t\t\t\t\t\t\t$$invalidate(18, message = ''); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (database) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\thandleDatabaseLoading();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) {\n\t\t\t{\n\t\t\t\tif (customEmoji && customEmoji.length) {\n\t\t\t\t\t$$invalidate(12, groups$1 = [customGroup, ...groups]);\n\t\t\t\t} else if (groups$1 !== groups) {\n\t\t\t\t\tif (currentGroupIndex) {\n\t\t\t\t\t\t// If the current group is anything other than \"custom\" (which is first), decrement.\n\t\t\t\t\t\t// This fixes the odd case where you set customEmoji, then pick a category, then unset customEmoji\n\t\t\t\t\t\t$$invalidate(11, currentGroupIndex--, currentGroupIndex);\n\t\t\t\t\t}\n\n\t\t\t\t\t$$invalidate(12, groups$1 = groups);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Handle user input on the search input\n\t\t\t//\n\t\t\t{\n\t\t\t\trIC(() => {\n\t\t\t\t\t$$invalidate(44, searchText = (rawSearchText || '').trim()); // defer to avoid input delays, plus we can trim here\n\t\t\t\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144) {\n\t\t\t//\n\t\t\t// Update the current group based on the currentGroupIndex\n\t\t\t//\n\t\t\t$$invalidate(13, currentGroup = groups$1[currentGroupIndex]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded, currentGroup*/ 24576 | $$self.$$.dirty[1] & /*searchText*/ 8192) {\n\t\t\t//\n\t\t\t// Set or update the currentEmojis. Check for invalid ZWJ renderings\n\t\t\t// (i.e. double emoji).\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateEmojis() {\n\n\t\t\t\t\tif (!databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(1, currentEmojis = []);\n\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t} else if (searchText.length >= MIN_SEARCH_TEXT_LENGTH) {\n\t\t\t\t\t\tconst currentSearchText = searchText;\n\t\t\t\t\t\tconst newEmojis = await getEmojisBySearchQuery(currentSearchText);\n\n\t\t\t\t\t\tif (currentSearchText === searchText) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = true);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (currentGroup) {\n\t\t\t\t\t\tconst currentGroupId = currentGroup.id;\n\t\t\t\t\t\tconst newEmojis = await getEmojisByGroup(currentGroupId);\n\n\t\t\t\t\t\tif (currentGroupId === currentGroup.id) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdateEmojis();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, searchMode*/ 4112) {\n\t\t\t//\n\t\t\t// Global styles for the entire picker\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(22, pickerStyle = `\n --font-family: ${FONT_FAMILY};\n --num-groups: ${groups$1.length}; \n --indicator-opacity: ${searchMode ? 0 : 1}; \n --num-skintones: ${NUM_SKIN_TONES};`);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the preferred skin tone\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updatePreferredSkinTone() {\n\t\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(8, currentSkinTone = await database.getPreferredSkinTone());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdatePreferredSkinTone();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[1] & /*skinToneEmoji*/ 512) {\n\t\t\t$$invalidate(9, skinTones = Array(NUM_SKIN_TONES).fill().map((_, i) => applySkinTone(skinToneEmoji, i)));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTones, currentSkinTone*/ 768) {\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(21, skinToneButtonText = skinTones[currentSkinTone]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n, currentSkinTone*/ 257) {\n\t\t\t$$invalidate(23, skinToneButtonLabel = i18n.skinToneLabel.replace('{skinTone}', i18n.skinTones[currentSkinTone]));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the favorites emojis\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateDefaultFavoriteEmojis() {\n\t\t\t\t\t$$invalidate(45, defaultFavoriteEmojis = (await Promise.all(MOST_COMMONLY_USED_EMOJI.map(unicode => database.getEmojiByUnicodeOrName(unicode)))).filter(Boolean)); // filter because in Jest tests we don't have all the emoji in the DB\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateDefaultFavoriteEmojis();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database, numColumns, defaultFavoriteEmojis*/ 49408) {\n\t\t\t{\n\t\t\t\tasync function updateFavorites() {\n\t\t\t\t\tconst dbFavorites = await database.getTopFavoriteEmoji(numColumns);\n\t\t\t\t\tconst favorites = await summarizeEmojis(uniqBy([...dbFavorites, ...defaultFavoriteEmojis], _ => _.unicode || _.name).slice(0, numColumns));\n\t\t\t\t\t$$invalidate(10, currentFavorites = favorites);\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded && defaultFavoriteEmojis) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateFavorites();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, tabpanelElement*/ 10) {\n\t\t\t// Some emojis have their ligatures rendered as two or more consecutive emojis\n\t\t\t// We want to treat these the same as unsupported emojis, so we compare their\n\t\t\t// widths against the baseline widths and remove them as necessary\n\t\t\t{\n\t\t\t\tconst zwjEmojisToCheck = currentEmojis.filter(emoji => emoji.unicode).filter(emoji => hasZwj(emoji) && !supportedZwjEmojis.has(emoji.unicode)); // filter custom emoji\n\n\t\t\t\tif (zwjEmojisToCheck.length) {\n\t\t\t\t\t// render now, check their length later\n\t\t\t\t\trAF(() => checkZwjSupportAndUpdate(zwjEmojisToCheck));\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(1, currentEmojis = currentEmojis.filter(isZwjSupported));\n\n\t\t\t\t\trAF(() => {\n\t\t\t\t\t\t// Avoid Svelte doing an invalidation on the \"setter\" here.\n\t\t\t\t\t\t// At best the invalidation is useless, at worst it can cause infinite loops:\n\t\t\t\t\t\t// https://github.com/nolanlawson/emoji-picker-element/pull/180\n\t\t\t\t\t\t// https://github.com/sveltejs/svelte/issues/6521\n\t\t\t\t\t\t// Also note tabpanelElement can be null if the element is disconnected\n\t\t\t\t\t\t// immediately after connected, hence `|| {}`\n\t\t\t\t\t\t(tabpanelElement || {}).scrollTop = 0; // reset scroll top to 0 when emojis change\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, currentFavorites*/ 1026 | $$self.$$.dirty[1] & /*initialLoad*/ 4096) {\n\t\t\t{\n\t\t\t\t// consider initialLoad to be complete when the first tabpanel and favorites are rendered\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (\"production\" !== 'production' || false) {\n\t\t\t\t\tif (currentEmojis.length && currentFavorites.length && initialLoad) {\n\t\t\t\t\t\t$$invalidate(43, initialLoad = false);\n\t\t\t\t\t\trequestPostAnimationFrame(() => (void 0));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*searchMode, currentEmojis*/ 18 | $$self.$$.dirty[1] & /*customCategorySorting*/ 2048) {\n\t\t\t//\n\t\t\t// Derive currentEmojisWithCategories from currentEmojis. This is always done even if there\n\t\t\t// are no categories, because it's just easier to code the HTML this way.\n\t\t\t//\n\t\t\t{\n\t\t\t\tfunction calculateCurrentEmojisWithCategories() {\n\t\t\t\t\tif (searchMode) {\n\t\t\t\t\t\treturn [{ category: '', emojis: currentEmojis }];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst categoriesToEmoji = new Map();\n\n\t\t\t\t\tfor (const emoji of currentEmojis) {\n\t\t\t\t\t\tconst category = emoji.category || '';\n\t\t\t\t\t\tlet emojis = categoriesToEmoji.get(category);\n\n\t\t\t\t\t\tif (!emojis) {\n\t\t\t\t\t\t\temojis = [];\n\t\t\t\t\t\t\tcategoriesToEmoji.set(category, emojis);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\temojis.push(emoji);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [...categoriesToEmoji.entries()].map(([category, emojis]) => ({ category, emojis })).sort((a, b) => customCategorySorting(a.category, b.category));\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\t$$invalidate(15, currentEmojisWithCategories = calculateCurrentEmojisWithCategories());\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*activeSearchItem, currentEmojis*/ 34) {\n\t\t\t//\n\t\t\t// Handle active search item (i.e. pressing up or down while searching)\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(26, activeSearchItemId = activeSearchItem !== -1 && currentEmojis[activeSearchItem].id);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTonePickerExpanded, skinToneDropdown*/ 192) {\n\t\t\t// To make the animation nicer, change the z-index of the skintone picker button\n\t\t\t// *after* the animation has played. This makes it appear that the picker box\n\t\t\t// is expanding \"below\" the button\n\t\t\t{\n\t\t\t\tif (skinTonePickerExpanded) {\n\t\t\t\t\tskinToneDropdown.addEventListener(\n\t\t\t\t\t\t'transitionend',\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ once: true }\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = false); // eslint-disable-line no-unused-vars\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\ti18n,\n\t\tcurrentEmojis,\n\t\trawSearchText,\n\t\ttabpanelElement,\n\t\tsearchMode,\n\t\tactiveSearchItem,\n\t\tskinTonePickerExpanded,\n\t\tskinToneDropdown,\n\t\tcurrentSkinTone,\n\t\tskinTones,\n\t\tcurrentFavorites,\n\t\tcurrentGroupIndex,\n\t\tgroups$1,\n\t\tcurrentGroup,\n\t\tdatabaseLoaded,\n\t\tcurrentEmojisWithCategories,\n\t\trootElement,\n\t\tbaselineEmoji,\n\t\tmessage,\n\t\tskinTonePickerExpandedAfterAnimation,\n\t\tactiveSkinTone,\n\t\tskinToneButtonText,\n\t\tpickerStyle,\n\t\tskinToneButtonLabel,\n\t\tisRtl,\n\t\tscrollbarWidth,\n\t\tactiveSearchItemId,\n\t\tunicodeWithSkin,\n\t\tlabelWithSkin,\n\t\tcalculateEmojiGridStyle,\n\t\tonSearchKeydown,\n\t\tonNavClick,\n\t\tonNavKeydown,\n\t\tonEmojiClick,\n\t\tonSkinToneOptionsClick,\n\t\tonClickSkinToneButton,\n\t\tonSkinToneOptionsKeydown,\n\t\tonSkinToneOptionsKeyup,\n\t\tonSkinToneOptionsFocusOut,\n\t\tdatabase,\n\t\tskinToneEmoji,\n\t\tcustomEmoji,\n\t\tcustomCategorySorting,\n\t\tinitialLoad,\n\t\tsearchText,\n\t\tdefaultFavoriteEmojis,\n\t\tnumColumns,\n\t\tinput_input_handler,\n\t\tdiv3_binding,\n\t\tclick_handler,\n\t\tdiv10_binding,\n\t\tbutton1_binding,\n\t\tsection_binding\n\t];\n}\n\nclass Picker extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\n\t\tinit(\n\t\t\tthis,\n\t\t\toptions,\n\t\t\tinstance,\n\t\t\tcreate_fragment,\n\t\t\tsafe_not_equal,\n\t\t\t{\n\t\t\t\tskinToneEmoji: 40,\n\t\t\t\ti18n: 0,\n\t\t\t\tdatabase: 39,\n\t\t\t\tcustomEmoji: 41,\n\t\t\t\tcustomCategorySorting: 42\n\t\t\t},\n\t\t\tnull,\n\t\t\t[-1, -1, -1]\n\t\t);\n\t}\n}\n\nconst DEFAULT_DATA_SOURCE = 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json';\nconst DEFAULT_LOCALE = 'en';\n\nvar enI18n = {\n categoriesLabel: 'Categories',\n emojiUnsupportedMessage: 'Your browser does not support color emoji.',\n favoritesLabel: 'Favorites',\n loadingMessage: 'Loading…',\n networkErrorMessage: 'Could not load emoji.',\n regionLabel: 'Emoji picker',\n searchDescription: 'When search results are available, press up or down to select and enter to choose.',\n searchLabel: 'Search',\n searchResultsLabel: 'Search results',\n skinToneDescription: 'When expanded, press up or down to select and enter to choose.',\n skinToneLabel: 'Choose a skin tone (currently {skinTone})',\n skinTonesLabel: 'Skin tones',\n skinTones: [\n 'Default',\n 'Light',\n 'Medium-Light',\n 'Medium',\n 'Medium-Dark',\n 'Dark'\n ],\n categories: {\n custom: 'Custom',\n 'smileys-emotion': 'Smileys and emoticons',\n 'people-body': 'People and body',\n 'animals-nature': 'Animals and nature',\n 'food-drink': 'Food and drink',\n 'travel-places': 'Travel and places',\n activities: 'Activities',\n objects: 'Objects',\n symbols: 'Symbols',\n flags: 'Flags'\n }\n};\n\nconst PROPS = [\n 'customEmoji',\n 'customCategorySorting',\n 'database',\n 'dataSource',\n 'i18n',\n 'locale',\n 'skinToneEmoji'\n];\n\nclass PickerElement extends HTMLElement {\n constructor (props) {\n super();\n this.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = \":host{--emoji-size:1.375rem;--emoji-padding:0.5rem;--category-emoji-size:var(--emoji-size);--category-emoji-padding:var(--emoji-padding);--indicator-height:3px;--input-border-radius:0.5rem;--input-border-size:1px;--input-font-size:1rem;--input-line-height:1.5;--input-padding:0.25rem;--num-columns:8;--outline-size:2px;--border-size:1px;--skintone-border-radius:1rem;--category-font-size:1rem;display:flex;width:min-content;height:400px}:host,:host(.light){--background:#fff;--border-color:#e0e0e0;--indicator-color:#385ac1;--input-border-color:#999;--input-font-color:#111;--input-placeholder-color:#999;--outline-color:#999;--category-font-color:#111;--button-active-background:#e6e6e6;--button-hover-background:#d9d9d9}:host(.dark){--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}@media (prefers-color-scheme:dark){:host{--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}}:host([hidden]){display:none}button{margin:0;padding:0;border:0;background:0 0;box-shadow:none;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0}input{padding:0;margin:0;line-height:1.15;font-family:inherit}input[type=search]{-webkit-appearance:none}:focus{outline:var(--outline-color) solid var(--outline-size);outline-offset:calc(-1*var(--outline-size))}:host([data-js-focus-visible]) :focus:not([data-focus-visible-added]){outline:0}:focus:not(:focus-visible){outline:0}.hide-focus{outline:0}*{box-sizing:border-box}.picker{contain:content;display:flex;flex-direction:column;background:var(--background);border:var(--border-size) solid var(--border-color);width:100%;height:100%;overflow:hidden;--total-emoji-size:calc(var(--emoji-size) + (2 * var(--emoji-padding)));--total-category-emoji-size:calc(var(--category-emoji-size) + (2 * var(--category-emoji-padding)))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{opacity:0;pointer-events:none}.abs-pos{position:absolute;left:0;top:0}.gone{display:none!important}.skintone-button-wrapper,.skintone-list{background:var(--background);z-index:3}.skintone-button-wrapper.expanded{z-index:1}.skintone-list{position:absolute;inset-inline-end:0;top:0;z-index:2;overflow:visible;border-bottom:var(--border-size) solid var(--border-color);border-radius:0 0 var(--skintone-border-radius) var(--skintone-border-radius);will-change:transform;transition:transform .2s ease-in-out;transform-origin:center 0}@media (prefers-reduced-motion:reduce){.skintone-list{transition-duration:.001s}}@supports not (inset-inline-end:0){.skintone-list{right:0}}.skintone-list.no-animate{transition:none}.tabpanel{overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:transform;min-height:0;flex:1;contain:content}.emoji-menu{display:grid;grid-template-columns:repeat(var(--num-columns),var(--total-emoji-size));justify-content:space-around;align-items:flex-start;width:100%}.category{padding:var(--emoji-padding);font-size:var(--category-font-size);color:var(--category-font-color)}.custom-emoji,.emoji,button.emoji{height:var(--total-emoji-size);width:var(--total-emoji-size)}.emoji,button.emoji{font-size:var(--emoji-size);display:flex;align-items:center;justify-content:center;border-radius:100%;line-height:1;overflow:hidden;font-family:var(--font-family);cursor:pointer}@media (hover:hover) and (pointer:fine){.emoji:hover,button.emoji:hover{background:var(--button-hover-background)}}.emoji.active,.emoji:active,button.emoji.active,button.emoji:active{background:var(--button-active-background)}.custom-emoji{padding:var(--emoji-padding);object-fit:contain;pointer-events:none;background-repeat:no-repeat;background-position:center center;background-size:var(--emoji-size) var(--emoji-size)}.nav,.nav-button{align-items:center}.nav{display:grid;justify-content:space-between;contain:content}.nav-button{display:flex;justify-content:center}.nav-emoji{font-size:var(--category-emoji-size);width:var(--total-category-emoji-size);height:var(--total-category-emoji-size)}.indicator-wrapper{display:flex;border-bottom:1px solid var(--border-color)}.indicator{width:calc(100%/var(--num-groups));height:var(--indicator-height);opacity:var(--indicator-opacity);background-color:var(--indicator-color);will-change:transform,opacity;transition:opacity .1s linear,transform .25s ease-in-out}@media (prefers-reduced-motion:reduce){.indicator{will-change:opacity;transition:opacity .1s linear}}.pad-top,input.search{background:var(--background);width:100%}.pad-top{height:var(--emoji-padding);z-index:3}.search-row{display:flex;align-items:center;position:relative;padding-inline-start:var(--emoji-padding);padding-bottom:var(--emoji-padding)}.search-wrapper{flex:1;min-width:0}input.search{padding:var(--input-padding);border-radius:var(--input-border-radius);border:var(--input-border-size) solid var(--input-border-color);color:var(--input-font-color);font-size:var(--input-font-size);line-height:var(--input-line-height)}input.search::placeholder{color:var(--input-placeholder-color)}.favorites{display:flex;flex-direction:row;border-top:var(--border-size) solid var(--border-color);contain:content}.message{padding:var(--emoji-padding)}\";\n this.shadowRoot.appendChild(style);\n this._ctx = {\n // Set defaults\n locale: DEFAULT_LOCALE,\n dataSource: DEFAULT_DATA_SOURCE,\n skinToneEmoji: DEFAULT_SKIN_TONE_EMOJI,\n customCategorySorting: DEFAULT_CATEGORY_SORTING,\n customEmoji: null,\n i18n: enI18n,\n ...props\n };\n // Handle properties set before the element was upgraded\n for (const prop of PROPS) {\n if (prop !== 'database' && Object.prototype.hasOwnProperty.call(this, prop)) {\n this._ctx[prop] = this[prop];\n delete this[prop];\n }\n }\n this._dbFlush(); // wait for a flush before creating the db, in case the user calls e.g. a setter or setAttribute\n }\n\n connectedCallback () {\n this._cmp = new Picker({\n target: this.shadowRoot,\n props: this._ctx\n });\n }\n\n disconnectedCallback () {\n this._cmp.$destroy();\n this._cmp = undefined;\n\n const { database } = this._ctx;\n if (database) {\n database.close()\n // only happens if the database failed to load in the first place, so we don't care)\n .catch(err => console.error(err));\n }\n }\n\n static get observedAttributes () {\n return ['locale', 'data-source', 'skin-tone-emoji'] // complex objects aren't supported, also use kebab-case\n }\n\n attributeChangedCallback (attrName, oldValue, newValue) {\n // convert from kebab-case to camelcase\n // see https://github.com/sveltejs/svelte/issues/3852#issuecomment-665037015\n this._set(\n attrName.replace(/-([a-z])/g, (_, up) => up.toUpperCase()),\n newValue\n );\n }\n\n _set (prop, newValue) {\n this._ctx[prop] = newValue;\n if (this._cmp) {\n this._cmp.$set({ [prop]: newValue });\n }\n if (['locale', 'dataSource'].includes(prop)) {\n this._dbFlush();\n }\n }\n\n _dbCreate () {\n const { locale, dataSource, database } = this._ctx;\n // only create a new database if we really need to\n if (!database || database.locale !== locale || database.dataSource !== dataSource) {\n this._set('database', new Database({ locale, dataSource }));\n }\n }\n\n // Update the Database in one microtask if the locale/dataSource change. We do one microtask\n // so we don't create two Databases if e.g. both the locale and the dataSource change\n _dbFlush () {\n Promise.resolve().then(() => (\n this._dbCreate()\n ));\n }\n}\n\nconst definitions = {};\n\nfor (const prop of PROPS) {\n definitions[prop] = {\n get () {\n if (prop === 'database') {\n // in rare cases, the microtask may not be flushed yet, so we need to instantiate the DB\n // now if the user is asking for it\n this._dbCreate();\n }\n return this._ctx[prop]\n },\n set (val) {\n if (prop === 'database') {\n throw new Error('database is read-only')\n }\n this._set(prop, val);\n }\n };\n}\n\nObject.defineProperties(PickerElement.prototype, definitions);\n\n/* istanbul ignore else */\nif (!customElements.get('emoji-picker')) { // if already defined, do nothing (e.g. same script imported twice)\n customElements.define('emoji-picker', PickerElement);\n}\n\nexport { PickerElement as default };\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=2c0ab9be&\"\nimport script from \"./Loader.vue?vue&type=script&lang=js&\"\nexport * from \"./Loader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{\n\t\t'vac-box-search': _vm.showSearchBar,\n\t\t'vac-box-empty': !_vm.showSearchBar\n\t}},[(_vm.showSearch)?[(!_vm.loadingRooms && _vm.rooms.length)?_c('div',{staticClass:\"vac-icon-search\"},[_vm._t(\"search-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"search\"}})]})],2):_vm._e(),(!_vm.loadingRooms && _vm.rooms.length)?_c('input',{staticClass:\"vac-input\",attrs:{\"type\":\"search\",\"placeholder\":_vm.textMessages.SEARCH,\"autocomplete\":\"off\"},on:{\"input\":function($event){return _vm.$emit('search-room', $event)}}}):_vm._e()]:_vm._e(),(_vm.showAddRoom)?_c('div',{staticClass:\"vac-svg-button vac-add-icon\",on:{\"click\":function($event){return _vm.$emit('add-room')}}},[_vm._t(\"add-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"add\"}})]})],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"version\":\"1.1\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":(\"0 0 \" + _vm.size + \" \" + _vm.size)}},[_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path}}),(_vm.svgItem[_vm.name].path2)?_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path2}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SvgIcon.vue?vue&type=template&id=e01c0bf4&\"\nimport script from \"./SvgIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsSearch.vue?vue&type=template&id=1fc42a9b&\"\nimport script from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-container\"},[_vm._t(\"room-list-item\",function(){return [_vm._t(\"room-list-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_c('div',{staticClass:\"vac-name-container vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-title-container\"},[(_vm.userStatus)?_c('div',{staticClass:\"vac-state-circle\",class:{ 'vac-state-online': _vm.userStatus === 'online' }}):_vm._e(),_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.room.lastMessage)?_c('div',{staticClass:\"vac-text-date\"},[_vm._v(\" \"+_vm._s(_vm.room.lastMessage.timestamp)+\" \")]):_vm._e()]),_c('div',{staticClass:\"vac-text-last\",class:{\n\t\t\t\t\t'vac-message-new':\n\t\t\t\t\t\t_vm.room.lastMessage && _vm.room.lastMessage.new && !_vm.typingUsers\n\t\t\t\t}},[(_vm.isMessageCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.room.lastMessage.distributed\n\t\t\t\t\t\t\t\t\t? 'double-checkmark'\n\t\t\t\t\t\t\t\t\t: 'checkmark',\"param\":_vm.room.lastMessage.seen ? 'seen' : ''}})]},null,{ message: _vm.room.lastMessage })],2):_vm._e(),(_vm.room.lastMessage && !_vm.room.lastMessage.deleted && _vm.isAudio)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]}),_vm._v(\" \"+_vm._s(_vm.formattedDuration)+\" \")],2):(_vm.room.lastMessage)?_c('format-message',{attrs:{\"content\":_vm.getLastMessage,\"deleted\":!!_vm.room.lastMessage.deleted && !_vm.typingUsers,\"users\":_vm.room.users,\"linkify\":false,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"single-line\":true},scopedSlots:_vm._u([{key:\"deleted-icon\",fn:function(data){return [_vm._t(\"deleted-icon\",null,null,data)]}}],null,true)}):_vm._e(),(!_vm.room.lastMessage && _vm.typingUsers)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_vm._e(),_c('div',{staticClass:\"vac-room-options-container\"},[(_vm.room.unreadCount)?_c('div',{staticClass:\"vac-badge-counter vac-room-badge\"},[_vm._v(\" \"+_vm._s(_vm.room.unreadCount)+\" \")]):_vm._e(),_vm._t(\"room-list-options\",function(){return [(_vm.roomActions.length)?_c('div',{staticClass:\"vac-svg-button vac-list-room-options\",on:{\"click\":function($event){$event.stopPropagation();_vm.roomMenuOpened = _vm.room.roomId}}},[_vm._t(\"room-list-options-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"room\"}})]})],2):_vm._e(),(_vm.roomActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.roomMenuOpened === _vm.room.roomId)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeRoomMenu),expression:\"closeRoomMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.roomActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.roomActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]},null,{ room: _vm.room })],2)],1)])]},null,{ room: _vm.room })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-format-message-wrapper\",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:\"vac-format-container\"},[_c(message.url ? 'a' : 'span',{tag:\"component\",class:{\n\t\t\t\t\t'vac-text-ellipsis': _vm.singleLine,\n\t\t\t\t\t'vac-text-bold': message.bold,\n\t\t\t\t\t'vac-text-italic': _vm.deleted || message.italic,\n\t\t\t\t\t'vac-text-strike': message.strike,\n\t\t\t\t\t'vac-text-underline': message.underline,\n\t\t\t\t\t'vac-text-inline-code': !_vm.singleLine && message.inline,\n\t\t\t\t\t'vac-text-multiline-code': !_vm.singleLine && message.multiline,\n\t\t\t\t\t'vac-text-tag': !_vm.singleLine && !_vm.reply && message.tag\n\t\t\t\t},attrs:{\"href\":message.href,\"target\":message.href ? _vm.linkOptions.target : null,\"rel\":message.href ? _vm.linkOptions.rel : null},on:{\"click\":function($event){return _vm.openTag(message)}}},[_vm._t(\"deleted-icon\",function(){return [(_vm.deleted)?_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}}):_vm._e()]},null,{ deleted: _vm.deleted }),(message.url && message.image)?[_c('div',{staticClass:\"vac-image-link-container\"},[_c('div',{staticClass:\"vac-image-link\",style:({\n\t\t\t\t\t\t\t\t'background-image': (\"url('\" + (message.value) + \"')\"),\n\t\t\t\t\t\t\t\theight: message.height\n\t\t\t\t\t\t\t})})]),_c('div',{staticClass:\"vac-image-link-message\"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',[_vm._v(_vm._s(message.value))])]],2)],1)}),0):_c('div',[_vm._v(\" \"+_vm._s(_vm.formattedContent)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","const linkify = require('linkifyjs')\n// require('linkifyjs/plugins/hashtag')(linkify)\n\nexport default (text, doLinkify, textFormatting) => {\n\tconst typeMarkdown = {\n\t\tbold: textFormatting.bold,\n\t\titalic: textFormatting.italic,\n\t\tstrike: textFormatting.strike,\n\t\tunderline: textFormatting.underline,\n\t\tmultilineCode: textFormatting.multilineCode,\n\t\tinlineCode: textFormatting.inlineCode\n\t}\n\n\tconst pseudoMarkdown = {\n\t\t[typeMarkdown.bold]: {\n\t\t\tend: '\\\\' + typeMarkdown.bold,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'bold'\n\t\t},\n\t\t[typeMarkdown.italic]: {\n\t\t\tend: typeMarkdown.italic,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'italic'\n\t\t},\n\t\t[typeMarkdown.strike]: {\n\t\t\tend: typeMarkdown.strike,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'strike'\n\t\t},\n\t\t[typeMarkdown.underline]: {\n\t\t\tend: typeMarkdown.underline,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'underline'\n\t\t},\n\t\t[typeMarkdown.multilineCode]: {\n\t\t\tend: typeMarkdown.multilineCode,\n\t\t\tallowed_chars: '(.|\\n)',\n\t\t\ttype: 'multiline-code'\n\t\t},\n\t\t[typeMarkdown.inlineCode]: {\n\t\t\tend: typeMarkdown.inlineCode,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'inline-code'\n\t\t},\n\t\t'': {\n\t\t\tallowed_chars: '.',\n\t\t\tend: '',\n\t\t\ttype: 'tag'\n\t\t}\n\t}\n\n\tconst json = compileToJSON(text, pseudoMarkdown)\n\n\tconst html = compileToHTML(json, pseudoMarkdown)\n\n\tconst result = [].concat.apply([], html)\n\n\tif (doLinkify) linkifyResult(result)\n\n\treturn result\n}\n\nfunction compileToJSON(str, pseudoMarkdown) {\n\tlet result = []\n\tlet minIndexOf = -1\n\tlet minIndexOfKey = null\n\n\tlet links = linkify.find(str)\n\tlet minIndexFromLink = false\n\n\tif (links.length > 0) {\n\t\tminIndexOf = str.indexOf(links[0].value)\n\t\tminIndexFromLink = true\n\t}\n\n\tObject.keys(pseudoMarkdown).forEach(startingValue => {\n\t\tconst io = str.indexOf(startingValue)\n\t\tif (io >= 0 && (minIndexOf < 0 || io < minIndexOf)) {\n\t\t\tminIndexOf = io\n\t\t\tminIndexOfKey = startingValue\n\t\t\tminIndexFromLink = false\n\t\t}\n\t})\n\n\tif (minIndexFromLink && minIndexOfKey !== -1) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tlet strLink = str.substr(minIndexOf, links[0].value.length)\n\t\tlet strRight = str.substr(minIndexOf + links[0].value.length)\n\t\tresult.push(strLeft)\n\t\tresult.push(strLink)\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t}\n\n\tif (minIndexOfKey) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tconst char = minIndexOfKey\n\t\tlet strRight = str.substr(minIndexOf + char.length)\n\n\t\tif (str.replace(/\\s/g, '').length === char.length * 2) {\n\t\t\treturn [str]\n\t\t}\n\n\t\tconst match = strRight.match(\n\t\t\tnew RegExp(\n\t\t\t\t'^(' +\n\t\t\t\t\t(pseudoMarkdown[char].allowed_chars || '.') +\n\t\t\t\t\t'*' +\n\t\t\t\t\t(pseudoMarkdown[char].end ? '?' : '') +\n\t\t\t\t\t')' +\n\t\t\t\t\t(pseudoMarkdown[char].end\n\t\t\t\t\t\t? '(' + pseudoMarkdown[char].end + ')'\n\t\t\t\t\t\t: ''),\n\t\t\t\t'm'\n\t\t\t)\n\t\t)\n\t\tif (!match || !match[1]) {\n\t\t\tstrLeft = strLeft + char\n\t\t\tresult.push(strLeft)\n\t\t} else {\n\t\t\tif (strLeft) {\n\t\t\t\tresult.push(strLeft)\n\t\t\t}\n\t\t\tconst object = {\n\t\t\t\tstart: char,\n\t\t\t\tcontent: compileToJSON(match[1], pseudoMarkdown),\n\t\t\t\tend: match[2],\n\t\t\t\ttype: pseudoMarkdown[char].type\n\t\t\t}\n\t\t\tresult.push(object)\n\t\t\tstrRight = strRight.substr(match[0].length)\n\t\t}\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t} else {\n\t\tif (str) {\n\t\t\treturn [str]\n\t\t} else {\n\t\t\treturn []\n\t\t}\n\t}\n}\n\nfunction compileToHTML(json, pseudoMarkdown) {\n\tconst result = []\n\n\tjson.forEach(item => {\n\t\tif (typeof item === 'string') {\n\t\t\tresult.push({ types: [], value: item })\n\t\t} else {\n\t\t\tif (pseudoMarkdown[item.start]) {\n\t\t\t\tresult.push(parseContent(item))\n\t\t\t}\n\t\t}\n\t})\n\n\treturn result\n}\n\nfunction parseContent(item) {\n\tconst result = []\n\titerateContent(item, result, [])\n\treturn result\n}\n\nfunction iterateContent(item, result, types) {\n\titem.content.forEach(it => {\n\t\tif (typeof it === 'string') {\n\t\t\tresult.push({\n\t\t\t\ttypes: removeDuplicates(types.concat([item.type])),\n\t\t\t\tvalue: it\n\t\t\t})\n\t\t} else {\n\t\t\titerateContent(\n\t\t\t\tit,\n\t\t\t\tresult,\n\t\t\t\tremoveDuplicates([it.type].concat([item.type]).concat(types))\n\t\t\t)\n\t\t}\n\t})\n}\n\nfunction removeDuplicates(items) {\n\treturn [...new Set(items)]\n}\n\nfunction linkifyResult(array) {\n\tconst result = []\n\n\tarray.forEach(arr => {\n\t\tconst links = linkify.find(arr.value)\n\n\t\tif (links.length) {\n\t\t\tconst spaces = arr.value.replace(links[0].value, '')\n\t\t\tresult.push({ types: arr.types, value: spaces })\n\n\t\t\tarr.types = ['url'].concat(arr.types)\n\t\t\tarr.href = links[0].href\n\t\t\tarr.value = links[0].value\n\t\t}\n\n\t\tresult.push(arr)\n\t})\n\n\treturn result\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormatMessage.vue?vue&type=template&id=934b3d7e&\"\nimport script from \"./FormatMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./FormatMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (room, currentUserId, textMessages) => {\n\tif (room.typingUsers && room.typingUsers.length) {\n\t\tconst typingUsers = room.users.filter(user => {\n\t\t\tif (user._id === currentUserId) return\n\t\t\tif (room.typingUsers.indexOf(user._id) === -1) return\n\t\t\tif (user.status && user.status.state === 'offline') return\n\t\t\treturn true\n\t\t})\n\n\t\tif (!typingUsers.length) return\n\n\t\tif (room.users.length === 2) {\n\t\t\treturn textMessages.IS_TYPING\n\t\t} else {\n\t\t\treturn (\n\t\t\t\ttypingUsers.map(user => user.username).join(', ') +\n\t\t\t\t' ' +\n\t\t\t\ttextMessages.IS_TYPING\n\t\t\t)\n\t\t}\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomContent.vue?vue&type=template&id=6888cbad&\"\nimport script from \"./RoomContent.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (items, prop, val, startsWith = false) => {\n\tif (!val || val === '') return items\n\n\treturn items.filter(v => {\n\t\tif (startsWith) return formatString(v[prop]).startsWith(formatString(val))\n\t\treturn formatString(v[prop]).includes(formatString(val))\n\t})\n}\n\nfunction formatString(string) {\n\treturn string\n\t\t.toLowerCase()\n\t\t.normalize('NFD')\n\t\t.replace(/[\\u0300-\\u036f]/g, '')\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsList.vue?vue&type=template&id=e9cbf0d4&\"\nimport script from \"./RoomsList.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isMobile && !_vm.showRoomsList) || !_vm.isMobile || _vm.singleRoom),expression:\"(isMobile && !showRoomsList) || !isMobile || singleRoom\"}],staticClass:\"vac-col-messages\",on:{\"touchstart\":_vm.touchStart}},[(_vm.showNoRoom)?_vm._t(\"no-room-selected\",function(){return [_c('div',{staticClass:\"vac-container-center vac-room-empty\"},[_c('div',[_vm._v(_vm._s(_vm.textMessages.ROOM_EMPTY))])])]}):_c('room-header',{attrs:{\"current-user-id\":_vm.currentUserId,\"text-messages\":_vm.textMessages,\"single-room\":_vm.singleRoom,\"show-rooms-list\":_vm.showRoomsList,\"is-mobile\":_vm.isMobile,\"room-info-enabled\":_vm.roomInfoEnabled,\"menu-actions\":_vm.menuActions,\"room\":_vm.room,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"message-selection-actions\":_vm.messageSelectionActions,\"selected-messages-total\":_vm.selectedMessages.length},on:{\"toggle-rooms-list\":function($event){return _vm.$emit('toggle-rooms-list')},\"room-info\":function($event){return _vm.$emit('room-info')},\"menu-action-handler\":function($event){return _vm.$emit('menu-action-handler', $event)},\"message-selection-action-handler\":_vm.messageSelectionActionHandler,\"cancel-message-selection\":function($event){_vm.messageSelectionEnabled = false}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{ref:\"scrollContainer\",staticClass:\"vac-container-scroll\",attrs:{\"id\":\"messages-list\"},on:{\"scroll\":_vm.onContainerScroll}},[_c('loader',{attrs:{\"show\":_vm.loadingMessages},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-messages-container\"},[_c('div',{class:{ 'vac-messages-hidden': _vm.loadingMessages }},[_c('transition',{attrs:{\"name\":\"vac-fade-message\"}},[_c('div',[(_vm.showNoMessages)?_c('div',{staticClass:\"vac-text-started\"},[_vm._t(\"messages-empty\",function(){return [_vm._v(\" \"+_vm._s(_vm.textMessages.MESSAGES_EMPTY)+\" \")]})],2):_vm._e(),(_vm.showMessagesStarted)?_c('div',{staticClass:\"vac-text-started\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.CONVERSATION_STARTED)+\" \"+_vm._s(_vm.messages[0].date)+\" \")]):_vm._e()])]),(_vm.messages.length && !_vm.messagesLoaded)?_c('div',{attrs:{\"id\":\"infinite-loader-messages\"}},[_c('loader',{attrs:{\"show\":true,\"infinite\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e(),_c('transition-group',{key:_vm.roomId,attrs:{\"name\":\"vac-fade-message\",\"tag\":\"span\"}},_vm._l((_vm.messages),function(m,i){return _c('div',{key:m.indexId || m._id},[_c('room-message',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":m,\"index\":i,\"messages\":_vm.messages,\"edited-message-id\":_vm.editedMessageId,\"message-actions\":_vm.messageActions,\"room-users\":_vm.room.users,\"text-messages\":_vm.textMessages,\"new-messages\":_vm.newMessages,\"show-reaction-emojis\":_vm.showReactionEmojis,\"show-new-messages-divider\":_vm.showNewMessagesDivider,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"username-options\":_vm.usernameOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"selected-messages\":_vm.selectedMessages},on:{\"message-added\":_vm.onMessageAdded,\"message-action-handler\":_vm.messageActionHandler,\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag,\"open-failed-message\":function($event){return _vm.$emit('open-failed-message', $event)},\"send-message-reaction\":_vm.sendMessageReaction,\"select-message\":_vm.selectMessage,\"unselect-message\":_vm.unselectMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),0)],1)])],1),(!_vm.loadingMessages)?_c('div',[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollIcon)?_c('div',{staticClass:\"vac-icon-scroll\",on:{\"click\":_vm.scrollToBottom}},[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollMessagesCount)?_c('div',{staticClass:\"vac-badge-counter vac-messages-count\"},[_vm._v(\" \"+_vm._s(_vm.scrollMessagesCount)+\" \")]):_vm._e()]),_vm._t(\"scroll-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"scroll\"}})]})],2):_vm._e()])],1):_vm._e(),_c('room-footer',{attrs:{\"room\":_vm.room,\"room-id\":_vm.roomId,\"room-message\":_vm.roomMessage,\"text-messages\":_vm.textMessages,\"show-send-icon\":_vm.showSendIcon,\"show-files\":_vm.showFiles,\"show-audio\":_vm.showAudio,\"show-emojis\":_vm.showEmojis,\"show-footer\":_vm.showFooter,\"accepted-files\":_vm.acceptedFiles,\"textarea-action-enabled\":_vm.textareaActionEnabled,\"user-tags-enabled\":_vm.userTagsEnabled,\"emojis-suggestion-enabled\":_vm.emojisSuggestionEnabled,\"templates-text\":_vm.templatesText,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"audio-bit-rate\":_vm.audioBitRate,\"audio-sample-rate\":_vm.audioSampleRate,\"init-reply-message\":_vm.initReplyMessage,\"init-edit-message\":_vm.initEditMessage},on:{\"update-edited-message-id\":function($event){_vm.editedMessageId = $event},\"edit-message\":function($event){return _vm.$emit('edit-message', $event)},\"send-message\":function($event){return _vm.$emit('send-message', $event)},\"typing-message\":function($event){return _vm.$emit('typing-message', $event)},\"textarea-action-handler\":function($event){return _vm.$emit('textarea-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-header vac-app-border-b\"},[_vm._t(\"room-header\",function(){return [_c('div',{staticClass:\"vac-room-wrapper\"},[_c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageSelectionEnabled)?_c('div',{staticClass:\"vac-room-selection\"},[_vm._l((_vm.messageSelectionActions),function(action){return _c('div',{key:action.name,attrs:{\"id\":action.name}},[_c('div',{staticClass:\"vac-selection-button\",on:{\"click\":function($event){return _vm.messageSelectionActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \"),_c('span',{staticClass:\"vac-selection-button-count\"},[_vm._v(\" \"+_vm._s(_vm.selectedMessagesTotal)+\" \")])])])}),_c('div',{staticClass:\"vac-selection-cancel vac-item-clickable\",on:{\"click\":function($event){return _vm.$emit('cancel-message-selection')}}},[_vm._v(\" \"+_vm._s(_vm.textMessages.CANCEL_SELECT_MESSAGE)+\" \")])],2):_vm._e()]),(!_vm.messageSelectionEnabled && _vm.messageSelectionAnimationEnded)?[(!_vm.singleRoom)?_c('div',{staticClass:\"vac-svg-button vac-toggle-button\",class:{ 'vac-rotate-icon-init': !_vm.isMobile, 'vac-rotate-icon': !_vm.showRoomsList && !_vm.isMobile },on:{\"click\":function($event){return _vm.$emit('toggle-rooms-list')}}},[_vm._t(\"toggle-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"toggle\"}})]})],2):_vm._e(),_c('div',{staticClass:\"vac-info-wrapper\",class:{ 'vac-item-clickable': _vm.roomInfoEnabled },on:{\"click\":function($event){return _vm.$emit('room-info')}}},[_vm._t(\"room-header-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_vm._t(\"room-header-info\",function(){return [_c('div',{staticClass:\"vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.typingUsers)?_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.userStatus)+\" \")])])]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2),(_vm.room.roomId)?_vm._t(\"room-options\",function(){return [(_vm.menuActions.length)?_c('div',{staticClass:\"vac-svg-button vac-room-options\",on:{\"click\":function($event){_vm.menuOpened = !_vm.menuOpened}}},[_vm._t(\"menu-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"menu\"}})]})],2):_vm._e(),(_vm.menuActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.menuOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.menuActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.menuActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]}):_vm._e()]:_vm._e()],2)]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\t\t\t\n\t\t\n\t\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomHeader.vue?vue&type=template&id=938fbc28&\"\nimport script from \"./RoomHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(Object.keys(_vm.room).length && _vm.showFooter),expression:\"Object.keys(room).length && showFooter\"}],staticClass:\"vac-room-footer\",class:{\n\t\t'vac-app-box-shadow': _vm.shadowFooter\n\t},attrs:{\"id\":\"room-footer\"}},[_c('room-emojis',{attrs:{\"filtered-emojis\":_vm.filteredEmojis,\"select-item\":_vm.selectEmojiItem,\"active-up-or-down\":_vm.activeUpOrDownEmojis},on:{\"select-emoji\":function($event){return _vm.selectEmoji($event)},\"activate-item\":function($event){_vm.activeUpOrDownEmojis = 0}}}),_c('room-users-tag',{attrs:{\"filtered-users-tag\":_vm.filteredUsersTag,\"select-item\":_vm.selectUsersTagItem,\"active-up-or-down\":_vm.activeUpOrDownUsersTag},on:{\"select-user-tag\":function($event){return _vm.selectUserTag($event)},\"activate-item\":function($event){_vm.activeUpOrDownUsersTag = 0}}}),_c('room-templates-text',{attrs:{\"filtered-templates-text\":_vm.filteredTemplatesText,\"select-item\":_vm.selectTemplatesTextItem,\"active-up-or-down\":_vm.activeUpOrDownTemplatesText},on:{\"select-template-text\":function($event){return _vm.selectTemplateText($event)},\"activate-item\":function($event){_vm.activeUpOrDownTemplatesText = 0}}}),_c('room-message-reply',{attrs:{\"room\":_vm.room,\"message-reply\":_vm.messageReply,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('room-files',{attrs:{\"files\":_vm.files},on:{\"remove-file\":_vm.removeFile,\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-box-footer\",class:{ 'vac-box-footer-border': !_vm.files.length }},[(_vm.showAudio && !_vm.files.length)?_c('div',{staticClass:\"vac-icon-textarea-left\"},[(_vm.isRecording)?[_c('div',{staticClass:\"vac-svg-button vac-icon-audio-stop\",on:{\"click\":_vm.stopRecorder}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2),_c('div',{staticClass:\"vac-dot-audio-record\"}),_c('div',{staticClass:\"vac-dot-audio-record-time\"},[_vm._v(\" \"+_vm._s(_vm.recordedTime)+\" \")]),_c('div',{staticClass:\"vac-svg-button vac-icon-audio-confirm\",on:{\"click\":function($event){return _vm.toggleRecorder(false)}}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"checkmark\"}})]})],2)]:_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.toggleRecorder(true)}}},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]})],2)],2):_vm._e(),_c('textarea',{ref:\"roomTextarea\",staticClass:\"vac-textarea\",class:{\n\t\t\t\t'vac-textarea-outline': _vm.editedMessage._id\n\t\t\t},style:({\n\t\t\t\t'min-height': \"20px\",\n\t\t\t\t'padding-left': \"12px\"\n\t\t\t}),attrs:{\"id\":\"roomTextarea\",\"placeholder\":_vm.textMessages.TYPE_MESSAGE},on:{\"input\":_vm.onChangeInput,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.escapeTextarea.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.updateActiveUpOrDown(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.updateActiveUpOrDown(1)}],\"paste\":_vm.onPasteImage}}),_c('div',{staticClass:\"vac-icon-textarea\"},[(_vm.editedMessage._id)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.resetMessage}},[_vm._t(\"edit-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2):_vm._e(),(_vm.showEmojis)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(function () { return (_vm.emojiOpened = false); }),expression:\"() => (emojiOpened = false)\"}]},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{attrs:{\"emoji-opened\":_vm.emojiOpened,\"position-top\":true},on:{\"add-emoji\":_vm.addEmoji,\"open-emoji\":function($event){_vm.emojiOpened = $event}},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.addEmoji},{ emojiOpened: _vm.emojiOpened })],2):_vm._e(),(_vm.showFiles)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.launchFilePicker}},[_vm._t(\"paperclip-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"paperclip\"}})]})],2):_vm._e(),(_vm.textareaActionEnabled)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.textareaActionHandler}},[_vm._t(\"custom-action-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"deleted\"}})]})],2):_vm._e(),(_vm.showFiles)?_c('input',{ref:\"file\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\",\"accept\":_vm.acceptedFiles},on:{\"change\":function($event){return _vm.onFileChange($event.target.files)}}}):_vm._e(),(_vm.showSendIcon)?_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-send-disabled': _vm.isMessageEmpty },on:{\"click\":_vm.sendMessage}},[_vm._t(\"send-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"send\",\"param\":_vm.isMessageEmpty || _vm.isFileLoading ? 'disabled' : ''}})]})],2):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-emoji-wrapper\"},[_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{\"click\":_vm.openEmoji}},[_vm._t(\"emoji-picker-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"emoji\",\"param\":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{\"name\":\"vac-slide-up\",\"appear\":\"\"}},[_c('div',{staticClass:\"vac-emoji-picker\",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({\n\t\t\t\t\theight: (_vm.emojiPickerHeight + \"px\"),\n\t\t\t\t\ttop: _vm.positionTop ? _vm.emojiPickerHeight : (_vm.emojiPickerTop + \"px\"),\n\t\t\t\t\tright: _vm.emojiPickerRight,\n\t\t\t\t\tdisplay: _vm.emojiPickerTop || !_vm.emojiReaction ? 'initial' : 'none'\n\t\t\t\t})},[(_vm.emojiOpened)?_c('emoji-picker',{ref:\"emojiPicker\"}):_vm._e()],1)])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmojiPickerContainer.vue?vue&type=template&id=4b3cfd82&\"\nimport script from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.files.length)?_c('div',{staticClass:\"vac-room-files-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-files-box\"},_vm._l((_vm.files),function(file,i){return _c('div',{key:i},[_c('room-file',{attrs:{\"file\":file,\"index\":i},on:{\"remove-file\":function($event){return _vm.$emit('remove-file', $event)}}})],1)}),0),_c('div',{staticClass:\"vac-icon-close\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-file-container\"},[_c('loader',{attrs:{\"show\":_vm.file.loading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-svg-button vac-icon-remove\",on:{\"click\":function($event){return _vm.$emit('remove-file', _vm.index)}}},[_vm._t(\"image-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close\",\"param\":\"image\"}})]})],2),(_vm.isImage)?_c('div',{staticClass:\"vac-message-image\",class:{ 'vac-blur-loading': _vm.file.loading },style:({\n\t\t\t'background-image': (\"url('\" + (_vm.file.localUrl || _vm.file.url) + \"')\")\n\t\t})}):(_vm.isVideo)?_c('video',{class:{ 'vac-blur-loading': _vm.file.loading },attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.localUrl || _vm.file.url}})]):_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-blur-loading': _vm.file.loading }},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.file.name)+\" \")]),(_vm.file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.file.extension)+\" \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFile.vue?vue&type=template&id=c0a62836&\"\nimport script from \"./RoomFile.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFiles.vue?vue&type=template&id=60413016&\"\nimport script from \"./RoomFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageReply)?_c('div',{staticClass:\"vac-reply-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-reply-box\"},[_c('div',{staticClass:\"vac-reply-info\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.messageReply.username)+\" \")]),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.messageReply.content,\"users\":_vm.room.users,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)]),(_vm.isImage)?_c('img',{staticClass:\"vac-image-reply\",attrs:{\"src\":_vm.firstFile.url}}):(_vm.isVideo)?_c('video',{staticClass:\"vac-image-reply\",attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})]):(_vm.isAudio)?_c('audio-player',{staticClass:\"vac-audio-reply\",attrs:{\"src\":_vm.firstFile.url},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-image-reply vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"vac-icon-reply\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"vac-audio-player\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.playback}},[(_vm.isPlaying)?_vm._t(\"audio-pause-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-pause\"}})]}):_vm._t(\"audio-play-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-play\"}})]})],2),_c('audio-control',{attrs:{\"percentage\":_vm.progress,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"change-linehead\":_vm.onUpdateProgress,\"hover-audio-progress\":function($event){return _vm.$emit('hover-audio-progress', $event)}}}),_c('audio',{attrs:{\"id\":_vm.playerUniqId,\"src\":_vm.audioSource}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"progress\",staticClass:\"vac-player-bar\",on:{\"mousedown\":_vm.onMouseDown,\"mouseover\":function($event){return _vm.$emit('hover-audio-progress', true)},\"mouseout\":function($event){return _vm.$emit('hover-audio-progress', false)}}},[_c('div',{staticClass:\"vac-player-progress\"},[_c('div',{staticClass:\"vac-line-container\"},[_c('div',{staticClass:\"vac-line-progress\",style:({ width: (_vm.percentage + \"%\") })}),_c('div',{staticClass:\"vac-line-dot\",class:{ 'vac-line-dot__active': _vm.isMouseDown },style:({ left: (_vm.percentage + \"%\") })})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=1721db79&\"\nimport script from \"./AudioControl.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioControl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioPlayer.vue?vue&type=template&id=d8b85268&\"\nimport script from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessageReply.vue?vue&type=template&id=86b41b08&\"\nimport script from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredUsersTag.length)?_c('div',{staticClass:\"vac-tags-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredUsersTag),function(user,index){return _c('div',{key:user._id,staticClass:\"vac-tags-box\",class:{ 'vac-tags-box-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-user-tag', user)}}},[_c('div',{staticClass:\"vac-tags-info\"},[(user.avatar)?_c('div',{staticClass:\"vac-avatar vac-tags-avatar\",style:({ 'background-image': (\"url('\" + (user.avatar) + \"')\") })}):_vm._e(),_c('div',{staticClass:\"vac-tags-username\"},[_vm._v(\" \"+_vm._s(user.username)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomUsersTag.vue?vue&type=template&id=082c6732&\"\nimport script from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredEmojis.length)?_c('div',{staticClass:\"vac-emojis-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredEmojis),function(emoji,index){return _c('div',{key:emoji,staticClass:\"vac-emoji-element\",class:{ 'vac-emoji-element-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-emoji', emoji)}}},[_vm._v(\" \"+_vm._s(emoji)+\" \")])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomEmojis.vue?vue&type=template&id=b6026542&\"\nimport script from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredTemplatesText.length)?_c('div',{staticClass:\"vac-template-container vac-app-box-shadow\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredTemplatesText),function(template,index){return _c('div',{key:index,staticClass:\"vac-template-box\",class:{ 'vac-template-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-template-text', template)}}},[_c('div',{staticClass:\"vac-template-info\"},[_c('div',{staticClass:\"vac-template-tag\"},[_vm._v(\" /\"+_vm._s(template.tag)+\" \")]),_c('div',{staticClass:\"vac-template-text\"},[_vm._v(\" \"+_vm._s(template.text)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomTemplatesText.vue?vue&type=template&id=113f1c86&\"\nimport script from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nlet lamejs\ntry {\n\tlamejs = require('lamejs')\n} catch (_) {\n\tlamejs = { missing: true }\n}\n\nconst { Mp3Encoder } = lamejs\n\nexport default class {\n\tconstructor(config) {\n\t\tif (lamejs.missing) {\n\t\t\tthrow new Error(\n\t\t\t\t'You must add lamejs in your dependencies to use the audio recorder. Please run \"npm install lamejs --save\"'\n\t\t\t)\n\t\t}\n\n\t\tthis.bitRate = config.bitRate\n\t\tthis.sampleRate = config.sampleRate\n\t\tthis.dataBuffer = []\n\t\tthis.encoder = new Mp3Encoder(1, this.sampleRate, this.bitRate)\n\t}\n\n\tencode(arrayBuffer) {\n\t\tconst maxSamples = 1152\n\t\tconst samples = this._convertBuffer(arrayBuffer)\n\t\tlet remaining = samples.length\n\n\t\tfor (let i = 0; remaining >= 0; i += maxSamples) {\n\t\t\tconst left = samples.subarray(i, i + maxSamples)\n\t\t\tconst buffer = this.encoder.encodeBuffer(left)\n\t\t\tthis.dataBuffer.push(new Int8Array(buffer))\n\t\t\tremaining -= maxSamples\n\t\t}\n\t}\n\n\tfinish() {\n\t\tthis.dataBuffer.push(this.encoder.flush())\n\t\tconst blob = new Blob(this.dataBuffer, { type: 'audio/mp3' })\n\t\tthis.dataBuffer = []\n\n\t\treturn {\n\t\t\tid: Date.now(),\n\t\t\tblob: blob,\n\t\t\turl: URL.createObjectURL(blob)\n\t\t}\n\t}\n\n\t_floatTo16BitPCM(input, output) {\n\t\tfor (let i = 0; i < input.length; i++) {\n\t\t\tconst s = Math.max(-1, Math.min(1, input[i]))\n\t\t\toutput[i] = s < 0 ? s * 0x8000 : s * 0x7fff\n\t\t}\n\t}\n\n\t_convertBuffer(arrayBuffer) {\n\t\tconst data = new Float32Array(arrayBuffer)\n\t\tconst out = new Int16Array(arrayBuffer.length)\n\t\tthis._floatTo16BitPCM(data, out)\n\t\treturn out\n\t}\n}\n","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nimport Mp3Encoder from './mp3-encoder'\n\nexport default class {\n\tconstructor(options = {}) {\n\t\tthis.beforeRecording = options.beforeRecording\n\t\tthis.pauseRecording = options.pauseRecording\n\t\tthis.afterRecording = options.afterRecording\n\t\tthis.micFailed = options.micFailed\n\n\t\tthis.encoderOptions = {\n\t\t\tbitRate: options.bitRate,\n\t\t\tsampleRate: options.sampleRate\n\t\t}\n\n\t\tthis.bufferSize = 4096\n\t\tthis.records = []\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.duration = 0\n\t\tthis.volume = 0\n\n\t\tthis._duration = 0\n\t}\n\n\tstart() {\n\t\tconst constraints = {\n\t\t\tvideo: false,\n\t\t\taudio: {\n\t\t\t\tchannelCount: 1,\n\t\t\t\techoCancellation: false\n\t\t\t}\n\t\t}\n\n\t\tthis.beforeRecording && this.beforeRecording('start recording')\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia(constraints)\n\t\t\t.then(this._micCaptured.bind(this))\n\t\t\t.catch(this._micError.bind(this))\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = true\n\n\t\tif (!this.lameEncoder) {\n\t\t\tthis.lameEncoder = new Mp3Encoder(this.encoderOptions)\n\t\t}\n\t}\n\n\tstop() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\t\tthis.context.close()\n\n\t\tlet record = null\n\n\t\trecord = this.lameEncoder.finish()\n\n\t\trecord.duration = this.duration\n\t\tthis.records.push(record)\n\n\t\tthis._duration = 0\n\t\tthis.duration = 0\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.afterRecording && this.afterRecording(record)\n\t}\n\n\tpause() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\n\t\tthis._duration = this.duration\n\t\tthis.isPause = true\n\n\t\tthis.pauseRecording && this.pauseRecording('pause recording')\n\t}\n\n\t_micCaptured(stream) {\n\t\tthis.context = new (window.AudioContext || window.webkitAudioContext)()\n\t\tthis.duration = this._duration\n\t\tthis.input = this.context.createMediaStreamSource(stream)\n\t\tthis.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1)\n\t\tthis.stream = stream\n\n\t\tthis.processor.onaudioprocess = ev => {\n\t\t\tconst sample = ev.inputBuffer.getChannelData(0)\n\t\t\tlet sum = 0.0\n\n\t\t\tif (this.lameEncoder) {\n\t\t\t\tthis.lameEncoder.encode(sample)\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < sample.length; ++i) {\n\t\t\t\tsum += sample[i] * sample[i]\n\t\t\t}\n\n\t\t\tthis.duration =\n\t\t\t\tparseFloat(this._duration) +\n\t\t\t\tparseFloat(this.context.currentTime.toFixed(2))\n\t\t\tthis.volume = Math.sqrt(sum / sample.length).toFixed(2)\n\t\t}\n\n\t\tthis.input.connect(this.processor)\n\t\tthis.processor.connect(this.context.destination)\n\t}\n\n\t_micError(error) {\n\t\tthis.micFailed && this.micFailed(error)\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFooter.vue?vue&type=template&id=457f6483&\"\nimport script from \"./RoomFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFooter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"message\",staticClass:\"vac-message-wrapper\",attrs:{\"id\":_vm.message._id}},[(_vm.showDate)?_c('div',{staticClass:\"vac-card-info vac-card-date\"},[_vm._v(\" \"+_vm._s(_vm.message.date)+\" \")]):_vm._e(),(_vm.newMessage._id === _vm.message._id)?_c('div',{staticClass:\"vac-line-new\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.NEW_MESSAGES)+\" \")]):_vm._e(),(_vm.message.system)?_c('div',{staticClass:\"vac-card-info vac-card-system\"},[_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_c('div',{staticClass:\"vac-message-box\",class:{ 'vac-offset-current': _vm.message.senderId === _vm.currentUserId },on:{\"click\":_vm.selectMessage}},[_vm._t(\"message\",function(){return [(_vm.message.avatar && _vm.message.senderId !== _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasSenderUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-offset\"}):_vm._e(),_c('div',{staticClass:\"vac-message-container\",class:{\n\t\t\t\t\t'vac-message-container-offset': _vm.messageOffset\n\t\t\t\t}},[_c('div',{staticClass:\"vac-message-card\",class:{\n\t\t\t\t\t\t'vac-message-highlight': _vm.isMessageHover,\n\t\t\t\t\t\t'vac-message-current': _vm.message.senderId === _vm.currentUserId,\n\t\t\t\t\t\t'vac-message-deleted': _vm.message.deleted,\n\t\t\t\t\t\t'vac-item-clickable': _vm.messageSelectionEnabled,\n\t\t\t\t\t\t'vac-message-selected': _vm.isMessageSelected\n\t\t\t\t\t},on:{\"mouseover\":_vm.onHoverMessage,\"mouseleave\":_vm.onLeaveMessage}},[(_vm.showUsername)?_c('div',{staticClass:\"vac-text-username\",class:{\n\t\t\t\t\t\t\t'vac-username-reply': !_vm.message.deleted && _vm.message.replyMessage\n\t\t\t\t\t\t}},[_c('span',[_vm._v(_vm._s(_vm.message.username))])]):_vm._e(),(!_vm.message.deleted && _vm.message.replyMessage)?_c('message-reply',{attrs:{\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),(_vm.message.deleted)?_c('div',[_vm._t(\"deleted-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}})]}),_c('span',[_vm._v(_vm._s(_vm.textMessages.MESSAGE_DELETED))])],2):(!_vm.message.files || !_vm.message.files.length)?_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(!_vm.isAudio || _vm.message.files.length > 1)?_c('message-files',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):[_c('audio-player',{attrs:{\"message-id\":_vm.message._id,\"src\":_vm.message.files[0].url,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.message.deleted)?_c('div',{staticClass:\"vac-progress-time\"},[_vm._v(\" \"+_vm._s(_vm.progressTime)+\" \")]):_vm._e()],_c('div',{staticClass:\"vac-text-timestamp\"},[(_vm.message.edited && !_vm.message.deleted)?_c('div',{staticClass:\"vac-icon-edited\"},[_vm._t(\"pencil-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"pencil\"}})]})],2):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.message.timestamp))]),(_vm.isCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.message.distributed ? 'double-checkmark' : 'checkmark',\"param\":_vm.message.seen ? 'seen' : ''}})]},null,{ message: _vm.message })],2):_vm._e()]),_c('message-actions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"message-actions\":_vm.messageActions,\"show-reaction-emojis\":_vm.showReactionEmojis,\"message-hover\":_vm.messageHover,\"hover-message-id\":_vm.hoverMessageId,\"hover-audio-progress\":_vm.hoverAudioProgress},on:{\"update-message-hover\":function($event){_vm.messageHover = $event},\"update-options-opened\":function($event){_vm.optionsOpened = $event},\"update-emoji-opened\":function($event){_vm.emojiOpened = $event},\"message-action-handler\":_vm.messageActionHandler,\"send-message-reaction\":_vm.sendMessageReaction},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2),_c('message-reactions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message},on:{\"send-message-reaction\":_vm.sendMessageReaction}})],1),_vm._t(\"message-failure\",function(){return [(_vm.message.failure && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-failure-container vac-svg-button\",class:{\n\t\t\t\t\t\t'vac-failure-container-avatar':\n\t\t\t\t\t\t\t_vm.message.avatar && _vm.message.senderId === _vm.currentUserId\n\t\t\t\t\t},on:{\"click\":function($event){return _vm.$emit('open-failed-message', { message: _vm.message })}}},[_c('div',{staticClass:\"vac-failure-text\"},[_vm._v(\" ! \")])]):_vm._e()]},null,{ message: _vm.message }),(_vm.message.avatar && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar vac-avatar-current\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasCurrentUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-current-offset\"}):_vm._e()]},null,{ message: _vm.message })],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-reply-message\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.replyUsername)+\" \")]),(_vm.isImage)?_c('div',{staticClass:\"vac-image-reply-container\"},[_c('div',{staticClass:\"vac-message-image vac-message-image-reply\",style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.firstFile.url) + \"')\")\n\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-reply-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})])]):(_vm.isAudio)?_c('audio-player',{attrs:{\"src\":_vm.firstFile.url},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.message.replyMessage.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReply.vue?vue&type=template&id=514045b4&\"\nimport script from \"./MessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-files-container\"},[_vm._l((_vm.imageVideoFiles),function(file,idx){return _c('div',{key:idx + 'iv'},[_c('message-file',{attrs:{\"file\":file,\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"index\":idx,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":function($event){return _vm.$emit('open-file', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_vm._l((_vm.otherFiles),function(file,idx){return _c('div',{key:idx + 'a',staticClass:\"vac-file-wrapper\"},[(file.progress >= 0)?_c('progress-bar',{style:({ top: '44px' }),attrs:{\"progress\":file.progress}}):_vm._e(),_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-file-container-progress': file.progress >= 0 },on:{\"click\":function($event){return _vm.openFile($event, file, 'download')}}},[_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(file.name)+\" \")]),(file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(file.extension)+\" \")]):_vm._e()])],1)}),_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":function($event){return _vm.$emit('open-user-tag', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-fade-spinner\",\"appear\":\"\"}},[_c('div',{ref:\"progress\",staticClass:\"vac-progress-wrapper\"},[_c('svg',{attrs:{\"height\":_vm.radius * 2,\"width\":_vm.radius * 2}},[_c('circle',{style:({\n\t\t\t\t\tstrokeDashoffset: _vm.strokeDashoffset,\n\t\t\t\t\tstrokeLinecap: 'round'\n\t\t\t\t}),attrs:{\"stroke\":\"rgba(255, 255, 255, 0.7)\",\"stroke-dasharray\":_vm.circumference + ' ' + _vm.circumference,\"stroke-width\":_vm.stroke,\"fill\":\"transparent\",\"r\":_vm.normalizedRadius,\"cx\":_vm.radius,\"cy\":_vm.radius}})]),_c('div',{staticClass:\"vac-progress-content\",style:({\n\t\t\t\theight: _vm.radius * 2 - 19 + 'px',\n\t\t\t\twidth: _vm.radius * 2 - 19 + 'px'\n\t\t\t})},[_c('div',{staticClass:\"vac-progress-text\"},[_vm._v(\" \"+_vm._s(_vm.progress)),_c('span',{staticClass:\"vac-progress-pourcent\"},[_vm._v(\"%\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressBar.vue?vue&type=template&id=561521ed&\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-file-container\"},[(_vm.isImage)?_c('div',{ref:'imageRef' + _vm.index,staticClass:\"vac-message-image-container\",on:{\"mouseover\":function($event){_vm.imageHover = true},\"mouseleave\":function($event){_vm.imageHover = false},\"click\":function($event){return _vm.openFile($event, 'preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"progress\":_vm.file.progress}}):_c('loader',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"show\":_vm.isImageLoading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-message-image\",class:{\n\t\t\t\t'vac-blur-loading':\n\t\t\t\t\t_vm.isImageLoading && _vm.message.senderId === _vm.currentUserId\n\t\t\t},style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.isImageLoading ? _vm.file.preview || _vm.file.url : _vm.file.url) + \"')\"),\n\t\t\t\t'max-height': ((_vm.imageResponsive.maxHeight) + \"px\")\n\t\t\t})},[_c('transition',{attrs:{\"name\":\"vac-fade-image\"}},[(!_vm.messageSelectionEnabled && _vm.imageHover && !_vm.isImageLoading)?_c('div',{staticClass:\"vac-image-buttons\"},[_c('div',{staticClass:\"vac-svg-button vac-button-view\",on:{\"click\":function($event){return _vm.openFile($event, 'preview')}}},[_vm._t(\"eye-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"eye\"}})]})],2),_c('div',{staticClass:\"vac-svg-button vac-button-download\",on:{\"click\":function($event){return _vm.openFile($event, 'download')}}},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2)]):_vm._e()])],1)],1):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-container\",on:{\"click\":function($event){$event.preventDefault();return _vm.openFile('preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{attrs:{\"progress\":_vm.file.progress}}):_vm._e(),_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFile.vue?vue&type=template&id=442d693d&\"\nimport script from \"./MessageFile.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFiles.vue?vue&type=template&id=ebb72a26&\"\nimport script from \"./MessageFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-actions-wrapper\"},[_c('div',{staticClass:\"vac-options-container\",style:({\n\t\t\tdisplay: _vm.hoverAudioProgress ? 'none' : 'initial',\n\t\t\twidth:\n\t\t\t\t_vm.filteredMessageActions.length && _vm.showReactionEmojis ? '70px' : '45px'\n\t\t})},[_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},[(_vm.isMessageActions || _vm.isMessageReactions)?_c('div',{key:\"1\",staticClass:\"vac-blur-container\",class:{\n\t\t\t\t\t'vac-options-me': _vm.message.senderId === _vm.currentUserId\n\t\t\t\t}}):_vm._e(),(_vm.isMessageActions)?_c('div',{key:\"2\",ref:\"actionIcon\",staticClass:\"vac-svg-button vac-message-options\",on:{\"click\":_vm.openOptions}},[_vm._t(\"dropdown-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"message\"}})]})],2):_vm._e(),(_vm.isMessageReactions)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeEmoji),expression:\"closeEmoji\"}],key:\"3\"},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{staticClass:\"vac-message-emojis\",style:({ right: _vm.isMessageActions ? '30px' : '5px' }),attrs:{\"emoji-opened\":_vm.emojiOpened,\"emoji-reaction\":true,\"position-right\":_vm.message.senderId === _vm.currentUserId},on:{\"add-emoji\":_vm.sendMessageReaction,\"open-emoji\":_vm.openEmoji},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-reaction-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.sendMessageReaction},{ emojiOpened: _vm.emojiOpened })],2):_vm._e()])],1),(_vm.filteredMessageActions.length)?_c('transition',{attrs:{\"name\":_vm.message.senderId === _vm.currentUserId\n\t\t\t\t? 'vac-slide-left'\n\t\t\t\t: 'vac-slide-right'}},[(_vm.optionsOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeOptions),expression:\"closeOptions\"}],ref:\"menuOptions\",staticClass:\"vac-menu-options\",class:{\n\t\t\t\t'vac-menu-left': _vm.message.senderId !== _vm.currentUserId\n\t\t\t},style:({ top: (_vm.menuOptionsTop + \"px\") })},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.filteredMessageActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.messageActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageActions.vue?vue&type=template&id=27f1a961&\"\nimport script from \"./MessageActions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageActions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.message.deleted)?_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},_vm._l((_vm.message.reactions),function(reaction,key){return _c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(reaction.length),expression:\"reaction.length\"}],key:key + 0,staticClass:\"vac-button-reaction\",class:{\n\t\t\t'vac-reaction-me': reaction.indexOf(_vm.currentUserId) !== -1\n\t\t},style:({\n\t\t\tfloat: _vm.message.senderId === _vm.currentUserId ? 'right' : 'left'\n\t\t}),on:{\"click\":function($event){return _vm.sendMessageReaction({ unicode: key }, reaction)}}},[_vm._v(\" \"+_vm._s(key)),_c('span',[_vm._v(_vm._s(reaction.length))])])}),0):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReactions.vue?vue&type=template&id=3fc44a38&\"\nimport script from \"./MessageReactions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReactions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessage.vue?vue&type=template&id=545cd2c3&\"\nimport script from \"./RoomMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Room.vue?vue&type=template&id=5c60aee1&\"\nimport script from \"./Room.vue?vue&type=script&lang=js&\"\nexport * from \"./Room.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal\",staticClass:\"vac-media-preview\",attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeModal.apply(null, arguments)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeModal.apply(null, arguments)}}},[_c('transition',{attrs:{\"name\":\"vac-bounce-preview\",\"appear\":\"\"}},[(_vm.isImage)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('div',{staticClass:\"vac-image-preview\",style:({\n\t\t\t\t\t'background-image': (\"url('\" + (_vm.file.url) + \"')\")\n\t\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\",\"autoplay\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])]):_vm._e()]),_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"preview-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\",\"param\":\"preview\"}})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MediaPreview.vue?vue&type=template&id=2d3ea15a&\"\nimport script from \"./MediaPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaPreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\tROOMS_EMPTY: 'No rooms',\n\tROOM_EMPTY: 'No room selected',\n\tNEW_MESSAGES: 'New Messages',\n\tMESSAGE_DELETED: 'This message was deleted',\n\tMESSAGES_EMPTY: 'No messages',\n\tCONVERSATION_STARTED: 'Conversation started on:',\n\tTYPE_MESSAGE: 'Type message',\n\tSEARCH: 'Search',\n\tIS_ONLINE: 'is online',\n\tLAST_SEEN: 'last seen ',\n\tIS_TYPING: 'is writing...',\n\tCANCEL_SELECT_MESSAGE: 'Cancel'\n}\n","export const defaultThemeStyles = {\n\tlight: {\n\t\tgeneral: {\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorButtonClear: '#1976d2',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#fff',\n\t\t\tcolorPlaceholder: '#9ca6af',\n\t\t\tcolorCaret: '#1976d2',\n\t\t\tcolorSpinner: '#333',\n\t\t\tborderStyle: '1px solid #e1e4e8',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#fff',\n\t\t\tcolorRoomName: '#0a0a0a',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#f8f9fa',\n\t\t\tborderStyleInput: '1px solid #e1e4e8',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#e5e5e6',\n\t\t\tbackgroundTagActive: '#e5e5e6',\n\t\t\tbackgroundTag: '#f8f9fa'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#f8f9fa'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6',\n\t\t\tbackgroundActive: '#e5effa',\n\t\t\tcolorActive: '#1976d2',\n\t\t\tborderColorSearch: '#e1e5e8'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundMe: '#ccf2cf',\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#dadfe2',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#757e85',\n\t\t\tcolorUsername: '#9ca6af',\n\t\t\tcolorTimestamp: '#828c94',\n\t\t\tbackgroundDate: '#e5effa',\n\t\t\tcolorDate: '#505a62',\n\t\t\tbackgroundSystem: '#e5effa',\n\t\t\tcolorSystem: '#505a62',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.08)',\n\t\t\tcolorReplyUsername: '#0a0a0a',\n\t\t\tcolorReply: '#6e6e6e',\n\t\t\tcolorTag: '#0d579c',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#1976d2',\n\t\t\tbackgroundScrollCounter: '#0696c7',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: '#eee',\n\t\t\tborderStyleReaction: '1px solid #eee',\n\t\t\tbackgroundReactionHover: '#fff',\n\t\t\tborderStyleReactionHover: '1px solid #ddd',\n\t\t\tcolorReactionCounter: '#0a0a0a',\n\t\t\tbackgroundReactionMe: '#cfecf5',\n\t\t\tborderStyleReactionMe: '1px solid #3b98b8',\n\t\t\tbackgroundReactionHoverMe: '#cfecf5',\n\t\t\tborderStyleReactionHoverMe: '1px solid #3b98b8',\n\t\t\tcolorReactionCounterMe: '#0b59b3',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundAudioProgress: '#455247',\n\t\t\tbackgroundAudioProgressSelector: '#455247',\n\t\t\tcolorFileExtension: '#757e85'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#0a0a0a',\n\t\t\tcolorMessage: '#67717a',\n\t\t\tcolorTimestamp: '#a2aeb8',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#9ca6af',\n\t\t\tbackgroundCounterBadge: '#0696c7',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#fff'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#9ca6af',\n\t\t\tadd: '#1976d2',\n\t\t\ttoggle: '#0a0a0a',\n\t\t\tmenu: '#0a0a0a',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#1976d2',\n\t\t\tcloseOutline: '#000',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#1976d2',\n\t\t\tsendDisabled: '#9ca6af',\n\t\t\temoji: '#1976d2',\n\t\t\temojiReaction: 'rgba(0, 0, 0, 0.3)',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#9e9e9e',\n\t\t\tcheckmark: '#9e9e9e',\n\t\t\tcheckmarkSeen: '#0696c7',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#9e9e9e',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#1976d2',\n\t\t\taudioPlay: '#455247',\n\t\t\taudioPause: '#455247',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t},\n\tdark: {\n\t\tgeneral: {\n\t\t\tcolor: '#fff',\n\t\t\tcolorButtonClear: '#fff',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#202223',\n\t\t\tcolorPlaceholder: '#596269',\n\t\t\tcolorCaret: '#fff',\n\t\t\tcolorSpinner: '#fff',\n\t\t\tborderStyle: 'none',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#181a1b',\n\t\t\tcolorRoomName: '#fff',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#131415',\n\t\t\tborderStyleInput: 'none',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#1b1c1c',\n\t\t\tbackgroundTagActive: '#1b1c1c',\n\t\t\tbackgroundTag: '#131415'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#131415'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#181a1b',\n\t\t\tbackgroundHover: '#202224',\n\t\t\tbackgroundActive: '#151617',\n\t\t\tcolorActive: '#fff',\n\t\t\tborderColorSearch: '#181a1b'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#2a2c33',\n\t\t\tbackgroundHover: '#26282e'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#22242a',\n\t\t\tbackgroundMe: '#1f7e80',\n\t\t\tcolor: '#fff',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#1b1c21',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#a2a5a8',\n\t\t\tcolorUsername: '#b3bac9',\n\t\t\tcolorTimestamp: '#ebedf2',\n\t\t\tbackgroundDate: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorDate: '#bec5cc',\n\t\t\tbackgroundSystem: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorSystem: '#bec5cc',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.18)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.18)',\n\t\t\tcolorReplyUsername: '#fff',\n\t\t\tcolorReply: '#d6d6d6',\n\t\t\tcolorTag: '#f0c60a',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#fff',\n\t\t\tbackgroundScrollCounter: '#1976d2',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: 'none',\n\t\t\tborderStyleReaction: 'none',\n\t\t\tbackgroundReactionHover: '#202223',\n\t\t\tborderStyleReactionHover: 'none',\n\t\t\tcolorReactionCounter: '#fff',\n\t\t\tbackgroundReactionMe: '#4e9ad1',\n\t\t\tborderStyleReactionMe: 'none',\n\t\t\tbackgroundReactionHoverMe: '#4e9ad1',\n\t\t\tborderStyleReactionHoverMe: 'none',\n\t\t\tcolorReactionCounterMe: '#fff',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(255, 255, 255, 0.15)',\n\t\t\tbackgroundAudioProgress: '#b7d4d3',\n\t\t\tbackgroundAudioProgressSelector: '#b7d4d3',\n\t\t\tcolorFileExtension: '#a2a5a8'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#fff',\n\t\t\tcolorMessage: '#6c7278',\n\t\t\tcolorTimestamp: '#6c7278',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#596269',\n\t\t\tbackgroundCounterBadge: '#1976d2',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#343740'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#596269',\n\t\t\tadd: '#fff',\n\t\t\ttoggle: '#fff',\n\t\t\tmenu: '#fff',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#fff',\n\t\t\tcloseOutline: '#fff',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#fff',\n\t\t\tsendDisabled: '#646a70',\n\t\t\temoji: '#fff',\n\t\t\temojiReaction: '#fff',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#ebedf2',\n\t\t\tcheckmark: '#ebedf2',\n\t\t\tcheckmarkSeen: '#f0d90a',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#fff',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#fff',\n\t\t\taudioPlay: '#b7d4d3',\n\t\t\taudioPause: '#b7d4d3',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t}\n}\n\nexport const cssThemeVars = ({\n\tgeneral,\n\tcontainer,\n\theader,\n\tfooter,\n\tsidemenu,\n\tcontent,\n\tdropdown,\n\tmessage,\n\tmarkdown,\n\troom,\n\temoji,\n\ticons\n}) => {\n\treturn {\n\t\t// general\n\t\t'--chat-color': general.color,\n\t\t'--chat-color-button-clear': general.colorButtonClear,\n\t\t'--chat-color-button': general.colorButton,\n\t\t'--chat-bg-color-button': general.backgroundColorButton,\n\t\t'--chat-bg-color-input': general.backgroundInput,\n\t\t'--chat-color-spinner': general.colorSpinner,\n\t\t'--chat-color-placeholder': general.colorPlaceholder,\n\t\t'--chat-color-caret': general.colorCaret,\n\t\t'--chat-border-style': general.borderStyle,\n\t\t'--chat-bg-scroll-icon': general.backgroundScrollIcon,\n\n\t\t// container\n\t\t'--chat-container-border': container.border,\n\t\t'--chat-container-border-radius': container.borderRadius,\n\t\t'--chat-container-box-shadow': container.boxShadow,\n\n\t\t// header\n\t\t'--chat-header-bg-color': header.background,\n\t\t'--chat-header-color-name': header.colorRoomName,\n\t\t'--chat-header-color-info': header.colorRoomInfo,\n\n\t\t// footer\n\t\t'--chat-footer-bg-color': footer.background,\n\t\t'--chat-border-style-input': footer.borderStyleInput,\n\t\t'--chat-border-color-input-selected': footer.borderInputSelected,\n\t\t'--chat-footer-bg-color-reply': footer.backgroundReply,\n\t\t'--chat-footer-bg-color-tag-active': footer.backgroundTagActive,\n\t\t'--chat-footer-bg-color-tag': footer.backgroundTag,\n\n\t\t// content\n\t\t'--chat-content-bg-color': content.background,\n\n\t\t// sidemenu\n\t\t'--chat-sidemenu-bg-color': sidemenu.background,\n\t\t'--chat-sidemenu-bg-color-hover': sidemenu.backgroundHover,\n\t\t'--chat-sidemenu-bg-color-active': sidemenu.backgroundActive,\n\t\t'--chat-sidemenu-color-active': sidemenu.colorActive,\n\t\t'--chat-sidemenu-border-color-search': sidemenu.borderColorSearch,\n\n\t\t// dropdown\n\t\t'--chat-dropdown-bg-color': dropdown.background,\n\t\t'--chat-dropdown-bg-color-hover': dropdown.backgroundHover,\n\n\t\t// message\n\t\t'--chat-message-bg-color': message.background,\n\t\t'--chat-message-bg-color-me': message.backgroundMe,\n\t\t'--chat-message-color-started': message.colorStarted,\n\t\t'--chat-message-bg-color-deleted': message.backgroundDeleted,\n\t\t'--chat-message-bg-color-selected': message.backgroundSelected,\n\t\t'--chat-message-color-deleted': message.colorDeleted,\n\t\t'--chat-message-color-username': message.colorUsername,\n\t\t'--chat-message-color-timestamp': message.colorTimestamp,\n\t\t'--chat-message-bg-color-date': message.backgroundDate,\n\t\t'--chat-message-color-date': message.colorDate,\n\t\t'--chat-message-bg-color-system': message.backgroundSystem,\n\t\t'--chat-message-color-system': message.colorSystem,\n\t\t'--chat-message-color': message.color,\n\t\t'--chat-message-bg-color-media': message.backgroundMedia,\n\t\t'--chat-message-bg-color-reply': message.backgroundReply,\n\t\t'--chat-message-color-reply-username': message.colorReplyUsername,\n\t\t'--chat-message-color-reply-content': message.colorReply,\n\t\t'--chat-message-color-tag': message.colorTag,\n\t\t'--chat-message-bg-color-image': message.backgroundImage,\n\t\t'--chat-message-color-new-messages': message.colorNewMessages,\n\t\t'--chat-message-bg-color-scroll-counter': message.backgroundScrollCounter,\n\t\t'--chat-message-color-scroll-counter': message.colorScrollCounter,\n\t\t'--chat-message-bg-color-reaction': message.backgroundReaction,\n\t\t'--chat-message-border-style-reaction': message.borderStyleReaction,\n\t\t'--chat-message-bg-color-reaction-hover': message.backgroundReactionHover,\n\t\t'--chat-message-border-style-reaction-hover':\n\t\t\tmessage.borderStyleReactionHover,\n\t\t'--chat-message-color-reaction-counter': message.colorReactionCounter,\n\t\t'--chat-message-bg-color-reaction-me': message.backgroundReactionMe,\n\t\t'--chat-message-border-style-reaction-me': message.borderStyleReactionMe,\n\t\t'--chat-message-bg-color-reaction-hover-me':\n\t\t\tmessage.backgroundReactionHoverMe,\n\t\t'--chat-message-border-style-reaction-hover-me':\n\t\t\tmessage.borderStyleReactionHoverMe,\n\t\t'--chat-message-color-reaction-counter-me': message.colorReactionCounterMe,\n\t\t'--chat-message-bg-color-audio-record': message.backgroundAudioRecord,\n\t\t'--chat-message-bg-color-audio-line': message.backgroundAudioLine,\n\t\t'--chat-message-bg-color-audio-progress': message.backgroundAudioProgress,\n\t\t'--chat-message-bg-color-audio-progress-selector':\n\t\t\tmessage.backgroundAudioProgressSelector,\n\t\t'--chat-message-color-file-extension': message.colorFileExtension,\n\n\t\t// markdown\n\t\t'--chat-markdown-bg': markdown.background,\n\t\t'--chat-markdown-border': markdown.border,\n\t\t'--chat-markdown-color': markdown.color,\n\t\t'--chat-markdown-color-multi': markdown.colorMulti,\n\n\t\t// room\n\t\t'--chat-room-color-username': room.colorUsername,\n\t\t'--chat-room-color-message': room.colorMessage,\n\t\t'--chat-room-color-timestamp': room.colorTimestamp,\n\t\t'--chat-room-color-online': room.colorStateOnline,\n\t\t'--chat-room-color-offline': room.colorStateOffline,\n\t\t'--chat-room-bg-color-badge': room.backgroundCounterBadge,\n\t\t'--chat-room-color-badge': room.colorCounterBadge,\n\n\t\t// emoji\n\t\t'--chat-emoji-bg-color': emoji.background,\n\n\t\t// icons\n\t\t'--chat-icon-color-search': icons.search,\n\t\t'--chat-icon-color-add': icons.add,\n\t\t'--chat-icon-color-toggle': icons.toggle,\n\t\t'--chat-icon-color-menu': icons.menu,\n\t\t'--chat-icon-color-close': icons.close,\n\t\t'--chat-icon-color-close-image': icons.closeImage,\n\t\t'--chat-icon-color-file': icons.file,\n\t\t'--chat-icon-color-paperclip': icons.paperclip,\n\t\t'--chat-icon-color-close-outline': icons.closeOutline,\n\t\t'--chat-icon-color-close-preview': icons.closePreview,\n\t\t'--chat-icon-color-send': icons.send,\n\t\t'--chat-icon-color-send-disabled': icons.sendDisabled,\n\t\t'--chat-icon-color-emoji': icons.emoji,\n\t\t'--chat-icon-color-emoji-reaction': icons.emojiReaction,\n\t\t'--chat-icon-color-document': icons.document,\n\t\t'--chat-icon-color-pencil': icons.pencil,\n\t\t'--chat-icon-color-checkmark': icons.checkmark,\n\t\t'--chat-icon-color-checkmark-seen': icons.checkmarkSeen,\n\t\t'--chat-icon-color-eye': icons.eye,\n\t\t'--chat-icon-color-dropdown-message': icons.dropdownMessage,\n\t\t'--chat-icon-bg-dropdown-message': icons.dropdownMessageBackground,\n\t\t'--chat-icon-color-dropdown-room': icons.dropdownRoom,\n\t\t'--chat-icon-color-dropdown-scroll': icons.dropdownScroll,\n\t\t'--chat-icon-color-microphone': icons.microphone,\n\t\t'--chat-icon-color-audio-play': icons.audioPlay,\n\t\t'--chat-icon-color-audio-pause': icons.audioPause,\n\t\t'--chat-icon-color-audio-cancel': icons.audioCancel,\n\t\t'--chat-icon-color-audio-confirm': icons.audioConfirm\n\t}\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&shadow\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&shadow\"","import { render, staticRenderFns } from \"./ChatWindow.vue?vue&type=template&id=1aef5270&shadow\"\nimport script from \"./ChatWindow.vue?vue&type=script&lang=js&shadow\"\nexport * from \"./ChatWindow.vue?vue&type=script&lang=js&shadow\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./ChatWindow.vue?vue&type=style&index=0&lang=scss&shadow\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n ,true\n)\n\nexport default component.exports","import './setPublicPath'\nimport Vue from 'vue'\nimport wrap from '@vue/web-component-wrapper'\n\n// runtime shared by every component chunk\nimport 'css-loader/dist/runtime/api.js'\nimport 'vue-style-loader/lib/addStylesShadow'\nimport 'vue-loader/lib/runtime/componentNormalizer'\n\nimport vueAdvancedChat from '~root/./src/lib/ChatWindow.vue?shadow'\nwindow.customElements.define('vue-advanced-chat', wrap(Vue, vueAdvancedChat))","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpFlags = require('../internals/regexp-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\nvar getFlags = uncurryThis(regExpFlags);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible('flags' in RegExpPrototype\n ? searchValue.flags\n : getFlags(searchValue)\n ));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","function HuffCodeTab(len, max, tab, hl) {\n this.xlen = len;\n this.linmax = max;\n this.table = tab;\n this.hlen = hl;\n}\n\nvar Tables = {};\n\n\nTables.t1HB = [\n 1, 1,\n 1, 0\n];\n\nTables.t2HB = [\n 1, 2, 1,\n 3, 1, 1,\n 3, 2, 0\n];\n\nTables.t3HB = [\n 3, 2, 1,\n 1, 1, 1,\n 3, 2, 0\n];\n\nTables.t5HB = [\n 1, 2, 6, 5,\n 3, 1, 4, 4,\n 7, 5, 7, 1,\n 6, 1, 1, 0\n];\n\nTables.t6HB = [\n 7, 3, 5, 1,\n 6, 2, 3, 2,\n 5, 4, 4, 1,\n 3, 3, 2, 0\n];\n\nTables.t7HB = [\n 1, 2, 10, 19, 16, 10,\n 3, 3, 7, 10, 5, 3,\n 11, 4, 13, 17, 8, 4,\n 12, 11, 18, 15, 11, 2,\n 7, 6, 9, 14, 3, 1,\n 6, 4, 5, 3, 2, 0\n];\n\nTables.t8HB = [\n 3, 4, 6, 18, 12, 5,\n 5, 1, 2, 16, 9, 3,\n 7, 3, 5, 14, 7, 3,\n 19, 17, 15, 13, 10, 4,\n 13, 5, 8, 11, 5, 1,\n 12, 4, 4, 1, 1, 0\n];\n\nTables.t9HB = [\n 7, 5, 9, 14, 15, 7,\n 6, 4, 5, 5, 6, 7,\n 7, 6, 8, 8, 8, 5,\n 15, 6, 9, 10, 5, 1,\n 11, 7, 9, 6, 4, 1,\n 14, 4, 6, 2, 6, 0\n];\n\nTables.t10HB = [\n 1, 2, 10, 23, 35, 30, 12, 17,\n 3, 3, 8, 12, 18, 21, 12, 7,\n 11, 9, 15, 21, 32, 40, 19, 6,\n 14, 13, 22, 34, 46, 23, 18, 7,\n 20, 19, 33, 47, 27, 22, 9, 3,\n 31, 22, 41, 26, 21, 20, 5, 3,\n 14, 13, 10, 11, 16, 6, 5, 1,\n 9, 8, 7, 8, 4, 4, 2, 0\n];\n\nTables.t11HB = [\n 3, 4, 10, 24, 34, 33, 21, 15,\n 5, 3, 4, 10, 32, 17, 11, 10,\n 11, 7, 13, 18, 30, 31, 20, 5,\n 25, 11, 19, 59, 27, 18, 12, 5,\n 35, 33, 31, 58, 30, 16, 7, 5,\n 28, 26, 32, 19, 17, 15, 8, 14,\n 14, 12, 9, 13, 14, 9, 4, 1,\n 11, 4, 6, 6, 6, 3, 2, 0\n];\n\nTables.t12HB = [\n 9, 6, 16, 33, 41, 39, 38, 26,\n 7, 5, 6, 9, 23, 16, 26, 11,\n 17, 7, 11, 14, 21, 30, 10, 7,\n 17, 10, 15, 12, 18, 28, 14, 5,\n 32, 13, 22, 19, 18, 16, 9, 5,\n 40, 17, 31, 29, 17, 13, 4, 2,\n 27, 12, 11, 15, 10, 7, 4, 1,\n 27, 12, 8, 12, 6, 3, 1, 0\n];\n\nTables.t13HB = [\n 1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19,\n 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14,\n 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16,\n 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14,\n 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24,\n 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17,\n 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15,\n 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42,\n 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16,\n 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11,\n 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22,\n 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7,\n 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5,\n 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3,\n 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2,\n 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1\n];\n\nTables.t15HB = [\n 7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63,\n 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36,\n 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33,\n 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29,\n 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27,\n 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38,\n 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30,\n 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25,\n 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20,\n 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15,\n 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9,\n 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11,\n 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7,\n 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3,\n 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1,\n 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0\n];\n\nTables.t16HB = [\n 1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17,\n 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9,\n 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16,\n 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26,\n 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9,\n 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16,\n 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10,\n 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8,\n 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7,\n 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11,\n 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4,\n 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6,\n 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4,\n 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2,\n 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0,\n 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3\n];\n\nTables.t24HB = [\n 15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88,\n 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42,\n 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18,\n 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16,\n 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14,\n 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12,\n 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10,\n 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17,\n 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16,\n 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11,\n 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10,\n 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6,\n 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4,\n 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2,\n 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0,\n 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3\n];\n\nTables.t32HB = [\n 1 << 0, 5 << 1, 4 << 1, 5 << 2, 6 << 1, 5 << 2, 4 << 2, 4 << 3,\n 7 << 1, 3 << 2, 6 << 2, 0 << 3, 7 << 2, 2 << 3, 3 << 3, 1 << 4\n];\n\nTables.t33HB = [\n 15 << 0, 14 << 1, 13 << 1, 12 << 2, 11 << 1, 10 << 2, 9 << 2, 8 << 3,\n 7 << 1, 6 << 2, 5 << 2, 4 << 3, 3 << 2, 2 << 3, 1 << 3, 0 << 4\n];\n\nTables.t1l = [\n 1, 4,\n 3, 5\n];\n\nTables.t2l = [\n 1, 4, 7,\n 4, 5, 7,\n 6, 7, 8\n];\n\nTables.t3l = [\n 2, 3, 7,\n 4, 4, 7,\n 6, 7, 8\n];\n\nTables.t5l = [\n 1, 4, 7, 8,\n 4, 5, 8, 9,\n 7, 8, 9, 10,\n 8, 8, 9, 10\n];\n\nTables.t6l = [\n 3, 4, 6, 8,\n 4, 4, 6, 7,\n 5, 6, 7, 8,\n 7, 7, 8, 9\n];\n\nTables.t7l = [\n 1, 4, 7, 9, 9, 10,\n 4, 6, 8, 9, 9, 10,\n 7, 7, 9, 10, 10, 11,\n 8, 9, 10, 11, 11, 11,\n 8, 9, 10, 11, 11, 12,\n 9, 10, 11, 12, 12, 12\n];\n\nTables.t8l = [\n 2, 4, 7, 9, 9, 10,\n 4, 4, 6, 10, 10, 10,\n 7, 6, 8, 10, 10, 11,\n 9, 10, 10, 11, 11, 12,\n 9, 9, 10, 11, 12, 12,\n 10, 10, 11, 11, 13, 13\n];\n\nTables.t9l = [\n 3, 4, 6, 7, 9, 10,\n 4, 5, 6, 7, 8, 10,\n 5, 6, 7, 8, 9, 10,\n 7, 7, 8, 9, 9, 10,\n 8, 8, 9, 9, 10, 11,\n 9, 9, 10, 10, 11, 11\n];\n\nTables.t10l = [\n 1, 4, 7, 9, 10, 10, 10, 11,\n 4, 6, 8, 9, 10, 11, 10, 10,\n 7, 8, 9, 10, 11, 12, 11, 11,\n 8, 9, 10, 11, 12, 12, 11, 12,\n 9, 10, 11, 12, 12, 12, 12, 12,\n 10, 11, 12, 12, 13, 13, 12, 13,\n 9, 10, 11, 12, 12, 12, 13, 13,\n 10, 10, 11, 12, 12, 13, 13, 13\n];\n\nTables.t11l = [\n 2, 4, 6, 8, 9, 10, 9, 10,\n 4, 5, 6, 8, 10, 10, 9, 10,\n 6, 7, 8, 9, 10, 11, 10, 10,\n 8, 8, 9, 11, 10, 12, 10, 11,\n 9, 10, 10, 11, 11, 12, 11, 12,\n 9, 10, 11, 12, 12, 13, 12, 13,\n 9, 9, 9, 10, 11, 12, 12, 12,\n 9, 9, 10, 11, 12, 12, 12, 12\n];\n\nTables.t12l = [\n 4, 4, 6, 8, 9, 10, 10, 10,\n 4, 5, 6, 7, 9, 9, 10, 10,\n 6, 6, 7, 8, 9, 10, 9, 10,\n 7, 7, 8, 8, 9, 10, 10, 10,\n 8, 8, 9, 9, 10, 10, 10, 11,\n 9, 9, 10, 10, 10, 11, 10, 11,\n 9, 9, 9, 10, 10, 11, 11, 12,\n 10, 10, 10, 11, 11, 11, 11, 12\n];\n\nTables.t13l = [\n 1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14,\n 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14,\n 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15,\n 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15,\n 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16,\n 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16,\n 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16,\n 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18,\n 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17,\n 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17,\n 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19,\n 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18,\n 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18,\n 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18,\n 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18,\n 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18\n];\n\nTables.t15l = [\n 3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14,\n 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13,\n 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13,\n 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14,\n 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14,\n 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15,\n 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15,\n 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15,\n 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15,\n 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15\n];\n\nTables.t16_5l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14,\n 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12\n];\n\nTables.t16l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13,\n 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10\n];\n\nTables.t24l = [\n 4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10,\n 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10,\n 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9,\n 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9,\n 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9,\n 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9,\n 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9,\n 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10,\n 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10,\n 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10,\n 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6\n];\n\nTables.t32l = [\n 1 + 0, 4 + 1, 4 + 1, 5 + 2, 4 + 1, 6 + 2, 5 + 2, 6 + 3,\n 4 + 1, 5 + 2, 5 + 2, 6 + 3, 5 + 2, 6 + 3, 6 + 3, 6 + 4\n];\n\nTables.t33l = [\n 4 + 0, 4 + 1, 4 + 1, 4 + 2, 4 + 1, 4 + 2, 4 + 2, 4 + 3,\n 4 + 1, 4 + 2, 4 + 2, 4 + 3, 4 + 2, 4 + 3, 4 + 3, 4 + 4\n];\n\nTables.ht = [\n /* xlen, linmax, table, hlen */\n new HuffCodeTab(0, 0, null, null),\n new HuffCodeTab(2, 0, Tables.t1HB, Tables.t1l),\n new HuffCodeTab(3, 0, Tables.t2HB, Tables.t2l),\n new HuffCodeTab(3, 0, Tables.t3HB, Tables.t3l),\n new HuffCodeTab(0, 0, null, null), /* Apparently not used */\n new HuffCodeTab(4, 0, Tables.t5HB, Tables.t5l),\n new HuffCodeTab(4, 0, Tables.t6HB, Tables.t6l),\n new HuffCodeTab(6, 0, Tables.t7HB, Tables.t7l),\n new HuffCodeTab(6, 0, Tables.t8HB, Tables.t8l),\n new HuffCodeTab(6, 0, Tables.t9HB, Tables.t9l),\n new HuffCodeTab(8, 0, Tables.t10HB, Tables.t10l),\n new HuffCodeTab(8, 0, Tables.t11HB, Tables.t11l),\n new HuffCodeTab(8, 0, Tables.t12HB, Tables.t12l),\n new HuffCodeTab(16, 0, Tables.t13HB, Tables.t13l),\n new HuffCodeTab(0, 0, null, Tables.t16_5l), /* Apparently not used */\n new HuffCodeTab(16, 0, Tables.t15HB, Tables.t15l),\n\n new HuffCodeTab(1, 1, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(2, 3, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(3, 7, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(4, 15, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(6, 63, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(8, 255, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(10, 1023, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(13, 8191, Tables.t16HB, Tables.t16l),\n\n new HuffCodeTab(4, 15, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(5, 31, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(6, 63, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(7, 127, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(8, 255, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(9, 511, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(11, 2047, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(13, 8191, Tables.t24HB, Tables.t24l),\n\n new HuffCodeTab(0, 0, Tables.t32HB, Tables.t32l),\n new HuffCodeTab(0, 0, Tables.t33HB, Tables.t33l),\n];\n\n/**\n * \n * for (i = 0; i < 16*16; i++) [\n * largetbl[i] = ((ht[16].hlen[i]) << 16) + ht[24].hlen[i];\n * ]\n * \n *\n */\nTables.largetbl = [\n 0x010004, 0x050005, 0x070007, 0x090008, 0x0a0009, 0x0a000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000c, 0x0c000c, 0x0d000c, 0x0d000c, 0x0d000c, 0x0e000d, 0x0a000a,\n 0x040005, 0x060006, 0x080007, 0x090008, 0x0a0009, 0x0b000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000b, 0x0c000c, 0x0d000c, 0x0e000c, 0x0d000c, 0x0e000c, 0x0a000a,\n 0x070007, 0x080007, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0c000b, 0x0d000b, 0x0d000c, 0x0d000c, 0x0e000c, 0x0e000d, 0x0b0009,\n 0x090008, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0c0009,\n 0x0a0009, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000a, 0x0d000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000d, 0x0b0009,\n 0x0a000a, 0x0a0009, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0e000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0c0009,\n 0x0b000a, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0d000b, 0x0d000b,\n 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000d, 0x0c0009,\n 0x0b000b, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b,\n 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x11000d, 0x11000d, 0x0c000a,\n 0x0b000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b,\n 0x0f000b, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000d, 0x10000d, 0x0c000a,\n 0x0c000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b, 0x0f000c,\n 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0f000d, 0x10000d, 0x0f000d, 0x0d000a,\n 0x0c000c, 0x0d000b, 0x0c000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c,\n 0x0f000c, 0x10000c, 0x10000c, 0x10000d, 0x11000d, 0x11000d, 0x10000d, 0x0c000a,\n 0x0d000c, 0x0d000c, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x10000c,\n 0x10000c, 0x10000c, 0x10000c, 0x10000d, 0x10000d, 0x0f000d, 0x10000d, 0x0d000a,\n 0x0d000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c,\n 0x0f000c, 0x11000c, 0x10000d, 0x10000d, 0x10000d, 0x10000d, 0x12000d, 0x0d000a,\n 0x0f000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000c,\n 0x10000d, 0x12000d, 0x11000d, 0x11000d, 0x11000d, 0x13000d, 0x11000d, 0x0d000a,\n 0x0e000d, 0x0f000c, 0x0d000c, 0x0e000c, 0x10000c, 0x10000c, 0x0f000c, 0x10000d,\n 0x10000d, 0x11000d, 0x12000d, 0x11000d, 0x13000d, 0x11000d, 0x10000d, 0x0d000a,\n 0x0a0009, 0x0a0009, 0x0a0009, 0x0b0009, 0x0b0009, 0x0c0009, 0x0c0009, 0x0c0009,\n 0x0d0009, 0x0d0009, 0x0d0009, 0x0d000a, 0x0d000a, 0x0d000a, 0x0d000a, 0x0a0006\n];\n/**\n * \n * for (i = 0; i < 3*3; i++) [\n * table23[i] = ((ht[2].hlen[i]) << 16) + ht[3].hlen[i];\n * ]\n * \n *\n */\nTables.table23 = [\n 0x010002, 0x040003, 0x070007,\n 0x040004, 0x050004, 0x070007,\n 0x060006, 0x070007, 0x080008\n];\n\n/**\n * \n * for (i = 0; i < 4*4; i++) [\n * table56[i] = ((ht[5].hlen[i]) << 16) + ht[6].hlen[i];\n * ]\n * \n *\n */\nTables.table56 = [\n 0x010003, 0x040004, 0x070006, 0x080008, 0x040004, 0x050004, 0x080006, 0x090007,\n 0x070005, 0x080006, 0x090007, 0x0a0008, 0x080007, 0x080007, 0x090008, 0x0a0009\n];\n\nTables.bitrate_table = [\n [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], /* MPEG 2 */\n [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], /* MPEG 1 */\n [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1], /* MPEG 2.5 */\n];\n\n/**\n * MPEG 2, MPEG 1, MPEG 2.5.\n */\nTables.samplerate_table = [\n [22050, 24000, 16000, -1],\n [44100, 48000, 32000, -1],\n [11025, 12000, 8000, -1],\n];\n\n/**\n * This is the scfsi_band table from 2.4.2.7 of the IS.\n */\nTables.scfsi_band = [0, 6, 11, 16, 21];\n\nmodule.exports = Tables;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar RangeError = global.RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","module.exports = typeof window == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n redefineAll(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar padStart = require('../internals/string-pad').start;\n\nvar RangeError = global.RangeError;\nvar abs = Math.abs;\nvar DatePrototype = Date.prototype;\nvar n$DateToISOString = DatePrototype.toISOString;\nvar getTime = uncurryThis(DatePrototype.getTime);\nvar getUTCDate = uncurryThis(DatePrototype.getUTCDate);\nvar getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear);\nvar getUTCHours = uncurryThis(DatePrototype.getUTCHours);\nvar getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds);\nvar getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes);\nvar getUTCMonth = uncurryThis(DatePrototype.getUTCMonth);\nvar getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds);\n\n// `Date.prototype.toISOString` method implementation\n// https://tc39.es/ecma262/#sec-date.prototype.toisostring\n// PhantomJS / old WebKit fails here:\nmodule.exports = (fails(function () {\n return n$DateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n n$DateToISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime(this))) throw RangeError('Invalid time value');\n var date = this;\n var year = getUTCFullYear(date);\n var milliseconds = getUTCMilliseconds(date);\n var sign = year < 0 ? '-' : year > 9999 ? '+' : '';\n return sign + padStart(abs(year), sign ? 6 : 4, 0) +\n '-' + padStart(getUTCMonth(date) + 1, 2, 0) +\n '-' + padStart(getUTCDate(date), 2, 0) +\n 'T' + padStart(getUTCHours(date), 2, 0) +\n ':' + padStart(getUTCMinutes(date), 2, 0) +\n ':' + padStart(getUTCSeconds(date), 2, 0) +\n '.' + padStart(milliseconds, 3, 0) +\n 'Z';\n} : n$DateToISOString;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (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 defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","//package mp3;\n\n/* MPEG modes */\nfunction MPEGMode(ordinal) {\n var _ordinal = ordinal;\n this.ordinal = function () {\n return _ordinal;\n }\n}\n\nMPEGMode.STEREO = new MPEGMode(0);\nMPEGMode.JOINT_STEREO = new MPEGMode(1);\nMPEGMode.DUAL_CHANNEL = new MPEGMode(2);\nMPEGMode.MONO = new MPEGMode(3);\nMPEGMode.NOT_SET = new MPEGMode(4);\n\nmodule.exports = MPEGMode;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Takehiro = require('./Takehiro.js');\nvar Tables = require('./Tables.js');\nvar Encoder = require('./Encoder.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nBitStream.EQ = function (a, b) {\n return (Math.abs(a) > Math.abs(b)) ? (Math.abs((a) - (b)) <= (Math\n .abs(a) * 1e-6))\n : (Math.abs((a) - (b)) <= (Math.abs(b) * 1e-6));\n};\n\nBitStream.NEQ = function (a, b) {\n return !BitStream.EQ(a, b);\n};\n\nfunction BitStream() {\n var self = this;\n var CRC16_POLYNOMIAL = 0x8005;\n\n /*\n * we work with ints, so when doing bit manipulation, we limit ourselves to\n * MAX_LENGTH-2 just to be on the safe side\n */\n var MAX_LENGTH = 32;\n\n //GainAnalysis ga;\n //MPGLib mpg;\n //Version ver;\n //VBRTag vbr;\n var ga = null;\n var mpg = null;\n var ver = null;\n var vbr = null;\n\n //public final void setModules(GainAnalysis ga, MPGLib mpg, Version ver,\n //\tVBRTag vbr) {\n\n this.setModules = function (_ga, _mpg, _ver, _vbr) {\n ga = _ga;\n mpg = _mpg;\n ver = _ver;\n vbr = _vbr;\n };\n\n /**\n * Bit stream buffer.\n */\n //private byte[] buf;\n var buf = null;\n /**\n * Bit counter of bit stream.\n */\n var totbit = 0;\n /**\n * Pointer to top byte in buffer.\n */\n var bufByteIdx = 0;\n /**\n * Pointer to top bit of top byte in buffer.\n */\n var bufBitIdx = 0;\n\n /**\n * compute bitsperframe and mean_bits for a layer III frame\n */\n this.getframebits = function (gfp) {\n var gfc = gfp.internal_flags;\n var bit_rate;\n\n /* get bitrate in kbps [?] */\n if (gfc.bitrate_index != 0)\n bit_rate = Tables.bitrate_table[gfp.version][gfc.bitrate_index];\n else\n bit_rate = gfp.brate;\n assert(8 <= bit_rate && bit_rate <= 640);\n\n /* main encoding routine toggles padding on and off */\n /* one Layer3 Slot consists of 8 bits */\n var bytes = 0 | (gfp.version + 1) * 72000 * bit_rate / gfp.out_samplerate + gfc.padding;\n return 8 * bytes;\n };\n\n function putheader_bits(gfc) {\n System.arraycopy(gfc.header[gfc.w_ptr].buf, 0, buf, bufByteIdx, gfc.sideinfo_len);\n bufByteIdx += gfc.sideinfo_len;\n totbit += gfc.sideinfo_len * 8;\n gfc.w_ptr = (gfc.w_ptr + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n }\n\n /**\n * write j bits into the bit stream\n */\n function putbits2(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n assert(gfc.header[gfc.w_ptr].write_timing >= totbit);\n if (gfc.header[gfc.w_ptr].write_timing == totbit) {\n putheader_bits(gfc);\n }\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * write j bits into the bit stream, ignoring frame headers\n */\n function putbits_noheaders(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * Some combinations of bitrate, Fs, and stereo make it impossible to stuff\n * out a frame using just main_data, due to the limited number of bits to\n * indicate main_data_length. In these situations, we put stuffing bits into\n * the ancillary data...\n */\n function drain_into_ancillary(gfp, remainingBits) {\n var gfc = gfp.internal_flags;\n var i;\n assert(remainingBits >= 0);\n\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4c, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x41, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4d, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x45, 8);\n remainingBits -= 8;\n }\n\n if (remainingBits >= 32) {\n var version = ver.getLameShortVersion();\n if (remainingBits >= 32)\n for (i = 0; i < version.length && remainingBits >= 8; ++i) {\n remainingBits -= 8;\n putbits2(gfc, version.charAt(i), 8);\n }\n }\n\n for (; remainingBits >= 1; remainingBits -= 1) {\n putbits2(gfc, gfc.ancillary_flag, 1);\n gfc.ancillary_flag ^= (!gfp.disable_reservoir ? 1 : 0);\n }\n\n assert(remainingBits == 0);\n\n }\n\n /**\n * write N bits into the header\n */\n function writeheader(gfc, val, j) {\n var ptr = gfc.header[gfc.h_ptr].ptr;\n\n while (j > 0) {\n var k = Math.min(j, 8 - (ptr & 7));\n j -= k;\n assert(j < MAX_LENGTH);\n /* >> 32 too large for 32 bit machines */\n\n gfc.header[gfc.h_ptr].buf[ptr >> 3] |= ((val >> j)) << (8 - (ptr & 7) - k);\n ptr += k;\n }\n gfc.header[gfc.h_ptr].ptr = ptr;\n }\n\n function CRC_update(value, crc) {\n value <<= 8;\n for (var i = 0; i < 8; i++) {\n value <<= 1;\n crc <<= 1;\n\n if ((((crc ^ value) & 0x10000) != 0))\n crc ^= CRC16_POLYNOMIAL;\n }\n return crc;\n }\n\n this.CRC_writeheader = function (gfc, header) {\n var crc = 0xffff;\n /* (jo) init crc16 for error_protection */\n\n crc = CRC_update(header[2] & 0xff, crc);\n crc = CRC_update(header[3] & 0xff, crc);\n for (var i = 6; i < gfc.sideinfo_len; i++) {\n crc = CRC_update(header[i] & 0xff, crc);\n }\n\n header[4] = (byte)(crc >> 8);\n header[5] = (byte)(crc & 255);\n };\n\n function encodeSideInfo2(gfp, bitsPerFrame) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var gr, ch;\n\n l3_side = gfc.l3_side;\n gfc.header[gfc.h_ptr].ptr = 0;\n Arrays.fill(gfc.header[gfc.h_ptr].buf, 0, gfc.sideinfo_len, 0);\n if (gfp.out_samplerate < 16000)\n writeheader(gfc, 0xffe, 12);\n else\n writeheader(gfc, 0xfff, 12);\n writeheader(gfc, (gfp.version), 1);\n writeheader(gfc, 4 - 3, 2);\n writeheader(gfc, (!gfp.error_protection ? 1 : 0), 1);\n writeheader(gfc, (gfc.bitrate_index), 4);\n writeheader(gfc, (gfc.samplerate_index), 2);\n writeheader(gfc, (gfc.padding), 1);\n writeheader(gfc, (gfp.extension), 1);\n writeheader(gfc, (gfp.mode.ordinal()), 2);\n writeheader(gfc, (gfc.mode_ext), 2);\n writeheader(gfc, (gfp.copyright), 1);\n writeheader(gfc, (gfp.original), 1);\n writeheader(gfc, (gfp.emphasis), 2);\n if (gfp.error_protection) {\n writeheader(gfc, 0, 16);\n /* dummy */\n }\n\n if (gfp.version == 1) {\n /* MPEG1 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 9);\n\n if (gfc.channels_out == 2)\n writeheader(gfc, l3_side.private_bits, 3);\n else\n writeheader(gfc, l3_side.private_bits, 5);\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var band;\n for (band = 0; band < 4; band++) {\n writeheader(gfc, l3_side.scfsi[ch][band], 1);\n }\n }\n\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 4);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.preflag, 1);\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n } else {\n /* MPEG2 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 8);\n writeheader(gfc, l3_side.private_bits, gfc.channels_out);\n\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 9);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n\n if (gfp.error_protection) {\n /* (jo) error_protection: add crc16 information to header */\n CRC_writeheader(gfc, gfc.header[gfc.h_ptr].buf);\n }\n\n {\n var old = gfc.h_ptr;\n assert(gfc.header[old].ptr == gfc.sideinfo_len * 8);\n\n gfc.h_ptr = (old + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n gfc.header[gfc.h_ptr].write_timing = gfc.header[old].write_timing\n + bitsPerFrame;\n\n if (gfc.h_ptr == gfc.w_ptr) {\n /* yikes! we are out of header buffer space */\n System.err\n .println(\"Error: MAX_HEADER_BUF too small in bitstream.c \\n\");\n }\n\n }\n }\n\n function huffman_coder_count1(gfc, gi) {\n /* Write count1 area */\n var h = Tables.ht[gi.count1table_select + 32];\n var i, bits = 0;\n\n var ix = gi.big_values;\n var xr = gi.big_values;\n assert(gi.count1table_select < 2);\n\n for (i = (gi.count1 - gi.big_values) / 4; i > 0; --i) {\n var huffbits = 0;\n var p = 0, v;\n\n v = gi.l3_enc[ix + 0];\n if (v != 0) {\n p += 8;\n if (gi.xr[xr + 0] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 1];\n if (v != 0) {\n p += 4;\n huffbits *= 2;\n if (gi.xr[xr + 1] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 2];\n if (v != 0) {\n p += 2;\n huffbits *= 2;\n if (gi.xr[xr + 2] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 3];\n if (v != 0) {\n p++;\n huffbits *= 2;\n if (gi.xr[xr + 3] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n ix += 4;\n xr += 4;\n putbits2(gfc, huffbits + h.table[p], h.hlen[p]);\n bits += h.hlen[p];\n }\n return bits;\n }\n\n /**\n * Implements the pseudocode of page 98 of the IS\n */\n function Huffmancode(gfc, tableindex, start, end, gi) {\n var h = Tables.ht[tableindex];\n var bits = 0;\n\n assert(tableindex < 32);\n if (0 == tableindex)\n return bits;\n\n for (var i = start; i < end; i += 2) {\n var cbits = 0;\n var xbits = 0;\n var linbits = h.xlen;\n var xlen = h.xlen;\n var ext = 0;\n var x1 = gi.l3_enc[i];\n var x2 = gi.l3_enc[i + 1];\n\n if (x1 != 0) {\n if (gi.xr[i] < 0)\n ext++;\n cbits--;\n }\n\n if (tableindex > 15) {\n /* use ESC-words */\n if (x1 > 14) {\n var linbits_x1 = x1 - 15;\n assert(linbits_x1 <= h.linmax);\n ext |= linbits_x1 << 1;\n xbits = linbits;\n x1 = 15;\n }\n\n if (x2 > 14) {\n var linbits_x2 = x2 - 15;\n assert(linbits_x2 <= h.linmax);\n ext <<= linbits;\n ext |= linbits_x2;\n xbits += linbits;\n x2 = 15;\n }\n xlen = 16;\n }\n\n if (x2 != 0) {\n ext <<= 1;\n if (gi.xr[i + 1] < 0)\n ext++;\n cbits--;\n }\n\n assert((x1 | x2) < 16);\n\n x1 = x1 * xlen + x2;\n xbits -= cbits;\n cbits += h.hlen[x1];\n\n assert(cbits <= MAX_LENGTH);\n assert(xbits <= MAX_LENGTH);\n\n putbits2(gfc, h.table[x1], cbits);\n putbits2(gfc, ext, xbits);\n bits += cbits + xbits;\n }\n return bits;\n }\n\n /**\n * Note the discussion of huffmancodebits() on pages 28 and 29 of the IS, as\n * well as the definitions of the side information on pages 26 and 27.\n */\n function ShortHuffmancodebits(gfc, gi) {\n var region1Start = 3 * gfc.scalefac_band.s[3];\n if (region1Start > gi.big_values)\n region1Start = gi.big_values;\n\n /* short blocks do not have a region2 */\n var bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n gi.big_values, gi);\n return bits;\n }\n\n function LongHuffmancodebits(gfc, gi) {\n var bigvalues, bits;\n var region1Start, region2Start;\n\n bigvalues = gi.big_values;\n assert(0 <= bigvalues && bigvalues <= 576);\n\n var i = gi.region0_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region1Start = gfc.scalefac_band.l[i];\n i += gi.region1_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region2Start = gfc.scalefac_band.l[i];\n\n if (region1Start > bigvalues)\n region1Start = bigvalues;\n\n if (region2Start > bigvalues)\n region2Start = bigvalues;\n\n bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n region2Start, gi);\n bits += Huffmancode(gfc, gi.table_select[2], region2Start, bigvalues,\n gi);\n return bits;\n }\n\n function writeMainData(gfp) {\n var gr, ch, sfb, data_bits, tot_bits = 0;\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n\n if (gfp.version == 1) {\n /* MPEG 1 */\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var slen1 = Takehiro.slen1_tab[gi.scalefac_compress];\n var slen2 = Takehiro.slen2_tab[gi.scalefac_compress];\n data_bits = 0;\n for (sfb = 0; sfb < gi.sfbdivide; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen1);\n data_bits += slen1;\n }\n for (; sfb < gi.sfbmax; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen2);\n data_bits += slen2;\n }\n assert(data_bits == gi.part2_length);\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length + gi.part2_length);\n tot_bits += data_bits;\n }\n /* for ch */\n }\n /* for gr */\n } else {\n /* MPEG 2 */\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var i, sfb_partition, scale_bits = 0;\n assert(gi.sfb_partition_table != null);\n data_bits = 0;\n sfb = 0;\n sfb_partition = 0;\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition] / 3;\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 0], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 1], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 2], 0), slen);\n scale_bits += 3 * slen;\n }\n }\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition];\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc, Math.max(gi.scalefac[sfb], 0), slen);\n scale_bits += slen;\n }\n }\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length);\n assert(scale_bits == gi.part2_length);\n tot_bits += scale_bits + data_bits;\n }\n /* for ch */\n }\n /* for gf */\n return tot_bits;\n }\n\n /* main_data */\n\n function TotalBytes() {\n this.total = 0;\n }\n\n /*\n * compute the number of bits required to flush all mp3 frames currently in\n * the buffer. This should be the same as the reservoir size. Only call this\n * routine between frames - i.e. only after all headers and data have been\n * added to the buffer by format_bitstream().\n *\n * Also compute total_bits_output = size of mp3 buffer (including frame\n * headers which may not have yet been send to the mp3 buffer) + number of\n * bits needed to flush all mp3 frames.\n *\n * total_bytes_output is the size of the mp3 output buffer if\n * lame_encode_flush_nogap() was called right now.\n */\n function compute_flushbits(gfp, total_bytes_output) {\n var gfc = gfp.internal_flags;\n var flushbits, remaining_headers;\n var bitsPerFrame;\n var last_ptr, first_ptr;\n first_ptr = gfc.w_ptr;\n /* first header to add to bitstream */\n last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n\n /* add this many bits to bitstream so we can flush all headers */\n flushbits = gfc.header[last_ptr].write_timing - totbit;\n total_bytes_output.total = flushbits;\n\n if (flushbits >= 0) {\n /* if flushbits >= 0, some headers have not yet been written */\n /* reduce flushbits by the size of the headers */\n remaining_headers = 1 + last_ptr - first_ptr;\n if (last_ptr < first_ptr)\n remaining_headers = 1 + last_ptr - first_ptr\n + LameInternalFlags.MAX_HEADER_BUF;\n flushbits -= remaining_headers * 8 * gfc.sideinfo_len;\n }\n\n /*\n * finally, add some bits so that the last frame is complete these bits\n * are not necessary to decode the last frame, but some decoders will\n * ignore last frame if these bits are missing\n */\n bitsPerFrame = self.getframebits(gfp);\n flushbits += bitsPerFrame;\n total_bytes_output.total += bitsPerFrame;\n /* round up: */\n if ((total_bytes_output.total % 8) != 0)\n total_bytes_output.total = 1 + (total_bytes_output.total / 8);\n else\n total_bytes_output.total = (total_bytes_output.total / 8);\n total_bytes_output.total += bufByteIdx + 1;\n\n if (flushbits < 0) {\n System.err.println(\"strange error flushing buffer ... \\n\");\n }\n return flushbits;\n }\n\n this.flush_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var flushbits;\n var last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n l3_side = gfc.l3_side;\n\n if ((flushbits = compute_flushbits(gfp, new TotalBytes())) < 0)\n return;\n drain_into_ancillary(gfp, flushbits);\n\n /* check that the 100% of the last frame has been written to bitstream */\n assert(gfc.header[last_ptr].write_timing + this.getframebits(gfp) == totbit);\n\n /*\n * we have padded out all frames with ancillary data, which is the same\n * as filling the bitreservoir with ancillary data, so :\n */\n gfc.ResvSize = 0;\n l3_side.main_data_begin = 0;\n\n /* save the ReplayGain value */\n if (gfc.findReplayGain) {\n var RadioGain = ga.GetTitleGain(gfc.rgdata);\n assert(NEQ(RadioGain, GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES));\n gfc.RadioGain = Math.floor(RadioGain * 10.0 + 0.5) | 0;\n /* round to nearest */\n }\n\n /* find the gain and scale change required for no clipping */\n if (gfc.findPeakSample) {\n gfc.noclipGainChange = Math.ceil(Math\n .log10(gfc.PeakSample / 32767.0) * 20.0 * 10.0) | 0;\n /* round up */\n\n if (gfc.noclipGainChange > 0) {\n /* clipping occurs */\n if (EQ(gfp.scale, 1.0) || EQ(gfp.scale, 0.0))\n gfc.noclipScale = (Math\n .floor((32767.0 / gfc.PeakSample) * 100.0) / 100.0);\n /* round down */\n else {\n /*\n * the user specified his own scaling factor. We could\n * suggest the scaling factor of\n * (32767.0/gfp.PeakSample)*(gfp.scale) but it's usually\n * very inaccurate. So we'd rather not advice him on the\n * scaling factor.\n */\n gfc.noclipScale = -1;\n }\n } else\n /* no clipping */\n gfc.noclipScale = -1;\n }\n };\n\n this.add_dummy_byte = function (gfp, val, n) {\n var gfc = gfp.internal_flags;\n var i;\n\n while (n-- > 0) {\n putbits_noheaders(gfc, val, 8);\n\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing += 8;\n }\n };\n\n /**\n * This is called after a frame of audio has been quantized and coded. It\n * will write the encoded audio to the bitstream. Note that from a layer3\n * encoder's perspective the bit stream is primarily a series of main_data()\n * blocks, with header and side information inserted at the proper locations\n * to maintain framing. (See Figure A.7 in the IS).\n */\n this.format_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n l3_side = gfc.l3_side;\n\n var bitsPerFrame = this.getframebits(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_pre);\n\n encodeSideInfo2(gfp, bitsPerFrame);\n var bits = 8 * gfc.sideinfo_len;\n bits += writeMainData(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_post);\n bits += l3_side.resvDrain_post;\n\n l3_side.main_data_begin += (bitsPerFrame - bits) / 8;\n\n /*\n * compare number of bits needed to clear all buffered mp3 frames with\n * what we think the resvsize is:\n */\n if (compute_flushbits(gfp, new TotalBytes()) != gfc.ResvSize) {\n System.err.println(\"Internal buffer inconsistency. flushbits <> ResvSize\");\n }\n\n /*\n * compare main_data_begin for the next frame with what we think the\n * resvsize is:\n */\n if ((l3_side.main_data_begin * 8) != gfc.ResvSize) {\n System.err.printf(\"bit reservoir error: \\n\"\n + \"l3_side.main_data_begin: %d \\n\"\n + \"Resvoir size: %d \\n\"\n + \"resv drain (post) %d \\n\"\n + \"resv drain (pre) %d \\n\"\n + \"header and sideinfo: %d \\n\"\n + \"data bits: %d \\n\"\n + \"total bits: %d (remainder: %d) \\n\"\n + \"bitsperframe: %d \\n\",\n 8 * l3_side.main_data_begin, gfc.ResvSize,\n l3_side.resvDrain_post, l3_side.resvDrain_pre,\n 8 * gfc.sideinfo_len, bits - l3_side.resvDrain_post - 8\n * gfc.sideinfo_len, bits, bits % 8, bitsPerFrame);\n\n System.err.println(\"This is a fatal error. It has several possible causes:\");\n System.err.println(\"90%% LAME compiled with buggy version of gcc using advanced optimizations\");\n System.err.println(\" 9%% Your system is overclocked\");\n System.err.println(\" 1%% bug in LAME encoding library\");\n\n gfc.ResvSize = l3_side.main_data_begin * 8;\n }\n //;\n assert(totbit % 8 == 0);\n\n if (totbit > 1000000000) {\n /*\n * to avoid totbit overflow, (at 8h encoding at 128kbs) lets reset\n * bit counter\n */\n var i;\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing -= totbit;\n totbit = 0;\n }\n\n return 0;\n };\n\n /**\n *
\n     * copy data out of the internal MP3 bit buffer into a user supplied\n     *       unsigned char buffer.\n     *\n     *       mp3data=0      indicates data in buffer is an id3tags and VBR tags\n     *       mp3data=1      data is real mp3 frame data.\n     * 
\n */\n this.copy_buffer = function (gfc, buffer, bufferPos, size, mp3data) {\n var minimum = bufByteIdx + 1;\n if (minimum <= 0)\n return 0;\n if (size != 0 && minimum > size) {\n /* buffer is too small */\n return -1;\n }\n System.arraycopy(buf, 0, buffer, bufferPos, minimum);\n bufByteIdx = -1;\n bufBitIdx = 0;\n\n if (mp3data != 0) {\n var crc = new_int(1);\n crc[0] = gfc.nMusicCRC;\n vbr.updateMusicCRC(crc, buffer, bufferPos, minimum);\n gfc.nMusicCRC = crc[0];\n\n /**\n * sum number of bytes belonging to the mp3 stream this info will be\n * written into the Xing/LAME header for seeking\n */\n if (minimum > 0) {\n gfc.VBR_seek_table.nBytesWritten += minimum;\n }\n\n if (gfc.decode_on_the_fly) { /* decode the frame */\n var pcm_buf = new_float_n([2, 1152]);\n var mp3_in = minimum;\n var samples_out = -1;\n var i;\n\n /* re-synthesis to pcm. Repeat until we get a samples_out=0 */\n while (samples_out != 0) {\n\n samples_out = mpg.hip_decode1_unclipped(gfc.hip, buffer,\n bufferPos, mp3_in, pcm_buf[0], pcm_buf[1]);\n /*\n * samples_out = 0: need more data to decode samples_out =\n * -1: error. Lets assume 0 pcm output samples_out = number\n * of samples output\n */\n\n /*\n * set the lenght of the mp3 input buffer to zero, so that\n * in the next iteration of the loop we will be querying\n * mpglib about buffered data\n */\n mp3_in = 0;\n\n if (samples_out == -1) {\n /*\n * error decoding. Not fatal, but might screw up the\n * ReplayGain tag. What should we do? Ignore for now\n */\n samples_out = 0;\n }\n if (samples_out > 0) {\n /* process the PCM data */\n\n /*\n * this should not be possible, and indicates we have\n * overflown the pcm_buf buffer\n */\n assert(samples_out <= 1152);\n\n if (gfc.findPeakSample) {\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[0][i];\n else if (-pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[0][i];\n }\n if (gfc.channels_out > 1)\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[1][i];\n else if (-pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[1][i];\n }\n }\n\n if (gfc.findReplayGain)\n if (ga.AnalyzeSamples(gfc.rgdata, pcm_buf[0], 0,\n pcm_buf[1], 0, samples_out,\n gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR)\n return -6;\n\n }\n /* if (samples_out>0) */\n }\n /* while (samples_out!=0) */\n }\n /* if (gfc.decode_on_the_fly) */\n\n }\n /* if (mp3data) */\n return minimum;\n };\n\n this.init_bit_stream_w = function (gfc) {\n buf = new_byte(Lame.LAME_MAXMP3BUFFER);\n\n gfc.h_ptr = gfc.w_ptr = 0;\n gfc.header[gfc.h_ptr].write_timing = 0;\n bufByteIdx = -1;\n bufBitIdx = 0;\n totbit = 0;\n };\n\n // From machine.h\n\n\n}\n\nmodule.exports = BitStream;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\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 TypeError = global.TypeError;\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 = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(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 hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Date = global.Date;\nvar getTime = uncurryThis(Date.prototype.getTime);\n\n// `Date.now` method\n// https://tc39.es/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return getTime(new Date());\n }\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\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 name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\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 isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GainAnalysis = require('./GainAnalysis.js');\n\nfunction ReplayGain() {\n this.linprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * left input samples, with pre-buffer\n */\n this.linpre = 0;\n this.lstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"first step\" (i.e. post first filter) samples\n */\n this.lstep = 0;\n this.loutbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"out\" (i.e. post second filter) samples\n */\n this.lout = 0;\n this.rinprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * right input samples ...\n */\n this.rinpre = 0;\n this.rstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rstep = 0;\n this.routbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rout = 0;\n /**\n * number of samples required to reach number of milliseconds required\n * for RMS window\n */\n this.sampleWindow = 0;\n this.totsamp = 0;\n this.lsum = 0.;\n this.rsum = 0.;\n this.freqindex = 0;\n this.first = 0;\n this.A = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n this.B = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n\n}\n\nmodule.exports = ReplayGain;\n","//package mp3;\n\nfunction CalcNoiseResult() {\n /**\n * sum of quantization noise > masking\n */\n this.over_noise = 0.;\n /**\n * sum of all quantization noise\n */\n this.tot_noise = 0.;\n /**\n * max quantization noise\n */\n this.max_noise = 0.;\n /**\n * number of quantization noise > masking\n */\n this.over_count = 0;\n /**\n * SSD-like cost of distorted bands\n */\n this.over_SSD = 0;\n this.bits = 0;\n}\n\nmodule.exports = CalcNoiseResult;\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\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 (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","module.exports = require('./lib/linkify');\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n\ttoString: function toString() {\n\t\treturn this.v + '';\n\t}\n};\n\nfunction inheritsToken(value) {\n\tvar props = value ? { v: value } : {};\n\treturn (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\nvar DOMAIN = inheritsToken();\n\n/**\n\t@class AT\n\t@extends TextToken\n*/\nvar AT = inheritsToken('@');\n\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\nvar COLON = inheritsToken(':');\n\n/**\n\t@class DOT\n\t@extends TextToken\n*/\nvar DOT = inheritsToken('.');\n\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\nvar PUNCTUATION = inheritsToken();\n\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\nvar LOCALHOST = inheritsToken();\n\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\nvar NL = inheritsToken('\\n');\n\n/**\n\t@class NUM\n\t@extends TextToken\n*/\nvar NUM = inheritsToken();\n\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\nvar PLUS = inheritsToken('+');\n\n/**\n\t@class POUND\n\t@extends TextToken\n*/\nvar POUND = inheritsToken('#');\n\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\nvar PROTOCOL = inheritsToken();\n\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\nvar MAILTO = inheritsToken('mailto:');\n\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\nvar QUERY = inheritsToken('?');\n\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\nvar SLASH = inheritsToken('/');\n\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\nvar UNDERSCORE = inheritsToken('_');\n\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\nvar SYM = inheritsToken();\n\n/**\n\t@class TLD\n\t@extends TextToken\n*/\nvar TLD = inheritsToken();\n\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\nvar WS = inheritsToken();\n\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\n\nvar AMPERSAND = inheritsToken('&');\n\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\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","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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 : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\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 Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(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 (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\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 // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar n$ParseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = n$ParseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : n$ParseFloat;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction FFT() {\n\n var window = new_float(Encoder.BLKSIZE);\n var window_s = new_float(Encoder.BLKSIZE_s / 2);\n\n var costab = [\n 9.238795325112867e-01, 3.826834323650898e-01,\n 9.951847266721969e-01, 9.801714032956060e-02,\n 9.996988186962042e-01, 2.454122852291229e-02,\n 9.999811752826011e-01, 6.135884649154475e-03\n ];\n\n function fht(fz, fzPos, n) {\n var tri = 0;\n var k4;\n var fi;\n var gi;\n\n n <<= 1;\n /* to get BLKSIZE, because of 3DNow! ASM routine */\n var fn = fzPos + n;\n k4 = 4;\n do {\n var s1, c1;\n var i, k1, k2, k3, kx;\n kx = k4 >> 1;\n k1 = k4;\n k2 = k4 << 1;\n k3 = k2 + k1;\n k4 = k2 << 1;\n fi = fzPos;\n gi = fi + kx;\n do {\n var f0, f1, f2, f3;\n f1 = fz[fi + 0] - fz[fi + k1];\n f0 = fz[fi + 0] + fz[fi + k1];\n f3 = fz[fi + k2] - fz[fi + k3];\n f2 = fz[fi + k2] + fz[fi + k3];\n fz[fi + k2] = f0 - f2;\n fz[fi + 0] = f0 + f2;\n fz[fi + k3] = f1 - f3;\n fz[fi + k1] = f1 + f3;\n f1 = fz[gi + 0] - fz[gi + k1];\n f0 = fz[gi + 0] + fz[gi + k1];\n f3 = (Util.SQRT2 * fz[gi + k3]);\n f2 = (Util.SQRT2 * fz[gi + k2]);\n fz[gi + k2] = f0 - f2;\n fz[gi + 0] = f0 + f2;\n fz[gi + k3] = f1 - f3;\n fz[gi + k1] = f1 + f3;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c1 = costab[tri + 0];\n s1 = costab[tri + 1];\n for (i = 1; i < kx; i++) {\n var c2, s2;\n c2 = 1 - (2 * s1) * s1;\n s2 = (2 * s1) * c1;\n fi = fzPos + i;\n gi = fzPos + k1 - i;\n do {\n var a, b, g0, f0, f1, g1, f2, g2, f3, g3;\n b = s2 * fz[fi + k1] - c2 * fz[gi + k1];\n a = c2 * fz[fi + k1] + s2 * fz[gi + k1];\n f1 = fz[fi + 0] - a;\n f0 = fz[fi + 0] + a;\n g1 = fz[gi + 0] - b;\n g0 = fz[gi + 0] + b;\n b = s2 * fz[fi + k3] - c2 * fz[gi + k3];\n a = c2 * fz[fi + k3] + s2 * fz[gi + k3];\n f3 = fz[fi + k2] - a;\n f2 = fz[fi + k2] + a;\n g3 = fz[gi + k2] - b;\n g2 = fz[gi + k2] + b;\n b = s1 * f2 - c1 * g3;\n a = c1 * f2 + s1 * g3;\n fz[fi + k2] = f0 - a;\n fz[fi + 0] = f0 + a;\n fz[gi + k3] = g1 - b;\n fz[gi + k1] = g1 + b;\n b = c1 * g2 - s1 * f3;\n a = s1 * g2 + c1 * f3;\n fz[gi + k2] = g0 - a;\n fz[gi + 0] = g0 + a;\n fz[fi + k3] = f1 - b;\n fz[fi + k1] = f1 + b;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c2 = c1;\n c1 = c2 * costab[tri + 0] - s1 * costab[tri + 1];\n s1 = c2 * costab[tri + 1] + s1 * costab[tri + 0];\n }\n tri += 2;\n } while (k4 < n);\n }\n\n var rv_tbl = [0x00, 0x80, 0x40,\n 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10,\n 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70,\n 0xf0, 0x08, 0x88, 0x48, 0xc8, 0x28,\n 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58,\n 0xd8, 0x38, 0xb8, 0x78, 0xf8, 0x04,\n 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64,\n 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34,\n 0xb4, 0x74, 0xf4, 0x0c, 0x8c, 0x4c,\n 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c,\n 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c,\n 0xfc, 0x02, 0x82, 0x42, 0xc2, 0x22,\n 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52,\n 0xd2, 0x32, 0xb2, 0x72, 0xf2, 0x0a,\n 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a,\n 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a,\n 0xba, 0x7a, 0xfa, 0x06, 0x86, 0x46,\n 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16,\n 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76,\n 0xf6, 0x0e, 0x8e, 0x4e, 0xce, 0x2e,\n 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e,\n 0xde, 0x3e, 0xbe, 0x7e, 0xfe];\n\n this.fft_short = function (gfc, x_real, chn, buffer, bufPos) {\n for (var b = 0; b < 3; b++) {\n var x = Encoder.BLKSIZE_s / 2;\n var k = 0xffff & ((576 / 3) * (b + 1));\n var j = Encoder.BLKSIZE_s / 8 - 1;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[j << 2] & 0xff;\n\n f0 = window_s[i] * buffer[chn][bufPos + i + k];\n w = window_s[0x7f - i] * buffer[chn][bufPos + i + k + 0x80];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x40] * buffer[chn][bufPos + i + k + 0x40];\n w = window_s[0x3f - i] * buffer[chn][bufPos + i + k + 0xc0];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n x_real[b][x + 0] = f0 + f2;\n x_real[b][x + 2] = f0 - f2;\n x_real[b][x + 1] = f1 + f3;\n x_real[b][x + 3] = f1 - f3;\n\n f0 = window_s[i + 0x01] * buffer[chn][bufPos + i + k + 0x01];\n w = window_s[0x7e - i] * buffer[chn][bufPos + i + k + 0x81];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x41] * buffer[chn][bufPos + i + k + 0x41];\n w = window_s[0x3e - i] * buffer[chn][bufPos + i + k + 0xc1];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 0] = f0 + f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 2] = f0 - f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 1] = f1 + f3;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 3] = f1 - f3;\n } while (--j >= 0);\n\n fht(x_real[b], x, Encoder.BLKSIZE_s / 2);\n /* BLKSIZE_s/2 because of 3DNow! ASM routine */\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n }\n\n this.fft_long = function (gfc, y, chn, buffer, bufPos) {\n var jj = Encoder.BLKSIZE / 8 - 1;\n var x = Encoder.BLKSIZE / 2;\n\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[jj] & 0xff;\n f0 = window[i] * buffer[chn][bufPos + i];\n w = window[i + 0x200] * buffer[chn][bufPos + i + 0x200];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x100] * buffer[chn][bufPos + i + 0x100];\n w = window[i + 0x300] * buffer[chn][bufPos + i + 0x300];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n y[x + 0] = f0 + f2;\n y[x + 2] = f0 - f2;\n y[x + 1] = f1 + f3;\n y[x + 3] = f1 - f3;\n\n f0 = window[i + 0x001] * buffer[chn][bufPos + i + 0x001];\n w = window[i + 0x201] * buffer[chn][bufPos + i + 0x201];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x101] * buffer[chn][bufPos + i + 0x101];\n w = window[i + 0x301] * buffer[chn][bufPos + i + 0x301];\n f3 = f2 - w;\n f2 = f2 + w;\n\n y[x + Encoder.BLKSIZE / 2 + 0] = f0 + f2;\n y[x + Encoder.BLKSIZE / 2 + 2] = f0 - f2;\n y[x + Encoder.BLKSIZE / 2 + 1] = f1 + f3;\n y[x + Encoder.BLKSIZE / 2 + 3] = f1 - f3;\n } while (--jj >= 0);\n\n fht(y, x, Encoder.BLKSIZE / 2);\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n\n this.init_fft = function (gfc) {\n /* The type of window used here will make no real difference, but */\n /*\n * in the interest of merging nspsytune stuff - switch to blackman\n * window\n */\n for (var i = 0; i < Encoder.BLKSIZE; i++)\n /* blackman window */\n window[i] = (0.42 - 0.5 * Math.cos(2 * Math.PI * (i + .5)\n / Encoder.BLKSIZE) + 0.08 * Math.cos(4 * Math.PI * (i + .5)\n / Encoder.BLKSIZE));\n\n for (var i = 0; i < Encoder.BLKSIZE_s / 2; i++)\n window_s[i] = (0.5 * (1.0 - Math.cos(2.0 * Math.PI\n * (i + 0.5) / Encoder.BLKSIZE_s)));\n\n }\n\n}\n\nmodule.exports = FFT;\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\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 toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","export * from \"-!../../node_modules/vue-style-loader/index.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=style&index=0&lang=scss&shadow\"","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","import Database from './database.js';\n\nfunction noop() { }\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\n\nconst dirty_components = [];\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\nconst outroing = new Set();\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\n// via https://unpkg.com/browse/emojibase-data@6.0.0/meta/groups.json\nconst allGroups = [\n [-1, '✨', 'custom'],\n [0, '😀', 'smileys-emotion'],\n [1, '👋', 'people-body'],\n [3, '🐱', 'animals-nature'],\n [4, '🍎', 'food-drink'],\n [5, '🏠️', 'travel-places'],\n [6, '⚽', 'activities'],\n [7, '📝', 'objects'],\n [8, '⛔️', 'symbols'],\n [9, '🏁', 'flags']\n].map(([id, emoji, name]) => ({ id, emoji, name }));\n\nconst groups = allGroups.slice(1);\nconst customGroup = allGroups[0];\n\nconst MIN_SEARCH_TEXT_LENGTH = 2;\nconst NUM_SKIN_TONES = 6;\n\n/* istanbul ignore next */\nconst rIC = typeof requestIdleCallback === 'function' ? requestIdleCallback : setTimeout;\n\n// check for ZWJ (zero width joiner) character\nfunction hasZwj (emoji) {\n return emoji.unicode.includes('\\u200d')\n}\n\n// Find one good representative emoji from each version to test by checking its color.\n// Ideally it should have color in the center. For some inspiration, see:\n// https://about.gitlab.com/blog/2018/05/30/journey-in-native-unicode-emoji/\n//\n// Note that for certain versions (12.1, 13.1), there is no point in testing them explicitly, because\n// all the emoji from this version are compound-emoji from previous versions. So they would pass a color\n// test, even in browsers that display them as double emoji. (E.g. \"face in clouds\" might render as\n// \"face without mouth\" plus \"fog\".) These emoji can only be filtered using the width test,\n// which happens in checkZwjSupport.js.\nconst versionsAndTestEmoji = {\n '🫠': 14,\n '🥲': 13.1, // smiling face with tear, technically from v13 but see note above\n '🥻': 12.1, // sari, technically from v12 but see note above\n '🥰': 11,\n '🤩': 5,\n '👱‍♀️': 4,\n '🤣': 3,\n '👁️‍🗨️': 2,\n '😀': 1,\n '😐️': 0.7,\n '😃': 0.6\n};\n\nconst TIMEOUT_BEFORE_LOADING_MESSAGE = 1000; // 1 second\nconst DEFAULT_SKIN_TONE_EMOJI = '🖐️';\nconst DEFAULT_NUM_COLUMNS = 8;\n\n// Based on https://fivethirtyeight.com/features/the-100-most-used-emojis/ and\n// https://blog.emojipedia.org/facebook-reveals-most-and-least-used-emojis/ with\n// a bit of my own curation. (E.g. avoid the \"OK\" gesture because of connotations:\n// https://emojipedia.org/ok-hand/)\nconst MOST_COMMONLY_USED_EMOJI = [\n '😊',\n '😒',\n '♥️',\n '👍️',\n '😍',\n '😂',\n '😭',\n '☺️',\n '😔',\n '😩',\n '😏',\n '💕',\n '🙌',\n '😘'\n];\n\n// It's important to list Twemoji Mozilla before everything else, because Mozilla bundles their\n// own font on some platforms (notably Windows and Linux as of this writing). Typically Mozilla\n// updates faster than the underlying OS, and we don't want to render older emoji in one font and\n// newer emoji in another font:\n// https://github.com/nolanlawson/emoji-picker-element/pull/268#issuecomment-1073347283\nconst FONT_FAMILY = '\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",' +\n '\"Noto Color Emoji\",\"EmojiOne Color\",\"Android Emoji\",sans-serif';\n\n/* istanbul ignore next */\nconst DEFAULT_CATEGORY_SORTING = (a, b) => a < b ? -1 : a > b ? 1 : 0;\n\n// Test if an emoji is supported by rendering it to canvas and checking that the color is not black\n\nconst getTextFeature = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = canvas.height = 1;\n\n const ctx = canvas.getContext('2d');\n ctx.textBaseline = 'top';\n ctx.font = `100px ${FONT_FAMILY}`;\n ctx.fillStyle = color;\n ctx.scale(0.01, 0.01);\n ctx.fillText(text, 0, 0);\n\n return ctx.getImageData(0, 0, 1, 1).data\n};\n\nconst compareFeatures = (feature1, feature2) => {\n const feature1Str = [...feature1].join(',');\n const feature2Str = [...feature2].join(',');\n // This is RGBA, so for 0,0,0, we are checking that the first RGB is not all zeroes.\n // Most of the time when unsupported this is 0,0,0,0, but on Chrome on Mac it is\n // 0,0,0,61 - there is a transparency here.\n return feature1Str === feature2Str && !feature1Str.startsWith('0,0,0,')\n};\n\nfunction testColorEmojiSupported (text) {\n // Render white and black and then compare them to each other and ensure they're the same\n // color, and neither one is black. This shows that the emoji was rendered in color.\n const feature1 = getTextFeature(text, '#000');\n const feature2 = getTextFeature(text, '#fff');\n return feature1 && feature2 && compareFeatures(feature1, feature2)\n}\n\n// rather than check every emoji ever, which would be expensive, just check some representatives from the\n\nfunction determineEmojiSupportLevel () {\n const entries = Object.entries(versionsAndTestEmoji);\n try {\n // start with latest emoji and work backwards\n for (const [emoji, version] of entries) {\n if (testColorEmojiSupported(emoji)) {\n return version\n }\n }\n } catch (e) { // canvas error\n } finally {\n }\n // In case of an error, be generous and just assume all emoji are supported (e.g. for canvas errors\n // due to anti-fingerprinting add-ons). Better to show some gray boxes than nothing at all.\n return entries[0][1] // first one in the list is the most recent version\n}\n\n// Check which emojis we know for sure aren't supported, based on Unicode version level\nconst emojiSupportLevelPromise = new Promise(resolve => (\n rIC(() => (\n resolve(determineEmojiSupportLevel()) // delay so ideally this can run while IDB is first populating\n ))\n));\n// determine which emojis containing ZWJ (zero width joiner) characters\n// are supported (rendered as one glyph) rather than unsupported (rendered as two or more glyphs)\nconst supportedZwjEmojis = new Map();\n\nconst VARIATION_SELECTOR = '\\ufe0f';\nconst SKINTONE_MODIFIER = '\\ud83c';\nconst ZWJ = '\\u200d';\nconst LIGHT_SKIN_TONE = 0x1F3FB;\nconst LIGHT_SKIN_TONE_MODIFIER = 0xdffb;\n\n// TODO: this is a naive implementation, we can improve it later\n// It's only used for the skintone picker, so as long as people don't customize with\n// really exotic emoji then it should work fine\nfunction applySkinTone (str, skinTone) {\n if (skinTone === 0) {\n return str\n }\n const zwjIndex = str.indexOf(ZWJ);\n if (zwjIndex !== -1) {\n return str.substring(0, zwjIndex) +\n String.fromCodePoint(LIGHT_SKIN_TONE + skinTone - 1) +\n str.substring(zwjIndex)\n }\n if (str.endsWith(VARIATION_SELECTOR)) {\n str = str.substring(0, str.length - 1);\n }\n return str + SKINTONE_MODIFIER + String.fromCodePoint(LIGHT_SKIN_TONE_MODIFIER + skinTone - 1)\n}\n\nfunction halt (event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\n// Implementation left/right or up/down navigation, circling back when you\n// reach the start/end of the list\nfunction incrementOrDecrement (decrement, val, arr) {\n val += (decrement ? -1 : 1);\n if (val < 0) {\n val = arr.length - 1;\n } else if (val >= arr.length) {\n val = 0;\n }\n return val\n}\n\n// like lodash's uniqBy but much smaller\nfunction uniqBy (arr, func) {\n const set = new Set();\n const res = [];\n for (const item of arr) {\n const key = func(item);\n if (!set.has(key)) {\n set.add(key);\n res.push(item);\n }\n }\n return res\n}\n\n// We don't need all the data on every emoji, and there are specific things we need\n// for the UI, so build a \"view model\" from the emoji object we got from the database\n\nfunction summarizeEmojisForUI (emojis, emojiSupportLevel) {\n const toSimpleSkinsMap = skins => {\n const res = {};\n for (const skin of skins) {\n // ignore arrays like [1, 2] with multiple skin tones\n // also ignore variants that are in an unsupported emoji version\n // (these do exist - variants from a different version than their base emoji)\n if (typeof skin.tone === 'number' && skin.version <= emojiSupportLevel) {\n res[skin.tone] = skin.unicode;\n }\n }\n return res\n };\n\n return emojis.map(({ unicode, skins, shortcodes, url, name, category }) => ({\n unicode,\n name,\n shortcodes,\n url,\n category,\n id: unicode || name,\n skins: skins && toSimpleSkinsMap(skins),\n title: (shortcodes || []).join(', ')\n }))\n}\n\n// import rAF from one place so that the bundle size is a bit smaller\nconst rAF = requestAnimationFrame;\n\n// Svelte action to calculate the width of an element and auto-update\n\nlet resizeObserverSupported = typeof ResizeObserver === 'function';\n\nfunction calculateWidth (node, onUpdate) {\n let resizeObserver;\n if (resizeObserverSupported) {\n resizeObserver = new ResizeObserver(entries => (\n onUpdate(entries[0].contentRect.width)\n ));\n resizeObserver.observe(node);\n } else { // just set the width once, don't bother trying to track it\n rAF(() => (\n onUpdate(node.getBoundingClientRect().width)\n ));\n }\n\n // cleanup function (called on destroy)\n return {\n destroy () {\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n }\n }\n}\n\n// get the width of the text inside of a DOM node, via https://stackoverflow.com/a/59525891/680742\nfunction calculateTextWidth (node) {\n /* istanbul ignore else */\n {\n const range = document.createRange();\n range.selectNode(node.firstChild);\n return range.getBoundingClientRect().width\n }\n}\n\nlet baselineEmojiWidth;\n\nfunction checkZwjSupport (zwjEmojisToCheck, baselineEmoji, emojiToDomNode) {\n for (const emoji of zwjEmojisToCheck) {\n const domNode = emojiToDomNode(emoji);\n const emojiWidth = calculateTextWidth(domNode);\n if (typeof baselineEmojiWidth === 'undefined') { // calculate the baseline emoji width only once\n baselineEmojiWidth = calculateTextWidth(baselineEmoji);\n }\n // On Windows, some supported emoji are ~50% bigger than the baseline emoji, but what we really want to guard\n // against are the ones that are 2x the size, because those are truly broken (person with red hair = person with\n // floating red wig, black cat = cat with black square, polar bear = bear with snowflake, etc.)\n // So here we set the threshold at 1.8 times the size of the baseline emoji.\n const supported = emojiWidth / 1.8 < baselineEmojiWidth;\n supportedZwjEmojis.set(emoji.unicode, supported);\n }\n}\n\n// Measure after style/layout are complete\n\nconst requestPostAnimationFrame = callback => {\n rAF(() => {\n setTimeout(callback);\n });\n};\n\n// like lodash's uniq\n\nfunction uniq (arr) {\n return uniqBy(arr, _ => _)\n}\n\n/* src/picker/components/Picker/Picker.svelte generated by Svelte v3.46.4 */\n\nconst { Map: Map_1 } = globals;\n\nfunction get_each_context(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_1(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[66] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_2(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_3(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[69] = list[i];\n\treturn child_ctx;\n}\n\nfunction get_each_context_4(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[72] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\n// (43:38) {#each skinTones as skinTone, i (skinTone)}\nfunction create_each_block_4(key_1, ctx) {\n\tlet div;\n\tlet t_value = /*skinTone*/ ctx[72] + \"\";\n\tlet t;\n\tlet div_id_value;\n\tlet div_class_value;\n\tlet div_aria_selected_value;\n\tlet div_title_value;\n\tlet div_aria_label_value;\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"id\", div_id_value = \"skintone-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div, \"class\", div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(div, \"aria-selected\", div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div, \"role\", \"option\");\n\t\t\tattr(div, \"title\", div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tattr(div, \"tabindex\", \"-1\");\n\t\t\tattr(div, \"aria-label\", div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tthis.first = div;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tappend(div, t);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && t_value !== (t_value = /*skinTone*/ ctx[72] + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && div_id_value !== (div_id_value = \"skintone-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div, \"id\", div_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_class_value !== (div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(div, \"class\", div_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_aria_selected_value !== (div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div, \"aria-selected\", div_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_title_value !== (div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"title\", div_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_aria_label_value !== (div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"aria-label\", div_aria_label_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t}\n\t};\n}\n\n// (53:33) {#each groups as group (group.id)}\nfunction create_each_block_3(key_1, ctx) {\n\tlet button;\n\tlet div;\n\tlet t_value = /*group*/ ctx[69].emoji + \"\";\n\tlet t;\n\tlet button_aria_controls_value;\n\tlet button_aria_label_value;\n\tlet button_aria_selected_value;\n\tlet button_title_value;\n\tlet mounted;\n\tlet dispose;\n\n\tfunction click_handler() {\n\t\treturn /*click_handler*/ ctx[49](/*group*/ ctx[69]);\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"class\", \"nav-emoji emoji\");\n\t\t\tattr(button, \"role\", \"tab\");\n\t\t\tattr(button, \"class\", \"nav-button\");\n\t\t\tattr(button, \"aria-controls\", button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id);\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id);\n\t\t\tattr(button, \"title\", button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tappend(button, div);\n\t\t\tappend(div, t);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = listen(button, \"click\", click_handler);\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*groups*/ 4096 && t_value !== (t_value = /*group*/ ctx[69].emoji + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*groups*/ 4096 && button_aria_controls_value !== (button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-controls\", button_aria_controls_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_aria_label_value !== (button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup, groups*/ 12304 && button_aria_selected_value !== (button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_title_value !== (button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tmounted = false;\n\t\t\tdispose();\n\t\t}\n\t};\n}\n\n// (93:100) {:else}\nfunction create_else_block_1(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (93:40) {#if emoji.unicode}\nfunction create_if_block_1(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (88:53) {#each emojiWithCategory.emojis as emoji, i (emoji.id)}\nfunction create_each_block_2(key_1, ctx) {\n\tlet button;\n\tlet button_role_value;\n\tlet button_aria_selected_value;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_class_value;\n\tlet button_id_value;\n\n\tfunction select_block_type(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block_1;\n\t\treturn create_else_block_1;\n\t}\n\n\tlet current_block_type = select_block_type(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem');\n\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '');\n\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\n\t\t\tattr(button, \"class\", button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(button, \"id\", button_id_value = \"emo-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && button_role_value !== (button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem')) {\n\t\t\t\tattr(button, \"role\", button_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_aria_selected_value !== (button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '')) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_class_value !== (button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(button, \"class\", button_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_id_value !== (button_id_value = \"emo-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\n// (69:36) {#each currentEmojisWithCategories as emojiWithCategory, i (emojiWithCategory.category)}\nfunction create_each_block_1(key_1, ctx) {\n\tlet div0;\n\n\tlet t_value = (/*searchMode*/ ctx[4]\n\t? /*i18n*/ ctx[0].searchResultsLabel\n\t: /*emojiWithCategory*/ ctx[66].category\n\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\";\n\n\tlet t;\n\tlet div0_id_value;\n\tlet div0_class_value;\n\tlet div1;\n\tlet each_blocks = [];\n\tlet each_1_lookup = new Map_1();\n\tlet div1_role_value;\n\tlet div1_aria_labelledby_value;\n\tlet div1_id_value;\n\tlet each_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\tconst get_key = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value_2.length; i += 1) {\n\t\tlet child_ctx = get_each_context_2(ctx, each_value_2, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach_1_lookup.set(key, each_blocks[i] = create_each_block_2(key, child_ctx));\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv0 = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tdiv1 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tattr(div0, \"id\", div0_id_value = \"menu-label-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div0, \"class\", div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div0, \"aria-hidden\", \"true\");\n\t\t\tattr(div1, \"class\", \"emoji-menu\");\n\t\t\tattr(div1, \"role\", div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu');\n\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65]);\n\t\t\tattr(div1, \"id\", div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '');\n\t\t\tthis.first = div0;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div0, anchor);\n\t\t\tappend(div0, t);\n\t\t\tinsert(target, div1, anchor);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div1, null);\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentEmojisWithCategories, currentGroup*/ 40977 && t_value !== (t_value = (/*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_id_value !== (div0_id_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div0, \"id\", div0_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_class_value !== (div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div0, \"class\", div0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin*/ 402686256) {\n\t\t\t\teach_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value_2, each_1_lookup, div1, destroy_block, create_each_block_2, null, get_each_context_2);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_role_value !== (div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu')) {\n\t\t\t\tattr(div1, \"role\", div1_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div1_aria_labelledby_value !== (div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_id_value !== (div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '')) {\n\t\t\t\tattr(div1, \"id\", div1_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div0);\n\t\t\tif (detaching) detach(div1);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\t\t}\n\t};\n}\n\n// (102:94) {:else}\nfunction create_else_block(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (102:34) {#if emoji.unicode}\nfunction create_if_block(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (98:102) {#each currentFavorites as emoji, i (emoji.id)}\nfunction create_each_block(key_1, ctx) {\n\tlet button;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_id_value;\n\n\tfunction select_block_type_1(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block;\n\t\treturn create_else_block;\n\t}\n\n\tlet current_block_type = select_block_type_1(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", \"menuitem\");\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\t\t\tattr(button, \"class\", \"emoji\");\n\t\t\tattr(button, \"id\", button_id_value = \"fav-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type_1(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_id_value !== (button_id_value = \"fav-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\nfunction create_fragment(ctx) {\n\tlet section;\n\tlet div0;\n\tlet div4;\n\tlet div1;\n\tlet input;\n\tlet input_placeholder_value;\n\tlet input_aria_expanded_value;\n\tlet input_aria_activedescendant_value;\n\tlet label;\n\tlet t0_value = /*i18n*/ ctx[0].searchLabel + \"\";\n\tlet t0;\n\tlet span0;\n\tlet t1_value = /*i18n*/ ctx[0].searchDescription + \"\";\n\tlet t1;\n\tlet div2;\n\tlet button0;\n\tlet t2;\n\tlet button0_class_value;\n\tlet div2_class_value;\n\tlet span1;\n\tlet t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\";\n\tlet t3;\n\tlet div3;\n\tlet each_blocks_3 = [];\n\tlet each0_lookup = new Map_1();\n\tlet div3_class_value;\n\tlet div3_aria_label_value;\n\tlet div3_aria_activedescendant_value;\n\tlet div3_aria_hidden_value;\n\tlet div5;\n\tlet each_blocks_2 = [];\n\tlet each1_lookup = new Map_1();\n\tlet div5_aria_label_value;\n\tlet div7;\n\tlet div6;\n\tlet div8;\n\tlet t4;\n\tlet div8_class_value;\n\tlet div10;\n\tlet div9;\n\tlet each_blocks_1 = [];\n\tlet each2_lookup = new Map_1();\n\tlet div10_class_value;\n\tlet div10_role_value;\n\tlet div10_aria_label_value;\n\tlet div10_id_value;\n\tlet div11;\n\tlet each_blocks = [];\n\tlet each3_lookup = new Map_1();\n\tlet div11_class_value;\n\tlet div11_aria_label_value;\n\tlet button1;\n\tlet section_aria_label_value;\n\tlet mounted;\n\tlet dispose;\n\tlet each_value_4 = /*skinTones*/ ctx[9];\n\tconst get_key = ctx => /*skinTone*/ ctx[72];\n\n\tfor (let i = 0; i < each_value_4.length; i += 1) {\n\t\tlet child_ctx = get_each_context_4(ctx, each_value_4, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach0_lookup.set(key, each_blocks_3[i] = create_each_block_4(key, child_ctx));\n\t}\n\n\tlet each_value_3 = /*groups*/ ctx[12];\n\tconst get_key_1 = ctx => /*group*/ ctx[69].id;\n\n\tfor (let i = 0; i < each_value_3.length; i += 1) {\n\t\tlet child_ctx = get_each_context_3(ctx, each_value_3, i);\n\t\tlet key = get_key_1(child_ctx);\n\t\teach1_lookup.set(key, each_blocks_2[i] = create_each_block_3(key, child_ctx));\n\t}\n\n\tlet each_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\tconst get_key_2 = ctx => /*emojiWithCategory*/ ctx[66].category;\n\n\tfor (let i = 0; i < each_value_1.length; i += 1) {\n\t\tlet child_ctx = get_each_context_1(ctx, each_value_1, i);\n\t\tlet key = get_key_2(child_ctx);\n\t\teach2_lookup.set(key, each_blocks_1[i] = create_each_block_1(key, child_ctx));\n\t}\n\n\tlet each_value = /*currentFavorites*/ ctx[10];\n\tconst get_key_3 = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value.length; i += 1) {\n\t\tlet child_ctx = get_each_context(ctx, each_value, i);\n\t\tlet key = get_key_3(child_ctx);\n\t\teach3_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));\n\t}\n\n\treturn {\n\t\tc() {\n\t\t\tsection = element(\"section\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tdiv4 = element(\"div\");\n\t\t\tdiv1 = element(\"div\");\n\t\t\tinput = element(\"input\");\n\t\t\tlabel = element(\"label\");\n\t\t\tt0 = text(t0_value);\n\t\t\tspan0 = element(\"span\");\n\t\t\tt1 = text(t1_value);\n\t\t\tdiv2 = element(\"div\");\n\t\t\tbutton0 = element(\"button\");\n\t\t\tt2 = text(/*skinToneButtonText*/ ctx[21]);\n\t\t\tspan1 = element(\"span\");\n\t\t\tt3 = text(t3_value);\n\t\t\tdiv3 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].c();\n\t\t\t}\n\n\t\t\tdiv5 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].c();\n\t\t\t}\n\n\t\t\tdiv7 = element(\"div\");\n\t\t\tdiv6 = element(\"div\");\n\t\t\tdiv8 = element(\"div\");\n\t\t\tt4 = text(/*message*/ ctx[18]);\n\t\t\tdiv10 = element(\"div\");\n\t\t\tdiv9 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].c();\n\t\t\t}\n\n\t\t\tdiv11 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tbutton1 = element(\"button\");\n\t\t\tbutton1.textContent = \"😀\";\n\t\t\tattr(div0, \"class\", \"pad-top\");\n\t\t\tattr(input, \"id\", \"search\");\n\t\t\tattr(input, \"class\", \"search\");\n\t\t\tattr(input, \"type\", \"search\");\n\t\t\tattr(input, \"role\", \"combobox\");\n\t\t\tattr(input, \"enterkeyhint\", \"search\");\n\t\t\tattr(input, \"placeholder\", input_placeholder_value = /*i18n*/ ctx[0].searchLabel);\n\t\t\tattr(input, \"autocapitalize\", \"none\");\n\t\t\tattr(input, \"autocomplete\", \"off\");\n\t\t\tattr(input, \"spellcheck\", \"true\");\n\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length));\n\t\t\tattr(input, \"aria-controls\", \"search-results\");\n\t\t\tattr(input, \"aria-describedby\", \"search-description\");\n\t\t\tattr(input, \"aria-autocomplete\", \"list\");\n\n\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '');\n\n\t\t\tattr(label, \"class\", \"sr-only\");\n\t\t\tattr(label, \"for\", \"search\");\n\t\t\tattr(span0, \"id\", \"search-description\");\n\t\t\tattr(span0, \"class\", \"sr-only\");\n\t\t\tattr(div1, \"class\", \"search-wrapper\");\n\t\t\tattr(button0, \"id\", \"skintone-button\");\n\t\t\tattr(button0, \"class\", button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''));\n\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"aria-describedby\", \"skintone-description\");\n\t\t\tattr(button0, \"aria-haspopup\", \"listbox\");\n\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(button0, \"aria-controls\", \"skintone-list\");\n\n\t\t\tattr(div2, \"class\", div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''));\n\n\t\t\tattr(span1, \"id\", \"skintone-description\");\n\t\t\tattr(span1, \"class\", \"sr-only\");\n\t\t\tattr(div3, \"id\", \"skintone-list\");\n\n\t\t\tattr(div3, \"class\", div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'));\n\n\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? 0\n\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\n\t\t\tattr(div3, \"role\", \"listbox\");\n\t\t\tattr(div3, \"aria-label\", div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel);\n\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(div4, \"class\", \"search-row\");\n\t\t\tattr(div5, \"class\", \"nav\");\n\t\t\tattr(div5, \"role\", \"tablist\");\n\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\tattr(div5, \"aria-label\", div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel);\n\t\t\tattr(div6, \"class\", \"indicator\");\n\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\tattr(div7, \"class\", \"indicator-wrapper\");\n\t\t\tattr(div8, \"class\", div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'));\n\t\t\tattr(div8, \"role\", \"alert\");\n\t\t\tattr(div8, \"aria-live\", \"polite\");\n\n\t\t\tattr(div10, \"class\", div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div10, \"role\", div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel');\n\n\t\t\tattr(div10, \"aria-label\", div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]);\n\n\t\t\tattr(div10, \"id\", div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`);\n\n\t\t\tattr(div10, \"tabindex\", \"0\");\n\t\t\tattr(div11, \"class\", div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''));\n\t\t\tattr(div11, \"role\", \"menu\");\n\t\t\tattr(div11, \"aria-label\", div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel);\n\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\tattr(button1, \"aria-hidden\", \"true\");\n\t\t\tattr(button1, \"tabindex\", \"-1\");\n\t\t\tattr(button1, \"class\", \"abs-pos hidden emoji\");\n\t\t\tattr(section, \"class\", \"picker\");\n\t\t\tattr(section, \"aria-label\", section_aria_label_value = /*i18n*/ ctx[0].regionLabel);\n\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, section, anchor);\n\t\t\tappend(section, div0);\n\t\t\tappend(section, div4);\n\t\t\tappend(div4, div1);\n\t\t\tappend(div1, input);\n\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\tappend(div1, label);\n\t\t\tappend(label, t0);\n\t\t\tappend(div1, span0);\n\t\t\tappend(span0, t1);\n\t\t\tappend(div4, div2);\n\t\t\tappend(div2, button0);\n\t\t\tappend(button0, t2);\n\t\t\tappend(div4, span1);\n\t\t\tappend(span1, t3);\n\t\t\tappend(div4, div3);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].m(div3, null);\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](div3);\n\t\t\tappend(section, div5);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].m(div5, null);\n\t\t\t}\n\n\t\t\tappend(section, div7);\n\t\t\tappend(div7, div6);\n\t\t\tappend(section, div8);\n\t\t\tappend(div8, t4);\n\t\t\tappend(section, div10);\n\t\t\tappend(div10, div9);\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].m(div9, null);\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](div10);\n\t\t\tappend(section, div11);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div11, null);\n\t\t\t}\n\n\t\t\tappend(section, button1);\n\t\t\t/*button1_binding*/ ctx[51](button1);\n\t\t\t/*section_binding*/ ctx[52](section);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(input, \"input\", /*input_input_handler*/ ctx[47]),\n\t\t\t\t\tlisten(input, \"keydown\", /*onSearchKeydown*/ ctx[30]),\n\t\t\t\t\tlisten(button0, \"click\", /*onClickSkinToneButton*/ ctx[35]),\n\t\t\t\t\tlisten(div3, \"focusout\", /*onSkinToneOptionsFocusOut*/ ctx[38]),\n\t\t\t\t\tlisten(div3, \"click\", /*onSkinToneOptionsClick*/ ctx[34]),\n\t\t\t\t\tlisten(div3, \"keydown\", /*onSkinToneOptionsKeydown*/ ctx[36]),\n\t\t\t\t\tlisten(div3, \"keyup\", /*onSkinToneOptionsKeyup*/ ctx[37]),\n\t\t\t\t\tlisten(div5, \"keydown\", /*onNavKeydown*/ ctx[32]),\n\t\t\t\t\taction_destroyer(/*calculateEmojiGridStyle*/ ctx[29].call(null, div9)),\n\t\t\t\t\tlisten(div10, \"click\", /*onEmojiClick*/ ctx[33]),\n\t\t\t\t\tlisten(div11, \"click\", /*onEmojiClick*/ ctx[33])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*i18n*/ 1 && input_placeholder_value !== (input_placeholder_value = /*i18n*/ ctx[0].searchLabel)) {\n\t\t\t\tattr(input, \"placeholder\", input_placeholder_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojis*/ 18 && input_aria_expanded_value !== (input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length))) {\n\t\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSearchItemId*/ 67108864 && input_aria_activedescendant_value !== (input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '')) {\n\t\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t0_value !== (t0_value = /*i18n*/ ctx[0].searchLabel + \"\")) set_data(t0, t0_value);\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t1_value !== (t1_value = /*i18n*/ ctx[0].searchDescription + \"\")) set_data(t1, t1_value);\n\t\t\tif (dirty[0] & /*skinToneButtonText*/ 2097152) set_data(t2, /*skinToneButtonText*/ ctx[21]);\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && button0_class_value !== (button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''))) {\n\t\t\t\tattr(button0, \"class\", button0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpandedAfterAnimation*/ 524288 && div2_class_value !== (div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''))) {\n\t\t\t\tattr(div2, \"class\", div2_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t3_value !== (t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\")) set_data(t3, t3_value);\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone, i18n*/ 1049089) {\n\t\t\t\teach_value_4 = /*skinTones*/ ctx[9];\n\t\t\t\teach_blocks_3 = update_keyed_each(each_blocks_3, dirty, get_key, 1, ctx, each_value_4, each0_lookup, div3, destroy_block, create_each_block_4, null, get_each_context_4);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_class_value !== (div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'))) {\n\t\t\t\tattr(div3, \"class\", div3_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t\t? 0\n\t\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div3_aria_label_value !== (div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel)) {\n\t\t\t\tattr(div3, \"aria-label\", div3_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSkinTone*/ 1048576 && div3_aria_activedescendant_value !== (div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_aria_hidden_value !== (div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6])) {\n\t\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups, i18n, searchMode, currentGroup*/ 12305 | dirty[1] & /*onNavClick*/ 1) {\n\t\t\t\teach_value_3 = /*groups*/ ctx[12];\n\t\t\t\teach_blocks_2 = update_keyed_each(each_blocks_2, dirty, get_key_1, 1, ctx, each_value_3, each1_lookup, div5, destroy_block, create_each_block_3, null, get_each_context_3);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups*/ 4096) {\n\t\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div5_aria_label_value !== (div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel)) {\n\t\t\t\tattr(div5, \"aria-label\", div5_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*isRtl, currentGroupIndex*/ 16779264) {\n\t\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144) set_data(t4, /*message*/ ctx[18]);\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div8_class_value !== (div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'))) {\n\t\t\t\tattr(div8, \"class\", div8_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin, i18n, currentGroup*/ 402694449) {\n\t\t\t\teach_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\t\t\t\teach_blocks_1 = update_keyed_each(each_blocks_1, dirty, get_key_2, 1, ctx, each_value_1, each2_lookup, div9, destroy_block, create_each_block_1, null, get_each_context_1);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*databaseLoaded, message*/ 278528 && div10_class_value !== (div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div10, \"class\", div10_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div10_role_value !== (div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel')) {\n\t\t\t\tattr(div10, \"role\", div10_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentGroup*/ 8209 && div10_aria_label_value !== (div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name])) {\n\t\t\t\tattr(div10, \"aria-label\", div10_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup*/ 8208 && div10_id_value !== (div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`)) {\n\t\t\t\tattr(div10, \"id\", div10_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*labelWithSkin, currentFavorites, currentSkinTone, unicodeWithSkin*/ 402654464) {\n\t\t\t\teach_value = /*currentFavorites*/ ctx[10];\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key_3, 1, ctx, each_value, each3_lookup, div11, destroy_block, create_each_block, null, get_each_context);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div11_class_value !== (div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''))) {\n\t\t\t\tattr(div11, \"class\", div11_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div11_aria_label_value !== (div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel)) {\n\t\t\t\tattr(div11, \"aria-label\", div11_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*scrollbarWidth*/ 33554432) {\n\t\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && section_aria_label_value !== (section_aria_label_value = /*i18n*/ ctx[0].regionLabel)) {\n\t\t\t\tattr(section, \"aria-label\", section_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*pickerStyle*/ 4194304) {\n\t\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t\t}\n\t\t},\n\t\ti: noop,\n\t\to: noop,\n\t\td(detaching) {\n\t\t\tif (detaching) detach(section);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].d();\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](null);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].d();\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].d();\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](null);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\n\t\t\t/*button1_binding*/ ctx[51](null);\n\t\t\t/*section_binding*/ ctx[52](null);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance($$self, $$props, $$invalidate) {\n\tlet { skinToneEmoji } = $$props;\n\tlet { i18n } = $$props;\n\tlet { database } = $$props;\n\tlet { customEmoji } = $$props;\n\tlet { customCategorySorting } = $$props;\n\n\t// private\n\tlet initialLoad = true;\n\n\tlet currentEmojis = [];\n\tlet currentEmojisWithCategories = []; // eslint-disable-line no-unused-vars\n\tlet rawSearchText = '';\n\tlet searchText = '';\n\tlet rootElement;\n\tlet baselineEmoji;\n\tlet tabpanelElement;\n\tlet searchMode = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItem = -1;\n\tlet message; // eslint-disable-line no-unused-vars\n\tlet skinTonePickerExpanded = false;\n\tlet skinTonePickerExpandedAfterAnimation = false; // eslint-disable-line no-unused-vars\n\tlet skinToneDropdown;\n\tlet currentSkinTone = 0;\n\tlet activeSkinTone = 0;\n\tlet skinToneButtonText; // eslint-disable-line no-unused-vars\n\tlet pickerStyle; // eslint-disable-line no-unused-vars\n\tlet skinToneButtonLabel = ''; // eslint-disable-line no-unused-vars\n\tlet skinTones = [];\n\tlet currentFavorites = []; // eslint-disable-line no-unused-vars\n\tlet defaultFavoriteEmojis;\n\tlet numColumns = DEFAULT_NUM_COLUMNS;\n\tlet isRtl = false;\n\tlet scrollbarWidth = 0; // eslint-disable-line no-unused-vars\n\tlet currentGroupIndex = 0;\n\tlet groups$1 = groups;\n\tlet currentGroup;\n\tlet databaseLoaded = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItemId; // eslint-disable-line no-unused-vars\n\n\t//\n\t// Utils/helpers\n\t//\n\tconst focus = id => {\n\t\trootElement.getRootNode().getElementById(id).focus();\n\t};\n\n\t// fire a custom event that crosses the shadow boundary\n\tconst fireEvent = (name, detail) => {\n\t\trootElement.dispatchEvent(new CustomEvent(name, { detail, bubbles: true, composed: true }));\n\t};\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst unicodeWithSkin = (emoji, currentSkinTone) => currentSkinTone && emoji.skins && emoji.skins[currentSkinTone] || emoji.unicode;\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst labelWithSkin = (emoji, currentSkinTone) => uniq([\n\t\temoji.name || unicodeWithSkin(emoji, currentSkinTone),\n\t\t...emoji.shortcodes || []\n\t]).join(', ');\n\n\t// Detect a skintone option button\n\tconst isSkinToneOption = element => (/^skintone-/).test(element.id);\n\n\t//\n\t// Determine the emoji support level (in requestIdleCallback)\n\t//\n\temojiSupportLevelPromise.then(level => {\n\t\t// Can't actually test emoji support in Jest/JSDom, emoji never render in color in Cairo\n\t\t/* istanbul ignore next */\n\t\tif (!level) {\n\t\t\t$$invalidate(18, message = i18n.emojiUnsupportedMessage);\n\t\t}\n\t});\n\n\t//\n\t// Calculate the width of the emoji grid. This serves two purposes:\n\t// 1) Re-calculate the --num-columns var because it may have changed\n\t// 2) Re-calculate the scrollbar width because it may have changed\n\t// (i.e. because the number of items changed)\n\t// 3) Re-calculate whether we're in RTL mode or not.\n\t//\n\t// The benefit of doing this in one place is to align with rAF/ResizeObserver\n\t// and do all the calculations in one go. RTL vs LTR is not strictly width-related,\n\t// but since we're already reading the style here, and since it's already aligned with\n\t// the rAF loop, this is the most appropriate place to do it perf-wise.\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction calculateEmojiGridStyle(node) {\n\t\treturn calculateWidth(node, width => {\n\t\t\t/* istanbul ignore next */\n\t\t\tif (\"production\" !== 'test') {\n\t\t\t\t// jsdom throws errors for this kind of fancy stuff\n\t\t\t\t// read all the style/layout calculations we need to make\n\t\t\t\tconst style = getComputedStyle(rootElement);\n\n\t\t\t\tconst newNumColumns = parseInt(style.getPropertyValue('--num-columns'), 10);\n\t\t\t\tconst newIsRtl = style.getPropertyValue('direction') === 'rtl';\n\t\t\t\tconst parentWidth = node.parentElement.getBoundingClientRect().width;\n\t\t\t\tconst newScrollbarWidth = parentWidth - width;\n\n\t\t\t\t// write to Svelte variables\n\t\t\t\t$$invalidate(46, numColumns = newNumColumns);\n\n\t\t\t\t$$invalidate(25, scrollbarWidth = newScrollbarWidth); // eslint-disable-line no-unused-vars\n\t\t\t\t$$invalidate(24, isRtl = newIsRtl); // eslint-disable-line no-unused-vars\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction checkZwjSupportAndUpdate(zwjEmojisToCheck) {\n\t\tconst rootNode = rootElement.getRootNode();\n\t\tconst emojiToDomNode = emoji => rootNode.getElementById(`emo-${emoji.id}`);\n\t\tcheckZwjSupport(zwjEmojisToCheck, baselineEmoji, emojiToDomNode);\n\n\t\t// force update\n\t\t$$invalidate(1, currentEmojis = currentEmojis); // eslint-disable-line no-self-assign\n\t}\n\n\tfunction isZwjSupported(emoji) {\n\t\treturn !emoji.unicode || !hasZwj(emoji) || supportedZwjEmojis.get(emoji.unicode);\n\t}\n\n\tasync function filterEmojisByVersion(emojis) {\n\t\tconst emojiSupportLevel = await emojiSupportLevelPromise;\n\n\t\t// !version corresponds to custom emoji\n\t\treturn emojis.filter(({ version }) => !version || version <= emojiSupportLevel);\n\t}\n\n\tasync function summarizeEmojis(emojis) {\n\t\treturn summarizeEmojisForUI(emojis, await emojiSupportLevelPromise);\n\t}\n\n\tasync function getEmojisByGroup(group) {\n\n\t\tif (typeof group === 'undefined') {\n\t\t\treturn [];\n\t\t}\n\n\t\t// -1 is custom emoji\n\t\tconst emoji = group === -1\n\t\t? customEmoji\n\t\t: await database.getEmojiByGroup(group);\n\n\t\treturn summarizeEmojis(await filterEmojisByVersion(emoji));\n\t}\n\n\tasync function getEmojisBySearchQuery(query) {\n\t\treturn summarizeEmojis(await filterEmojisByVersion(await database.getEmojiBySearchQuery(query)));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSearchKeydown(event) {\n\t\tif (!searchMode || !currentEmojis.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst goToNextOrPrevious = previous => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(5, activeSearchItem = incrementOrDecrement(previous, activeSearchItem, currentEmojis));\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn goToNextOrPrevious(false);\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn goToNextOrPrevious(true);\n\t\t\tcase 'Enter':\n\t\t\t\tif (activeSearchItem !== -1) {\n\t\t\t\t\thalt(event);\n\t\t\t\t\treturn clickEmoji(currentEmojis[activeSearchItem].id);\n\t\t\t\t} else if (currentEmojis.length) {\n\t\t\t\t\t$$invalidate(5, activeSearchItem = 0);\n\t\t\t\t}\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on nav\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavClick(group) {\n\t\t$$invalidate(2, rawSearchText = '');\n\t\t$$invalidate(44, searchText = '');\n\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t$$invalidate(11, currentGroupIndex = groups$1.findIndex(_ => _.id === group.id));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavKeydown(event) {\n\t\tconst { target, key } = event;\n\n\t\tconst doFocus = el => {\n\t\t\tif (el) {\n\t\t\t\thalt(event);\n\t\t\t\tel.focus();\n\t\t\t}\n\t\t};\n\n\t\tswitch (key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\treturn doFocus(target.previousSibling);\n\t\t\tcase 'ArrowRight':\n\t\t\t\treturn doFocus(target.nextSibling);\n\t\t\tcase 'Home':\n\t\t\t\treturn doFocus(target.parentElement.firstChild);\n\t\t\tcase 'End':\n\t\t\t\treturn doFocus(target.parentElement.lastChild);\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on an emoji\n\t//\n\tasync function clickEmoji(unicodeOrName) {\n\t\tconst emoji = await database.getEmojiByUnicodeOrName(unicodeOrName);\n\t\tconst emojiSummary = [...currentEmojis, ...currentFavorites].find(_ => _.id === unicodeOrName);\n\t\tconst skinTonedUnicode = emojiSummary.unicode && unicodeWithSkin(emojiSummary, currentSkinTone);\n\t\tawait database.incrementFavoriteEmojiCount(unicodeOrName);\n\n\t\tfireEvent('emoji-click', {\n\t\t\temoji,\n\t\t\tskinTone: currentSkinTone,\n\t\t\t...skinTonedUnicode && { unicode: skinTonedUnicode },\n\t\t\t...emojiSummary.name && { name: emojiSummary.name }\n\t\t});\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onEmojiClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!target.classList.contains('emoji')) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst id = target.id.substring(4); // replace 'emo-' or 'fav-' prefix\n\n\t\t/* no await */\n\t\tclickEmoji(id);\n\t}\n\n\t//\n\t// Handle user input on the skintone picker\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!isSkinToneOption(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst skinTone = parseInt(target.id.slice(9), 10); // remove 'skintone-' prefix\n\t\t$$invalidate(8, currentSkinTone = skinTone);\n\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\tfocus('skintone-button');\n\t\tfireEvent('skin-tone-change', { skinTone });\n\n\t\t/* no await */\n\t\tdatabase.setPreferredSkinTone(skinTone);\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onClickSkinToneButton(event) {\n\t\t$$invalidate(6, skinTonePickerExpanded = !skinTonePickerExpanded);\n\t\t$$invalidate(20, activeSkinTone = currentSkinTone);\n\n\t\tif (skinTonePickerExpanded) {\n\t\t\thalt(event);\n\t\t\trAF(() => focus(`skintone-${activeSkinTone}`));\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeydown(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst changeActiveSkinTone = async nextSkinTone => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(20, activeSkinTone = nextSkinTone);\n\t\t\tawait tick();\n\t\t\tfocus(`skintone-${activeSkinTone}`);\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(true, activeSkinTone, skinTones));\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(false, activeSkinTone, skinTones));\n\t\t\tcase 'Home':\n\t\t\t\treturn changeActiveSkinTone(0);\n\t\t\tcase 'End':\n\t\t\t\treturn changeActiveSkinTone(skinTones.length - 1);\n\t\t\tcase 'Enter':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t\tcase 'Escape':\n\t\t\t\thalt(event);\n\t\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t\t\treturn focus('skintone-button');\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeyup(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase ' ':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsFocusOut(event) {\n\t\t// On blur outside of the skintone options, collapse the skintone picker.\n\t\t// Except if focus is just moving to another skintone option, e.g. pressing up/down to change focus\n\t\tconst { relatedTarget } = event;\n\n\t\tif (!relatedTarget || !isSkinToneOption(relatedTarget)) {\n\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t}\n\t}\n\n\tfunction input_input_handler() {\n\t\trawSearchText = this.value;\n\t\t$$invalidate(2, rawSearchText);\n\t}\n\n\tfunction div3_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tskinToneDropdown = $$value;\n\t\t\t$$invalidate(7, skinToneDropdown);\n\t\t});\n\t}\n\n\tconst click_handler = group => onNavClick(group);\n\n\tfunction div10_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\ttabpanelElement = $$value;\n\t\t\t$$invalidate(3, tabpanelElement);\n\t\t});\n\t}\n\n\tfunction button1_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tbaselineEmoji = $$value;\n\t\t\t$$invalidate(17, baselineEmoji);\n\t\t});\n\t}\n\n\tfunction section_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\trootElement = $$value;\n\t\t\t$$invalidate(16, rootElement);\n\t\t});\n\t}\n\n\t$$self.$$set = $$props => {\n\t\tif ('skinToneEmoji' in $$props) $$invalidate(40, skinToneEmoji = $$props.skinToneEmoji);\n\t\tif ('i18n' in $$props) $$invalidate(0, i18n = $$props.i18n);\n\t\tif ('database' in $$props) $$invalidate(39, database = $$props.database);\n\t\tif ('customEmoji' in $$props) $$invalidate(41, customEmoji = $$props.customEmoji);\n\t\tif ('customCategorySorting' in $$props) $$invalidate(42, customCategorySorting = $$props.customCategorySorting);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[1] & /*customEmoji, database*/ 1280) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the customEmoji\n\t\t\t//\n\t\t\t{\n\t\t\t\tif (customEmoji && database) {\n\t\t\t\t\t$$invalidate(39, database.customEmoji = customEmoji, database);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n*/ 1 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the database object\n\t\t\t//\n\t\t\t{\n\t\t\t\t// show a Loading message if it takes a long time, or show an error if there's a network/IDB error\n\t\t\t\tasync function handleDatabaseLoading() {\n\t\t\t\t\tlet showingLoadingMessage = false;\n\n\t\t\t\t\tconst timeoutHandle = setTimeout(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tshowingLoadingMessage = true;\n\t\t\t\t\t\t\t$$invalidate(18, message = i18n.loadingMessage);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTIMEOUT_BEFORE_LOADING_MESSAGE\n\t\t\t\t\t);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait database.ready();\n\t\t\t\t\t\t$$invalidate(14, databaseLoaded = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t} catch(err) {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t$$invalidate(18, message = i18n.networkErrorMessage);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tclearTimeout(timeoutHandle);\n\n\t\t\t\t\t\tif (showingLoadingMessage) {\n\t\t\t\t\t\t\t// Seems safer than checking the i18n string, which may change\n\t\t\t\t\t\t\tshowingLoadingMessage = false;\n\n\t\t\t\t\t\t\t$$invalidate(18, message = ''); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (database) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\thandleDatabaseLoading();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups*/ 4096 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) {\n\t\t\t{\n\t\t\t\tif (customEmoji && customEmoji.length) {\n\t\t\t\t\t$$invalidate(12, groups$1 = [customGroup, ...groups]);\n\t\t\t\t} else if (groups$1 !== groups) {\n\t\t\t\t\t$$invalidate(12, groups$1 = groups);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Handle user input on the search input\n\t\t\t//\n\t\t\t{\n\t\t\t\trIC(() => {\n\t\t\t\t\t$$invalidate(44, searchText = (rawSearchText || '').trim()); // defer to avoid input delays, plus we can trim here\n\t\t\t\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144) {\n\t\t\t//\n\t\t\t// Update the current group based on the currentGroupIndex\n\t\t\t//\n\t\t\t$$invalidate(13, currentGroup = groups$1[currentGroupIndex]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded, currentGroup*/ 24576 | $$self.$$.dirty[1] & /*searchText*/ 8192) {\n\t\t\t//\n\t\t\t// Set or update the currentEmojis. Check for invalid ZWJ renderings\n\t\t\t// (i.e. double emoji).\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateEmojis() {\n\n\t\t\t\t\tif (!databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(1, currentEmojis = []);\n\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t} else if (searchText.length >= MIN_SEARCH_TEXT_LENGTH) {\n\t\t\t\t\t\tconst currentSearchText = searchText;\n\t\t\t\t\t\tconst newEmojis = await getEmojisBySearchQuery(currentSearchText);\n\n\t\t\t\t\t\tif (currentSearchText === searchText) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = true);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (currentGroup) {\n\t\t\t\t\t\tconst currentGroupId = currentGroup.id;\n\t\t\t\t\t\tconst newEmojis = await getEmojisByGroup(currentGroupId);\n\n\t\t\t\t\t\tif (currentGroupId === currentGroup.id) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdateEmojis();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, searchMode*/ 4112) {\n\t\t\t//\n\t\t\t// Global styles for the entire picker\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(22, pickerStyle = `\n --font-family: ${FONT_FAMILY};\n --num-groups: ${groups$1.length}; \n --indicator-opacity: ${searchMode ? 0 : 1}; \n --num-skintones: ${NUM_SKIN_TONES};`);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the preferred skin tone\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updatePreferredSkinTone() {\n\t\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(8, currentSkinTone = await database.getPreferredSkinTone());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdatePreferredSkinTone();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[1] & /*skinToneEmoji*/ 512) {\n\t\t\t$$invalidate(9, skinTones = Array(NUM_SKIN_TONES).fill().map((_, i) => applySkinTone(skinToneEmoji, i)));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTones, currentSkinTone*/ 768) {\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(21, skinToneButtonText = skinTones[currentSkinTone]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n, currentSkinTone*/ 257) {\n\t\t\t$$invalidate(23, skinToneButtonLabel = i18n.skinToneLabel.replace('{skinTone}', i18n.skinTones[currentSkinTone]));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the favorites emojis\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateDefaultFavoriteEmojis() {\n\t\t\t\t\t$$invalidate(45, defaultFavoriteEmojis = (await Promise.all(MOST_COMMONLY_USED_EMOJI.map(unicode => database.getEmojiByUnicodeOrName(unicode)))).filter(Boolean)); // filter because in Jest tests we don't have all the emoji in the DB\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateDefaultFavoriteEmojis();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database, numColumns, defaultFavoriteEmojis*/ 49408) {\n\t\t\t{\n\t\t\t\tasync function updateFavorites() {\n\t\t\t\t\tconst dbFavorites = await database.getTopFavoriteEmoji(numColumns);\n\t\t\t\t\tconst favorites = await summarizeEmojis(uniqBy([...dbFavorites, ...defaultFavoriteEmojis], _ => _.unicode || _.name).slice(0, numColumns));\n\t\t\t\t\t$$invalidate(10, currentFavorites = favorites);\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded && defaultFavoriteEmojis) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateFavorites();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, tabpanelElement*/ 10) {\n\t\t\t// Some emojis have their ligatures rendered as two or more consecutive emojis\n\t\t\t// We want to treat these the same as unsupported emojis, so we compare their\n\t\t\t// widths against the baseline widths and remove them as necessary\n\t\t\t{\n\t\t\t\tconst zwjEmojisToCheck = currentEmojis.filter(emoji => emoji.unicode).filter(emoji => hasZwj(emoji) && !supportedZwjEmojis.has(emoji.unicode)); // filter custom emoji\n\n\t\t\t\tif (zwjEmojisToCheck.length) {\n\t\t\t\t\t// render now, check their length later\n\t\t\t\t\trAF(() => checkZwjSupportAndUpdate(zwjEmojisToCheck));\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(1, currentEmojis = currentEmojis.filter(isZwjSupported));\n\n\t\t\t\t\trAF(() => {\n\t\t\t\t\t\t// Avoid Svelte doing an invalidation on the \"setter\" here.\n\t\t\t\t\t\t// At best the invalidation is useless, at worst it can cause infinite loops:\n\t\t\t\t\t\t// https://github.com/nolanlawson/emoji-picker-element/pull/180\n\t\t\t\t\t\t// https://github.com/sveltejs/svelte/issues/6521\n\t\t\t\t\t\t// Also note tabpanelElement can be null if the element is disconnected\n\t\t\t\t\t\t// immediately after connected, hence `|| {}`\n\t\t\t\t\t\t(tabpanelElement || {}).scrollTop = 0; // reset scroll top to 0 when emojis change\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, currentFavorites*/ 1026 | $$self.$$.dirty[1] & /*initialLoad*/ 4096) {\n\t\t\t{\n\t\t\t\t// consider initialLoad to be complete when the first tabpanel and favorites are rendered\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (\"production\" !== 'production' || false) {\n\t\t\t\t\tif (currentEmojis.length && currentFavorites.length && initialLoad) {\n\t\t\t\t\t\t$$invalidate(43, initialLoad = false);\n\t\t\t\t\t\trequestPostAnimationFrame(() => (void 0));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*searchMode, currentEmojis*/ 18 | $$self.$$.dirty[1] & /*customCategorySorting*/ 2048) {\n\t\t\t//\n\t\t\t// Derive currentEmojisWithCategories from currentEmojis. This is always done even if there\n\t\t\t// are no categories, because it's just easier to code the HTML this way.\n\t\t\t//\n\t\t\t{\n\t\t\t\tfunction calculateCurrentEmojisWithCategories() {\n\t\t\t\t\tif (searchMode) {\n\t\t\t\t\t\treturn [{ category: '', emojis: currentEmojis }];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst categoriesToEmoji = new Map();\n\n\t\t\t\t\tfor (const emoji of currentEmojis) {\n\t\t\t\t\t\tconst category = emoji.category || '';\n\t\t\t\t\t\tlet emojis = categoriesToEmoji.get(category);\n\n\t\t\t\t\t\tif (!emojis) {\n\t\t\t\t\t\t\temojis = [];\n\t\t\t\t\t\t\tcategoriesToEmoji.set(category, emojis);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\temojis.push(emoji);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [...categoriesToEmoji.entries()].map(([category, emojis]) => ({ category, emojis })).sort((a, b) => customCategorySorting(a.category, b.category));\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\t$$invalidate(15, currentEmojisWithCategories = calculateCurrentEmojisWithCategories());\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*activeSearchItem, currentEmojis*/ 34) {\n\t\t\t//\n\t\t\t// Handle active search item (i.e. pressing up or down while searching)\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(26, activeSearchItemId = activeSearchItem !== -1 && currentEmojis[activeSearchItem].id);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTonePickerExpanded, skinToneDropdown*/ 192) {\n\t\t\t// To make the animation nicer, change the z-index of the skintone picker button\n\t\t\t// *after* the animation has played. This makes it appear that the picker box\n\t\t\t// is expanding \"below\" the button\n\t\t\t{\n\t\t\t\tif (skinTonePickerExpanded) {\n\t\t\t\t\tskinToneDropdown.addEventListener(\n\t\t\t\t\t\t'transitionend',\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ once: true }\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = false); // eslint-disable-line no-unused-vars\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\ti18n,\n\t\tcurrentEmojis,\n\t\trawSearchText,\n\t\ttabpanelElement,\n\t\tsearchMode,\n\t\tactiveSearchItem,\n\t\tskinTonePickerExpanded,\n\t\tskinToneDropdown,\n\t\tcurrentSkinTone,\n\t\tskinTones,\n\t\tcurrentFavorites,\n\t\tcurrentGroupIndex,\n\t\tgroups$1,\n\t\tcurrentGroup,\n\t\tdatabaseLoaded,\n\t\tcurrentEmojisWithCategories,\n\t\trootElement,\n\t\tbaselineEmoji,\n\t\tmessage,\n\t\tskinTonePickerExpandedAfterAnimation,\n\t\tactiveSkinTone,\n\t\tskinToneButtonText,\n\t\tpickerStyle,\n\t\tskinToneButtonLabel,\n\t\tisRtl,\n\t\tscrollbarWidth,\n\t\tactiveSearchItemId,\n\t\tunicodeWithSkin,\n\t\tlabelWithSkin,\n\t\tcalculateEmojiGridStyle,\n\t\tonSearchKeydown,\n\t\tonNavClick,\n\t\tonNavKeydown,\n\t\tonEmojiClick,\n\t\tonSkinToneOptionsClick,\n\t\tonClickSkinToneButton,\n\t\tonSkinToneOptionsKeydown,\n\t\tonSkinToneOptionsKeyup,\n\t\tonSkinToneOptionsFocusOut,\n\t\tdatabase,\n\t\tskinToneEmoji,\n\t\tcustomEmoji,\n\t\tcustomCategorySorting,\n\t\tinitialLoad,\n\t\tsearchText,\n\t\tdefaultFavoriteEmojis,\n\t\tnumColumns,\n\t\tinput_input_handler,\n\t\tdiv3_binding,\n\t\tclick_handler,\n\t\tdiv10_binding,\n\t\tbutton1_binding,\n\t\tsection_binding\n\t];\n}\n\nclass Picker extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\n\t\tinit(\n\t\t\tthis,\n\t\t\toptions,\n\t\t\tinstance,\n\t\t\tcreate_fragment,\n\t\t\tsafe_not_equal,\n\t\t\t{\n\t\t\t\tskinToneEmoji: 40,\n\t\t\t\ti18n: 0,\n\t\t\t\tdatabase: 39,\n\t\t\t\tcustomEmoji: 41,\n\t\t\t\tcustomCategorySorting: 42\n\t\t\t},\n\t\t\tnull,\n\t\t\t[-1, -1, -1]\n\t\t);\n\t}\n}\n\nconst DEFAULT_DATA_SOURCE = 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json';\nconst DEFAULT_LOCALE = 'en';\n\nvar enI18n = {\n categoriesLabel: 'Categories',\n emojiUnsupportedMessage: 'Your browser does not support color emoji.',\n favoritesLabel: 'Favorites',\n loadingMessage: 'Loading…',\n networkErrorMessage: 'Could not load emoji.',\n regionLabel: 'Emoji picker',\n searchDescription: 'When search results are available, press up or down to select and enter to choose.',\n searchLabel: 'Search',\n searchResultsLabel: 'Search results',\n skinToneDescription: 'When expanded, press up or down to select and enter to choose.',\n skinToneLabel: 'Choose a skin tone (currently {skinTone})',\n skinTonesLabel: 'Skin tones',\n skinTones: [\n 'Default',\n 'Light',\n 'Medium-Light',\n 'Medium',\n 'Medium-Dark',\n 'Dark'\n ],\n categories: {\n custom: 'Custom',\n 'smileys-emotion': 'Smileys and emoticons',\n 'people-body': 'People and body',\n 'animals-nature': 'Animals and nature',\n 'food-drink': 'Food and drink',\n 'travel-places': 'Travel and places',\n activities: 'Activities',\n objects: 'Objects',\n symbols: 'Symbols',\n flags: 'Flags'\n }\n};\n\nconst PROPS = [\n 'customEmoji',\n 'customCategorySorting',\n 'database',\n 'dataSource',\n 'i18n',\n 'locale',\n 'skinToneEmoji'\n];\n\nclass PickerElement extends HTMLElement {\n constructor (props) {\n super();\n this.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = \":host{--emoji-size:1.375rem;--emoji-padding:0.5rem;--category-emoji-size:var(--emoji-size);--category-emoji-padding:var(--emoji-padding);--indicator-height:3px;--input-border-radius:0.5rem;--input-border-size:1px;--input-font-size:1rem;--input-line-height:1.5;--input-padding:0.25rem;--num-columns:8;--outline-size:2px;--border-size:1px;--skintone-border-radius:1rem;--category-font-size:1rem;display:flex;width:min-content;height:400px}:host,:host(.light){--background:#fff;--border-color:#e0e0e0;--indicator-color:#385ac1;--input-border-color:#999;--input-font-color:#111;--input-placeholder-color:#999;--outline-color:#999;--category-font-color:#111;--button-active-background:#e6e6e6;--button-hover-background:#d9d9d9}:host(.dark){--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}@media (prefers-color-scheme:dark){:host{--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}}:host([hidden]){display:none}button{margin:0;padding:0;border:0;background:0 0;box-shadow:none;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0}input{padding:0;margin:0;line-height:1.15;font-family:inherit}input[type=search]{-webkit-appearance:none}:focus{outline:var(--outline-color) solid var(--outline-size);outline-offset:calc(-1*var(--outline-size))}:host([data-js-focus-visible]) :focus:not([data-focus-visible-added]){outline:0}:focus:not(:focus-visible){outline:0}.hide-focus{outline:0}*{box-sizing:border-box}.picker{contain:content;display:flex;flex-direction:column;background:var(--background);border:var(--border-size) solid var(--border-color);width:100%;height:100%;overflow:hidden;--total-emoji-size:calc(var(--emoji-size) + (2 * var(--emoji-padding)));--total-category-emoji-size:calc(var(--category-emoji-size) + (2 * var(--category-emoji-padding)))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{opacity:0;pointer-events:none}.abs-pos{position:absolute;left:0;top:0}.gone{display:none!important}.skintone-button-wrapper,.skintone-list{background:var(--background);z-index:3}.skintone-button-wrapper.expanded{z-index:1}.skintone-list{position:absolute;inset-inline-end:0;top:0;z-index:2;overflow:visible;border-bottom:var(--border-size) solid var(--border-color);border-radius:0 0 var(--skintone-border-radius) var(--skintone-border-radius);will-change:transform;transition:transform .2s ease-in-out;transform-origin:center 0}@media (prefers-reduced-motion:reduce){.skintone-list{transition-duration:.001s}}@supports not (inset-inline-end:0){.skintone-list{right:0}}.skintone-list.no-animate{transition:none}.tabpanel{overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:transform;min-height:0;flex:1;contain:content}.emoji-menu{display:grid;grid-template-columns:repeat(var(--num-columns),var(--total-emoji-size));justify-content:space-around;align-items:flex-start;width:100%}.category{padding:var(--emoji-padding);font-size:var(--category-font-size);color:var(--category-font-color)}.custom-emoji,.emoji,button.emoji{height:var(--total-emoji-size);width:var(--total-emoji-size)}.emoji,button.emoji{font-size:var(--emoji-size);display:flex;align-items:center;justify-content:center;border-radius:100%;line-height:1;overflow:hidden;font-family:var(--font-family);cursor:pointer}@media (hover:hover) and (pointer:fine){.emoji:hover,button.emoji:hover{background:var(--button-hover-background)}}.emoji.active,.emoji:active,button.emoji.active,button.emoji:active{background:var(--button-active-background)}.custom-emoji{padding:var(--emoji-padding);object-fit:contain;pointer-events:none;background-repeat:no-repeat;background-position:center center;background-size:var(--emoji-size) var(--emoji-size)}.nav,.nav-button{align-items:center}.nav{display:grid;justify-content:space-between;contain:content}.nav-button{display:flex;justify-content:center}.nav-emoji{font-size:var(--category-emoji-size);width:var(--total-category-emoji-size);height:var(--total-category-emoji-size)}.indicator-wrapper{display:flex;border-bottom:1px solid var(--border-color)}.indicator{width:calc(100%/var(--num-groups));height:var(--indicator-height);opacity:var(--indicator-opacity);background-color:var(--indicator-color);will-change:transform,opacity;transition:opacity .1s linear,transform .25s ease-in-out}@media (prefers-reduced-motion:reduce){.indicator{will-change:opacity;transition:opacity .1s linear}}.pad-top,input.search{background:var(--background);width:100%}.pad-top{height:var(--emoji-padding);z-index:3}.search-row{display:flex;align-items:center;position:relative;padding-inline-start:var(--emoji-padding);padding-bottom:var(--emoji-padding)}.search-wrapper{flex:1;min-width:0}input.search{padding:var(--input-padding);border-radius:var(--input-border-radius);border:var(--input-border-size) solid var(--input-border-color);color:var(--input-font-color);font-size:var(--input-font-size);line-height:var(--input-line-height)}input.search::placeholder{color:var(--input-placeholder-color)}.favorites{display:flex;flex-direction:row;border-top:var(--border-size) solid var(--border-color);contain:content}.message{padding:var(--emoji-padding)}\";\n this.shadowRoot.appendChild(style);\n this._ctx = {\n // Set defaults\n locale: DEFAULT_LOCALE,\n dataSource: DEFAULT_DATA_SOURCE,\n skinToneEmoji: DEFAULT_SKIN_TONE_EMOJI,\n customCategorySorting: DEFAULT_CATEGORY_SORTING,\n customEmoji: null,\n i18n: enI18n,\n ...props\n };\n // Handle properties set before the element was upgraded\n for (const prop of PROPS) {\n if (prop !== 'database' && Object.prototype.hasOwnProperty.call(this, prop)) {\n this._ctx[prop] = this[prop];\n delete this[prop];\n }\n }\n this._dbFlush(); // wait for a flush before creating the db, in case the user calls e.g. a setter or setAttribute\n }\n\n connectedCallback () {\n this._cmp = new Picker({\n target: this.shadowRoot,\n props: this._ctx\n });\n }\n\n disconnectedCallback () {\n this._cmp.$destroy();\n this._cmp = undefined;\n\n const { database } = this._ctx;\n if (database) {\n database.close()\n // only happens if the database failed to load in the first place, so we don't care)\n .catch(err => console.error(err));\n }\n }\n\n static get observedAttributes () {\n return ['locale', 'data-source', 'skin-tone-emoji'] // complex objects aren't supported, also use kebab-case\n }\n\n attributeChangedCallback (attrName, oldValue, newValue) {\n // convert from kebab-case to camelcase\n // see https://github.com/sveltejs/svelte/issues/3852#issuecomment-665037015\n this._set(\n attrName.replace(/-([a-z])/g, (_, up) => up.toUpperCase()),\n newValue\n );\n }\n\n _set (prop, newValue) {\n this._ctx[prop] = newValue;\n if (this._cmp) {\n this._cmp.$set({ [prop]: newValue });\n }\n if (['locale', 'dataSource'].includes(prop)) {\n this._dbFlush();\n }\n }\n\n _dbCreate () {\n const { locale, dataSource, database } = this._ctx;\n // only create a new database if we really need to\n if (!database || database.locale !== locale || database.dataSource !== dataSource) {\n this._set('database', new Database({ locale, dataSource }));\n }\n }\n\n // Update the Database in one microtask if the locale/dataSource change. We do one microtask\n // so we don't create two Databases if e.g. both the locale and the dataSource change\n _dbFlush () {\n Promise.resolve().then(() => (\n this._dbCreate()\n ));\n }\n}\n\nconst definitions = {};\n\nfor (const prop of PROPS) {\n definitions[prop] = {\n get () {\n if (prop === 'database') {\n // in rare cases, the microtask may not be flushed yet, so we need to instantiate the DB\n // now if the user is asking for it\n this._dbCreate();\n }\n return this._ctx[prop]\n },\n set (val) {\n if (prop === 'database') {\n throw new Error('database is read-only')\n }\n this._set(prop, val);\n }\n };\n}\n\nObject.defineProperties(PickerElement.prototype, definitions);\n\n/* istanbul ignore else */\nif (!customElements.get('emoji-picker')) { // if already defined, do nothing (e.g. same script imported twice)\n customElements.define('emoji-picker', PickerElement);\n}\n\nexport { PickerElement as default };\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=2c0ab9be&\"\nimport script from \"./Loader.vue?vue&type=script&lang=js&\"\nexport * from \"./Loader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{\n\t\t'vac-box-search': _vm.showSearchBar,\n\t\t'vac-box-empty': !_vm.showSearchBar\n\t}},[(_vm.showSearch)?[(!_vm.loadingRooms && _vm.rooms.length)?_c('div',{staticClass:\"vac-icon-search\"},[_vm._t(\"search-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"search\"}})]})],2):_vm._e(),(!_vm.loadingRooms && _vm.rooms.length)?_c('input',{staticClass:\"vac-input\",attrs:{\"type\":\"search\",\"placeholder\":_vm.textMessages.SEARCH,\"autocomplete\":\"off\"},on:{\"input\":function($event){return _vm.$emit('search-room', $event)}}}):_vm._e()]:_vm._e(),(_vm.showAddRoom)?_c('div',{staticClass:\"vac-svg-button vac-add-icon\",on:{\"click\":function($event){return _vm.$emit('add-room')}}},[_vm._t(\"add-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"add\"}})]})],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"version\":\"1.1\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":(\"0 0 \" + _vm.size + \" \" + _vm.size)}},[_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path}}),(_vm.svgItem[_vm.name].path2)?_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path2}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SvgIcon.vue?vue&type=template&id=e01c0bf4&\"\nimport script from \"./SvgIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsSearch.vue?vue&type=template&id=1fc42a9b&\"\nimport script from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-container\"},[_vm._t(\"room-list-item\",function(){return [_vm._t(\"room-list-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_c('div',{staticClass:\"vac-name-container vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-title-container\"},[(_vm.userStatus)?_c('div',{staticClass:\"vac-state-circle\",class:{ 'vac-state-online': _vm.userStatus === 'online' }}):_vm._e(),_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.room.lastMessage)?_c('div',{staticClass:\"vac-text-date\"},[_vm._v(\" \"+_vm._s(_vm.room.lastMessage.timestamp)+\" \")]):_vm._e()]),_c('div',{staticClass:\"vac-text-last\",class:{\n\t\t\t\t\t'vac-message-new':\n\t\t\t\t\t\t_vm.room.lastMessage && _vm.room.lastMessage.new && !_vm.typingUsers\n\t\t\t\t}},[(_vm.isMessageCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.room.lastMessage.distributed\n\t\t\t\t\t\t\t\t\t? 'double-checkmark'\n\t\t\t\t\t\t\t\t\t: 'checkmark',\"param\":_vm.room.lastMessage.seen ? 'seen' : ''}})]},null,{ message: _vm.room.lastMessage })],2):_vm._e(),(_vm.room.lastMessage && !_vm.room.lastMessage.deleted && _vm.isAudio)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]}),_vm._v(\" \"+_vm._s(_vm.formattedDuration)+\" \")],2):(_vm.room.lastMessage)?_c('format-message',{attrs:{\"content\":_vm.getLastMessage,\"deleted\":!!_vm.room.lastMessage.deleted && !_vm.typingUsers,\"users\":_vm.room.users,\"linkify\":false,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"single-line\":true},scopedSlots:_vm._u([{key:\"deleted-icon\",fn:function(data){return [_vm._t(\"deleted-icon\",null,null,data)]}}],null,true)}):_vm._e(),(!_vm.room.lastMessage && _vm.typingUsers)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_vm._e(),_c('div',{staticClass:\"vac-room-options-container\"},[(_vm.room.unreadCount)?_c('div',{staticClass:\"vac-badge-counter vac-room-badge\"},[_vm._v(\" \"+_vm._s(_vm.room.unreadCount)+\" \")]):_vm._e(),_vm._t(\"room-list-options\",function(){return [(_vm.roomActions.length)?_c('div',{staticClass:\"vac-svg-button vac-list-room-options\",on:{\"click\":function($event){$event.stopPropagation();_vm.roomMenuOpened = _vm.room.roomId}}},[_vm._t(\"room-list-options-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"room\"}})]})],2):_vm._e(),(_vm.roomActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.roomMenuOpened === _vm.room.roomId)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeRoomMenu),expression:\"closeRoomMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.roomActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.roomActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]},null,{ room: _vm.room })],2)],1)])]},null,{ room: _vm.room })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-format-message-wrapper\",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:\"vac-format-container\"},[_c(message.url ? 'a' : 'span',{tag:\"component\",class:{\n\t\t\t\t\t'vac-text-ellipsis': _vm.singleLine,\n\t\t\t\t\t'vac-text-bold': message.bold,\n\t\t\t\t\t'vac-text-italic': _vm.deleted || message.italic,\n\t\t\t\t\t'vac-text-strike': message.strike,\n\t\t\t\t\t'vac-text-underline': message.underline,\n\t\t\t\t\t'vac-text-inline-code': !_vm.singleLine && message.inline,\n\t\t\t\t\t'vac-text-multiline-code': !_vm.singleLine && message.multiline,\n\t\t\t\t\t'vac-text-tag': !_vm.singleLine && !_vm.reply && message.tag\n\t\t\t\t},attrs:{\"href\":message.href,\"target\":message.href ? _vm.linkOptions.target : null,\"rel\":message.href ? _vm.linkOptions.rel : null},on:{\"click\":function($event){return _vm.openTag(message)}}},[_vm._t(\"deleted-icon\",function(){return [(_vm.deleted)?_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}}):_vm._e()]},null,{ deleted: _vm.deleted }),(message.url && message.image)?[_c('div',{staticClass:\"vac-image-link-container\"},[_c('div',{staticClass:\"vac-image-link\",style:({\n\t\t\t\t\t\t\t\t'background-image': (\"url('\" + (message.value) + \"')\"),\n\t\t\t\t\t\t\t\theight: message.height\n\t\t\t\t\t\t\t})})]),_c('div',{staticClass:\"vac-image-link-message\"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',{domProps:{\"innerHTML\":_vm._s(message.value)}},[_vm._v(\" \"+_vm._s(message.value)+\" \")])]],2)],1)}),0):_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.formattedContent)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","const linkify = require('linkifyjs')\n// require('linkifyjs/plugins/hashtag')(linkify)\n\nexport default (text, doLinkify, textFormatting) => {\n\tconst typeMarkdown = {\n\t\tbold: textFormatting.bold,\n\t\titalic: textFormatting.italic,\n\t\tstrike: textFormatting.strike,\n\t\tunderline: textFormatting.underline,\n\t\tmultilineCode: textFormatting.multilineCode,\n\t\tinlineCode: textFormatting.inlineCode\n\t}\n\n\tconst pseudoMarkdown = {\n\t\t[typeMarkdown.bold]: {\n\t\t\tend: '\\\\' + typeMarkdown.bold,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'bold'\n\t\t},\n\t\t[typeMarkdown.italic]: {\n\t\t\tend: typeMarkdown.italic,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'italic'\n\t\t},\n\t\t[typeMarkdown.strike]: {\n\t\t\tend: typeMarkdown.strike,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'strike'\n\t\t},\n\t\t[typeMarkdown.underline]: {\n\t\t\tend: typeMarkdown.underline,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'underline'\n\t\t},\n\t\t[typeMarkdown.multilineCode]: {\n\t\t\tend: typeMarkdown.multilineCode,\n\t\t\tallowed_chars: '(.|\\n)',\n\t\t\ttype: 'multiline-code'\n\t\t},\n\t\t[typeMarkdown.inlineCode]: {\n\t\t\tend: typeMarkdown.inlineCode,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'inline-code'\n\t\t},\n\t\t'': {\n\t\t\tallowed_chars: '.',\n\t\t\tend: '',\n\t\t\ttype: 'tag'\n\t\t}\n\t}\n\n\tconst json = compileToJSON(text, pseudoMarkdown)\n\n\tconst html = compileToHTML(json, pseudoMarkdown)\n\n\tconst result = [].concat.apply([], html)\n\n\tif (doLinkify) linkifyResult(result)\n\n\treturn result\n}\n\nfunction compileToJSON(str, pseudoMarkdown) {\n\tlet result = []\n\tlet minIndexOf = -1\n\tlet minIndexOfKey = null\n\n\tlet links = linkify.find(str)\n\tlet minIndexFromLink = false\n\n\tif (links.length > 0) {\n\t\tminIndexOf = str.indexOf(links[0].value)\n\t\tminIndexFromLink = true\n\t}\n\n\tObject.keys(pseudoMarkdown).forEach(startingValue => {\n\t\tconst io = str.indexOf(startingValue)\n\t\tif (io >= 0 && (minIndexOf < 0 || io < minIndexOf)) {\n\t\t\tminIndexOf = io\n\t\t\tminIndexOfKey = startingValue\n\t\t\tminIndexFromLink = false\n\t\t}\n\t})\n\n\tif (minIndexFromLink && minIndexOfKey !== -1) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tlet strLink = str.substr(minIndexOf, links[0].value.length)\n\t\tlet strRight = str.substr(minIndexOf + links[0].value.length)\n\t\tresult.push(strLeft)\n\t\tresult.push(strLink)\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t}\n\n\tif (minIndexOfKey) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tconst char = minIndexOfKey\n\t\tlet strRight = str.substr(minIndexOf + char.length)\n\n\t\tif (str.replace(/\\s/g, '').length === char.length * 2) {\n\t\t\treturn [str]\n\t\t}\n\n\t\tconst match = strRight.match(\n\t\t\tnew RegExp(\n\t\t\t\t'^(' +\n\t\t\t\t\t(pseudoMarkdown[char].allowed_chars || '.') +\n\t\t\t\t\t'*' +\n\t\t\t\t\t(pseudoMarkdown[char].end ? '?' : '') +\n\t\t\t\t\t')' +\n\t\t\t\t\t(pseudoMarkdown[char].end\n\t\t\t\t\t\t? '(' + pseudoMarkdown[char].end + ')'\n\t\t\t\t\t\t: ''),\n\t\t\t\t'm'\n\t\t\t)\n\t\t)\n\t\tif (!match || !match[1]) {\n\t\t\tstrLeft = strLeft + char\n\t\t\tresult.push(strLeft)\n\t\t} else {\n\t\t\tif (strLeft) {\n\t\t\t\tresult.push(strLeft)\n\t\t\t}\n\t\t\tconst object = {\n\t\t\t\tstart: char,\n\t\t\t\tcontent: compileToJSON(match[1], pseudoMarkdown),\n\t\t\t\tend: match[2],\n\t\t\t\ttype: pseudoMarkdown[char].type\n\t\t\t}\n\t\t\tresult.push(object)\n\t\t\tstrRight = strRight.substr(match[0].length)\n\t\t}\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t} else {\n\t\tif (str) {\n\t\t\treturn [str]\n\t\t} else {\n\t\t\treturn []\n\t\t}\n\t}\n}\n\nfunction compileToHTML(json, pseudoMarkdown) {\n\tconst result = []\n\n\tjson.forEach(item => {\n\t\tif (typeof item === 'string') {\n\t\t\tresult.push({ types: [], value: item })\n\t\t} else {\n\t\t\tif (pseudoMarkdown[item.start]) {\n\t\t\t\tresult.push(parseContent(item))\n\t\t\t}\n\t\t}\n\t})\n\n\treturn result\n}\n\nfunction parseContent(item) {\n\tconst result = []\n\titerateContent(item, result, [])\n\treturn result\n}\n\nfunction iterateContent(item, result, types) {\n\titem.content.forEach(it => {\n\t\tif (typeof it === 'string') {\n\t\t\tresult.push({\n\t\t\t\ttypes: removeDuplicates(types.concat([item.type])),\n\t\t\t\tvalue: it\n\t\t\t})\n\t\t} else {\n\t\t\titerateContent(\n\t\t\t\tit,\n\t\t\t\tresult,\n\t\t\t\tremoveDuplicates([it.type].concat([item.type]).concat(types))\n\t\t\t)\n\t\t}\n\t})\n}\n\nfunction removeDuplicates(items) {\n\treturn [...new Set(items)]\n}\n\nfunction linkifyResult(array) {\n\tconst result = []\n\n\tarray.forEach(arr => {\n\t\tconst links = linkify.find(arr.value)\n\n\t\tif (links.length) {\n\t\t\tconst spaces = arr.value.replace(links[0].value, '')\n\t\t\tresult.push({ types: arr.types, value: spaces })\n\n\t\t\tarr.types = ['url'].concat(arr.types)\n\t\t\tarr.href = links[0].href\n\t\t\tarr.value = links[0].value\n\t\t}\n\n\t\tresult.push(arr)\n\t})\n\n\treturn result\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormatMessage.vue?vue&type=template&id=3a015d3f&\"\nimport script from \"./FormatMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./FormatMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (room, currentUserId, textMessages) => {\n\tif (room.typingUsers && room.typingUsers.length) {\n\t\tconst typingUsers = room.users.filter(user => {\n\t\t\tif (user._id === currentUserId) return\n\t\t\tif (room.typingUsers.indexOf(user._id) === -1) return\n\t\t\tif (user.status && user.status.state === 'offline') return\n\t\t\treturn true\n\t\t})\n\n\t\tif (!typingUsers.length) return\n\n\t\tif (room.users.length === 2) {\n\t\t\treturn textMessages.IS_TYPING\n\t\t} else {\n\t\t\treturn (\n\t\t\t\ttypingUsers.map(user => user.username).join(', ') +\n\t\t\t\t' ' +\n\t\t\t\ttextMessages.IS_TYPING\n\t\t\t)\n\t\t}\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomContent.vue?vue&type=template&id=6888cbad&\"\nimport script from \"./RoomContent.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (items, prop, val, startsWith = false) => {\n\tif (!val || val === '') return items\n\n\treturn items.filter(v => {\n\t\tif (startsWith) return formatString(v[prop]).startsWith(formatString(val))\n\t\treturn formatString(v[prop]).includes(formatString(val))\n\t})\n}\n\nfunction formatString(string) {\n\treturn string\n\t\t.toLowerCase()\n\t\t.normalize('NFD')\n\t\t.replace(/[\\u0300-\\u036f]/g, '')\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsList.vue?vue&type=template&id=e9cbf0d4&\"\nimport script from \"./RoomsList.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isMobile && !_vm.showRoomsList) || !_vm.isMobile || _vm.singleRoom),expression:\"(isMobile && !showRoomsList) || !isMobile || singleRoom\"}],staticClass:\"vac-col-messages\",on:{\"touchstart\":_vm.touchStart}},[(_vm.showNoRoom)?_vm._t(\"no-room-selected\",function(){return [_c('div',{staticClass:\"vac-container-center vac-room-empty\"},[_c('div',[_vm._v(_vm._s(_vm.textMessages.ROOM_EMPTY))])])]}):_c('room-header',{attrs:{\"current-user-id\":_vm.currentUserId,\"text-messages\":_vm.textMessages,\"single-room\":_vm.singleRoom,\"show-rooms-list\":_vm.showRoomsList,\"is-mobile\":_vm.isMobile,\"room-info-enabled\":_vm.roomInfoEnabled,\"menu-actions\":_vm.menuActions,\"room\":_vm.room,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"message-selection-actions\":_vm.messageSelectionActions,\"selected-messages-total\":_vm.selectedMessages.length},on:{\"toggle-rooms-list\":function($event){return _vm.$emit('toggle-rooms-list')},\"room-info\":function($event){return _vm.$emit('room-info')},\"menu-action-handler\":function($event){return _vm.$emit('menu-action-handler', $event)},\"message-selection-action-handler\":_vm.messageSelectionActionHandler,\"cancel-message-selection\":function($event){_vm.messageSelectionEnabled = false}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{ref:\"scrollContainer\",staticClass:\"vac-container-scroll\",attrs:{\"id\":\"messages-list\"},on:{\"scroll\":_vm.onContainerScroll}},[_c('loader',{attrs:{\"show\":_vm.loadingMessages},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-messages-container\"},[_c('div',{class:{ 'vac-messages-hidden': _vm.loadingMessages }},[_c('transition',{attrs:{\"name\":\"vac-fade-message\"}},[_c('div',[(_vm.showNoMessages)?_c('div',{staticClass:\"vac-text-started\"},[_vm._t(\"messages-empty\",function(){return [_vm._v(\" \"+_vm._s(_vm.textMessages.MESSAGES_EMPTY)+\" \")]})],2):_vm._e(),(_vm.showMessagesStarted)?_c('div',{staticClass:\"vac-text-started\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.CONVERSATION_STARTED)+\" \"+_vm._s(_vm.messages[0].date)+\" \")]):_vm._e()])]),(_vm.messages.length && !_vm.messagesLoaded)?_c('div',{attrs:{\"id\":\"infinite-loader-messages\"}},[_c('loader',{attrs:{\"show\":true,\"infinite\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e(),_c('transition-group',{key:_vm.roomId,attrs:{\"name\":\"vac-fade-message\",\"tag\":\"span\"}},_vm._l((_vm.messages),function(m,i){return _c('div',{key:m.indexId || m._id},[_c('room-message',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":m,\"index\":i,\"messages\":_vm.messages,\"edited-message-id\":_vm.editedMessageId,\"message-actions\":_vm.messageActions,\"room-users\":_vm.room.users,\"text-messages\":_vm.textMessages,\"new-messages\":_vm.newMessages,\"show-reaction-emojis\":_vm.showReactionEmojis,\"show-new-messages-divider\":_vm.showNewMessagesDivider,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"username-options\":_vm.usernameOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"selected-messages\":_vm.selectedMessages},on:{\"message-added\":_vm.onMessageAdded,\"message-action-handler\":_vm.messageActionHandler,\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag,\"open-failed-message\":function($event){return _vm.$emit('open-failed-message', $event)},\"send-message-reaction\":_vm.sendMessageReaction,\"select-message\":_vm.selectMessage,\"unselect-message\":_vm.unselectMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),0)],1)])],1),(!_vm.loadingMessages)?_c('div',[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollIcon)?_c('div',{staticClass:\"vac-icon-scroll\",on:{\"click\":_vm.scrollToBottom}},[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollMessagesCount)?_c('div',{staticClass:\"vac-badge-counter vac-messages-count\"},[_vm._v(\" \"+_vm._s(_vm.scrollMessagesCount)+\" \")]):_vm._e()]),_vm._t(\"scroll-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"scroll\"}})]})],2):_vm._e()])],1):_vm._e(),_c('room-footer',{attrs:{\"room\":_vm.room,\"room-id\":_vm.roomId,\"room-message\":_vm.roomMessage,\"text-messages\":_vm.textMessages,\"show-send-icon\":_vm.showSendIcon,\"show-files\":_vm.showFiles,\"show-audio\":_vm.showAudio,\"show-emojis\":_vm.showEmojis,\"show-footer\":_vm.showFooter,\"accepted-files\":_vm.acceptedFiles,\"textarea-action-enabled\":_vm.textareaActionEnabled,\"user-tags-enabled\":_vm.userTagsEnabled,\"emojis-suggestion-enabled\":_vm.emojisSuggestionEnabled,\"templates-text\":_vm.templatesText,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"audio-bit-rate\":_vm.audioBitRate,\"audio-sample-rate\":_vm.audioSampleRate,\"init-reply-message\":_vm.initReplyMessage,\"init-edit-message\":_vm.initEditMessage},on:{\"update-edited-message-id\":function($event){_vm.editedMessageId = $event},\"edit-message\":function($event){return _vm.$emit('edit-message', $event)},\"send-message\":function($event){return _vm.$emit('send-message', $event)},\"typing-message\":function($event){return _vm.$emit('typing-message', $event)},\"textarea-action-handler\":function($event){return _vm.$emit('textarea-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-header vac-app-border-b\"},[_vm._t(\"room-header\",function(){return [_c('div',{staticClass:\"vac-room-wrapper\"},[_c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageSelectionEnabled)?_c('div',{staticClass:\"vac-room-selection\"},[_vm._l((_vm.messageSelectionActions),function(action){return _c('div',{key:action.name,attrs:{\"id\":action.name}},[_c('div',{staticClass:\"vac-selection-button\",on:{\"click\":function($event){return _vm.messageSelectionActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \"),_c('span',{staticClass:\"vac-selection-button-count\"},[_vm._v(\" \"+_vm._s(_vm.selectedMessagesTotal)+\" \")])])])}),_c('div',{staticClass:\"vac-selection-cancel vac-item-clickable\",on:{\"click\":function($event){return _vm.$emit('cancel-message-selection')}}},[_vm._v(\" \"+_vm._s(_vm.textMessages.CANCEL_SELECT_MESSAGE)+\" \")])],2):_vm._e()]),(!_vm.messageSelectionEnabled && _vm.messageSelectionAnimationEnded)?[(!_vm.singleRoom)?_c('div',{staticClass:\"vac-svg-button vac-toggle-button\",class:{ 'vac-rotate-icon-init': !_vm.isMobile, 'vac-rotate-icon': !_vm.showRoomsList && !_vm.isMobile },on:{\"click\":function($event){return _vm.$emit('toggle-rooms-list')}}},[_vm._t(\"toggle-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"toggle\"}})]})],2):_vm._e(),_c('div',{staticClass:\"vac-info-wrapper\",class:{ 'vac-item-clickable': _vm.roomInfoEnabled },on:{\"click\":function($event){return _vm.$emit('room-info')}}},[_vm._t(\"room-header-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_vm._t(\"room-header-info\",function(){return [_c('div',{staticClass:\"vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.typingUsers)?_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.userStatus)+\" \")])])]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2),(_vm.room.roomId)?_vm._t(\"room-options\",function(){return [(_vm.menuActions.length)?_c('div',{staticClass:\"vac-svg-button vac-room-options\",on:{\"click\":function($event){_vm.menuOpened = !_vm.menuOpened}}},[_vm._t(\"menu-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"menu\"}})]})],2):_vm._e(),(_vm.menuActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.menuOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.menuActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.menuActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]}):_vm._e()]:_vm._e()],2)]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\t\t\t\n\t\t\n\t\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomHeader.vue?vue&type=template&id=938fbc28&\"\nimport script from \"./RoomHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(Object.keys(_vm.room).length && _vm.showFooter),expression:\"Object.keys(room).length && showFooter\"}],staticClass:\"vac-room-footer\",class:{\n\t\t'vac-app-box-shadow': _vm.shadowFooter\n\t},attrs:{\"id\":\"room-footer\"}},[_c('room-emojis',{attrs:{\"filtered-emojis\":_vm.filteredEmojis,\"select-item\":_vm.selectEmojiItem,\"active-up-or-down\":_vm.activeUpOrDownEmojis},on:{\"select-emoji\":function($event){return _vm.selectEmoji($event)},\"activate-item\":function($event){_vm.activeUpOrDownEmojis = 0}}}),_c('room-users-tag',{attrs:{\"filtered-users-tag\":_vm.filteredUsersTag,\"select-item\":_vm.selectUsersTagItem,\"active-up-or-down\":_vm.activeUpOrDownUsersTag},on:{\"select-user-tag\":function($event){return _vm.selectUserTag($event)},\"activate-item\":function($event){_vm.activeUpOrDownUsersTag = 0}}}),_c('room-templates-text',{attrs:{\"filtered-templates-text\":_vm.filteredTemplatesText,\"select-item\":_vm.selectTemplatesTextItem,\"active-up-or-down\":_vm.activeUpOrDownTemplatesText},on:{\"select-template-text\":function($event){return _vm.selectTemplateText($event)},\"activate-item\":function($event){_vm.activeUpOrDownTemplatesText = 0}}}),_c('room-message-reply',{attrs:{\"room\":_vm.room,\"message-reply\":_vm.messageReply,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('room-files',{attrs:{\"files\":_vm.files},on:{\"remove-file\":_vm.removeFile,\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-box-footer\",class:{ 'vac-box-footer-border': !_vm.files.length }},[(_vm.showAudio && !_vm.files.length)?_c('div',{staticClass:\"vac-icon-textarea-left\"},[(_vm.isRecording)?[_c('div',{staticClass:\"vac-svg-button vac-icon-audio-stop\",on:{\"click\":_vm.stopRecorder}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2),_c('div',{staticClass:\"vac-dot-audio-record\"}),_c('div',{staticClass:\"vac-dot-audio-record-time\"},[_vm._v(\" \"+_vm._s(_vm.recordedTime)+\" \")]),_c('div',{staticClass:\"vac-svg-button vac-icon-audio-confirm\",on:{\"click\":function($event){return _vm.toggleRecorder(false)}}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"checkmark\"}})]})],2)]:_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.toggleRecorder(true)}}},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]})],2)],2):_vm._e(),_c('textarea',{ref:\"roomTextarea\",staticClass:\"vac-textarea\",class:{\n\t\t\t\t'vac-textarea-outline': _vm.editedMessage._id\n\t\t\t},style:({\n\t\t\t\t'min-height': \"20px\",\n\t\t\t\t'padding-left': \"12px\"\n\t\t\t}),attrs:{\"id\":\"roomTextarea\",\"placeholder\":_vm.textMessages.TYPE_MESSAGE},on:{\"input\":_vm.onChangeInput,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.escapeTextarea.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.updateActiveUpOrDown(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.updateActiveUpOrDown(1)}],\"paste\":_vm.onPasteImage}}),_c('div',{staticClass:\"vac-icon-textarea\"},[(_vm.editedMessage._id)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.resetMessage}},[_vm._t(\"edit-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2):_vm._e(),(_vm.showEmojis)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(function () { return (_vm.emojiOpened = false); }),expression:\"() => (emojiOpened = false)\"}]},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{attrs:{\"emoji-opened\":_vm.emojiOpened,\"position-top\":true},on:{\"add-emoji\":_vm.addEmoji,\"open-emoji\":function($event){_vm.emojiOpened = $event}},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.addEmoji},{ emojiOpened: _vm.emojiOpened })],2):_vm._e(),(_vm.showFiles)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.launchFilePicker}},[_vm._t(\"paperclip-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"paperclip\"}})]})],2):_vm._e(),(_vm.textareaActionEnabled)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.textareaActionHandler}},[_vm._t(\"custom-action-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"deleted\"}})]})],2):_vm._e(),(_vm.showFiles)?_c('input',{ref:\"file\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\",\"accept\":_vm.acceptedFiles},on:{\"change\":function($event){return _vm.onFileChange($event.target.files)}}}):_vm._e(),(_vm.showSendIcon)?_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-send-disabled': _vm.isMessageEmpty },on:{\"click\":_vm.sendMessage}},[_vm._t(\"send-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"send\",\"param\":_vm.isMessageEmpty || _vm.isFileLoading ? 'disabled' : ''}})]})],2):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-emoji-wrapper\"},[_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{\"click\":_vm.openEmoji}},[_vm._t(\"emoji-picker-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"emoji\",\"param\":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{\"name\":\"vac-slide-up\",\"appear\":\"\"}},[_c('div',{staticClass:\"vac-emoji-picker\",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({\n\t\t\t\t\theight: (_vm.emojiPickerHeight + \"px\"),\n\t\t\t\t\ttop: _vm.positionTop ? _vm.emojiPickerHeight : (_vm.emojiPickerTop + \"px\"),\n\t\t\t\t\tright: _vm.emojiPickerRight,\n\t\t\t\t\tdisplay: _vm.emojiPickerTop || !_vm.emojiReaction ? 'initial' : 'none'\n\t\t\t\t})},[(_vm.emojiOpened)?_c('emoji-picker',{ref:\"emojiPicker\"}):_vm._e()],1)])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmojiPickerContainer.vue?vue&type=template&id=44125154&\"\nimport script from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.files.length)?_c('div',{staticClass:\"vac-room-files-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-files-box\"},_vm._l((_vm.files),function(file,i){return _c('div',{key:i},[_c('room-file',{attrs:{\"file\":file,\"index\":i},on:{\"remove-file\":function($event){return _vm.$emit('remove-file', $event)}}})],1)}),0),_c('div',{staticClass:\"vac-icon-close\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-file-container\"},[_c('loader',{attrs:{\"show\":_vm.file.loading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-svg-button vac-icon-remove\",on:{\"click\":function($event){return _vm.$emit('remove-file', _vm.index)}}},[_vm._t(\"image-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close\",\"param\":\"image\"}})]})],2),(_vm.isImage)?_c('div',{staticClass:\"vac-message-image\",class:{ 'vac-blur-loading': _vm.file.loading },style:({\n\t\t\t'background-image': (\"url('\" + (_vm.file.localUrl || _vm.file.url) + \"')\")\n\t\t})}):(_vm.isVideo)?_c('video',{class:{ 'vac-blur-loading': _vm.file.loading },attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.localUrl || _vm.file.url}})]):_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-blur-loading': _vm.file.loading }},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.file.name)+\" \")]),(_vm.file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.file.extension)+\" \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFile.vue?vue&type=template&id=c0a62836&\"\nimport script from \"./RoomFile.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFiles.vue?vue&type=template&id=60413016&\"\nimport script from \"./RoomFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageReply)?_c('div',{staticClass:\"vac-reply-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-reply-box\"},[_c('div',{staticClass:\"vac-reply-info\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.messageReply.username)+\" \")]),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.messageReply.content,\"users\":_vm.room.users,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)]),(_vm.isImage)?_c('img',{staticClass:\"vac-image-reply\",attrs:{\"src\":_vm.firstFile.url}}):(_vm.isVideo)?_c('video',{staticClass:\"vac-image-reply\",attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})]):(_vm.isAudio)?_c('audio-player',{staticClass:\"vac-audio-reply\",attrs:{\"src\":_vm.firstFile.url},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-image-reply vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"vac-icon-reply\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"vac-audio-player\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.playback}},[(_vm.isPlaying)?_vm._t(\"audio-pause-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-pause\"}})]}):_vm._t(\"audio-play-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-play\"}})]})],2),_c('audio-control',{attrs:{\"percentage\":_vm.progress,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"change-linehead\":_vm.onUpdateProgress,\"hover-audio-progress\":function($event){return _vm.$emit('hover-audio-progress', $event)}}}),_c('audio',{attrs:{\"id\":_vm.playerUniqId,\"src\":_vm.audioSource}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"progress\",staticClass:\"vac-player-bar\",on:{\"mousedown\":_vm.onMouseDown,\"mouseover\":function($event){return _vm.$emit('hover-audio-progress', true)},\"mouseout\":function($event){return _vm.$emit('hover-audio-progress', false)}}},[_c('div',{staticClass:\"vac-player-progress\"},[_c('div',{staticClass:\"vac-line-container\"},[_c('div',{staticClass:\"vac-line-progress\",style:({ width: (_vm.percentage + \"%\") })}),_c('div',{staticClass:\"vac-line-dot\",class:{ 'vac-line-dot__active': _vm.isMouseDown },style:({ left: (_vm.percentage + \"%\") })})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=1721db79&\"\nimport script from \"./AudioControl.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioControl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioPlayer.vue?vue&type=template&id=d8b85268&\"\nimport script from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessageReply.vue?vue&type=template&id=86b41b08&\"\nimport script from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredUsersTag.length)?_c('div',{staticClass:\"vac-tags-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredUsersTag),function(user,index){return _c('div',{key:user._id,staticClass:\"vac-tags-box\",class:{ 'vac-tags-box-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-user-tag', user)}}},[_c('div',{staticClass:\"vac-tags-info\"},[(user.avatar)?_c('div',{staticClass:\"vac-avatar vac-tags-avatar\",style:({ 'background-image': (\"url('\" + (user.avatar) + \"')\") })}):_vm._e(),_c('div',{staticClass:\"vac-tags-username\"},[_vm._v(\" \"+_vm._s(user.username)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomUsersTag.vue?vue&type=template&id=082c6732&\"\nimport script from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredEmojis.length)?_c('div',{staticClass:\"vac-emojis-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredEmojis),function(emoji,index){return _c('div',{key:emoji,staticClass:\"vac-emoji-element\",class:{ 'vac-emoji-element-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-emoji', emoji)}}},[_vm._v(\" \"+_vm._s(emoji)+\" \")])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomEmojis.vue?vue&type=template&id=b6026542&\"\nimport script from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredTemplatesText.length)?_c('div',{staticClass:\"vac-template-container vac-app-box-shadow\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredTemplatesText),function(template,index){return _c('div',{key:index,staticClass:\"vac-template-box\",class:{ 'vac-template-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-template-text', template)}}},[_c('div',{staticClass:\"vac-template-info\"},[_c('div',{staticClass:\"vac-template-tag\"},[_vm._v(\" /\"+_vm._s(template.tag)+\" \")]),_c('div',{staticClass:\"vac-template-text\"},[_vm._v(\" \"+_vm._s(template.text)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomTemplatesText.vue?vue&type=template&id=113f1c86&\"\nimport script from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nlet lamejs\ntry {\n\tlamejs = require('lamejs')\n} catch (_) {\n\tlamejs = { missing: true }\n}\n\nconst { Mp3Encoder } = lamejs\n\nexport default class {\n\tconstructor(config) {\n\t\tif (lamejs.missing) {\n\t\t\tthrow new Error(\n\t\t\t\t'You must add lamejs in your dependencies to use the audio recorder. Please run \"npm install lamejs --save\"'\n\t\t\t)\n\t\t}\n\n\t\tthis.bitRate = config.bitRate\n\t\tthis.sampleRate = config.sampleRate\n\t\tthis.dataBuffer = []\n\t\tthis.encoder = new Mp3Encoder(1, this.sampleRate, this.bitRate)\n\t}\n\n\tencode(arrayBuffer) {\n\t\tconst maxSamples = 1152\n\t\tconst samples = this._convertBuffer(arrayBuffer)\n\t\tlet remaining = samples.length\n\n\t\tfor (let i = 0; remaining >= 0; i += maxSamples) {\n\t\t\tconst left = samples.subarray(i, i + maxSamples)\n\t\t\tconst buffer = this.encoder.encodeBuffer(left)\n\t\t\tthis.dataBuffer.push(new Int8Array(buffer))\n\t\t\tremaining -= maxSamples\n\t\t}\n\t}\n\n\tfinish() {\n\t\tthis.dataBuffer.push(this.encoder.flush())\n\t\tconst blob = new Blob(this.dataBuffer, { type: 'audio/mp3' })\n\t\tthis.dataBuffer = []\n\n\t\treturn {\n\t\t\tid: Date.now(),\n\t\t\tblob: blob,\n\t\t\turl: URL.createObjectURL(blob)\n\t\t}\n\t}\n\n\t_floatTo16BitPCM(input, output) {\n\t\tfor (let i = 0; i < input.length; i++) {\n\t\t\tconst s = Math.max(-1, Math.min(1, input[i]))\n\t\t\toutput[i] = s < 0 ? s * 0x8000 : s * 0x7fff\n\t\t}\n\t}\n\n\t_convertBuffer(arrayBuffer) {\n\t\tconst data = new Float32Array(arrayBuffer)\n\t\tconst out = new Int16Array(arrayBuffer.length)\n\t\tthis._floatTo16BitPCM(data, out)\n\t\treturn out\n\t}\n}\n","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nimport Mp3Encoder from './mp3-encoder'\n\nexport default class {\n\tconstructor(options = {}) {\n\t\tthis.beforeRecording = options.beforeRecording\n\t\tthis.pauseRecording = options.pauseRecording\n\t\tthis.afterRecording = options.afterRecording\n\t\tthis.micFailed = options.micFailed\n\n\t\tthis.encoderOptions = {\n\t\t\tbitRate: options.bitRate,\n\t\t\tsampleRate: options.sampleRate\n\t\t}\n\n\t\tthis.bufferSize = 4096\n\t\tthis.records = []\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.duration = 0\n\t\tthis.volume = 0\n\n\t\tthis._duration = 0\n\t}\n\n\tstart() {\n\t\tconst constraints = {\n\t\t\tvideo: false,\n\t\t\taudio: {\n\t\t\t\tchannelCount: 1,\n\t\t\t\techoCancellation: false\n\t\t\t}\n\t\t}\n\n\t\tthis.beforeRecording && this.beforeRecording('start recording')\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia(constraints)\n\t\t\t.then(this._micCaptured.bind(this))\n\t\t\t.catch(this._micError.bind(this))\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = true\n\n\t\tif (!this.lameEncoder) {\n\t\t\tthis.lameEncoder = new Mp3Encoder(this.encoderOptions)\n\t\t}\n\t}\n\n\tstop() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\t\tthis.context.close()\n\n\t\tlet record = null\n\n\t\trecord = this.lameEncoder.finish()\n\n\t\trecord.duration = this.duration\n\t\tthis.records.push(record)\n\n\t\tthis._duration = 0\n\t\tthis.duration = 0\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.afterRecording && this.afterRecording(record)\n\t}\n\n\tpause() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\n\t\tthis._duration = this.duration\n\t\tthis.isPause = true\n\n\t\tthis.pauseRecording && this.pauseRecording('pause recording')\n\t}\n\n\t_micCaptured(stream) {\n\t\tthis.context = new (window.AudioContext || window.webkitAudioContext)()\n\t\tthis.duration = this._duration\n\t\tthis.input = this.context.createMediaStreamSource(stream)\n\t\tthis.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1)\n\t\tthis.stream = stream\n\n\t\tthis.processor.onaudioprocess = ev => {\n\t\t\tconst sample = ev.inputBuffer.getChannelData(0)\n\t\t\tlet sum = 0.0\n\n\t\t\tif (this.lameEncoder) {\n\t\t\t\tthis.lameEncoder.encode(sample)\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < sample.length; ++i) {\n\t\t\t\tsum += sample[i] * sample[i]\n\t\t\t}\n\n\t\t\tthis.duration =\n\t\t\t\tparseFloat(this._duration) +\n\t\t\t\tparseFloat(this.context.currentTime.toFixed(2))\n\t\t\tthis.volume = Math.sqrt(sum / sample.length).toFixed(2)\n\t\t}\n\n\t\tthis.input.connect(this.processor)\n\t\tthis.processor.connect(this.context.destination)\n\t}\n\n\t_micError(error) {\n\t\tthis.micFailed && this.micFailed(error)\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFooter.vue?vue&type=template&id=457f6483&\"\nimport script from \"./RoomFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFooter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"message\",staticClass:\"vac-message-wrapper\",attrs:{\"id\":_vm.message._id}},[(_vm.showDate)?_c('div',{staticClass:\"vac-card-info vac-card-date\"},[_vm._v(\" \"+_vm._s(_vm.message.date)+\" \")]):_vm._e(),(_vm.newMessage._id === _vm.message._id)?_c('div',{staticClass:\"vac-line-new\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.NEW_MESSAGES)+\" \")]):_vm._e(),(_vm.message.system)?_c('div',{staticClass:\"vac-card-info vac-card-system\"},[_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_c('div',{staticClass:\"vac-message-box\",class:{ 'vac-offset-current': _vm.message.senderId === _vm.currentUserId },on:{\"click\":_vm.selectMessage}},[_vm._t(\"message\",function(){return [(_vm.message.avatar && _vm.message.senderId !== _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasSenderUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-offset\"}):_vm._e(),_c('div',{staticClass:\"vac-message-container\",class:{\n\t\t\t\t\t'vac-message-container-offset': _vm.messageOffset\n\t\t\t\t}},[_c('div',{staticClass:\"vac-message-card\",class:{\n\t\t\t\t\t\t'vac-message-highlight': _vm.isMessageHover,\n\t\t\t\t\t\t'vac-message-current': _vm.message.senderId === _vm.currentUserId,\n\t\t\t\t\t\t'vac-message-deleted': _vm.message.deleted,\n\t\t\t\t\t\t'vac-item-clickable': _vm.messageSelectionEnabled,\n\t\t\t\t\t\t'vac-message-selected': _vm.isMessageSelected\n\t\t\t\t\t},on:{\"mouseover\":_vm.onHoverMessage,\"mouseleave\":_vm.onLeaveMessage}},[(_vm.showUsername)?_c('div',{staticClass:\"vac-text-username\",class:{\n\t\t\t\t\t\t\t'vac-username-reply': !_vm.message.deleted && _vm.message.replyMessage\n\t\t\t\t\t\t}},[_c('span',[_vm._v(_vm._s(_vm.message.username))])]):_vm._e(),(!_vm.message.deleted && _vm.message.replyMessage)?_c('message-reply',{attrs:{\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),(_vm.message.deleted)?_c('div',[_vm._t(\"deleted-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}})]}),_c('span',[_vm._v(_vm._s(_vm.textMessages.MESSAGE_DELETED))])],2):(!_vm.message.files || !_vm.message.files.length)?_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(!_vm.isAudio || _vm.message.files.length > 1)?_c('message-files',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):[_c('audio-player',{attrs:{\"message-id\":_vm.message._id,\"src\":_vm.message.files[0].url,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.message.deleted)?_c('div',{staticClass:\"vac-progress-time\"},[_vm._v(\" \"+_vm._s(_vm.progressTime)+\" \")]):_vm._e()],_c('div',{staticClass:\"vac-text-timestamp\"},[(_vm.message.edited && !_vm.message.deleted)?_c('div',{staticClass:\"vac-icon-edited\"},[_vm._t(\"pencil-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"pencil\"}})]})],2):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.message.timestamp))]),(_vm.isCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.message.distributed ? 'double-checkmark' : 'checkmark',\"param\":_vm.message.seen ? 'seen' : ''}})]},null,{ message: _vm.message })],2):_vm._e()]),_c('message-actions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"message-actions\":_vm.messageActions,\"show-reaction-emojis\":_vm.showReactionEmojis,\"message-hover\":_vm.messageHover,\"hover-message-id\":_vm.hoverMessageId,\"hover-audio-progress\":_vm.hoverAudioProgress},on:{\"update-message-hover\":function($event){_vm.messageHover = $event},\"update-options-opened\":function($event){_vm.optionsOpened = $event},\"update-emoji-opened\":function($event){_vm.emojiOpened = $event},\"message-action-handler\":_vm.messageActionHandler,\"send-message-reaction\":_vm.sendMessageReaction},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2),_c('message-reactions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message},on:{\"send-message-reaction\":_vm.sendMessageReaction}})],1),_vm._t(\"message-failure\",function(){return [(_vm.message.failure && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-failure-container vac-svg-button\",class:{\n\t\t\t\t\t\t'vac-failure-container-avatar':\n\t\t\t\t\t\t\t_vm.message.avatar && _vm.message.senderId === _vm.currentUserId\n\t\t\t\t\t},on:{\"click\":function($event){return _vm.$emit('open-failed-message', { message: _vm.message })}}},[_c('div',{staticClass:\"vac-failure-text\"},[_vm._v(\" ! \")])]):_vm._e()]},null,{ message: _vm.message }),(_vm.message.avatar && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar vac-avatar-current\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasCurrentUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-current-offset\"}):_vm._e()]},null,{ message: _vm.message })],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-reply-message\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.replyUsername)+\" \")]),(_vm.isImage)?_c('div',{staticClass:\"vac-image-reply-container\"},[_c('div',{staticClass:\"vac-message-image vac-message-image-reply\",style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.firstFile.url) + \"')\")\n\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-reply-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})])]):(_vm.isAudio)?_c('audio-player',{attrs:{\"src\":_vm.firstFile.url},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.message.replyMessage.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReply.vue?vue&type=template&id=514045b4&\"\nimport script from \"./MessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-files-container\"},[_vm._l((_vm.imageVideoFiles),function(file,idx){return _c('div',{key:idx + 'iv'},[_c('message-file',{attrs:{\"file\":file,\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"index\":idx,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":function($event){return _vm.$emit('open-file', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_vm._l((_vm.otherFiles),function(file,idx){return _c('div',{key:idx + 'a',staticClass:\"vac-file-wrapper\"},[(file.progress >= 0)?_c('progress-bar',{style:({ top: '44px' }),attrs:{\"progress\":file.progress}}):_vm._e(),_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-file-container-progress': file.progress >= 0 },on:{\"click\":function($event){return _vm.openFile($event, file, 'download')}}},[_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(file.name)+\" \")]),(file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(file.extension)+\" \")]):_vm._e()])],1)}),_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":function($event){return _vm.$emit('open-user-tag', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-fade-spinner\",\"appear\":\"\"}},[_c('div',{ref:\"progress\",staticClass:\"vac-progress-wrapper\"},[_c('svg',{attrs:{\"height\":_vm.radius * 2,\"width\":_vm.radius * 2}},[_c('circle',{style:({\n\t\t\t\t\tstrokeDashoffset: _vm.strokeDashoffset,\n\t\t\t\t\tstrokeLinecap: 'round'\n\t\t\t\t}),attrs:{\"stroke\":\"rgba(255, 255, 255, 0.7)\",\"stroke-dasharray\":_vm.circumference + ' ' + _vm.circumference,\"stroke-width\":_vm.stroke,\"fill\":\"transparent\",\"r\":_vm.normalizedRadius,\"cx\":_vm.radius,\"cy\":_vm.radius}})]),_c('div',{staticClass:\"vac-progress-content\",style:({\n\t\t\t\theight: _vm.radius * 2 - 19 + 'px',\n\t\t\t\twidth: _vm.radius * 2 - 19 + 'px'\n\t\t\t})},[_c('div',{staticClass:\"vac-progress-text\"},[_vm._v(\" \"+_vm._s(_vm.progress)),_c('span',{staticClass:\"vac-progress-pourcent\"},[_vm._v(\"%\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressBar.vue?vue&type=template&id=561521ed&\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-file-container\"},[(_vm.isImage)?_c('div',{ref:'imageRef' + _vm.index,staticClass:\"vac-message-image-container\",on:{\"mouseover\":function($event){_vm.imageHover = true},\"mouseleave\":function($event){_vm.imageHover = false},\"click\":function($event){return _vm.openFile($event, 'preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"progress\":_vm.file.progress}}):_c('loader',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"show\":_vm.isImageLoading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-message-image\",class:{\n\t\t\t\t'vac-blur-loading':\n\t\t\t\t\t_vm.isImageLoading && _vm.message.senderId === _vm.currentUserId\n\t\t\t},style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.isImageLoading ? _vm.file.preview || _vm.file.url : _vm.file.url) + \"')\"),\n\t\t\t\t'max-height': ((_vm.imageResponsive.maxHeight) + \"px\")\n\t\t\t})},[_c('transition',{attrs:{\"name\":\"vac-fade-image\"}},[(!_vm.messageSelectionEnabled && _vm.imageHover && !_vm.isImageLoading)?_c('div',{staticClass:\"vac-image-buttons\"},[_c('div',{staticClass:\"vac-svg-button vac-button-view\",on:{\"click\":function($event){return _vm.openFile($event, 'preview')}}},[_vm._t(\"eye-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"eye\"}})]})],2),_c('div',{staticClass:\"vac-svg-button vac-button-download\",on:{\"click\":function($event){return _vm.openFile($event, 'download')}}},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2)]):_vm._e()])],1)],1):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-container\",on:{\"click\":function($event){$event.preventDefault();return _vm.openFile('preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{attrs:{\"progress\":_vm.file.progress}}):_vm._e(),_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFile.vue?vue&type=template&id=442d693d&\"\nimport script from \"./MessageFile.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFiles.vue?vue&type=template&id=ebb72a26&\"\nimport script from \"./MessageFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-actions-wrapper\"},[_c('div',{staticClass:\"vac-options-container\",style:({\n\t\t\tdisplay: _vm.hoverAudioProgress ? 'none' : 'initial',\n\t\t\twidth:\n\t\t\t\t_vm.filteredMessageActions.length && _vm.showReactionEmojis ? '70px' : '45px'\n\t\t})},[_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},[(_vm.isMessageActions || _vm.isMessageReactions)?_c('div',{key:\"1\",staticClass:\"vac-blur-container\",class:{\n\t\t\t\t\t'vac-options-me': _vm.message.senderId === _vm.currentUserId\n\t\t\t\t}}):_vm._e(),(_vm.isMessageActions)?_c('div',{key:\"2\",ref:\"actionIcon\",staticClass:\"vac-svg-button vac-message-options\",on:{\"click\":_vm.openOptions}},[_vm._t(\"dropdown-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"message\"}})]})],2):_vm._e(),(_vm.isMessageReactions)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeEmoji),expression:\"closeEmoji\"}],key:\"3\"},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{staticClass:\"vac-message-emojis\",style:({ right: _vm.isMessageActions ? '30px' : '5px' }),attrs:{\"emoji-opened\":_vm.emojiOpened,\"emoji-reaction\":true,\"position-right\":_vm.message.senderId === _vm.currentUserId},on:{\"add-emoji\":_vm.sendMessageReaction,\"open-emoji\":_vm.openEmoji},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-reaction-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.sendMessageReaction},{ emojiOpened: _vm.emojiOpened })],2):_vm._e()])],1),(_vm.filteredMessageActions.length)?_c('transition',{attrs:{\"name\":_vm.message.senderId === _vm.currentUserId\n\t\t\t\t? 'vac-slide-left'\n\t\t\t\t: 'vac-slide-right'}},[(_vm.optionsOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeOptions),expression:\"closeOptions\"}],ref:\"menuOptions\",staticClass:\"vac-menu-options\",class:{\n\t\t\t\t'vac-menu-left': _vm.message.senderId !== _vm.currentUserId\n\t\t\t},style:({ top: (_vm.menuOptionsTop + \"px\") })},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.filteredMessageActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.messageActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageActions.vue?vue&type=template&id=27f1a961&\"\nimport script from \"./MessageActions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageActions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.message.deleted)?_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},_vm._l((_vm.message.reactions),function(reaction,key){return _c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(reaction.length),expression:\"reaction.length\"}],key:key + 0,staticClass:\"vac-button-reaction\",class:{\n\t\t\t'vac-reaction-me': reaction.indexOf(_vm.currentUserId) !== -1\n\t\t},style:({\n\t\t\tfloat: _vm.message.senderId === _vm.currentUserId ? 'right' : 'left'\n\t\t}),on:{\"click\":function($event){return _vm.sendMessageReaction({ unicode: key }, reaction)}}},[_vm._v(\" \"+_vm._s(key)),_c('span',[_vm._v(_vm._s(reaction.length))])])}),0):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReactions.vue?vue&type=template&id=3fc44a38&\"\nimport script from \"./MessageReactions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReactions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessage.vue?vue&type=template&id=545cd2c3&\"\nimport script from \"./RoomMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Room.vue?vue&type=template&id=5c60aee1&\"\nimport script from \"./Room.vue?vue&type=script&lang=js&\"\nexport * from \"./Room.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal\",staticClass:\"vac-media-preview\",attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeModal.apply(null, arguments)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeModal.apply(null, arguments)}}},[_c('transition',{attrs:{\"name\":\"vac-bounce-preview\",\"appear\":\"\"}},[(_vm.isImage)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('div',{staticClass:\"vac-image-preview\",style:({\n\t\t\t\t\t'background-image': (\"url('\" + (_vm.file.url) + \"')\")\n\t\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\",\"autoplay\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])]):_vm._e()]),_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"preview-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\",\"param\":\"preview\"}})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MediaPreview.vue?vue&type=template&id=2d3ea15a&\"\nimport script from \"./MediaPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaPreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\tROOMS_EMPTY: 'No rooms',\n\tROOM_EMPTY: 'No room selected',\n\tNEW_MESSAGES: 'New Messages',\n\tMESSAGE_DELETED: 'This message was deleted',\n\tMESSAGES_EMPTY: 'No messages',\n\tCONVERSATION_STARTED: 'Conversation started on:',\n\tTYPE_MESSAGE: 'Type message',\n\tSEARCH: 'Search',\n\tIS_ONLINE: 'is online',\n\tLAST_SEEN: 'last seen ',\n\tIS_TYPING: 'is writing...',\n\tCANCEL_SELECT_MESSAGE: 'Cancel'\n}\n","export const defaultThemeStyles = {\n\tlight: {\n\t\tgeneral: {\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorButtonClear: '#1976d2',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#fff',\n\t\t\tcolorPlaceholder: '#9ca6af',\n\t\t\tcolorCaret: '#1976d2',\n\t\t\tcolorSpinner: '#333',\n\t\t\tborderStyle: '1px solid #e1e4e8',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#fff',\n\t\t\tcolorRoomName: '#0a0a0a',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#f8f9fa',\n\t\t\tborderStyleInput: '1px solid #e1e4e8',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#e5e5e6',\n\t\t\tbackgroundTagActive: '#e5e5e6',\n\t\t\tbackgroundTag: '#f8f9fa'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#f8f9fa'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6',\n\t\t\tbackgroundActive: '#e5effa',\n\t\t\tcolorActive: '#1976d2',\n\t\t\tborderColorSearch: '#e1e5e8'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundMe: '#ccf2cf',\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#dadfe2',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#757e85',\n\t\t\tcolorUsername: '#9ca6af',\n\t\t\tcolorTimestamp: '#828c94',\n\t\t\tbackgroundDate: '#e5effa',\n\t\t\tcolorDate: '#505a62',\n\t\t\tbackgroundSystem: '#e5effa',\n\t\t\tcolorSystem: '#505a62',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.08)',\n\t\t\tcolorReplyUsername: '#0a0a0a',\n\t\t\tcolorReply: '#6e6e6e',\n\t\t\tcolorTag: '#0d579c',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#1976d2',\n\t\t\tbackgroundScrollCounter: '#0696c7',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: '#eee',\n\t\t\tborderStyleReaction: '1px solid #eee',\n\t\t\tbackgroundReactionHover: '#fff',\n\t\t\tborderStyleReactionHover: '1px solid #ddd',\n\t\t\tcolorReactionCounter: '#0a0a0a',\n\t\t\tbackgroundReactionMe: '#cfecf5',\n\t\t\tborderStyleReactionMe: '1px solid #3b98b8',\n\t\t\tbackgroundReactionHoverMe: '#cfecf5',\n\t\t\tborderStyleReactionHoverMe: '1px solid #3b98b8',\n\t\t\tcolorReactionCounterMe: '#0b59b3',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundAudioProgress: '#455247',\n\t\t\tbackgroundAudioProgressSelector: '#455247',\n\t\t\tcolorFileExtension: '#757e85'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#0a0a0a',\n\t\t\tcolorMessage: '#67717a',\n\t\t\tcolorTimestamp: '#a2aeb8',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#9ca6af',\n\t\t\tbackgroundCounterBadge: '#0696c7',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#fff'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#9ca6af',\n\t\t\tadd: '#1976d2',\n\t\t\ttoggle: '#0a0a0a',\n\t\t\tmenu: '#0a0a0a',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#1976d2',\n\t\t\tcloseOutline: '#000',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#1976d2',\n\t\t\tsendDisabled: '#9ca6af',\n\t\t\temoji: '#1976d2',\n\t\t\temojiReaction: 'rgba(0, 0, 0, 0.3)',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#9e9e9e',\n\t\t\tcheckmark: '#9e9e9e',\n\t\t\tcheckmarkSeen: '#0696c7',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#9e9e9e',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#1976d2',\n\t\t\taudioPlay: '#455247',\n\t\t\taudioPause: '#455247',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t},\n\tdark: {\n\t\tgeneral: {\n\t\t\tcolor: '#fff',\n\t\t\tcolorButtonClear: '#fff',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#202223',\n\t\t\tcolorPlaceholder: '#596269',\n\t\t\tcolorCaret: '#fff',\n\t\t\tcolorSpinner: '#fff',\n\t\t\tborderStyle: 'none',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#181a1b',\n\t\t\tcolorRoomName: '#fff',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#131415',\n\t\t\tborderStyleInput: 'none',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#1b1c1c',\n\t\t\tbackgroundTagActive: '#1b1c1c',\n\t\t\tbackgroundTag: '#131415'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#131415'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#181a1b',\n\t\t\tbackgroundHover: '#202224',\n\t\t\tbackgroundActive: '#151617',\n\t\t\tcolorActive: '#fff',\n\t\t\tborderColorSearch: '#181a1b'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#2a2c33',\n\t\t\tbackgroundHover: '#26282e'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#22242a',\n\t\t\tbackgroundMe: '#1f7e80',\n\t\t\tcolor: '#fff',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#1b1c21',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#a2a5a8',\n\t\t\tcolorUsername: '#b3bac9',\n\t\t\tcolorTimestamp: '#ebedf2',\n\t\t\tbackgroundDate: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorDate: '#bec5cc',\n\t\t\tbackgroundSystem: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorSystem: '#bec5cc',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.18)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.18)',\n\t\t\tcolorReplyUsername: '#fff',\n\t\t\tcolorReply: '#d6d6d6',\n\t\t\tcolorTag: '#f0c60a',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#fff',\n\t\t\tbackgroundScrollCounter: '#1976d2',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: 'none',\n\t\t\tborderStyleReaction: 'none',\n\t\t\tbackgroundReactionHover: '#202223',\n\t\t\tborderStyleReactionHover: 'none',\n\t\t\tcolorReactionCounter: '#fff',\n\t\t\tbackgroundReactionMe: '#4e9ad1',\n\t\t\tborderStyleReactionMe: 'none',\n\t\t\tbackgroundReactionHoverMe: '#4e9ad1',\n\t\t\tborderStyleReactionHoverMe: 'none',\n\t\t\tcolorReactionCounterMe: '#fff',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(255, 255, 255, 0.15)',\n\t\t\tbackgroundAudioProgress: '#b7d4d3',\n\t\t\tbackgroundAudioProgressSelector: '#b7d4d3',\n\t\t\tcolorFileExtension: '#a2a5a8'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#fff',\n\t\t\tcolorMessage: '#6c7278',\n\t\t\tcolorTimestamp: '#6c7278',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#596269',\n\t\t\tbackgroundCounterBadge: '#1976d2',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#343740'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#596269',\n\t\t\tadd: '#fff',\n\t\t\ttoggle: '#fff',\n\t\t\tmenu: '#fff',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#fff',\n\t\t\tcloseOutline: '#fff',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#fff',\n\t\t\tsendDisabled: '#646a70',\n\t\t\temoji: '#fff',\n\t\t\temojiReaction: '#fff',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#ebedf2',\n\t\t\tcheckmark: '#ebedf2',\n\t\t\tcheckmarkSeen: '#f0d90a',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#fff',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#fff',\n\t\t\taudioPlay: '#b7d4d3',\n\t\t\taudioPause: '#b7d4d3',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t}\n}\n\nexport const cssThemeVars = ({\n\tgeneral,\n\tcontainer,\n\theader,\n\tfooter,\n\tsidemenu,\n\tcontent,\n\tdropdown,\n\tmessage,\n\tmarkdown,\n\troom,\n\temoji,\n\ticons\n}) => {\n\treturn {\n\t\t// general\n\t\t'--chat-color': general.color,\n\t\t'--chat-color-button-clear': general.colorButtonClear,\n\t\t'--chat-color-button': general.colorButton,\n\t\t'--chat-bg-color-button': general.backgroundColorButton,\n\t\t'--chat-bg-color-input': general.backgroundInput,\n\t\t'--chat-color-spinner': general.colorSpinner,\n\t\t'--chat-color-placeholder': general.colorPlaceholder,\n\t\t'--chat-color-caret': general.colorCaret,\n\t\t'--chat-border-style': general.borderStyle,\n\t\t'--chat-bg-scroll-icon': general.backgroundScrollIcon,\n\n\t\t// container\n\t\t'--chat-container-border': container.border,\n\t\t'--chat-container-border-radius': container.borderRadius,\n\t\t'--chat-container-box-shadow': container.boxShadow,\n\n\t\t// header\n\t\t'--chat-header-bg-color': header.background,\n\t\t'--chat-header-color-name': header.colorRoomName,\n\t\t'--chat-header-color-info': header.colorRoomInfo,\n\n\t\t// footer\n\t\t'--chat-footer-bg-color': footer.background,\n\t\t'--chat-border-style-input': footer.borderStyleInput,\n\t\t'--chat-border-color-input-selected': footer.borderInputSelected,\n\t\t'--chat-footer-bg-color-reply': footer.backgroundReply,\n\t\t'--chat-footer-bg-color-tag-active': footer.backgroundTagActive,\n\t\t'--chat-footer-bg-color-tag': footer.backgroundTag,\n\n\t\t// content\n\t\t'--chat-content-bg-color': content.background,\n\n\t\t// sidemenu\n\t\t'--chat-sidemenu-bg-color': sidemenu.background,\n\t\t'--chat-sidemenu-bg-color-hover': sidemenu.backgroundHover,\n\t\t'--chat-sidemenu-bg-color-active': sidemenu.backgroundActive,\n\t\t'--chat-sidemenu-color-active': sidemenu.colorActive,\n\t\t'--chat-sidemenu-border-color-search': sidemenu.borderColorSearch,\n\n\t\t// dropdown\n\t\t'--chat-dropdown-bg-color': dropdown.background,\n\t\t'--chat-dropdown-bg-color-hover': dropdown.backgroundHover,\n\n\t\t// message\n\t\t'--chat-message-bg-color': message.background,\n\t\t'--chat-message-bg-color-me': message.backgroundMe,\n\t\t'--chat-message-color-started': message.colorStarted,\n\t\t'--chat-message-bg-color-deleted': message.backgroundDeleted,\n\t\t'--chat-message-bg-color-selected': message.backgroundSelected,\n\t\t'--chat-message-color-deleted': message.colorDeleted,\n\t\t'--chat-message-color-username': message.colorUsername,\n\t\t'--chat-message-color-timestamp': message.colorTimestamp,\n\t\t'--chat-message-bg-color-date': message.backgroundDate,\n\t\t'--chat-message-color-date': message.colorDate,\n\t\t'--chat-message-bg-color-system': message.backgroundSystem,\n\t\t'--chat-message-color-system': message.colorSystem,\n\t\t'--chat-message-color': message.color,\n\t\t'--chat-message-bg-color-media': message.backgroundMedia,\n\t\t'--chat-message-bg-color-reply': message.backgroundReply,\n\t\t'--chat-message-color-reply-username': message.colorReplyUsername,\n\t\t'--chat-message-color-reply-content': message.colorReply,\n\t\t'--chat-message-color-tag': message.colorTag,\n\t\t'--chat-message-bg-color-image': message.backgroundImage,\n\t\t'--chat-message-color-new-messages': message.colorNewMessages,\n\t\t'--chat-message-bg-color-scroll-counter': message.backgroundScrollCounter,\n\t\t'--chat-message-color-scroll-counter': message.colorScrollCounter,\n\t\t'--chat-message-bg-color-reaction': message.backgroundReaction,\n\t\t'--chat-message-border-style-reaction': message.borderStyleReaction,\n\t\t'--chat-message-bg-color-reaction-hover': message.backgroundReactionHover,\n\t\t'--chat-message-border-style-reaction-hover':\n\t\t\tmessage.borderStyleReactionHover,\n\t\t'--chat-message-color-reaction-counter': message.colorReactionCounter,\n\t\t'--chat-message-bg-color-reaction-me': message.backgroundReactionMe,\n\t\t'--chat-message-border-style-reaction-me': message.borderStyleReactionMe,\n\t\t'--chat-message-bg-color-reaction-hover-me':\n\t\t\tmessage.backgroundReactionHoverMe,\n\t\t'--chat-message-border-style-reaction-hover-me':\n\t\t\tmessage.borderStyleReactionHoverMe,\n\t\t'--chat-message-color-reaction-counter-me': message.colorReactionCounterMe,\n\t\t'--chat-message-bg-color-audio-record': message.backgroundAudioRecord,\n\t\t'--chat-message-bg-color-audio-line': message.backgroundAudioLine,\n\t\t'--chat-message-bg-color-audio-progress': message.backgroundAudioProgress,\n\t\t'--chat-message-bg-color-audio-progress-selector':\n\t\t\tmessage.backgroundAudioProgressSelector,\n\t\t'--chat-message-color-file-extension': message.colorFileExtension,\n\n\t\t// markdown\n\t\t'--chat-markdown-bg': markdown.background,\n\t\t'--chat-markdown-border': markdown.border,\n\t\t'--chat-markdown-color': markdown.color,\n\t\t'--chat-markdown-color-multi': markdown.colorMulti,\n\n\t\t// room\n\t\t'--chat-room-color-username': room.colorUsername,\n\t\t'--chat-room-color-message': room.colorMessage,\n\t\t'--chat-room-color-timestamp': room.colorTimestamp,\n\t\t'--chat-room-color-online': room.colorStateOnline,\n\t\t'--chat-room-color-offline': room.colorStateOffline,\n\t\t'--chat-room-bg-color-badge': room.backgroundCounterBadge,\n\t\t'--chat-room-color-badge': room.colorCounterBadge,\n\n\t\t// emoji\n\t\t'--chat-emoji-bg-color': emoji.background,\n\n\t\t// icons\n\t\t'--chat-icon-color-search': icons.search,\n\t\t'--chat-icon-color-add': icons.add,\n\t\t'--chat-icon-color-toggle': icons.toggle,\n\t\t'--chat-icon-color-menu': icons.menu,\n\t\t'--chat-icon-color-close': icons.close,\n\t\t'--chat-icon-color-close-image': icons.closeImage,\n\t\t'--chat-icon-color-file': icons.file,\n\t\t'--chat-icon-color-paperclip': icons.paperclip,\n\t\t'--chat-icon-color-close-outline': icons.closeOutline,\n\t\t'--chat-icon-color-close-preview': icons.closePreview,\n\t\t'--chat-icon-color-send': icons.send,\n\t\t'--chat-icon-color-send-disabled': icons.sendDisabled,\n\t\t'--chat-icon-color-emoji': icons.emoji,\n\t\t'--chat-icon-color-emoji-reaction': icons.emojiReaction,\n\t\t'--chat-icon-color-document': icons.document,\n\t\t'--chat-icon-color-pencil': icons.pencil,\n\t\t'--chat-icon-color-checkmark': icons.checkmark,\n\t\t'--chat-icon-color-checkmark-seen': icons.checkmarkSeen,\n\t\t'--chat-icon-color-eye': icons.eye,\n\t\t'--chat-icon-color-dropdown-message': icons.dropdownMessage,\n\t\t'--chat-icon-bg-dropdown-message': icons.dropdownMessageBackground,\n\t\t'--chat-icon-color-dropdown-room': icons.dropdownRoom,\n\t\t'--chat-icon-color-dropdown-scroll': icons.dropdownScroll,\n\t\t'--chat-icon-color-microphone': icons.microphone,\n\t\t'--chat-icon-color-audio-play': icons.audioPlay,\n\t\t'--chat-icon-color-audio-pause': icons.audioPause,\n\t\t'--chat-icon-color-audio-cancel': icons.audioCancel,\n\t\t'--chat-icon-color-audio-confirm': icons.audioConfirm\n\t}\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&shadow\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&shadow\"","import { render, staticRenderFns } from \"./ChatWindow.vue?vue&type=template&id=1aef5270&shadow\"\nimport script from \"./ChatWindow.vue?vue&type=script&lang=js&shadow\"\nexport * from \"./ChatWindow.vue?vue&type=script&lang=js&shadow\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./ChatWindow.vue?vue&type=style&index=0&lang=scss&shadow\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n ,true\n)\n\nexport default component.exports","import './setPublicPath'\nimport Vue from 'vue'\nimport wrap from '@vue/web-component-wrapper'\n\n// runtime shared by every component chunk\nimport 'css-loader/dist/runtime/api.js'\nimport 'vue-style-loader/lib/addStylesShadow'\nimport 'vue-loader/lib/runtime/componentNormalizer'\n\nimport vueAdvancedChat from '~root/./src/lib/ChatWindow.vue?shadow'\nwindow.customElements.define('vue-advanced-chat', wrap(Vue, vueAdvancedChat))","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar TypeError = global.TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\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 call(then, 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\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\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_PROMISE_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 call(task, 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 call(task, 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 call(then, 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_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\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: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\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 && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { 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, PromisePrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","var NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","function HuffCodeTab(len, max, tab, hl) {\n this.xlen = len;\n this.linmax = max;\n this.table = tab;\n this.hlen = hl;\n}\n\nvar Tables = {};\n\n\nTables.t1HB = [\n 1, 1,\n 1, 0\n];\n\nTables.t2HB = [\n 1, 2, 1,\n 3, 1, 1,\n 3, 2, 0\n];\n\nTables.t3HB = [\n 3, 2, 1,\n 1, 1, 1,\n 3, 2, 0\n];\n\nTables.t5HB = [\n 1, 2, 6, 5,\n 3, 1, 4, 4,\n 7, 5, 7, 1,\n 6, 1, 1, 0\n];\n\nTables.t6HB = [\n 7, 3, 5, 1,\n 6, 2, 3, 2,\n 5, 4, 4, 1,\n 3, 3, 2, 0\n];\n\nTables.t7HB = [\n 1, 2, 10, 19, 16, 10,\n 3, 3, 7, 10, 5, 3,\n 11, 4, 13, 17, 8, 4,\n 12, 11, 18, 15, 11, 2,\n 7, 6, 9, 14, 3, 1,\n 6, 4, 5, 3, 2, 0\n];\n\nTables.t8HB = [\n 3, 4, 6, 18, 12, 5,\n 5, 1, 2, 16, 9, 3,\n 7, 3, 5, 14, 7, 3,\n 19, 17, 15, 13, 10, 4,\n 13, 5, 8, 11, 5, 1,\n 12, 4, 4, 1, 1, 0\n];\n\nTables.t9HB = [\n 7, 5, 9, 14, 15, 7,\n 6, 4, 5, 5, 6, 7,\n 7, 6, 8, 8, 8, 5,\n 15, 6, 9, 10, 5, 1,\n 11, 7, 9, 6, 4, 1,\n 14, 4, 6, 2, 6, 0\n];\n\nTables.t10HB = [\n 1, 2, 10, 23, 35, 30, 12, 17,\n 3, 3, 8, 12, 18, 21, 12, 7,\n 11, 9, 15, 21, 32, 40, 19, 6,\n 14, 13, 22, 34, 46, 23, 18, 7,\n 20, 19, 33, 47, 27, 22, 9, 3,\n 31, 22, 41, 26, 21, 20, 5, 3,\n 14, 13, 10, 11, 16, 6, 5, 1,\n 9, 8, 7, 8, 4, 4, 2, 0\n];\n\nTables.t11HB = [\n 3, 4, 10, 24, 34, 33, 21, 15,\n 5, 3, 4, 10, 32, 17, 11, 10,\n 11, 7, 13, 18, 30, 31, 20, 5,\n 25, 11, 19, 59, 27, 18, 12, 5,\n 35, 33, 31, 58, 30, 16, 7, 5,\n 28, 26, 32, 19, 17, 15, 8, 14,\n 14, 12, 9, 13, 14, 9, 4, 1,\n 11, 4, 6, 6, 6, 3, 2, 0\n];\n\nTables.t12HB = [\n 9, 6, 16, 33, 41, 39, 38, 26,\n 7, 5, 6, 9, 23, 16, 26, 11,\n 17, 7, 11, 14, 21, 30, 10, 7,\n 17, 10, 15, 12, 18, 28, 14, 5,\n 32, 13, 22, 19, 18, 16, 9, 5,\n 40, 17, 31, 29, 17, 13, 4, 2,\n 27, 12, 11, 15, 10, 7, 4, 1,\n 27, 12, 8, 12, 6, 3, 1, 0\n];\n\nTables.t13HB = [\n 1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19,\n 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14,\n 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16,\n 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14,\n 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24,\n 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17,\n 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15,\n 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42,\n 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16,\n 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11,\n 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22,\n 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7,\n 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5,\n 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3,\n 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2,\n 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1\n];\n\nTables.t15HB = [\n 7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63,\n 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36,\n 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33,\n 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29,\n 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27,\n 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38,\n 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30,\n 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25,\n 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20,\n 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15,\n 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9,\n 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11,\n 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7,\n 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3,\n 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1,\n 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0\n];\n\nTables.t16HB = [\n 1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17,\n 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9,\n 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16,\n 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26,\n 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9,\n 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16,\n 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10,\n 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8,\n 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7,\n 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11,\n 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4,\n 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6,\n 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4,\n 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2,\n 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0,\n 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3\n];\n\nTables.t24HB = [\n 15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88,\n 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42,\n 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18,\n 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16,\n 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14,\n 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12,\n 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10,\n 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17,\n 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16,\n 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11,\n 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10,\n 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6,\n 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4,\n 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2,\n 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0,\n 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3\n];\n\nTables.t32HB = [\n 1 << 0, 5 << 1, 4 << 1, 5 << 2, 6 << 1, 5 << 2, 4 << 2, 4 << 3,\n 7 << 1, 3 << 2, 6 << 2, 0 << 3, 7 << 2, 2 << 3, 3 << 3, 1 << 4\n];\n\nTables.t33HB = [\n 15 << 0, 14 << 1, 13 << 1, 12 << 2, 11 << 1, 10 << 2, 9 << 2, 8 << 3,\n 7 << 1, 6 << 2, 5 << 2, 4 << 3, 3 << 2, 2 << 3, 1 << 3, 0 << 4\n];\n\nTables.t1l = [\n 1, 4,\n 3, 5\n];\n\nTables.t2l = [\n 1, 4, 7,\n 4, 5, 7,\n 6, 7, 8\n];\n\nTables.t3l = [\n 2, 3, 7,\n 4, 4, 7,\n 6, 7, 8\n];\n\nTables.t5l = [\n 1, 4, 7, 8,\n 4, 5, 8, 9,\n 7, 8, 9, 10,\n 8, 8, 9, 10\n];\n\nTables.t6l = [\n 3, 4, 6, 8,\n 4, 4, 6, 7,\n 5, 6, 7, 8,\n 7, 7, 8, 9\n];\n\nTables.t7l = [\n 1, 4, 7, 9, 9, 10,\n 4, 6, 8, 9, 9, 10,\n 7, 7, 9, 10, 10, 11,\n 8, 9, 10, 11, 11, 11,\n 8, 9, 10, 11, 11, 12,\n 9, 10, 11, 12, 12, 12\n];\n\nTables.t8l = [\n 2, 4, 7, 9, 9, 10,\n 4, 4, 6, 10, 10, 10,\n 7, 6, 8, 10, 10, 11,\n 9, 10, 10, 11, 11, 12,\n 9, 9, 10, 11, 12, 12,\n 10, 10, 11, 11, 13, 13\n];\n\nTables.t9l = [\n 3, 4, 6, 7, 9, 10,\n 4, 5, 6, 7, 8, 10,\n 5, 6, 7, 8, 9, 10,\n 7, 7, 8, 9, 9, 10,\n 8, 8, 9, 9, 10, 11,\n 9, 9, 10, 10, 11, 11\n];\n\nTables.t10l = [\n 1, 4, 7, 9, 10, 10, 10, 11,\n 4, 6, 8, 9, 10, 11, 10, 10,\n 7, 8, 9, 10, 11, 12, 11, 11,\n 8, 9, 10, 11, 12, 12, 11, 12,\n 9, 10, 11, 12, 12, 12, 12, 12,\n 10, 11, 12, 12, 13, 13, 12, 13,\n 9, 10, 11, 12, 12, 12, 13, 13,\n 10, 10, 11, 12, 12, 13, 13, 13\n];\n\nTables.t11l = [\n 2, 4, 6, 8, 9, 10, 9, 10,\n 4, 5, 6, 8, 10, 10, 9, 10,\n 6, 7, 8, 9, 10, 11, 10, 10,\n 8, 8, 9, 11, 10, 12, 10, 11,\n 9, 10, 10, 11, 11, 12, 11, 12,\n 9, 10, 11, 12, 12, 13, 12, 13,\n 9, 9, 9, 10, 11, 12, 12, 12,\n 9, 9, 10, 11, 12, 12, 12, 12\n];\n\nTables.t12l = [\n 4, 4, 6, 8, 9, 10, 10, 10,\n 4, 5, 6, 7, 9, 9, 10, 10,\n 6, 6, 7, 8, 9, 10, 9, 10,\n 7, 7, 8, 8, 9, 10, 10, 10,\n 8, 8, 9, 9, 10, 10, 10, 11,\n 9, 9, 10, 10, 10, 11, 10, 11,\n 9, 9, 9, 10, 10, 11, 11, 12,\n 10, 10, 10, 11, 11, 11, 11, 12\n];\n\nTables.t13l = [\n 1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14,\n 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14,\n 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15,\n 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15,\n 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16,\n 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16,\n 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16,\n 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18,\n 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17,\n 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17,\n 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19,\n 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18,\n 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18,\n 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18,\n 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18,\n 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18\n];\n\nTables.t15l = [\n 3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14,\n 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13,\n 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13,\n 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14,\n 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14,\n 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15,\n 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15,\n 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15,\n 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15,\n 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15\n];\n\nTables.t16_5l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14,\n 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12\n];\n\nTables.t16l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13,\n 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10\n];\n\nTables.t24l = [\n 4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10,\n 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10,\n 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9,\n 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9,\n 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9,\n 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9,\n 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9,\n 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10,\n 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10,\n 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10,\n 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6\n];\n\nTables.t32l = [\n 1 + 0, 4 + 1, 4 + 1, 5 + 2, 4 + 1, 6 + 2, 5 + 2, 6 + 3,\n 4 + 1, 5 + 2, 5 + 2, 6 + 3, 5 + 2, 6 + 3, 6 + 3, 6 + 4\n];\n\nTables.t33l = [\n 4 + 0, 4 + 1, 4 + 1, 4 + 2, 4 + 1, 4 + 2, 4 + 2, 4 + 3,\n 4 + 1, 4 + 2, 4 + 2, 4 + 3, 4 + 2, 4 + 3, 4 + 3, 4 + 4\n];\n\nTables.ht = [\n /* xlen, linmax, table, hlen */\n new HuffCodeTab(0, 0, null, null),\n new HuffCodeTab(2, 0, Tables.t1HB, Tables.t1l),\n new HuffCodeTab(3, 0, Tables.t2HB, Tables.t2l),\n new HuffCodeTab(3, 0, Tables.t3HB, Tables.t3l),\n new HuffCodeTab(0, 0, null, null), /* Apparently not used */\n new HuffCodeTab(4, 0, Tables.t5HB, Tables.t5l),\n new HuffCodeTab(4, 0, Tables.t6HB, Tables.t6l),\n new HuffCodeTab(6, 0, Tables.t7HB, Tables.t7l),\n new HuffCodeTab(6, 0, Tables.t8HB, Tables.t8l),\n new HuffCodeTab(6, 0, Tables.t9HB, Tables.t9l),\n new HuffCodeTab(8, 0, Tables.t10HB, Tables.t10l),\n new HuffCodeTab(8, 0, Tables.t11HB, Tables.t11l),\n new HuffCodeTab(8, 0, Tables.t12HB, Tables.t12l),\n new HuffCodeTab(16, 0, Tables.t13HB, Tables.t13l),\n new HuffCodeTab(0, 0, null, Tables.t16_5l), /* Apparently not used */\n new HuffCodeTab(16, 0, Tables.t15HB, Tables.t15l),\n\n new HuffCodeTab(1, 1, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(2, 3, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(3, 7, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(4, 15, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(6, 63, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(8, 255, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(10, 1023, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(13, 8191, Tables.t16HB, Tables.t16l),\n\n new HuffCodeTab(4, 15, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(5, 31, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(6, 63, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(7, 127, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(8, 255, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(9, 511, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(11, 2047, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(13, 8191, Tables.t24HB, Tables.t24l),\n\n new HuffCodeTab(0, 0, Tables.t32HB, Tables.t32l),\n new HuffCodeTab(0, 0, Tables.t33HB, Tables.t33l),\n];\n\n/**\n * \n * for (i = 0; i < 16*16; i++) [\n * largetbl[i] = ((ht[16].hlen[i]) << 16) + ht[24].hlen[i];\n * ]\n * \n *\n */\nTables.largetbl = [\n 0x010004, 0x050005, 0x070007, 0x090008, 0x0a0009, 0x0a000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000c, 0x0c000c, 0x0d000c, 0x0d000c, 0x0d000c, 0x0e000d, 0x0a000a,\n 0x040005, 0x060006, 0x080007, 0x090008, 0x0a0009, 0x0b000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000b, 0x0c000c, 0x0d000c, 0x0e000c, 0x0d000c, 0x0e000c, 0x0a000a,\n 0x070007, 0x080007, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0c000b, 0x0d000b, 0x0d000c, 0x0d000c, 0x0e000c, 0x0e000d, 0x0b0009,\n 0x090008, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0c0009,\n 0x0a0009, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000a, 0x0d000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000d, 0x0b0009,\n 0x0a000a, 0x0a0009, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0e000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0c0009,\n 0x0b000a, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0d000b, 0x0d000b,\n 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000d, 0x0c0009,\n 0x0b000b, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b,\n 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x11000d, 0x11000d, 0x0c000a,\n 0x0b000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b,\n 0x0f000b, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000d, 0x10000d, 0x0c000a,\n 0x0c000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b, 0x0f000c,\n 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0f000d, 0x10000d, 0x0f000d, 0x0d000a,\n 0x0c000c, 0x0d000b, 0x0c000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c,\n 0x0f000c, 0x10000c, 0x10000c, 0x10000d, 0x11000d, 0x11000d, 0x10000d, 0x0c000a,\n 0x0d000c, 0x0d000c, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x10000c,\n 0x10000c, 0x10000c, 0x10000c, 0x10000d, 0x10000d, 0x0f000d, 0x10000d, 0x0d000a,\n 0x0d000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c,\n 0x0f000c, 0x11000c, 0x10000d, 0x10000d, 0x10000d, 0x10000d, 0x12000d, 0x0d000a,\n 0x0f000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000c,\n 0x10000d, 0x12000d, 0x11000d, 0x11000d, 0x11000d, 0x13000d, 0x11000d, 0x0d000a,\n 0x0e000d, 0x0f000c, 0x0d000c, 0x0e000c, 0x10000c, 0x10000c, 0x0f000c, 0x10000d,\n 0x10000d, 0x11000d, 0x12000d, 0x11000d, 0x13000d, 0x11000d, 0x10000d, 0x0d000a,\n 0x0a0009, 0x0a0009, 0x0a0009, 0x0b0009, 0x0b0009, 0x0c0009, 0x0c0009, 0x0c0009,\n 0x0d0009, 0x0d0009, 0x0d0009, 0x0d000a, 0x0d000a, 0x0d000a, 0x0d000a, 0x0a0006\n];\n/**\n * \n * for (i = 0; i < 3*3; i++) [\n * table23[i] = ((ht[2].hlen[i]) << 16) + ht[3].hlen[i];\n * ]\n * \n *\n */\nTables.table23 = [\n 0x010002, 0x040003, 0x070007,\n 0x040004, 0x050004, 0x070007,\n 0x060006, 0x070007, 0x080008\n];\n\n/**\n * \n * for (i = 0; i < 4*4; i++) [\n * table56[i] = ((ht[5].hlen[i]) << 16) + ht[6].hlen[i];\n * ]\n * \n *\n */\nTables.table56 = [\n 0x010003, 0x040004, 0x070006, 0x080008, 0x040004, 0x050004, 0x080006, 0x090007,\n 0x070005, 0x080006, 0x090007, 0x0a0008, 0x080007, 0x080007, 0x090008, 0x0a0009\n];\n\nTables.bitrate_table = [\n [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], /* MPEG 2 */\n [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], /* MPEG 1 */\n [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1], /* MPEG 2.5 */\n];\n\n/**\n * MPEG 2, MPEG 1, MPEG 2.5.\n */\nTables.samplerate_table = [\n [22050, 24000, 16000, -1],\n [44100, 48000, 32000, -1],\n [11025, 12000, 8000, -1],\n];\n\n/**\n * This is the scfsi_band table from 2.4.2.7 of the IS.\n */\nTables.scfsi_band = [0, 6, 11, 16, 21];\n\nmodule.exports = Tables;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar RangeError = global.RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.set.constructor');\n","module.exports = typeof window == 'object' && typeof Deno != 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es-x/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es-x/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar padStart = require('../internals/string-pad').start;\n\nvar RangeError = global.RangeError;\nvar abs = Math.abs;\nvar DatePrototype = Date.prototype;\nvar n$DateToISOString = DatePrototype.toISOString;\nvar getTime = uncurryThis(DatePrototype.getTime);\nvar getUTCDate = uncurryThis(DatePrototype.getUTCDate);\nvar getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear);\nvar getUTCHours = uncurryThis(DatePrototype.getUTCHours);\nvar getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds);\nvar getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes);\nvar getUTCMonth = uncurryThis(DatePrototype.getUTCMonth);\nvar getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds);\n\n// `Date.prototype.toISOString` method implementation\n// https://tc39.es/ecma262/#sec-date.prototype.toisostring\n// PhantomJS / old WebKit fails here:\nmodule.exports = (fails(function () {\n return n$DateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n n$DateToISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime(this))) throw RangeError('Invalid time value');\n var date = this;\n var year = getUTCFullYear(date);\n var milliseconds = getUTCMilliseconds(date);\n var sign = year < 0 ? '-' : year > 9999 ? '+' : '';\n return sign + padStart(abs(year), sign ? 6 : 4, 0) +\n '-' + padStart(getUTCMonth(date) + 1, 2, 0) +\n '-' + padStart(getUTCDate(date), 2, 0) +\n 'T' + padStart(getUTCHours(date), 2, 0) +\n ':' + padStart(getUTCMinutes(date), 2, 0) +\n ':' + padStart(getUTCSeconds(date), 2, 0) +\n '.' + padStart(milliseconds, 3, 0) +\n 'Z';\n} : n$DateToISOString;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (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 defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","//package mp3;\n\n/* MPEG modes */\nfunction MPEGMode(ordinal) {\n var _ordinal = ordinal;\n this.ordinal = function () {\n return _ordinal;\n }\n}\n\nMPEGMode.STEREO = new MPEGMode(0);\nMPEGMode.JOINT_STEREO = new MPEGMode(1);\nMPEGMode.DUAL_CHANNEL = new MPEGMode(2);\nMPEGMode.MONO = new MPEGMode(3);\nMPEGMode.NOT_SET = new MPEGMode(4);\n\nmodule.exports = MPEGMode;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Takehiro = require('./Takehiro.js');\nvar Tables = require('./Tables.js');\nvar Encoder = require('./Encoder.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nBitStream.EQ = function (a, b) {\n return (Math.abs(a) > Math.abs(b)) ? (Math.abs((a) - (b)) <= (Math\n .abs(a) * 1e-6))\n : (Math.abs((a) - (b)) <= (Math.abs(b) * 1e-6));\n};\n\nBitStream.NEQ = function (a, b) {\n return !BitStream.EQ(a, b);\n};\n\nfunction BitStream() {\n var self = this;\n var CRC16_POLYNOMIAL = 0x8005;\n\n /*\n * we work with ints, so when doing bit manipulation, we limit ourselves to\n * MAX_LENGTH-2 just to be on the safe side\n */\n var MAX_LENGTH = 32;\n\n //GainAnalysis ga;\n //MPGLib mpg;\n //Version ver;\n //VBRTag vbr;\n var ga = null;\n var mpg = null;\n var ver = null;\n var vbr = null;\n\n //public final void setModules(GainAnalysis ga, MPGLib mpg, Version ver,\n //\tVBRTag vbr) {\n\n this.setModules = function (_ga, _mpg, _ver, _vbr) {\n ga = _ga;\n mpg = _mpg;\n ver = _ver;\n vbr = _vbr;\n };\n\n /**\n * Bit stream buffer.\n */\n //private byte[] buf;\n var buf = null;\n /**\n * Bit counter of bit stream.\n */\n var totbit = 0;\n /**\n * Pointer to top byte in buffer.\n */\n var bufByteIdx = 0;\n /**\n * Pointer to top bit of top byte in buffer.\n */\n var bufBitIdx = 0;\n\n /**\n * compute bitsperframe and mean_bits for a layer III frame\n */\n this.getframebits = function (gfp) {\n var gfc = gfp.internal_flags;\n var bit_rate;\n\n /* get bitrate in kbps [?] */\n if (gfc.bitrate_index != 0)\n bit_rate = Tables.bitrate_table[gfp.version][gfc.bitrate_index];\n else\n bit_rate = gfp.brate;\n assert(8 <= bit_rate && bit_rate <= 640);\n\n /* main encoding routine toggles padding on and off */\n /* one Layer3 Slot consists of 8 bits */\n var bytes = 0 | (gfp.version + 1) * 72000 * bit_rate / gfp.out_samplerate + gfc.padding;\n return 8 * bytes;\n };\n\n function putheader_bits(gfc) {\n System.arraycopy(gfc.header[gfc.w_ptr].buf, 0, buf, bufByteIdx, gfc.sideinfo_len);\n bufByteIdx += gfc.sideinfo_len;\n totbit += gfc.sideinfo_len * 8;\n gfc.w_ptr = (gfc.w_ptr + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n }\n\n /**\n * write j bits into the bit stream\n */\n function putbits2(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n assert(gfc.header[gfc.w_ptr].write_timing >= totbit);\n if (gfc.header[gfc.w_ptr].write_timing == totbit) {\n putheader_bits(gfc);\n }\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * write j bits into the bit stream, ignoring frame headers\n */\n function putbits_noheaders(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * Some combinations of bitrate, Fs, and stereo make it impossible to stuff\n * out a frame using just main_data, due to the limited number of bits to\n * indicate main_data_length. In these situations, we put stuffing bits into\n * the ancillary data...\n */\n function drain_into_ancillary(gfp, remainingBits) {\n var gfc = gfp.internal_flags;\n var i;\n assert(remainingBits >= 0);\n\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4c, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x41, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4d, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x45, 8);\n remainingBits -= 8;\n }\n\n if (remainingBits >= 32) {\n var version = ver.getLameShortVersion();\n if (remainingBits >= 32)\n for (i = 0; i < version.length && remainingBits >= 8; ++i) {\n remainingBits -= 8;\n putbits2(gfc, version.charAt(i), 8);\n }\n }\n\n for (; remainingBits >= 1; remainingBits -= 1) {\n putbits2(gfc, gfc.ancillary_flag, 1);\n gfc.ancillary_flag ^= (!gfp.disable_reservoir ? 1 : 0);\n }\n\n assert(remainingBits == 0);\n\n }\n\n /**\n * write N bits into the header\n */\n function writeheader(gfc, val, j) {\n var ptr = gfc.header[gfc.h_ptr].ptr;\n\n while (j > 0) {\n var k = Math.min(j, 8 - (ptr & 7));\n j -= k;\n assert(j < MAX_LENGTH);\n /* >> 32 too large for 32 bit machines */\n\n gfc.header[gfc.h_ptr].buf[ptr >> 3] |= ((val >> j)) << (8 - (ptr & 7) - k);\n ptr += k;\n }\n gfc.header[gfc.h_ptr].ptr = ptr;\n }\n\n function CRC_update(value, crc) {\n value <<= 8;\n for (var i = 0; i < 8; i++) {\n value <<= 1;\n crc <<= 1;\n\n if ((((crc ^ value) & 0x10000) != 0))\n crc ^= CRC16_POLYNOMIAL;\n }\n return crc;\n }\n\n this.CRC_writeheader = function (gfc, header) {\n var crc = 0xffff;\n /* (jo) init crc16 for error_protection */\n\n crc = CRC_update(header[2] & 0xff, crc);\n crc = CRC_update(header[3] & 0xff, crc);\n for (var i = 6; i < gfc.sideinfo_len; i++) {\n crc = CRC_update(header[i] & 0xff, crc);\n }\n\n header[4] = (byte)(crc >> 8);\n header[5] = (byte)(crc & 255);\n };\n\n function encodeSideInfo2(gfp, bitsPerFrame) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var gr, ch;\n\n l3_side = gfc.l3_side;\n gfc.header[gfc.h_ptr].ptr = 0;\n Arrays.fill(gfc.header[gfc.h_ptr].buf, 0, gfc.sideinfo_len, 0);\n if (gfp.out_samplerate < 16000)\n writeheader(gfc, 0xffe, 12);\n else\n writeheader(gfc, 0xfff, 12);\n writeheader(gfc, (gfp.version), 1);\n writeheader(gfc, 4 - 3, 2);\n writeheader(gfc, (!gfp.error_protection ? 1 : 0), 1);\n writeheader(gfc, (gfc.bitrate_index), 4);\n writeheader(gfc, (gfc.samplerate_index), 2);\n writeheader(gfc, (gfc.padding), 1);\n writeheader(gfc, (gfp.extension), 1);\n writeheader(gfc, (gfp.mode.ordinal()), 2);\n writeheader(gfc, (gfc.mode_ext), 2);\n writeheader(gfc, (gfp.copyright), 1);\n writeheader(gfc, (gfp.original), 1);\n writeheader(gfc, (gfp.emphasis), 2);\n if (gfp.error_protection) {\n writeheader(gfc, 0, 16);\n /* dummy */\n }\n\n if (gfp.version == 1) {\n /* MPEG1 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 9);\n\n if (gfc.channels_out == 2)\n writeheader(gfc, l3_side.private_bits, 3);\n else\n writeheader(gfc, l3_side.private_bits, 5);\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var band;\n for (band = 0; band < 4; band++) {\n writeheader(gfc, l3_side.scfsi[ch][band], 1);\n }\n }\n\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 4);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.preflag, 1);\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n } else {\n /* MPEG2 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 8);\n writeheader(gfc, l3_side.private_bits, gfc.channels_out);\n\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 9);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n\n if (gfp.error_protection) {\n /* (jo) error_protection: add crc16 information to header */\n CRC_writeheader(gfc, gfc.header[gfc.h_ptr].buf);\n }\n\n {\n var old = gfc.h_ptr;\n assert(gfc.header[old].ptr == gfc.sideinfo_len * 8);\n\n gfc.h_ptr = (old + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n gfc.header[gfc.h_ptr].write_timing = gfc.header[old].write_timing\n + bitsPerFrame;\n\n if (gfc.h_ptr == gfc.w_ptr) {\n /* yikes! we are out of header buffer space */\n System.err\n .println(\"Error: MAX_HEADER_BUF too small in bitstream.c \\n\");\n }\n\n }\n }\n\n function huffman_coder_count1(gfc, gi) {\n /* Write count1 area */\n var h = Tables.ht[gi.count1table_select + 32];\n var i, bits = 0;\n\n var ix = gi.big_values;\n var xr = gi.big_values;\n assert(gi.count1table_select < 2);\n\n for (i = (gi.count1 - gi.big_values) / 4; i > 0; --i) {\n var huffbits = 0;\n var p = 0, v;\n\n v = gi.l3_enc[ix + 0];\n if (v != 0) {\n p += 8;\n if (gi.xr[xr + 0] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 1];\n if (v != 0) {\n p += 4;\n huffbits *= 2;\n if (gi.xr[xr + 1] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 2];\n if (v != 0) {\n p += 2;\n huffbits *= 2;\n if (gi.xr[xr + 2] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 3];\n if (v != 0) {\n p++;\n huffbits *= 2;\n if (gi.xr[xr + 3] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n ix += 4;\n xr += 4;\n putbits2(gfc, huffbits + h.table[p], h.hlen[p]);\n bits += h.hlen[p];\n }\n return bits;\n }\n\n /**\n * Implements the pseudocode of page 98 of the IS\n */\n function Huffmancode(gfc, tableindex, start, end, gi) {\n var h = Tables.ht[tableindex];\n var bits = 0;\n\n assert(tableindex < 32);\n if (0 == tableindex)\n return bits;\n\n for (var i = start; i < end; i += 2) {\n var cbits = 0;\n var xbits = 0;\n var linbits = h.xlen;\n var xlen = h.xlen;\n var ext = 0;\n var x1 = gi.l3_enc[i];\n var x2 = gi.l3_enc[i + 1];\n\n if (x1 != 0) {\n if (gi.xr[i] < 0)\n ext++;\n cbits--;\n }\n\n if (tableindex > 15) {\n /* use ESC-words */\n if (x1 > 14) {\n var linbits_x1 = x1 - 15;\n assert(linbits_x1 <= h.linmax);\n ext |= linbits_x1 << 1;\n xbits = linbits;\n x1 = 15;\n }\n\n if (x2 > 14) {\n var linbits_x2 = x2 - 15;\n assert(linbits_x2 <= h.linmax);\n ext <<= linbits;\n ext |= linbits_x2;\n xbits += linbits;\n x2 = 15;\n }\n xlen = 16;\n }\n\n if (x2 != 0) {\n ext <<= 1;\n if (gi.xr[i + 1] < 0)\n ext++;\n cbits--;\n }\n\n assert((x1 | x2) < 16);\n\n x1 = x1 * xlen + x2;\n xbits -= cbits;\n cbits += h.hlen[x1];\n\n assert(cbits <= MAX_LENGTH);\n assert(xbits <= MAX_LENGTH);\n\n putbits2(gfc, h.table[x1], cbits);\n putbits2(gfc, ext, xbits);\n bits += cbits + xbits;\n }\n return bits;\n }\n\n /**\n * Note the discussion of huffmancodebits() on pages 28 and 29 of the IS, as\n * well as the definitions of the side information on pages 26 and 27.\n */\n function ShortHuffmancodebits(gfc, gi) {\n var region1Start = 3 * gfc.scalefac_band.s[3];\n if (region1Start > gi.big_values)\n region1Start = gi.big_values;\n\n /* short blocks do not have a region2 */\n var bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n gi.big_values, gi);\n return bits;\n }\n\n function LongHuffmancodebits(gfc, gi) {\n var bigvalues, bits;\n var region1Start, region2Start;\n\n bigvalues = gi.big_values;\n assert(0 <= bigvalues && bigvalues <= 576);\n\n var i = gi.region0_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region1Start = gfc.scalefac_band.l[i];\n i += gi.region1_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region2Start = gfc.scalefac_band.l[i];\n\n if (region1Start > bigvalues)\n region1Start = bigvalues;\n\n if (region2Start > bigvalues)\n region2Start = bigvalues;\n\n bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n region2Start, gi);\n bits += Huffmancode(gfc, gi.table_select[2], region2Start, bigvalues,\n gi);\n return bits;\n }\n\n function writeMainData(gfp) {\n var gr, ch, sfb, data_bits, tot_bits = 0;\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n\n if (gfp.version == 1) {\n /* MPEG 1 */\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var slen1 = Takehiro.slen1_tab[gi.scalefac_compress];\n var slen2 = Takehiro.slen2_tab[gi.scalefac_compress];\n data_bits = 0;\n for (sfb = 0; sfb < gi.sfbdivide; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen1);\n data_bits += slen1;\n }\n for (; sfb < gi.sfbmax; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen2);\n data_bits += slen2;\n }\n assert(data_bits == gi.part2_length);\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length + gi.part2_length);\n tot_bits += data_bits;\n }\n /* for ch */\n }\n /* for gr */\n } else {\n /* MPEG 2 */\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var i, sfb_partition, scale_bits = 0;\n assert(gi.sfb_partition_table != null);\n data_bits = 0;\n sfb = 0;\n sfb_partition = 0;\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition] / 3;\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 0], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 1], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 2], 0), slen);\n scale_bits += 3 * slen;\n }\n }\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition];\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc, Math.max(gi.scalefac[sfb], 0), slen);\n scale_bits += slen;\n }\n }\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length);\n assert(scale_bits == gi.part2_length);\n tot_bits += scale_bits + data_bits;\n }\n /* for ch */\n }\n /* for gf */\n return tot_bits;\n }\n\n /* main_data */\n\n function TotalBytes() {\n this.total = 0;\n }\n\n /*\n * compute the number of bits required to flush all mp3 frames currently in\n * the buffer. This should be the same as the reservoir size. Only call this\n * routine between frames - i.e. only after all headers and data have been\n * added to the buffer by format_bitstream().\n *\n * Also compute total_bits_output = size of mp3 buffer (including frame\n * headers which may not have yet been send to the mp3 buffer) + number of\n * bits needed to flush all mp3 frames.\n *\n * total_bytes_output is the size of the mp3 output buffer if\n * lame_encode_flush_nogap() was called right now.\n */\n function compute_flushbits(gfp, total_bytes_output) {\n var gfc = gfp.internal_flags;\n var flushbits, remaining_headers;\n var bitsPerFrame;\n var last_ptr, first_ptr;\n first_ptr = gfc.w_ptr;\n /* first header to add to bitstream */\n last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n\n /* add this many bits to bitstream so we can flush all headers */\n flushbits = gfc.header[last_ptr].write_timing - totbit;\n total_bytes_output.total = flushbits;\n\n if (flushbits >= 0) {\n /* if flushbits >= 0, some headers have not yet been written */\n /* reduce flushbits by the size of the headers */\n remaining_headers = 1 + last_ptr - first_ptr;\n if (last_ptr < first_ptr)\n remaining_headers = 1 + last_ptr - first_ptr\n + LameInternalFlags.MAX_HEADER_BUF;\n flushbits -= remaining_headers * 8 * gfc.sideinfo_len;\n }\n\n /*\n * finally, add some bits so that the last frame is complete these bits\n * are not necessary to decode the last frame, but some decoders will\n * ignore last frame if these bits are missing\n */\n bitsPerFrame = self.getframebits(gfp);\n flushbits += bitsPerFrame;\n total_bytes_output.total += bitsPerFrame;\n /* round up: */\n if ((total_bytes_output.total % 8) != 0)\n total_bytes_output.total = 1 + (total_bytes_output.total / 8);\n else\n total_bytes_output.total = (total_bytes_output.total / 8);\n total_bytes_output.total += bufByteIdx + 1;\n\n if (flushbits < 0) {\n System.err.println(\"strange error flushing buffer ... \\n\");\n }\n return flushbits;\n }\n\n this.flush_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var flushbits;\n var last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n l3_side = gfc.l3_side;\n\n if ((flushbits = compute_flushbits(gfp, new TotalBytes())) < 0)\n return;\n drain_into_ancillary(gfp, flushbits);\n\n /* check that the 100% of the last frame has been written to bitstream */\n assert(gfc.header[last_ptr].write_timing + this.getframebits(gfp) == totbit);\n\n /*\n * we have padded out all frames with ancillary data, which is the same\n * as filling the bitreservoir with ancillary data, so :\n */\n gfc.ResvSize = 0;\n l3_side.main_data_begin = 0;\n\n /* save the ReplayGain value */\n if (gfc.findReplayGain) {\n var RadioGain = ga.GetTitleGain(gfc.rgdata);\n assert(NEQ(RadioGain, GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES));\n gfc.RadioGain = Math.floor(RadioGain * 10.0 + 0.5) | 0;\n /* round to nearest */\n }\n\n /* find the gain and scale change required for no clipping */\n if (gfc.findPeakSample) {\n gfc.noclipGainChange = Math.ceil(Math\n .log10(gfc.PeakSample / 32767.0) * 20.0 * 10.0) | 0;\n /* round up */\n\n if (gfc.noclipGainChange > 0) {\n /* clipping occurs */\n if (EQ(gfp.scale, 1.0) || EQ(gfp.scale, 0.0))\n gfc.noclipScale = (Math\n .floor((32767.0 / gfc.PeakSample) * 100.0) / 100.0);\n /* round down */\n else {\n /*\n * the user specified his own scaling factor. We could\n * suggest the scaling factor of\n * (32767.0/gfp.PeakSample)*(gfp.scale) but it's usually\n * very inaccurate. So we'd rather not advice him on the\n * scaling factor.\n */\n gfc.noclipScale = -1;\n }\n } else\n /* no clipping */\n gfc.noclipScale = -1;\n }\n };\n\n this.add_dummy_byte = function (gfp, val, n) {\n var gfc = gfp.internal_flags;\n var i;\n\n while (n-- > 0) {\n putbits_noheaders(gfc, val, 8);\n\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing += 8;\n }\n };\n\n /**\n * This is called after a frame of audio has been quantized and coded. It\n * will write the encoded audio to the bitstream. Note that from a layer3\n * encoder's perspective the bit stream is primarily a series of main_data()\n * blocks, with header and side information inserted at the proper locations\n * to maintain framing. (See Figure A.7 in the IS).\n */\n this.format_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n l3_side = gfc.l3_side;\n\n var bitsPerFrame = this.getframebits(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_pre);\n\n encodeSideInfo2(gfp, bitsPerFrame);\n var bits = 8 * gfc.sideinfo_len;\n bits += writeMainData(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_post);\n bits += l3_side.resvDrain_post;\n\n l3_side.main_data_begin += (bitsPerFrame - bits) / 8;\n\n /*\n * compare number of bits needed to clear all buffered mp3 frames with\n * what we think the resvsize is:\n */\n if (compute_flushbits(gfp, new TotalBytes()) != gfc.ResvSize) {\n System.err.println(\"Internal buffer inconsistency. flushbits <> ResvSize\");\n }\n\n /*\n * compare main_data_begin for the next frame with what we think the\n * resvsize is:\n */\n if ((l3_side.main_data_begin * 8) != gfc.ResvSize) {\n System.err.printf(\"bit reservoir error: \\n\"\n + \"l3_side.main_data_begin: %d \\n\"\n + \"Resvoir size: %d \\n\"\n + \"resv drain (post) %d \\n\"\n + \"resv drain (pre) %d \\n\"\n + \"header and sideinfo: %d \\n\"\n + \"data bits: %d \\n\"\n + \"total bits: %d (remainder: %d) \\n\"\n + \"bitsperframe: %d \\n\",\n 8 * l3_side.main_data_begin, gfc.ResvSize,\n l3_side.resvDrain_post, l3_side.resvDrain_pre,\n 8 * gfc.sideinfo_len, bits - l3_side.resvDrain_post - 8\n * gfc.sideinfo_len, bits, bits % 8, bitsPerFrame);\n\n System.err.println(\"This is a fatal error. It has several possible causes:\");\n System.err.println(\"90%% LAME compiled with buggy version of gcc using advanced optimizations\");\n System.err.println(\" 9%% Your system is overclocked\");\n System.err.println(\" 1%% bug in LAME encoding library\");\n\n gfc.ResvSize = l3_side.main_data_begin * 8;\n }\n //;\n assert(totbit % 8 == 0);\n\n if (totbit > 1000000000) {\n /*\n * to avoid totbit overflow, (at 8h encoding at 128kbs) lets reset\n * bit counter\n */\n var i;\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing -= totbit;\n totbit = 0;\n }\n\n return 0;\n };\n\n /**\n *
\n     * copy data out of the internal MP3 bit buffer into a user supplied\n     *       unsigned char buffer.\n     *\n     *       mp3data=0      indicates data in buffer is an id3tags and VBR tags\n     *       mp3data=1      data is real mp3 frame data.\n     * 
\n */\n this.copy_buffer = function (gfc, buffer, bufferPos, size, mp3data) {\n var minimum = bufByteIdx + 1;\n if (minimum <= 0)\n return 0;\n if (size != 0 && minimum > size) {\n /* buffer is too small */\n return -1;\n }\n System.arraycopy(buf, 0, buffer, bufferPos, minimum);\n bufByteIdx = -1;\n bufBitIdx = 0;\n\n if (mp3data != 0) {\n var crc = new_int(1);\n crc[0] = gfc.nMusicCRC;\n vbr.updateMusicCRC(crc, buffer, bufferPos, minimum);\n gfc.nMusicCRC = crc[0];\n\n /**\n * sum number of bytes belonging to the mp3 stream this info will be\n * written into the Xing/LAME header for seeking\n */\n if (minimum > 0) {\n gfc.VBR_seek_table.nBytesWritten += minimum;\n }\n\n if (gfc.decode_on_the_fly) { /* decode the frame */\n var pcm_buf = new_float_n([2, 1152]);\n var mp3_in = minimum;\n var samples_out = -1;\n var i;\n\n /* re-synthesis to pcm. Repeat until we get a samples_out=0 */\n while (samples_out != 0) {\n\n samples_out = mpg.hip_decode1_unclipped(gfc.hip, buffer,\n bufferPos, mp3_in, pcm_buf[0], pcm_buf[1]);\n /*\n * samples_out = 0: need more data to decode samples_out =\n * -1: error. Lets assume 0 pcm output samples_out = number\n * of samples output\n */\n\n /*\n * set the lenght of the mp3 input buffer to zero, so that\n * in the next iteration of the loop we will be querying\n * mpglib about buffered data\n */\n mp3_in = 0;\n\n if (samples_out == -1) {\n /*\n * error decoding. Not fatal, but might screw up the\n * ReplayGain tag. What should we do? Ignore for now\n */\n samples_out = 0;\n }\n if (samples_out > 0) {\n /* process the PCM data */\n\n /*\n * this should not be possible, and indicates we have\n * overflown the pcm_buf buffer\n */\n assert(samples_out <= 1152);\n\n if (gfc.findPeakSample) {\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[0][i];\n else if (-pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[0][i];\n }\n if (gfc.channels_out > 1)\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[1][i];\n else if (-pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[1][i];\n }\n }\n\n if (gfc.findReplayGain)\n if (ga.AnalyzeSamples(gfc.rgdata, pcm_buf[0], 0,\n pcm_buf[1], 0, samples_out,\n gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR)\n return -6;\n\n }\n /* if (samples_out>0) */\n }\n /* while (samples_out!=0) */\n }\n /* if (gfc.decode_on_the_fly) */\n\n }\n /* if (mp3data) */\n return minimum;\n };\n\n this.init_bit_stream_w = function (gfc) {\n buf = new_byte(Lame.LAME_MAXMP3BUFFER);\n\n gfc.h_ptr = gfc.w_ptr = 0;\n gfc.header[gfc.h_ptr].write_timing = 0;\n bufByteIdx = -1;\n bufBitIdx = 0;\n totbit = 0;\n };\n\n // From machine.h\n\n\n}\n\nmodule.exports = BitStream;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\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 TypeError = global.TypeError;\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 = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(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 hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Date = global.Date;\nvar getTime = uncurryThis(Date.prototype.getTime);\n\n// `Date.now` method\n// https://tc39.es/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return getTime(new Date());\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GainAnalysis = require('./GainAnalysis.js');\n\nfunction ReplayGain() {\n this.linprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * left input samples, with pre-buffer\n */\n this.linpre = 0;\n this.lstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"first step\" (i.e. post first filter) samples\n */\n this.lstep = 0;\n this.loutbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"out\" (i.e. post second filter) samples\n */\n this.lout = 0;\n this.rinprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * right input samples ...\n */\n this.rinpre = 0;\n this.rstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rstep = 0;\n this.routbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rout = 0;\n /**\n * number of samples required to reach number of milliseconds required\n * for RMS window\n */\n this.sampleWindow = 0;\n this.totsamp = 0;\n this.lsum = 0.;\n this.rsum = 0.;\n this.freqindex = 0;\n this.first = 0;\n this.A = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n this.B = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n\n}\n\nmodule.exports = ReplayGain;\n","//package mp3;\n\nfunction CalcNoiseResult() {\n /**\n * sum of quantization noise > masking\n */\n this.over_noise = 0.;\n /**\n * sum of all quantization noise\n */\n this.tot_noise = 0.;\n /**\n * max quantization noise\n */\n this.max_noise = 0.;\n /**\n * number of quantization noise > masking\n */\n this.over_count = 0;\n /**\n * SSD-like cost of distorted bands\n */\n this.over_SSD = 0;\n this.bits = 0;\n}\n\nmodule.exports = CalcNoiseResult;\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\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 (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","module.exports = require('./lib/linkify');\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n\ttoString: function toString() {\n\t\treturn this.v + '';\n\t}\n};\n\nfunction inheritsToken(value) {\n\tvar props = value ? { v: value } : {};\n\treturn (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\nvar DOMAIN = inheritsToken();\n\n/**\n\t@class AT\n\t@extends TextToken\n*/\nvar AT = inheritsToken('@');\n\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\nvar COLON = inheritsToken(':');\n\n/**\n\t@class DOT\n\t@extends TextToken\n*/\nvar DOT = inheritsToken('.');\n\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\nvar PUNCTUATION = inheritsToken();\n\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\nvar LOCALHOST = inheritsToken();\n\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\nvar NL = inheritsToken('\\n');\n\n/**\n\t@class NUM\n\t@extends TextToken\n*/\nvar NUM = inheritsToken();\n\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\nvar PLUS = inheritsToken('+');\n\n/**\n\t@class POUND\n\t@extends TextToken\n*/\nvar POUND = inheritsToken('#');\n\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\nvar PROTOCOL = inheritsToken();\n\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\nvar MAILTO = inheritsToken('mailto:');\n\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\nvar QUERY = inheritsToken('?');\n\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\nvar SLASH = inheritsToken('/');\n\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\nvar UNDERSCORE = inheritsToken('_');\n\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\nvar SYM = inheritsToken();\n\n/**\n\t@class TLD\n\t@extends TextToken\n*/\nvar TLD = inheritsToken();\n\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\nvar WS = inheritsToken();\n\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\n\nvar AMPERSAND = inheritsToken('&');\n\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\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","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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\n// eslint-disable-next-line es-x/no-object-create -- safe\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 : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\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 defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(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 (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\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 defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar n$ParseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = n$ParseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : n$ParseFloat;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction FFT() {\n\n var window = new_float(Encoder.BLKSIZE);\n var window_s = new_float(Encoder.BLKSIZE_s / 2);\n\n var costab = [\n 9.238795325112867e-01, 3.826834323650898e-01,\n 9.951847266721969e-01, 9.801714032956060e-02,\n 9.996988186962042e-01, 2.454122852291229e-02,\n 9.999811752826011e-01, 6.135884649154475e-03\n ];\n\n function fht(fz, fzPos, n) {\n var tri = 0;\n var k4;\n var fi;\n var gi;\n\n n <<= 1;\n /* to get BLKSIZE, because of 3DNow! ASM routine */\n var fn = fzPos + n;\n k4 = 4;\n do {\n var s1, c1;\n var i, k1, k2, k3, kx;\n kx = k4 >> 1;\n k1 = k4;\n k2 = k4 << 1;\n k3 = k2 + k1;\n k4 = k2 << 1;\n fi = fzPos;\n gi = fi + kx;\n do {\n var f0, f1, f2, f3;\n f1 = fz[fi + 0] - fz[fi + k1];\n f0 = fz[fi + 0] + fz[fi + k1];\n f3 = fz[fi + k2] - fz[fi + k3];\n f2 = fz[fi + k2] + fz[fi + k3];\n fz[fi + k2] = f0 - f2;\n fz[fi + 0] = f0 + f2;\n fz[fi + k3] = f1 - f3;\n fz[fi + k1] = f1 + f3;\n f1 = fz[gi + 0] - fz[gi + k1];\n f0 = fz[gi + 0] + fz[gi + k1];\n f3 = (Util.SQRT2 * fz[gi + k3]);\n f2 = (Util.SQRT2 * fz[gi + k2]);\n fz[gi + k2] = f0 - f2;\n fz[gi + 0] = f0 + f2;\n fz[gi + k3] = f1 - f3;\n fz[gi + k1] = f1 + f3;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c1 = costab[tri + 0];\n s1 = costab[tri + 1];\n for (i = 1; i < kx; i++) {\n var c2, s2;\n c2 = 1 - (2 * s1) * s1;\n s2 = (2 * s1) * c1;\n fi = fzPos + i;\n gi = fzPos + k1 - i;\n do {\n var a, b, g0, f0, f1, g1, f2, g2, f3, g3;\n b = s2 * fz[fi + k1] - c2 * fz[gi + k1];\n a = c2 * fz[fi + k1] + s2 * fz[gi + k1];\n f1 = fz[fi + 0] - a;\n f0 = fz[fi + 0] + a;\n g1 = fz[gi + 0] - b;\n g0 = fz[gi + 0] + b;\n b = s2 * fz[fi + k3] - c2 * fz[gi + k3];\n a = c2 * fz[fi + k3] + s2 * fz[gi + k3];\n f3 = fz[fi + k2] - a;\n f2 = fz[fi + k2] + a;\n g3 = fz[gi + k2] - b;\n g2 = fz[gi + k2] + b;\n b = s1 * f2 - c1 * g3;\n a = c1 * f2 + s1 * g3;\n fz[fi + k2] = f0 - a;\n fz[fi + 0] = f0 + a;\n fz[gi + k3] = g1 - b;\n fz[gi + k1] = g1 + b;\n b = c1 * g2 - s1 * f3;\n a = s1 * g2 + c1 * f3;\n fz[gi + k2] = g0 - a;\n fz[gi + 0] = g0 + a;\n fz[fi + k3] = f1 - b;\n fz[fi + k1] = f1 + b;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c2 = c1;\n c1 = c2 * costab[tri + 0] - s1 * costab[tri + 1];\n s1 = c2 * costab[tri + 1] + s1 * costab[tri + 0];\n }\n tri += 2;\n } while (k4 < n);\n }\n\n var rv_tbl = [0x00, 0x80, 0x40,\n 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10,\n 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70,\n 0xf0, 0x08, 0x88, 0x48, 0xc8, 0x28,\n 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58,\n 0xd8, 0x38, 0xb8, 0x78, 0xf8, 0x04,\n 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64,\n 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34,\n 0xb4, 0x74, 0xf4, 0x0c, 0x8c, 0x4c,\n 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c,\n 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c,\n 0xfc, 0x02, 0x82, 0x42, 0xc2, 0x22,\n 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52,\n 0xd2, 0x32, 0xb2, 0x72, 0xf2, 0x0a,\n 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a,\n 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a,\n 0xba, 0x7a, 0xfa, 0x06, 0x86, 0x46,\n 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16,\n 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76,\n 0xf6, 0x0e, 0x8e, 0x4e, 0xce, 0x2e,\n 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e,\n 0xde, 0x3e, 0xbe, 0x7e, 0xfe];\n\n this.fft_short = function (gfc, x_real, chn, buffer, bufPos) {\n for (var b = 0; b < 3; b++) {\n var x = Encoder.BLKSIZE_s / 2;\n var k = 0xffff & ((576 / 3) * (b + 1));\n var j = Encoder.BLKSIZE_s / 8 - 1;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[j << 2] & 0xff;\n\n f0 = window_s[i] * buffer[chn][bufPos + i + k];\n w = window_s[0x7f - i] * buffer[chn][bufPos + i + k + 0x80];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x40] * buffer[chn][bufPos + i + k + 0x40];\n w = window_s[0x3f - i] * buffer[chn][bufPos + i + k + 0xc0];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n x_real[b][x + 0] = f0 + f2;\n x_real[b][x + 2] = f0 - f2;\n x_real[b][x + 1] = f1 + f3;\n x_real[b][x + 3] = f1 - f3;\n\n f0 = window_s[i + 0x01] * buffer[chn][bufPos + i + k + 0x01];\n w = window_s[0x7e - i] * buffer[chn][bufPos + i + k + 0x81];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x41] * buffer[chn][bufPos + i + k + 0x41];\n w = window_s[0x3e - i] * buffer[chn][bufPos + i + k + 0xc1];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 0] = f0 + f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 2] = f0 - f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 1] = f1 + f3;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 3] = f1 - f3;\n } while (--j >= 0);\n\n fht(x_real[b], x, Encoder.BLKSIZE_s / 2);\n /* BLKSIZE_s/2 because of 3DNow! ASM routine */\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n }\n\n this.fft_long = function (gfc, y, chn, buffer, bufPos) {\n var jj = Encoder.BLKSIZE / 8 - 1;\n var x = Encoder.BLKSIZE / 2;\n\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[jj] & 0xff;\n f0 = window[i] * buffer[chn][bufPos + i];\n w = window[i + 0x200] * buffer[chn][bufPos + i + 0x200];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x100] * buffer[chn][bufPos + i + 0x100];\n w = window[i + 0x300] * buffer[chn][bufPos + i + 0x300];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n y[x + 0] = f0 + f2;\n y[x + 2] = f0 - f2;\n y[x + 1] = f1 + f3;\n y[x + 3] = f1 - f3;\n\n f0 = window[i + 0x001] * buffer[chn][bufPos + i + 0x001];\n w = window[i + 0x201] * buffer[chn][bufPos + i + 0x201];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x101] * buffer[chn][bufPos + i + 0x101];\n w = window[i + 0x301] * buffer[chn][bufPos + i + 0x301];\n f3 = f2 - w;\n f2 = f2 + w;\n\n y[x + Encoder.BLKSIZE / 2 + 0] = f0 + f2;\n y[x + Encoder.BLKSIZE / 2 + 2] = f0 - f2;\n y[x + Encoder.BLKSIZE / 2 + 1] = f1 + f3;\n y[x + Encoder.BLKSIZE / 2 + 3] = f1 - f3;\n } while (--jj >= 0);\n\n fht(y, x, Encoder.BLKSIZE / 2);\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n\n this.init_fft = function (gfc) {\n /* The type of window used here will make no real difference, but */\n /*\n * in the interest of merging nspsytune stuff - switch to blackman\n * window\n */\n for (var i = 0; i < Encoder.BLKSIZE; i++)\n /* blackman window */\n window[i] = (0.42 - 0.5 * Math.cos(2 * Math.PI * (i + .5)\n / Encoder.BLKSIZE) + 0.08 * Math.cos(4 * Math.PI * (i + .5)\n / Encoder.BLKSIZE));\n\n for (var i = 0; i < Encoder.BLKSIZE_s / 2; i++)\n window_s[i] = (0.5 * (1.0 - Math.cos(2.0 * Math.PI\n * (i + 0.5) / Encoder.BLKSIZE_s)));\n\n }\n\n}\n\nmodule.exports = FFT;\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\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-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","export * from \"-!../../node_modules/vue-style-loader/index.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=style&index=0&lang=scss&shadow\"","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","import Database from './database.js';\n\nfunction noop() { }\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\n\nconst dirty_components = [];\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\nconst outroing = new Set();\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\n// via https://unpkg.com/browse/emojibase-data@6.0.0/meta/groups.json\nconst allGroups = [\n [-1, '✨', 'custom'],\n [0, '😀', 'smileys-emotion'],\n [1, '👋', 'people-body'],\n [3, '🐱', 'animals-nature'],\n [4, '🍎', 'food-drink'],\n [5, '🏠️', 'travel-places'],\n [6, '⚽', 'activities'],\n [7, '📝', 'objects'],\n [8, '⛔️', 'symbols'],\n [9, '🏁', 'flags']\n].map(([id, emoji, name]) => ({ id, emoji, name }));\n\nconst groups = allGroups.slice(1);\nconst customGroup = allGroups[0];\n\nconst MIN_SEARCH_TEXT_LENGTH = 2;\nconst NUM_SKIN_TONES = 6;\n\n/* istanbul ignore next */\nconst rIC = typeof requestIdleCallback === 'function' ? requestIdleCallback : setTimeout;\n\n// check for ZWJ (zero width joiner) character\nfunction hasZwj (emoji) {\n return emoji.unicode.includes('\\u200d')\n}\n\n// Find one good representative emoji from each version to test by checking its color.\n// Ideally it should have color in the center. For some inspiration, see:\n// https://about.gitlab.com/blog/2018/05/30/journey-in-native-unicode-emoji/\n//\n// Note that for certain versions (12.1, 13.1), there is no point in testing them explicitly, because\n// all the emoji from this version are compound-emoji from previous versions. So they would pass a color\n// test, even in browsers that display them as double emoji. (E.g. \"face in clouds\" might render as\n// \"face without mouth\" plus \"fog\".) These emoji can only be filtered using the width test,\n// which happens in checkZwjSupport.js.\nconst versionsAndTestEmoji = {\n '🫠': 14,\n '🥲': 13.1, // smiling face with tear, technically from v13 but see note above\n '🥻': 12.1, // sari, technically from v12 but see note above\n '🥰': 11,\n '🤩': 5,\n '👱‍♀️': 4,\n '🤣': 3,\n '👁️‍🗨️': 2,\n '😀': 1,\n '😐️': 0.7,\n '😃': 0.6\n};\n\nconst TIMEOUT_BEFORE_LOADING_MESSAGE = 1000; // 1 second\nconst DEFAULT_SKIN_TONE_EMOJI = '🖐️';\nconst DEFAULT_NUM_COLUMNS = 8;\n\n// Based on https://fivethirtyeight.com/features/the-100-most-used-emojis/ and\n// https://blog.emojipedia.org/facebook-reveals-most-and-least-used-emojis/ with\n// a bit of my own curation. (E.g. avoid the \"OK\" gesture because of connotations:\n// https://emojipedia.org/ok-hand/)\nconst MOST_COMMONLY_USED_EMOJI = [\n '😊',\n '😒',\n '♥️',\n '👍️',\n '😍',\n '😂',\n '😭',\n '☺️',\n '😔',\n '😩',\n '😏',\n '💕',\n '🙌',\n '😘'\n];\n\n// It's important to list Twemoji Mozilla before everything else, because Mozilla bundles their\n// own font on some platforms (notably Windows and Linux as of this writing). Typically Mozilla\n// updates faster than the underlying OS, and we don't want to render older emoji in one font and\n// newer emoji in another font:\n// https://github.com/nolanlawson/emoji-picker-element/pull/268#issuecomment-1073347283\nconst FONT_FAMILY = '\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",' +\n '\"Noto Color Emoji\",\"EmojiOne Color\",\"Android Emoji\",sans-serif';\n\n/* istanbul ignore next */\nconst DEFAULT_CATEGORY_SORTING = (a, b) => a < b ? -1 : a > b ? 1 : 0;\n\n// Test if an emoji is supported by rendering it to canvas and checking that the color is not black\n\nconst getTextFeature = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = canvas.height = 1;\n\n const ctx = canvas.getContext('2d');\n ctx.textBaseline = 'top';\n ctx.font = `100px ${FONT_FAMILY}`;\n ctx.fillStyle = color;\n ctx.scale(0.01, 0.01);\n ctx.fillText(text, 0, 0);\n\n return ctx.getImageData(0, 0, 1, 1).data\n};\n\nconst compareFeatures = (feature1, feature2) => {\n const feature1Str = [...feature1].join(',');\n const feature2Str = [...feature2].join(',');\n // This is RGBA, so for 0,0,0, we are checking that the first RGB is not all zeroes.\n // Most of the time when unsupported this is 0,0,0,0, but on Chrome on Mac it is\n // 0,0,0,61 - there is a transparency here.\n return feature1Str === feature2Str && !feature1Str.startsWith('0,0,0,')\n};\n\nfunction testColorEmojiSupported (text) {\n // Render white and black and then compare them to each other and ensure they're the same\n // color, and neither one is black. This shows that the emoji was rendered in color.\n const feature1 = getTextFeature(text, '#000');\n const feature2 = getTextFeature(text, '#fff');\n return feature1 && feature2 && compareFeatures(feature1, feature2)\n}\n\n// rather than check every emoji ever, which would be expensive, just check some representatives from the\n\nfunction determineEmojiSupportLevel () {\n const entries = Object.entries(versionsAndTestEmoji);\n try {\n // start with latest emoji and work backwards\n for (const [emoji, version] of entries) {\n if (testColorEmojiSupported(emoji)) {\n return version\n }\n }\n } catch (e) { // canvas error\n } finally {\n }\n // In case of an error, be generous and just assume all emoji are supported (e.g. for canvas errors\n // due to anti-fingerprinting add-ons). Better to show some gray boxes than nothing at all.\n return entries[0][1] // first one in the list is the most recent version\n}\n\n// Check which emojis we know for sure aren't supported, based on Unicode version level\nconst emojiSupportLevelPromise = new Promise(resolve => (\n rIC(() => (\n resolve(determineEmojiSupportLevel()) // delay so ideally this can run while IDB is first populating\n ))\n));\n// determine which emojis containing ZWJ (zero width joiner) characters\n// are supported (rendered as one glyph) rather than unsupported (rendered as two or more glyphs)\nconst supportedZwjEmojis = new Map();\n\nconst VARIATION_SELECTOR = '\\ufe0f';\nconst SKINTONE_MODIFIER = '\\ud83c';\nconst ZWJ = '\\u200d';\nconst LIGHT_SKIN_TONE = 0x1F3FB;\nconst LIGHT_SKIN_TONE_MODIFIER = 0xdffb;\n\n// TODO: this is a naive implementation, we can improve it later\n// It's only used for the skintone picker, so as long as people don't customize with\n// really exotic emoji then it should work fine\nfunction applySkinTone (str, skinTone) {\n if (skinTone === 0) {\n return str\n }\n const zwjIndex = str.indexOf(ZWJ);\n if (zwjIndex !== -1) {\n return str.substring(0, zwjIndex) +\n String.fromCodePoint(LIGHT_SKIN_TONE + skinTone - 1) +\n str.substring(zwjIndex)\n }\n if (str.endsWith(VARIATION_SELECTOR)) {\n str = str.substring(0, str.length - 1);\n }\n return str + SKINTONE_MODIFIER + String.fromCodePoint(LIGHT_SKIN_TONE_MODIFIER + skinTone - 1)\n}\n\nfunction halt (event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\n// Implementation left/right or up/down navigation, circling back when you\n// reach the start/end of the list\nfunction incrementOrDecrement (decrement, val, arr) {\n val += (decrement ? -1 : 1);\n if (val < 0) {\n val = arr.length - 1;\n } else if (val >= arr.length) {\n val = 0;\n }\n return val\n}\n\n// like lodash's uniqBy but much smaller\nfunction uniqBy (arr, func) {\n const set = new Set();\n const res = [];\n for (const item of arr) {\n const key = func(item);\n if (!set.has(key)) {\n set.add(key);\n res.push(item);\n }\n }\n return res\n}\n\n// We don't need all the data on every emoji, and there are specific things we need\n// for the UI, so build a \"view model\" from the emoji object we got from the database\n\nfunction summarizeEmojisForUI (emojis, emojiSupportLevel) {\n const toSimpleSkinsMap = skins => {\n const res = {};\n for (const skin of skins) {\n // ignore arrays like [1, 2] with multiple skin tones\n // also ignore variants that are in an unsupported emoji version\n // (these do exist - variants from a different version than their base emoji)\n if (typeof skin.tone === 'number' && skin.version <= emojiSupportLevel) {\n res[skin.tone] = skin.unicode;\n }\n }\n return res\n };\n\n return emojis.map(({ unicode, skins, shortcodes, url, name, category }) => ({\n unicode,\n name,\n shortcodes,\n url,\n category,\n id: unicode || name,\n skins: skins && toSimpleSkinsMap(skins),\n title: (shortcodes || []).join(', ')\n }))\n}\n\n// import rAF from one place so that the bundle size is a bit smaller\nconst rAF = requestAnimationFrame;\n\n// Svelte action to calculate the width of an element and auto-update\n\nlet resizeObserverSupported = typeof ResizeObserver === 'function';\n\nfunction calculateWidth (node, onUpdate) {\n let resizeObserver;\n if (resizeObserverSupported) {\n resizeObserver = new ResizeObserver(entries => (\n onUpdate(entries[0].contentRect.width)\n ));\n resizeObserver.observe(node);\n } else { // just set the width once, don't bother trying to track it\n rAF(() => (\n onUpdate(node.getBoundingClientRect().width)\n ));\n }\n\n // cleanup function (called on destroy)\n return {\n destroy () {\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n }\n }\n}\n\n// get the width of the text inside of a DOM node, via https://stackoverflow.com/a/59525891/680742\nfunction calculateTextWidth (node) {\n /* istanbul ignore else */\n {\n const range = document.createRange();\n range.selectNode(node.firstChild);\n return range.getBoundingClientRect().width\n }\n}\n\nlet baselineEmojiWidth;\n\nfunction checkZwjSupport (zwjEmojisToCheck, baselineEmoji, emojiToDomNode) {\n for (const emoji of zwjEmojisToCheck) {\n const domNode = emojiToDomNode(emoji);\n const emojiWidth = calculateTextWidth(domNode);\n if (typeof baselineEmojiWidth === 'undefined') { // calculate the baseline emoji width only once\n baselineEmojiWidth = calculateTextWidth(baselineEmoji);\n }\n // On Windows, some supported emoji are ~50% bigger than the baseline emoji, but what we really want to guard\n // against are the ones that are 2x the size, because those are truly broken (person with red hair = person with\n // floating red wig, black cat = cat with black square, polar bear = bear with snowflake, etc.)\n // So here we set the threshold at 1.8 times the size of the baseline emoji.\n const supported = emojiWidth / 1.8 < baselineEmojiWidth;\n supportedZwjEmojis.set(emoji.unicode, supported);\n }\n}\n\n// Measure after style/layout are complete\n\nconst requestPostAnimationFrame = callback => {\n rAF(() => {\n setTimeout(callback);\n });\n};\n\n// like lodash's uniq\n\nfunction uniq (arr) {\n return uniqBy(arr, _ => _)\n}\n\n/* src/picker/components/Picker/Picker.svelte generated by Svelte v3.46.4 */\n\nconst { Map: Map_1 } = globals;\n\nfunction get_each_context(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_1(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[66] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_2(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_3(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[69] = list[i];\n\treturn child_ctx;\n}\n\nfunction get_each_context_4(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[72] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\n// (43:38) {#each skinTones as skinTone, i (skinTone)}\nfunction create_each_block_4(key_1, ctx) {\n\tlet div;\n\tlet t_value = /*skinTone*/ ctx[72] + \"\";\n\tlet t;\n\tlet div_id_value;\n\tlet div_class_value;\n\tlet div_aria_selected_value;\n\tlet div_title_value;\n\tlet div_aria_label_value;\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"id\", div_id_value = \"skintone-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div, \"class\", div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(div, \"aria-selected\", div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div, \"role\", \"option\");\n\t\t\tattr(div, \"title\", div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tattr(div, \"tabindex\", \"-1\");\n\t\t\tattr(div, \"aria-label\", div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tthis.first = div;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tappend(div, t);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && t_value !== (t_value = /*skinTone*/ ctx[72] + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && div_id_value !== (div_id_value = \"skintone-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div, \"id\", div_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_class_value !== (div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(div, \"class\", div_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_aria_selected_value !== (div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div, \"aria-selected\", div_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_title_value !== (div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"title\", div_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_aria_label_value !== (div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"aria-label\", div_aria_label_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t}\n\t};\n}\n\n// (53:33) {#each groups as group (group.id)}\nfunction create_each_block_3(key_1, ctx) {\n\tlet button;\n\tlet div;\n\tlet t_value = /*group*/ ctx[69].emoji + \"\";\n\tlet t;\n\tlet button_aria_controls_value;\n\tlet button_aria_label_value;\n\tlet button_aria_selected_value;\n\tlet button_title_value;\n\tlet mounted;\n\tlet dispose;\n\n\tfunction click_handler() {\n\t\treturn /*click_handler*/ ctx[49](/*group*/ ctx[69]);\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"class\", \"nav-emoji emoji\");\n\t\t\tattr(button, \"role\", \"tab\");\n\t\t\tattr(button, \"class\", \"nav-button\");\n\t\t\tattr(button, \"aria-controls\", button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id);\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id);\n\t\t\tattr(button, \"title\", button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tappend(button, div);\n\t\t\tappend(div, t);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = listen(button, \"click\", click_handler);\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*groups*/ 4096 && t_value !== (t_value = /*group*/ ctx[69].emoji + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*groups*/ 4096 && button_aria_controls_value !== (button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-controls\", button_aria_controls_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_aria_label_value !== (button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup, groups*/ 12304 && button_aria_selected_value !== (button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_title_value !== (button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tmounted = false;\n\t\t\tdispose();\n\t\t}\n\t};\n}\n\n// (93:100) {:else}\nfunction create_else_block_1(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (93:40) {#if emoji.unicode}\nfunction create_if_block_1(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (88:53) {#each emojiWithCategory.emojis as emoji, i (emoji.id)}\nfunction create_each_block_2(key_1, ctx) {\n\tlet button;\n\tlet button_role_value;\n\tlet button_aria_selected_value;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_class_value;\n\tlet button_id_value;\n\n\tfunction select_block_type(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block_1;\n\t\treturn create_else_block_1;\n\t}\n\n\tlet current_block_type = select_block_type(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem');\n\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '');\n\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\n\t\t\tattr(button, \"class\", button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(button, \"id\", button_id_value = \"emo-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && button_role_value !== (button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem')) {\n\t\t\t\tattr(button, \"role\", button_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_aria_selected_value !== (button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '')) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_class_value !== (button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(button, \"class\", button_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_id_value !== (button_id_value = \"emo-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\n// (69:36) {#each currentEmojisWithCategories as emojiWithCategory, i (emojiWithCategory.category)}\nfunction create_each_block_1(key_1, ctx) {\n\tlet div0;\n\n\tlet t_value = (/*searchMode*/ ctx[4]\n\t? /*i18n*/ ctx[0].searchResultsLabel\n\t: /*emojiWithCategory*/ ctx[66].category\n\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\";\n\n\tlet t;\n\tlet div0_id_value;\n\tlet div0_class_value;\n\tlet div1;\n\tlet each_blocks = [];\n\tlet each_1_lookup = new Map_1();\n\tlet div1_role_value;\n\tlet div1_aria_labelledby_value;\n\tlet div1_id_value;\n\tlet each_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\tconst get_key = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value_2.length; i += 1) {\n\t\tlet child_ctx = get_each_context_2(ctx, each_value_2, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach_1_lookup.set(key, each_blocks[i] = create_each_block_2(key, child_ctx));\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv0 = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tdiv1 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tattr(div0, \"id\", div0_id_value = \"menu-label-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div0, \"class\", div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div0, \"aria-hidden\", \"true\");\n\t\t\tattr(div1, \"class\", \"emoji-menu\");\n\t\t\tattr(div1, \"role\", div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu');\n\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65]);\n\t\t\tattr(div1, \"id\", div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '');\n\t\t\tthis.first = div0;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div0, anchor);\n\t\t\tappend(div0, t);\n\t\t\tinsert(target, div1, anchor);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div1, null);\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentEmojisWithCategories, currentGroup*/ 40977 && t_value !== (t_value = (/*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_id_value !== (div0_id_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div0, \"id\", div0_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_class_value !== (div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div0, \"class\", div0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin*/ 402686256) {\n\t\t\t\teach_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value_2, each_1_lookup, div1, destroy_block, create_each_block_2, null, get_each_context_2);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_role_value !== (div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu')) {\n\t\t\t\tattr(div1, \"role\", div1_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div1_aria_labelledby_value !== (div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_id_value !== (div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '')) {\n\t\t\t\tattr(div1, \"id\", div1_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div0);\n\t\t\tif (detaching) detach(div1);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\t\t}\n\t};\n}\n\n// (102:94) {:else}\nfunction create_else_block(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (102:34) {#if emoji.unicode}\nfunction create_if_block(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (98:102) {#each currentFavorites as emoji, i (emoji.id)}\nfunction create_each_block(key_1, ctx) {\n\tlet button;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_id_value;\n\n\tfunction select_block_type_1(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block;\n\t\treturn create_else_block;\n\t}\n\n\tlet current_block_type = select_block_type_1(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", \"menuitem\");\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\t\t\tattr(button, \"class\", \"emoji\");\n\t\t\tattr(button, \"id\", button_id_value = \"fav-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type_1(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_id_value !== (button_id_value = \"fav-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\nfunction create_fragment(ctx) {\n\tlet section;\n\tlet div0;\n\tlet div4;\n\tlet div1;\n\tlet input;\n\tlet input_placeholder_value;\n\tlet input_aria_expanded_value;\n\tlet input_aria_activedescendant_value;\n\tlet label;\n\tlet t0_value = /*i18n*/ ctx[0].searchLabel + \"\";\n\tlet t0;\n\tlet span0;\n\tlet t1_value = /*i18n*/ ctx[0].searchDescription + \"\";\n\tlet t1;\n\tlet div2;\n\tlet button0;\n\tlet t2;\n\tlet button0_class_value;\n\tlet div2_class_value;\n\tlet span1;\n\tlet t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\";\n\tlet t3;\n\tlet div3;\n\tlet each_blocks_3 = [];\n\tlet each0_lookup = new Map_1();\n\tlet div3_class_value;\n\tlet div3_aria_label_value;\n\tlet div3_aria_activedescendant_value;\n\tlet div3_aria_hidden_value;\n\tlet div5;\n\tlet each_blocks_2 = [];\n\tlet each1_lookup = new Map_1();\n\tlet div5_aria_label_value;\n\tlet div7;\n\tlet div6;\n\tlet div8;\n\tlet t4;\n\tlet div8_class_value;\n\tlet div10;\n\tlet div9;\n\tlet each_blocks_1 = [];\n\tlet each2_lookup = new Map_1();\n\tlet div10_class_value;\n\tlet div10_role_value;\n\tlet div10_aria_label_value;\n\tlet div10_id_value;\n\tlet div11;\n\tlet each_blocks = [];\n\tlet each3_lookup = new Map_1();\n\tlet div11_class_value;\n\tlet div11_aria_label_value;\n\tlet button1;\n\tlet section_aria_label_value;\n\tlet mounted;\n\tlet dispose;\n\tlet each_value_4 = /*skinTones*/ ctx[9];\n\tconst get_key = ctx => /*skinTone*/ ctx[72];\n\n\tfor (let i = 0; i < each_value_4.length; i += 1) {\n\t\tlet child_ctx = get_each_context_4(ctx, each_value_4, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach0_lookup.set(key, each_blocks_3[i] = create_each_block_4(key, child_ctx));\n\t}\n\n\tlet each_value_3 = /*groups*/ ctx[12];\n\tconst get_key_1 = ctx => /*group*/ ctx[69].id;\n\n\tfor (let i = 0; i < each_value_3.length; i += 1) {\n\t\tlet child_ctx = get_each_context_3(ctx, each_value_3, i);\n\t\tlet key = get_key_1(child_ctx);\n\t\teach1_lookup.set(key, each_blocks_2[i] = create_each_block_3(key, child_ctx));\n\t}\n\n\tlet each_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\tconst get_key_2 = ctx => /*emojiWithCategory*/ ctx[66].category;\n\n\tfor (let i = 0; i < each_value_1.length; i += 1) {\n\t\tlet child_ctx = get_each_context_1(ctx, each_value_1, i);\n\t\tlet key = get_key_2(child_ctx);\n\t\teach2_lookup.set(key, each_blocks_1[i] = create_each_block_1(key, child_ctx));\n\t}\n\n\tlet each_value = /*currentFavorites*/ ctx[10];\n\tconst get_key_3 = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value.length; i += 1) {\n\t\tlet child_ctx = get_each_context(ctx, each_value, i);\n\t\tlet key = get_key_3(child_ctx);\n\t\teach3_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));\n\t}\n\n\treturn {\n\t\tc() {\n\t\t\tsection = element(\"section\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tdiv4 = element(\"div\");\n\t\t\tdiv1 = element(\"div\");\n\t\t\tinput = element(\"input\");\n\t\t\tlabel = element(\"label\");\n\t\t\tt0 = text(t0_value);\n\t\t\tspan0 = element(\"span\");\n\t\t\tt1 = text(t1_value);\n\t\t\tdiv2 = element(\"div\");\n\t\t\tbutton0 = element(\"button\");\n\t\t\tt2 = text(/*skinToneButtonText*/ ctx[21]);\n\t\t\tspan1 = element(\"span\");\n\t\t\tt3 = text(t3_value);\n\t\t\tdiv3 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].c();\n\t\t\t}\n\n\t\t\tdiv5 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].c();\n\t\t\t}\n\n\t\t\tdiv7 = element(\"div\");\n\t\t\tdiv6 = element(\"div\");\n\t\t\tdiv8 = element(\"div\");\n\t\t\tt4 = text(/*message*/ ctx[18]);\n\t\t\tdiv10 = element(\"div\");\n\t\t\tdiv9 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].c();\n\t\t\t}\n\n\t\t\tdiv11 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tbutton1 = element(\"button\");\n\t\t\tbutton1.textContent = \"😀\";\n\t\t\tattr(div0, \"class\", \"pad-top\");\n\t\t\tattr(input, \"id\", \"search\");\n\t\t\tattr(input, \"class\", \"search\");\n\t\t\tattr(input, \"type\", \"search\");\n\t\t\tattr(input, \"role\", \"combobox\");\n\t\t\tattr(input, \"enterkeyhint\", \"search\");\n\t\t\tattr(input, \"placeholder\", input_placeholder_value = /*i18n*/ ctx[0].searchLabel);\n\t\t\tattr(input, \"autocapitalize\", \"none\");\n\t\t\tattr(input, \"autocomplete\", \"off\");\n\t\t\tattr(input, \"spellcheck\", \"true\");\n\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length));\n\t\t\tattr(input, \"aria-controls\", \"search-results\");\n\t\t\tattr(input, \"aria-describedby\", \"search-description\");\n\t\t\tattr(input, \"aria-autocomplete\", \"list\");\n\n\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '');\n\n\t\t\tattr(label, \"class\", \"sr-only\");\n\t\t\tattr(label, \"for\", \"search\");\n\t\t\tattr(span0, \"id\", \"search-description\");\n\t\t\tattr(span0, \"class\", \"sr-only\");\n\t\t\tattr(div1, \"class\", \"search-wrapper\");\n\t\t\tattr(button0, \"id\", \"skintone-button\");\n\t\t\tattr(button0, \"class\", button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''));\n\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"aria-describedby\", \"skintone-description\");\n\t\t\tattr(button0, \"aria-haspopup\", \"listbox\");\n\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(button0, \"aria-controls\", \"skintone-list\");\n\n\t\t\tattr(div2, \"class\", div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''));\n\n\t\t\tattr(span1, \"id\", \"skintone-description\");\n\t\t\tattr(span1, \"class\", \"sr-only\");\n\t\t\tattr(div3, \"id\", \"skintone-list\");\n\n\t\t\tattr(div3, \"class\", div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'));\n\n\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? 0\n\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\n\t\t\tattr(div3, \"role\", \"listbox\");\n\t\t\tattr(div3, \"aria-label\", div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel);\n\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(div4, \"class\", \"search-row\");\n\t\t\tattr(div5, \"class\", \"nav\");\n\t\t\tattr(div5, \"role\", \"tablist\");\n\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\tattr(div5, \"aria-label\", div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel);\n\t\t\tattr(div6, \"class\", \"indicator\");\n\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\tattr(div7, \"class\", \"indicator-wrapper\");\n\t\t\tattr(div8, \"class\", div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'));\n\t\t\tattr(div8, \"role\", \"alert\");\n\t\t\tattr(div8, \"aria-live\", \"polite\");\n\n\t\t\tattr(div10, \"class\", div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div10, \"role\", div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel');\n\n\t\t\tattr(div10, \"aria-label\", div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]);\n\n\t\t\tattr(div10, \"id\", div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`);\n\n\t\t\tattr(div10, \"tabindex\", \"0\");\n\t\t\tattr(div11, \"class\", div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''));\n\t\t\tattr(div11, \"role\", \"menu\");\n\t\t\tattr(div11, \"aria-label\", div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel);\n\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\tattr(button1, \"aria-hidden\", \"true\");\n\t\t\tattr(button1, \"tabindex\", \"-1\");\n\t\t\tattr(button1, \"class\", \"abs-pos hidden emoji\");\n\t\t\tattr(section, \"class\", \"picker\");\n\t\t\tattr(section, \"aria-label\", section_aria_label_value = /*i18n*/ ctx[0].regionLabel);\n\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, section, anchor);\n\t\t\tappend(section, div0);\n\t\t\tappend(section, div4);\n\t\t\tappend(div4, div1);\n\t\t\tappend(div1, input);\n\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\tappend(div1, label);\n\t\t\tappend(label, t0);\n\t\t\tappend(div1, span0);\n\t\t\tappend(span0, t1);\n\t\t\tappend(div4, div2);\n\t\t\tappend(div2, button0);\n\t\t\tappend(button0, t2);\n\t\t\tappend(div4, span1);\n\t\t\tappend(span1, t3);\n\t\t\tappend(div4, div3);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].m(div3, null);\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](div3);\n\t\t\tappend(section, div5);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].m(div5, null);\n\t\t\t}\n\n\t\t\tappend(section, div7);\n\t\t\tappend(div7, div6);\n\t\t\tappend(section, div8);\n\t\t\tappend(div8, t4);\n\t\t\tappend(section, div10);\n\t\t\tappend(div10, div9);\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].m(div9, null);\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](div10);\n\t\t\tappend(section, div11);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div11, null);\n\t\t\t}\n\n\t\t\tappend(section, button1);\n\t\t\t/*button1_binding*/ ctx[51](button1);\n\t\t\t/*section_binding*/ ctx[52](section);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(input, \"input\", /*input_input_handler*/ ctx[47]),\n\t\t\t\t\tlisten(input, \"keydown\", /*onSearchKeydown*/ ctx[30]),\n\t\t\t\t\tlisten(button0, \"click\", /*onClickSkinToneButton*/ ctx[35]),\n\t\t\t\t\tlisten(div3, \"focusout\", /*onSkinToneOptionsFocusOut*/ ctx[38]),\n\t\t\t\t\tlisten(div3, \"click\", /*onSkinToneOptionsClick*/ ctx[34]),\n\t\t\t\t\tlisten(div3, \"keydown\", /*onSkinToneOptionsKeydown*/ ctx[36]),\n\t\t\t\t\tlisten(div3, \"keyup\", /*onSkinToneOptionsKeyup*/ ctx[37]),\n\t\t\t\t\tlisten(div5, \"keydown\", /*onNavKeydown*/ ctx[32]),\n\t\t\t\t\taction_destroyer(/*calculateEmojiGridStyle*/ ctx[29].call(null, div9)),\n\t\t\t\t\tlisten(div10, \"click\", /*onEmojiClick*/ ctx[33]),\n\t\t\t\t\tlisten(div11, \"click\", /*onEmojiClick*/ ctx[33])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*i18n*/ 1 && input_placeholder_value !== (input_placeholder_value = /*i18n*/ ctx[0].searchLabel)) {\n\t\t\t\tattr(input, \"placeholder\", input_placeholder_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojis*/ 18 && input_aria_expanded_value !== (input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length))) {\n\t\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSearchItemId*/ 67108864 && input_aria_activedescendant_value !== (input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '')) {\n\t\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t0_value !== (t0_value = /*i18n*/ ctx[0].searchLabel + \"\")) set_data(t0, t0_value);\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t1_value !== (t1_value = /*i18n*/ ctx[0].searchDescription + \"\")) set_data(t1, t1_value);\n\t\t\tif (dirty[0] & /*skinToneButtonText*/ 2097152) set_data(t2, /*skinToneButtonText*/ ctx[21]);\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && button0_class_value !== (button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''))) {\n\t\t\t\tattr(button0, \"class\", button0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpandedAfterAnimation*/ 524288 && div2_class_value !== (div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''))) {\n\t\t\t\tattr(div2, \"class\", div2_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t3_value !== (t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\")) set_data(t3, t3_value);\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone, i18n*/ 1049089) {\n\t\t\t\teach_value_4 = /*skinTones*/ ctx[9];\n\t\t\t\teach_blocks_3 = update_keyed_each(each_blocks_3, dirty, get_key, 1, ctx, each_value_4, each0_lookup, div3, destroy_block, create_each_block_4, null, get_each_context_4);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_class_value !== (div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'))) {\n\t\t\t\tattr(div3, \"class\", div3_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t\t? 0\n\t\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div3_aria_label_value !== (div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel)) {\n\t\t\t\tattr(div3, \"aria-label\", div3_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSkinTone*/ 1048576 && div3_aria_activedescendant_value !== (div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_aria_hidden_value !== (div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6])) {\n\t\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups, i18n, searchMode, currentGroup*/ 12305 | dirty[1] & /*onNavClick*/ 1) {\n\t\t\t\teach_value_3 = /*groups*/ ctx[12];\n\t\t\t\teach_blocks_2 = update_keyed_each(each_blocks_2, dirty, get_key_1, 1, ctx, each_value_3, each1_lookup, div5, destroy_block, create_each_block_3, null, get_each_context_3);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups*/ 4096) {\n\t\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div5_aria_label_value !== (div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel)) {\n\t\t\t\tattr(div5, \"aria-label\", div5_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*isRtl, currentGroupIndex*/ 16779264) {\n\t\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144) set_data(t4, /*message*/ ctx[18]);\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div8_class_value !== (div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'))) {\n\t\t\t\tattr(div8, \"class\", div8_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin, i18n, currentGroup*/ 402694449) {\n\t\t\t\teach_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\t\t\t\teach_blocks_1 = update_keyed_each(each_blocks_1, dirty, get_key_2, 1, ctx, each_value_1, each2_lookup, div9, destroy_block, create_each_block_1, null, get_each_context_1);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*databaseLoaded, message*/ 278528 && div10_class_value !== (div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div10, \"class\", div10_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div10_role_value !== (div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel')) {\n\t\t\t\tattr(div10, \"role\", div10_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentGroup*/ 8209 && div10_aria_label_value !== (div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name])) {\n\t\t\t\tattr(div10, \"aria-label\", div10_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup*/ 8208 && div10_id_value !== (div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`)) {\n\t\t\t\tattr(div10, \"id\", div10_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*labelWithSkin, currentFavorites, currentSkinTone, unicodeWithSkin*/ 402654464) {\n\t\t\t\teach_value = /*currentFavorites*/ ctx[10];\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key_3, 1, ctx, each_value, each3_lookup, div11, destroy_block, create_each_block, null, get_each_context);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div11_class_value !== (div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''))) {\n\t\t\t\tattr(div11, \"class\", div11_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div11_aria_label_value !== (div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel)) {\n\t\t\t\tattr(div11, \"aria-label\", div11_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*scrollbarWidth*/ 33554432) {\n\t\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && section_aria_label_value !== (section_aria_label_value = /*i18n*/ ctx[0].regionLabel)) {\n\t\t\t\tattr(section, \"aria-label\", section_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*pickerStyle*/ 4194304) {\n\t\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t\t}\n\t\t},\n\t\ti: noop,\n\t\to: noop,\n\t\td(detaching) {\n\t\t\tif (detaching) detach(section);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].d();\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](null);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].d();\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].d();\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](null);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\n\t\t\t/*button1_binding*/ ctx[51](null);\n\t\t\t/*section_binding*/ ctx[52](null);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance($$self, $$props, $$invalidate) {\n\tlet { skinToneEmoji } = $$props;\n\tlet { i18n } = $$props;\n\tlet { database } = $$props;\n\tlet { customEmoji } = $$props;\n\tlet { customCategorySorting } = $$props;\n\n\t// private\n\tlet initialLoad = true;\n\n\tlet currentEmojis = [];\n\tlet currentEmojisWithCategories = []; // eslint-disable-line no-unused-vars\n\tlet rawSearchText = '';\n\tlet searchText = '';\n\tlet rootElement;\n\tlet baselineEmoji;\n\tlet tabpanelElement;\n\tlet searchMode = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItem = -1;\n\tlet message; // eslint-disable-line no-unused-vars\n\tlet skinTonePickerExpanded = false;\n\tlet skinTonePickerExpandedAfterAnimation = false; // eslint-disable-line no-unused-vars\n\tlet skinToneDropdown;\n\tlet currentSkinTone = 0;\n\tlet activeSkinTone = 0;\n\tlet skinToneButtonText; // eslint-disable-line no-unused-vars\n\tlet pickerStyle; // eslint-disable-line no-unused-vars\n\tlet skinToneButtonLabel = ''; // eslint-disable-line no-unused-vars\n\tlet skinTones = [];\n\tlet currentFavorites = []; // eslint-disable-line no-unused-vars\n\tlet defaultFavoriteEmojis;\n\tlet numColumns = DEFAULT_NUM_COLUMNS;\n\tlet isRtl = false;\n\tlet scrollbarWidth = 0; // eslint-disable-line no-unused-vars\n\tlet currentGroupIndex = 0;\n\tlet groups$1 = groups;\n\tlet currentGroup;\n\tlet databaseLoaded = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItemId; // eslint-disable-line no-unused-vars\n\n\t//\n\t// Utils/helpers\n\t//\n\tconst focus = id => {\n\t\trootElement.getRootNode().getElementById(id).focus();\n\t};\n\n\t// fire a custom event that crosses the shadow boundary\n\tconst fireEvent = (name, detail) => {\n\t\trootElement.dispatchEvent(new CustomEvent(name, { detail, bubbles: true, composed: true }));\n\t};\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst unicodeWithSkin = (emoji, currentSkinTone) => currentSkinTone && emoji.skins && emoji.skins[currentSkinTone] || emoji.unicode;\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst labelWithSkin = (emoji, currentSkinTone) => uniq([\n\t\temoji.name || unicodeWithSkin(emoji, currentSkinTone),\n\t\t...emoji.shortcodes || []\n\t]).join(', ');\n\n\t// Detect a skintone option button\n\tconst isSkinToneOption = element => (/^skintone-/).test(element.id);\n\n\t//\n\t// Determine the emoji support level (in requestIdleCallback)\n\t//\n\temojiSupportLevelPromise.then(level => {\n\t\t// Can't actually test emoji support in Jest/JSDom, emoji never render in color in Cairo\n\t\t/* istanbul ignore next */\n\t\tif (!level) {\n\t\t\t$$invalidate(18, message = i18n.emojiUnsupportedMessage);\n\t\t}\n\t});\n\n\t//\n\t// Calculate the width of the emoji grid. This serves two purposes:\n\t// 1) Re-calculate the --num-columns var because it may have changed\n\t// 2) Re-calculate the scrollbar width because it may have changed\n\t// (i.e. because the number of items changed)\n\t// 3) Re-calculate whether we're in RTL mode or not.\n\t//\n\t// The benefit of doing this in one place is to align with rAF/ResizeObserver\n\t// and do all the calculations in one go. RTL vs LTR is not strictly width-related,\n\t// but since we're already reading the style here, and since it's already aligned with\n\t// the rAF loop, this is the most appropriate place to do it perf-wise.\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction calculateEmojiGridStyle(node) {\n\t\treturn calculateWidth(node, width => {\n\t\t\t/* istanbul ignore next */\n\t\t\tif (\"production\" !== 'test') {\n\t\t\t\t// jsdom throws errors for this kind of fancy stuff\n\t\t\t\t// read all the style/layout calculations we need to make\n\t\t\t\tconst style = getComputedStyle(rootElement);\n\n\t\t\t\tconst newNumColumns = parseInt(style.getPropertyValue('--num-columns'), 10);\n\t\t\t\tconst newIsRtl = style.getPropertyValue('direction') === 'rtl';\n\t\t\t\tconst parentWidth = node.parentElement.getBoundingClientRect().width;\n\t\t\t\tconst newScrollbarWidth = parentWidth - width;\n\n\t\t\t\t// write to Svelte variables\n\t\t\t\t$$invalidate(46, numColumns = newNumColumns);\n\n\t\t\t\t$$invalidate(25, scrollbarWidth = newScrollbarWidth); // eslint-disable-line no-unused-vars\n\t\t\t\t$$invalidate(24, isRtl = newIsRtl); // eslint-disable-line no-unused-vars\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction checkZwjSupportAndUpdate(zwjEmojisToCheck) {\n\t\tconst rootNode = rootElement.getRootNode();\n\t\tconst emojiToDomNode = emoji => rootNode.getElementById(`emo-${emoji.id}`);\n\t\tcheckZwjSupport(zwjEmojisToCheck, baselineEmoji, emojiToDomNode);\n\n\t\t// force update\n\t\t$$invalidate(1, currentEmojis = currentEmojis); // eslint-disable-line no-self-assign\n\t}\n\n\tfunction isZwjSupported(emoji) {\n\t\treturn !emoji.unicode || !hasZwj(emoji) || supportedZwjEmojis.get(emoji.unicode);\n\t}\n\n\tasync function filterEmojisByVersion(emojis) {\n\t\tconst emojiSupportLevel = await emojiSupportLevelPromise;\n\n\t\t// !version corresponds to custom emoji\n\t\treturn emojis.filter(({ version }) => !version || version <= emojiSupportLevel);\n\t}\n\n\tasync function summarizeEmojis(emojis) {\n\t\treturn summarizeEmojisForUI(emojis, await emojiSupportLevelPromise);\n\t}\n\n\tasync function getEmojisByGroup(group) {\n\n\t\tif (typeof group === 'undefined') {\n\t\t\treturn [];\n\t\t}\n\n\t\t// -1 is custom emoji\n\t\tconst emoji = group === -1\n\t\t? customEmoji\n\t\t: await database.getEmojiByGroup(group);\n\n\t\treturn summarizeEmojis(await filterEmojisByVersion(emoji));\n\t}\n\n\tasync function getEmojisBySearchQuery(query) {\n\t\treturn summarizeEmojis(await filterEmojisByVersion(await database.getEmojiBySearchQuery(query)));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSearchKeydown(event) {\n\t\tif (!searchMode || !currentEmojis.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst goToNextOrPrevious = previous => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(5, activeSearchItem = incrementOrDecrement(previous, activeSearchItem, currentEmojis));\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn goToNextOrPrevious(false);\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn goToNextOrPrevious(true);\n\t\t\tcase 'Enter':\n\t\t\t\tif (activeSearchItem !== -1) {\n\t\t\t\t\thalt(event);\n\t\t\t\t\treturn clickEmoji(currentEmojis[activeSearchItem].id);\n\t\t\t\t} else if (currentEmojis.length) {\n\t\t\t\t\t$$invalidate(5, activeSearchItem = 0);\n\t\t\t\t}\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on nav\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavClick(group) {\n\t\t$$invalidate(2, rawSearchText = '');\n\t\t$$invalidate(44, searchText = '');\n\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t$$invalidate(11, currentGroupIndex = groups$1.findIndex(_ => _.id === group.id));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavKeydown(event) {\n\t\tconst { target, key } = event;\n\n\t\tconst doFocus = el => {\n\t\t\tif (el) {\n\t\t\t\thalt(event);\n\t\t\t\tel.focus();\n\t\t\t}\n\t\t};\n\n\t\tswitch (key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\treturn doFocus(target.previousSibling);\n\t\t\tcase 'ArrowRight':\n\t\t\t\treturn doFocus(target.nextSibling);\n\t\t\tcase 'Home':\n\t\t\t\treturn doFocus(target.parentElement.firstChild);\n\t\t\tcase 'End':\n\t\t\t\treturn doFocus(target.parentElement.lastChild);\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on an emoji\n\t//\n\tasync function clickEmoji(unicodeOrName) {\n\t\tconst emoji = await database.getEmojiByUnicodeOrName(unicodeOrName);\n\t\tconst emojiSummary = [...currentEmojis, ...currentFavorites].find(_ => _.id === unicodeOrName);\n\t\tconst skinTonedUnicode = emojiSummary.unicode && unicodeWithSkin(emojiSummary, currentSkinTone);\n\t\tawait database.incrementFavoriteEmojiCount(unicodeOrName);\n\n\t\tfireEvent('emoji-click', {\n\t\t\temoji,\n\t\t\tskinTone: currentSkinTone,\n\t\t\t...skinTonedUnicode && { unicode: skinTonedUnicode },\n\t\t\t...emojiSummary.name && { name: emojiSummary.name }\n\t\t});\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onEmojiClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!target.classList.contains('emoji')) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst id = target.id.substring(4); // replace 'emo-' or 'fav-' prefix\n\n\t\t/* no await */\n\t\tclickEmoji(id);\n\t}\n\n\t//\n\t// Handle user input on the skintone picker\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!isSkinToneOption(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst skinTone = parseInt(target.id.slice(9), 10); // remove 'skintone-' prefix\n\t\t$$invalidate(8, currentSkinTone = skinTone);\n\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\tfocus('skintone-button');\n\t\tfireEvent('skin-tone-change', { skinTone });\n\n\t\t/* no await */\n\t\tdatabase.setPreferredSkinTone(skinTone);\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onClickSkinToneButton(event) {\n\t\t$$invalidate(6, skinTonePickerExpanded = !skinTonePickerExpanded);\n\t\t$$invalidate(20, activeSkinTone = currentSkinTone);\n\n\t\tif (skinTonePickerExpanded) {\n\t\t\thalt(event);\n\t\t\trAF(() => focus(`skintone-${activeSkinTone}`));\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeydown(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst changeActiveSkinTone = async nextSkinTone => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(20, activeSkinTone = nextSkinTone);\n\t\t\tawait tick();\n\t\t\tfocus(`skintone-${activeSkinTone}`);\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(true, activeSkinTone, skinTones));\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(false, activeSkinTone, skinTones));\n\t\t\tcase 'Home':\n\t\t\t\treturn changeActiveSkinTone(0);\n\t\t\tcase 'End':\n\t\t\t\treturn changeActiveSkinTone(skinTones.length - 1);\n\t\t\tcase 'Enter':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t\tcase 'Escape':\n\t\t\t\thalt(event);\n\t\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t\t\treturn focus('skintone-button');\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeyup(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase ' ':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsFocusOut(event) {\n\t\t// On blur outside of the skintone options, collapse the skintone picker.\n\t\t// Except if focus is just moving to another skintone option, e.g. pressing up/down to change focus\n\t\tconst { relatedTarget } = event;\n\n\t\tif (!relatedTarget || !isSkinToneOption(relatedTarget)) {\n\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t}\n\t}\n\n\tfunction input_input_handler() {\n\t\trawSearchText = this.value;\n\t\t$$invalidate(2, rawSearchText);\n\t}\n\n\tfunction div3_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tskinToneDropdown = $$value;\n\t\t\t$$invalidate(7, skinToneDropdown);\n\t\t});\n\t}\n\n\tconst click_handler = group => onNavClick(group);\n\n\tfunction div10_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\ttabpanelElement = $$value;\n\t\t\t$$invalidate(3, tabpanelElement);\n\t\t});\n\t}\n\n\tfunction button1_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tbaselineEmoji = $$value;\n\t\t\t$$invalidate(17, baselineEmoji);\n\t\t});\n\t}\n\n\tfunction section_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\trootElement = $$value;\n\t\t\t$$invalidate(16, rootElement);\n\t\t});\n\t}\n\n\t$$self.$$set = $$props => {\n\t\tif ('skinToneEmoji' in $$props) $$invalidate(40, skinToneEmoji = $$props.skinToneEmoji);\n\t\tif ('i18n' in $$props) $$invalidate(0, i18n = $$props.i18n);\n\t\tif ('database' in $$props) $$invalidate(39, database = $$props.database);\n\t\tif ('customEmoji' in $$props) $$invalidate(41, customEmoji = $$props.customEmoji);\n\t\tif ('customCategorySorting' in $$props) $$invalidate(42, customCategorySorting = $$props.customCategorySorting);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[1] & /*customEmoji, database*/ 1280) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the customEmoji\n\t\t\t//\n\t\t\t{\n\t\t\t\tif (customEmoji && database) {\n\t\t\t\t\t$$invalidate(39, database.customEmoji = customEmoji, database);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n*/ 1 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the database object\n\t\t\t//\n\t\t\t{\n\t\t\t\t// show a Loading message if it takes a long time, or show an error if there's a network/IDB error\n\t\t\t\tasync function handleDatabaseLoading() {\n\t\t\t\t\tlet showingLoadingMessage = false;\n\n\t\t\t\t\tconst timeoutHandle = setTimeout(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tshowingLoadingMessage = true;\n\t\t\t\t\t\t\t$$invalidate(18, message = i18n.loadingMessage);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTIMEOUT_BEFORE_LOADING_MESSAGE\n\t\t\t\t\t);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait database.ready();\n\t\t\t\t\t\t$$invalidate(14, databaseLoaded = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t} catch(err) {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t$$invalidate(18, message = i18n.networkErrorMessage);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tclearTimeout(timeoutHandle);\n\n\t\t\t\t\t\tif (showingLoadingMessage) {\n\t\t\t\t\t\t\t// Seems safer than checking the i18n string, which may change\n\t\t\t\t\t\t\tshowingLoadingMessage = false;\n\n\t\t\t\t\t\t\t$$invalidate(18, message = ''); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (database) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\thandleDatabaseLoading();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) {\n\t\t\t{\n\t\t\t\tif (customEmoji && customEmoji.length) {\n\t\t\t\t\t$$invalidate(12, groups$1 = [customGroup, ...groups]);\n\t\t\t\t} else if (groups$1 !== groups) {\n\t\t\t\t\tif (currentGroupIndex) {\n\t\t\t\t\t\t// If the current group is anything other than \"custom\" (which is first), decrement.\n\t\t\t\t\t\t// This fixes the odd case where you set customEmoji, then pick a category, then unset customEmoji\n\t\t\t\t\t\t$$invalidate(11, currentGroupIndex--, currentGroupIndex);\n\t\t\t\t\t}\n\n\t\t\t\t\t$$invalidate(12, groups$1 = groups);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Handle user input on the search input\n\t\t\t//\n\t\t\t{\n\t\t\t\trIC(() => {\n\t\t\t\t\t$$invalidate(44, searchText = (rawSearchText || '').trim()); // defer to avoid input delays, plus we can trim here\n\t\t\t\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144) {\n\t\t\t//\n\t\t\t// Update the current group based on the currentGroupIndex\n\t\t\t//\n\t\t\t$$invalidate(13, currentGroup = groups$1[currentGroupIndex]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded, currentGroup*/ 24576 | $$self.$$.dirty[1] & /*searchText*/ 8192) {\n\t\t\t//\n\t\t\t// Set or update the currentEmojis. Check for invalid ZWJ renderings\n\t\t\t// (i.e. double emoji).\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateEmojis() {\n\n\t\t\t\t\tif (!databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(1, currentEmojis = []);\n\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t} else if (searchText.length >= MIN_SEARCH_TEXT_LENGTH) {\n\t\t\t\t\t\tconst currentSearchText = searchText;\n\t\t\t\t\t\tconst newEmojis = await getEmojisBySearchQuery(currentSearchText);\n\n\t\t\t\t\t\tif (currentSearchText === searchText) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = true);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (currentGroup) {\n\t\t\t\t\t\tconst currentGroupId = currentGroup.id;\n\t\t\t\t\t\tconst newEmojis = await getEmojisByGroup(currentGroupId);\n\n\t\t\t\t\t\tif (currentGroupId === currentGroup.id) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdateEmojis();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, searchMode*/ 4112) {\n\t\t\t//\n\t\t\t// Global styles for the entire picker\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(22, pickerStyle = `\n --font-family: ${FONT_FAMILY};\n --num-groups: ${groups$1.length}; \n --indicator-opacity: ${searchMode ? 0 : 1}; \n --num-skintones: ${NUM_SKIN_TONES};`);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the preferred skin tone\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updatePreferredSkinTone() {\n\t\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(8, currentSkinTone = await database.getPreferredSkinTone());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdatePreferredSkinTone();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[1] & /*skinToneEmoji*/ 512) {\n\t\t\t$$invalidate(9, skinTones = Array(NUM_SKIN_TONES).fill().map((_, i) => applySkinTone(skinToneEmoji, i)));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTones, currentSkinTone*/ 768) {\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(21, skinToneButtonText = skinTones[currentSkinTone]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n, currentSkinTone*/ 257) {\n\t\t\t$$invalidate(23, skinToneButtonLabel = i18n.skinToneLabel.replace('{skinTone}', i18n.skinTones[currentSkinTone]));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the favorites emojis\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateDefaultFavoriteEmojis() {\n\t\t\t\t\t$$invalidate(45, defaultFavoriteEmojis = (await Promise.all(MOST_COMMONLY_USED_EMOJI.map(unicode => database.getEmojiByUnicodeOrName(unicode)))).filter(Boolean)); // filter because in Jest tests we don't have all the emoji in the DB\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateDefaultFavoriteEmojis();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database, numColumns, defaultFavoriteEmojis*/ 49408) {\n\t\t\t{\n\t\t\t\tasync function updateFavorites() {\n\t\t\t\t\tconst dbFavorites = await database.getTopFavoriteEmoji(numColumns);\n\t\t\t\t\tconst favorites = await summarizeEmojis(uniqBy([...dbFavorites, ...defaultFavoriteEmojis], _ => _.unicode || _.name).slice(0, numColumns));\n\t\t\t\t\t$$invalidate(10, currentFavorites = favorites);\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded && defaultFavoriteEmojis) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateFavorites();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, tabpanelElement*/ 10) {\n\t\t\t// Some emojis have their ligatures rendered as two or more consecutive emojis\n\t\t\t// We want to treat these the same as unsupported emojis, so we compare their\n\t\t\t// widths against the baseline widths and remove them as necessary\n\t\t\t{\n\t\t\t\tconst zwjEmojisToCheck = currentEmojis.filter(emoji => emoji.unicode).filter(emoji => hasZwj(emoji) && !supportedZwjEmojis.has(emoji.unicode)); // filter custom emoji\n\n\t\t\t\tif (zwjEmojisToCheck.length) {\n\t\t\t\t\t// render now, check their length later\n\t\t\t\t\trAF(() => checkZwjSupportAndUpdate(zwjEmojisToCheck));\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(1, currentEmojis = currentEmojis.filter(isZwjSupported));\n\n\t\t\t\t\trAF(() => {\n\t\t\t\t\t\t// Avoid Svelte doing an invalidation on the \"setter\" here.\n\t\t\t\t\t\t// At best the invalidation is useless, at worst it can cause infinite loops:\n\t\t\t\t\t\t// https://github.com/nolanlawson/emoji-picker-element/pull/180\n\t\t\t\t\t\t// https://github.com/sveltejs/svelte/issues/6521\n\t\t\t\t\t\t// Also note tabpanelElement can be null if the element is disconnected\n\t\t\t\t\t\t// immediately after connected, hence `|| {}`\n\t\t\t\t\t\t(tabpanelElement || {}).scrollTop = 0; // reset scroll top to 0 when emojis change\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, currentFavorites*/ 1026 | $$self.$$.dirty[1] & /*initialLoad*/ 4096) {\n\t\t\t{\n\t\t\t\t// consider initialLoad to be complete when the first tabpanel and favorites are rendered\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (\"production\" !== 'production' || false) {\n\t\t\t\t\tif (currentEmojis.length && currentFavorites.length && initialLoad) {\n\t\t\t\t\t\t$$invalidate(43, initialLoad = false);\n\t\t\t\t\t\trequestPostAnimationFrame(() => (void 0));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*searchMode, currentEmojis*/ 18 | $$self.$$.dirty[1] & /*customCategorySorting*/ 2048) {\n\t\t\t//\n\t\t\t// Derive currentEmojisWithCategories from currentEmojis. This is always done even if there\n\t\t\t// are no categories, because it's just easier to code the HTML this way.\n\t\t\t//\n\t\t\t{\n\t\t\t\tfunction calculateCurrentEmojisWithCategories() {\n\t\t\t\t\tif (searchMode) {\n\t\t\t\t\t\treturn [{ category: '', emojis: currentEmojis }];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst categoriesToEmoji = new Map();\n\n\t\t\t\t\tfor (const emoji of currentEmojis) {\n\t\t\t\t\t\tconst category = emoji.category || '';\n\t\t\t\t\t\tlet emojis = categoriesToEmoji.get(category);\n\n\t\t\t\t\t\tif (!emojis) {\n\t\t\t\t\t\t\temojis = [];\n\t\t\t\t\t\t\tcategoriesToEmoji.set(category, emojis);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\temojis.push(emoji);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [...categoriesToEmoji.entries()].map(([category, emojis]) => ({ category, emojis })).sort((a, b) => customCategorySorting(a.category, b.category));\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\t$$invalidate(15, currentEmojisWithCategories = calculateCurrentEmojisWithCategories());\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*activeSearchItem, currentEmojis*/ 34) {\n\t\t\t//\n\t\t\t// Handle active search item (i.e. pressing up or down while searching)\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(26, activeSearchItemId = activeSearchItem !== -1 && currentEmojis[activeSearchItem].id);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTonePickerExpanded, skinToneDropdown*/ 192) {\n\t\t\t// To make the animation nicer, change the z-index of the skintone picker button\n\t\t\t// *after* the animation has played. This makes it appear that the picker box\n\t\t\t// is expanding \"below\" the button\n\t\t\t{\n\t\t\t\tif (skinTonePickerExpanded) {\n\t\t\t\t\tskinToneDropdown.addEventListener(\n\t\t\t\t\t\t'transitionend',\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ once: true }\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = false); // eslint-disable-line no-unused-vars\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\ti18n,\n\t\tcurrentEmojis,\n\t\trawSearchText,\n\t\ttabpanelElement,\n\t\tsearchMode,\n\t\tactiveSearchItem,\n\t\tskinTonePickerExpanded,\n\t\tskinToneDropdown,\n\t\tcurrentSkinTone,\n\t\tskinTones,\n\t\tcurrentFavorites,\n\t\tcurrentGroupIndex,\n\t\tgroups$1,\n\t\tcurrentGroup,\n\t\tdatabaseLoaded,\n\t\tcurrentEmojisWithCategories,\n\t\trootElement,\n\t\tbaselineEmoji,\n\t\tmessage,\n\t\tskinTonePickerExpandedAfterAnimation,\n\t\tactiveSkinTone,\n\t\tskinToneButtonText,\n\t\tpickerStyle,\n\t\tskinToneButtonLabel,\n\t\tisRtl,\n\t\tscrollbarWidth,\n\t\tactiveSearchItemId,\n\t\tunicodeWithSkin,\n\t\tlabelWithSkin,\n\t\tcalculateEmojiGridStyle,\n\t\tonSearchKeydown,\n\t\tonNavClick,\n\t\tonNavKeydown,\n\t\tonEmojiClick,\n\t\tonSkinToneOptionsClick,\n\t\tonClickSkinToneButton,\n\t\tonSkinToneOptionsKeydown,\n\t\tonSkinToneOptionsKeyup,\n\t\tonSkinToneOptionsFocusOut,\n\t\tdatabase,\n\t\tskinToneEmoji,\n\t\tcustomEmoji,\n\t\tcustomCategorySorting,\n\t\tinitialLoad,\n\t\tsearchText,\n\t\tdefaultFavoriteEmojis,\n\t\tnumColumns,\n\t\tinput_input_handler,\n\t\tdiv3_binding,\n\t\tclick_handler,\n\t\tdiv10_binding,\n\t\tbutton1_binding,\n\t\tsection_binding\n\t];\n}\n\nclass Picker extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\n\t\tinit(\n\t\t\tthis,\n\t\t\toptions,\n\t\t\tinstance,\n\t\t\tcreate_fragment,\n\t\t\tsafe_not_equal,\n\t\t\t{\n\t\t\t\tskinToneEmoji: 40,\n\t\t\t\ti18n: 0,\n\t\t\t\tdatabase: 39,\n\t\t\t\tcustomEmoji: 41,\n\t\t\t\tcustomCategorySorting: 42\n\t\t\t},\n\t\t\tnull,\n\t\t\t[-1, -1, -1]\n\t\t);\n\t}\n}\n\nconst DEFAULT_DATA_SOURCE = 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json';\nconst DEFAULT_LOCALE = 'en';\n\nvar enI18n = {\n categoriesLabel: 'Categories',\n emojiUnsupportedMessage: 'Your browser does not support color emoji.',\n favoritesLabel: 'Favorites',\n loadingMessage: 'Loading…',\n networkErrorMessage: 'Could not load emoji.',\n regionLabel: 'Emoji picker',\n searchDescription: 'When search results are available, press up or down to select and enter to choose.',\n searchLabel: 'Search',\n searchResultsLabel: 'Search results',\n skinToneDescription: 'When expanded, press up or down to select and enter to choose.',\n skinToneLabel: 'Choose a skin tone (currently {skinTone})',\n skinTonesLabel: 'Skin tones',\n skinTones: [\n 'Default',\n 'Light',\n 'Medium-Light',\n 'Medium',\n 'Medium-Dark',\n 'Dark'\n ],\n categories: {\n custom: 'Custom',\n 'smileys-emotion': 'Smileys and emoticons',\n 'people-body': 'People and body',\n 'animals-nature': 'Animals and nature',\n 'food-drink': 'Food and drink',\n 'travel-places': 'Travel and places',\n activities: 'Activities',\n objects: 'Objects',\n symbols: 'Symbols',\n flags: 'Flags'\n }\n};\n\nconst PROPS = [\n 'customEmoji',\n 'customCategorySorting',\n 'database',\n 'dataSource',\n 'i18n',\n 'locale',\n 'skinToneEmoji'\n];\n\nclass PickerElement extends HTMLElement {\n constructor (props) {\n super();\n this.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = \":host{--emoji-size:1.375rem;--emoji-padding:0.5rem;--category-emoji-size:var(--emoji-size);--category-emoji-padding:var(--emoji-padding);--indicator-height:3px;--input-border-radius:0.5rem;--input-border-size:1px;--input-font-size:1rem;--input-line-height:1.5;--input-padding:0.25rem;--num-columns:8;--outline-size:2px;--border-size:1px;--skintone-border-radius:1rem;--category-font-size:1rem;display:flex;width:min-content;height:400px}:host,:host(.light){--background:#fff;--border-color:#e0e0e0;--indicator-color:#385ac1;--input-border-color:#999;--input-font-color:#111;--input-placeholder-color:#999;--outline-color:#999;--category-font-color:#111;--button-active-background:#e6e6e6;--button-hover-background:#d9d9d9}:host(.dark){--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}@media (prefers-color-scheme:dark){:host{--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}}:host([hidden]){display:none}button{margin:0;padding:0;border:0;background:0 0;box-shadow:none;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0}input{padding:0;margin:0;line-height:1.15;font-family:inherit}input[type=search]{-webkit-appearance:none}:focus{outline:var(--outline-color) solid var(--outline-size);outline-offset:calc(-1*var(--outline-size))}:host([data-js-focus-visible]) :focus:not([data-focus-visible-added]){outline:0}:focus:not(:focus-visible){outline:0}.hide-focus{outline:0}*{box-sizing:border-box}.picker{contain:content;display:flex;flex-direction:column;background:var(--background);border:var(--border-size) solid var(--border-color);width:100%;height:100%;overflow:hidden;--total-emoji-size:calc(var(--emoji-size) + (2 * var(--emoji-padding)));--total-category-emoji-size:calc(var(--category-emoji-size) + (2 * var(--category-emoji-padding)))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{opacity:0;pointer-events:none}.abs-pos{position:absolute;left:0;top:0}.gone{display:none!important}.skintone-button-wrapper,.skintone-list{background:var(--background);z-index:3}.skintone-button-wrapper.expanded{z-index:1}.skintone-list{position:absolute;inset-inline-end:0;top:0;z-index:2;overflow:visible;border-bottom:var(--border-size) solid var(--border-color);border-radius:0 0 var(--skintone-border-radius) var(--skintone-border-radius);will-change:transform;transition:transform .2s ease-in-out;transform-origin:center 0}@media (prefers-reduced-motion:reduce){.skintone-list{transition-duration:.001s}}@supports not (inset-inline-end:0){.skintone-list{right:0}}.skintone-list.no-animate{transition:none}.tabpanel{overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:transform;min-height:0;flex:1;contain:content}.emoji-menu{display:grid;grid-template-columns:repeat(var(--num-columns),var(--total-emoji-size));justify-content:space-around;align-items:flex-start;width:100%}.category{padding:var(--emoji-padding);font-size:var(--category-font-size);color:var(--category-font-color)}.custom-emoji,.emoji,button.emoji{height:var(--total-emoji-size);width:var(--total-emoji-size)}.emoji,button.emoji{font-size:var(--emoji-size);display:flex;align-items:center;justify-content:center;border-radius:100%;line-height:1;overflow:hidden;font-family:var(--font-family);cursor:pointer}@media (hover:hover) and (pointer:fine){.emoji:hover,button.emoji:hover{background:var(--button-hover-background)}}.emoji.active,.emoji:active,button.emoji.active,button.emoji:active{background:var(--button-active-background)}.custom-emoji{padding:var(--emoji-padding);object-fit:contain;pointer-events:none;background-repeat:no-repeat;background-position:center center;background-size:var(--emoji-size) var(--emoji-size)}.nav,.nav-button{align-items:center}.nav{display:grid;justify-content:space-between;contain:content}.nav-button{display:flex;justify-content:center}.nav-emoji{font-size:var(--category-emoji-size);width:var(--total-category-emoji-size);height:var(--total-category-emoji-size)}.indicator-wrapper{display:flex;border-bottom:1px solid var(--border-color)}.indicator{width:calc(100%/var(--num-groups));height:var(--indicator-height);opacity:var(--indicator-opacity);background-color:var(--indicator-color);will-change:transform,opacity;transition:opacity .1s linear,transform .25s ease-in-out}@media (prefers-reduced-motion:reduce){.indicator{will-change:opacity;transition:opacity .1s linear}}.pad-top,input.search{background:var(--background);width:100%}.pad-top{height:var(--emoji-padding);z-index:3}.search-row{display:flex;align-items:center;position:relative;padding-inline-start:var(--emoji-padding);padding-bottom:var(--emoji-padding)}.search-wrapper{flex:1;min-width:0}input.search{padding:var(--input-padding);border-radius:var(--input-border-radius);border:var(--input-border-size) solid var(--input-border-color);color:var(--input-font-color);font-size:var(--input-font-size);line-height:var(--input-line-height)}input.search::placeholder{color:var(--input-placeholder-color)}.favorites{display:flex;flex-direction:row;border-top:var(--border-size) solid var(--border-color);contain:content}.message{padding:var(--emoji-padding)}\";\n this.shadowRoot.appendChild(style);\n this._ctx = {\n // Set defaults\n locale: DEFAULT_LOCALE,\n dataSource: DEFAULT_DATA_SOURCE,\n skinToneEmoji: DEFAULT_SKIN_TONE_EMOJI,\n customCategorySorting: DEFAULT_CATEGORY_SORTING,\n customEmoji: null,\n i18n: enI18n,\n ...props\n };\n // Handle properties set before the element was upgraded\n for (const prop of PROPS) {\n if (prop !== 'database' && Object.prototype.hasOwnProperty.call(this, prop)) {\n this._ctx[prop] = this[prop];\n delete this[prop];\n }\n }\n this._dbFlush(); // wait for a flush before creating the db, in case the user calls e.g. a setter or setAttribute\n }\n\n connectedCallback () {\n this._cmp = new Picker({\n target: this.shadowRoot,\n props: this._ctx\n });\n }\n\n disconnectedCallback () {\n this._cmp.$destroy();\n this._cmp = undefined;\n\n const { database } = this._ctx;\n if (database) {\n database.close()\n // only happens if the database failed to load in the first place, so we don't care)\n .catch(err => console.error(err));\n }\n }\n\n static get observedAttributes () {\n return ['locale', 'data-source', 'skin-tone-emoji'] // complex objects aren't supported, also use kebab-case\n }\n\n attributeChangedCallback (attrName, oldValue, newValue) {\n // convert from kebab-case to camelcase\n // see https://github.com/sveltejs/svelte/issues/3852#issuecomment-665037015\n this._set(\n attrName.replace(/-([a-z])/g, (_, up) => up.toUpperCase()),\n newValue\n );\n }\n\n _set (prop, newValue) {\n this._ctx[prop] = newValue;\n if (this._cmp) {\n this._cmp.$set({ [prop]: newValue });\n }\n if (['locale', 'dataSource'].includes(prop)) {\n this._dbFlush();\n }\n }\n\n _dbCreate () {\n const { locale, dataSource, database } = this._ctx;\n // only create a new database if we really need to\n if (!database || database.locale !== locale || database.dataSource !== dataSource) {\n this._set('database', new Database({ locale, dataSource }));\n }\n }\n\n // Update the Database in one microtask if the locale/dataSource change. We do one microtask\n // so we don't create two Databases if e.g. both the locale and the dataSource change\n _dbFlush () {\n Promise.resolve().then(() => (\n this._dbCreate()\n ));\n }\n}\n\nconst definitions = {};\n\nfor (const prop of PROPS) {\n definitions[prop] = {\n get () {\n if (prop === 'database') {\n // in rare cases, the microtask may not be flushed yet, so we need to instantiate the DB\n // now if the user is asking for it\n this._dbCreate();\n }\n return this._ctx[prop]\n },\n set (val) {\n if (prop === 'database') {\n throw new Error('database is read-only')\n }\n this._set(prop, val);\n }\n };\n}\n\nObject.defineProperties(PickerElement.prototype, definitions);\n\n/* istanbul ignore else */\nif (!customElements.get('emoji-picker')) { // if already defined, do nothing (e.g. same script imported twice)\n customElements.define('emoji-picker', PickerElement);\n}\n\nexport { PickerElement as default };\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=2c0ab9be&\"\nimport script from \"./Loader.vue?vue&type=script&lang=js&\"\nexport * from \"./Loader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{\n\t\t'vac-box-search': _vm.showSearchBar,\n\t\t'vac-box-empty': !_vm.showSearchBar\n\t}},[(_vm.showSearch)?[(!_vm.loadingRooms && _vm.rooms.length)?_c('div',{staticClass:\"vac-icon-search\"},[_vm._t(\"search-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"search\"}})]})],2):_vm._e(),(!_vm.loadingRooms && _vm.rooms.length)?_c('input',{staticClass:\"vac-input\",attrs:{\"type\":\"search\",\"placeholder\":_vm.textMessages.SEARCH,\"autocomplete\":\"off\"},on:{\"input\":function($event){return _vm.$emit('search-room', $event)}}}):_vm._e()]:_vm._e(),(_vm.showAddRoom)?_c('div',{staticClass:\"vac-svg-button vac-add-icon\",on:{\"click\":function($event){return _vm.$emit('add-room')}}},[_vm._t(\"add-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"add\"}})]})],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"version\":\"1.1\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":(\"0 0 \" + _vm.size + \" \" + _vm.size)}},[_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path}}),(_vm.svgItem[_vm.name].path2)?_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path2}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SvgIcon.vue?vue&type=template&id=e01c0bf4&\"\nimport script from \"./SvgIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsSearch.vue?vue&type=template&id=1fc42a9b&\"\nimport script from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-container\"},[_vm._t(\"room-list-item\",function(){return [_vm._t(\"room-list-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_c('div',{staticClass:\"vac-name-container vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-title-container\"},[(_vm.userStatus)?_c('div',{staticClass:\"vac-state-circle\",class:{ 'vac-state-online': _vm.userStatus === 'online' }}):_vm._e(),_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.room.lastMessage)?_c('div',{staticClass:\"vac-text-date\"},[_vm._v(\" \"+_vm._s(_vm.room.lastMessage.timestamp)+\" \")]):_vm._e()]),_c('div',{staticClass:\"vac-text-last\",class:{\n\t\t\t\t\t'vac-message-new':\n\t\t\t\t\t\t_vm.room.lastMessage && _vm.room.lastMessage.new && !_vm.typingUsers\n\t\t\t\t}},[(_vm.isMessageCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.room.lastMessage.distributed\n\t\t\t\t\t\t\t\t\t? 'double-checkmark'\n\t\t\t\t\t\t\t\t\t: 'checkmark',\"param\":_vm.room.lastMessage.seen ? 'seen' : ''}})]},null,{ message: _vm.room.lastMessage })],2):_vm._e(),(_vm.room.lastMessage && !_vm.room.lastMessage.deleted && _vm.isAudio)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]}),_vm._v(\" \"+_vm._s(_vm.formattedDuration)+\" \")],2):(_vm.room.lastMessage)?_c('format-message',{attrs:{\"content\":_vm.getLastMessage,\"deleted\":!!_vm.room.lastMessage.deleted && !_vm.typingUsers,\"users\":_vm.room.users,\"linkify\":false,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"single-line\":true},scopedSlots:_vm._u([{key:\"deleted-icon\",fn:function(data){return [_vm._t(\"deleted-icon\",null,null,data)]}}],null,true)}):_vm._e(),(!_vm.room.lastMessage && _vm.typingUsers)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_vm._e(),_c('div',{staticClass:\"vac-room-options-container\"},[(_vm.room.unreadCount)?_c('div',{staticClass:\"vac-badge-counter vac-room-badge\"},[_vm._v(\" \"+_vm._s(_vm.room.unreadCount)+\" \")]):_vm._e(),_vm._t(\"room-list-options\",function(){return [(_vm.roomActions.length)?_c('div',{staticClass:\"vac-svg-button vac-list-room-options\",on:{\"click\":function($event){$event.stopPropagation();_vm.roomMenuOpened = _vm.room.roomId}}},[_vm._t(\"room-list-options-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"room\"}})]})],2):_vm._e(),(_vm.roomActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.roomMenuOpened === _vm.room.roomId)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeRoomMenu),expression:\"closeRoomMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.roomActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.roomActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]},null,{ room: _vm.room })],2)],1)])]},null,{ room: _vm.room })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-format-message-wrapper\",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:\"vac-format-container\"},[_c(message.url ? 'a' : 'span',{tag:\"component\",class:{\n\t\t\t\t\t'vac-text-ellipsis': _vm.singleLine,\n\t\t\t\t\t'vac-text-bold': message.bold,\n\t\t\t\t\t'vac-text-italic': _vm.deleted || message.italic,\n\t\t\t\t\t'vac-text-strike': message.strike,\n\t\t\t\t\t'vac-text-underline': message.underline,\n\t\t\t\t\t'vac-text-inline-code': !_vm.singleLine && message.inline,\n\t\t\t\t\t'vac-text-multiline-code': !_vm.singleLine && message.multiline,\n\t\t\t\t\t'vac-text-tag': !_vm.singleLine && !_vm.reply && message.tag\n\t\t\t\t},attrs:{\"href\":message.href,\"target\":message.href ? _vm.linkOptions.target : null,\"rel\":message.href ? _vm.linkOptions.rel : null},on:{\"click\":function($event){return _vm.openTag(message)}}},[_vm._t(\"deleted-icon\",function(){return [(_vm.deleted)?_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}}):_vm._e()]},null,{ deleted: _vm.deleted }),(message.url && message.image)?[_c('div',{staticClass:\"vac-image-link-container\"},[_c('div',{staticClass:\"vac-image-link\",style:({\n\t\t\t\t\t\t\t\t'background-image': (\"url('\" + (message.value) + \"')\"),\n\t\t\t\t\t\t\t\theight: message.height\n\t\t\t\t\t\t\t})})]),_c('div',{staticClass:\"vac-image-link-message\"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',[_vm._v(_vm._s(message.value))])]],2)],1)}),0):_c('div',[_vm._v(\" \"+_vm._s(_vm.formattedContent)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","const linkify = require('linkifyjs')\n// require('linkifyjs/plugins/hashtag')(linkify)\n\nexport default (text, doLinkify, textFormatting) => {\n\tconst typeMarkdown = {\n\t\tbold: textFormatting.bold,\n\t\titalic: textFormatting.italic,\n\t\tstrike: textFormatting.strike,\n\t\tunderline: textFormatting.underline,\n\t\tmultilineCode: textFormatting.multilineCode,\n\t\tinlineCode: textFormatting.inlineCode\n\t}\n\n\tconst pseudoMarkdown = {\n\t\t[typeMarkdown.bold]: {\n\t\t\tend: '\\\\' + typeMarkdown.bold,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'bold'\n\t\t},\n\t\t[typeMarkdown.italic]: {\n\t\t\tend: typeMarkdown.italic,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'italic'\n\t\t},\n\t\t[typeMarkdown.strike]: {\n\t\t\tend: typeMarkdown.strike,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'strike'\n\t\t},\n\t\t[typeMarkdown.underline]: {\n\t\t\tend: typeMarkdown.underline,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'underline'\n\t\t},\n\t\t[typeMarkdown.multilineCode]: {\n\t\t\tend: typeMarkdown.multilineCode,\n\t\t\tallowed_chars: '(.|\\n)',\n\t\t\ttype: 'multiline-code'\n\t\t},\n\t\t[typeMarkdown.inlineCode]: {\n\t\t\tend: typeMarkdown.inlineCode,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'inline-code'\n\t\t},\n\t\t'': {\n\t\t\tallowed_chars: '.',\n\t\t\tend: '',\n\t\t\ttype: 'tag'\n\t\t}\n\t}\n\n\tconst json = compileToJSON(text, pseudoMarkdown)\n\n\tconst html = compileToHTML(json, pseudoMarkdown)\n\n\tconst result = [].concat.apply([], html)\n\n\tif (doLinkify) linkifyResult(result)\n\n\treturn result\n}\n\nfunction compileToJSON(str, pseudoMarkdown) {\n\tlet result = []\n\tlet minIndexOf = -1\n\tlet minIndexOfKey = null\n\n\tlet links = linkify.find(str)\n\tlet minIndexFromLink = false\n\n\tif (links.length > 0) {\n\t\tminIndexOf = str.indexOf(links[0].value)\n\t\tminIndexFromLink = true\n\t}\n\n\tObject.keys(pseudoMarkdown).forEach(startingValue => {\n\t\tconst io = str.indexOf(startingValue)\n\t\tif (io >= 0 && (minIndexOf < 0 || io < minIndexOf)) {\n\t\t\tminIndexOf = io\n\t\t\tminIndexOfKey = startingValue\n\t\t\tminIndexFromLink = false\n\t\t}\n\t})\n\n\tif (minIndexFromLink && minIndexOfKey !== -1) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tlet strLink = str.substr(minIndexOf, links[0].value.length)\n\t\tlet strRight = str.substr(minIndexOf + links[0].value.length)\n\t\tresult.push(strLeft)\n\t\tresult.push(strLink)\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t}\n\n\tif (minIndexOfKey) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tconst char = minIndexOfKey\n\t\tlet strRight = str.substr(minIndexOf + char.length)\n\n\t\tif (str.replace(/\\s/g, '').length === char.length * 2) {\n\t\t\treturn [str]\n\t\t}\n\n\t\tconst match = strRight.match(\n\t\t\tnew RegExp(\n\t\t\t\t'^(' +\n\t\t\t\t\t(pseudoMarkdown[char].allowed_chars || '.') +\n\t\t\t\t\t'*' +\n\t\t\t\t\t(pseudoMarkdown[char].end ? '?' : '') +\n\t\t\t\t\t')' +\n\t\t\t\t\t(pseudoMarkdown[char].end\n\t\t\t\t\t\t? '(' + pseudoMarkdown[char].end + ')'\n\t\t\t\t\t\t: ''),\n\t\t\t\t'm'\n\t\t\t)\n\t\t)\n\t\tif (!match || !match[1]) {\n\t\t\tstrLeft = strLeft + char\n\t\t\tresult.push(strLeft)\n\t\t} else {\n\t\t\tif (strLeft) {\n\t\t\t\tresult.push(strLeft)\n\t\t\t}\n\t\t\tconst object = {\n\t\t\t\tstart: char,\n\t\t\t\tcontent: compileToJSON(match[1], pseudoMarkdown),\n\t\t\t\tend: match[2],\n\t\t\t\ttype: pseudoMarkdown[char].type\n\t\t\t}\n\t\t\tresult.push(object)\n\t\t\tstrRight = strRight.substr(match[0].length)\n\t\t}\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t} else {\n\t\tif (str) {\n\t\t\treturn [str]\n\t\t} else {\n\t\t\treturn []\n\t\t}\n\t}\n}\n\nfunction compileToHTML(json, pseudoMarkdown) {\n\tconst result = []\n\n\tjson.forEach(item => {\n\t\tif (typeof item === 'string') {\n\t\t\tresult.push({ types: [], value: item })\n\t\t} else {\n\t\t\tif (pseudoMarkdown[item.start]) {\n\t\t\t\tresult.push(parseContent(item))\n\t\t\t}\n\t\t}\n\t})\n\n\treturn result\n}\n\nfunction parseContent(item) {\n\tconst result = []\n\titerateContent(item, result, [])\n\treturn result\n}\n\nfunction iterateContent(item, result, types) {\n\titem.content.forEach(it => {\n\t\tif (typeof it === 'string') {\n\t\t\tresult.push({\n\t\t\t\ttypes: removeDuplicates(types.concat([item.type])),\n\t\t\t\tvalue: it\n\t\t\t})\n\t\t} else {\n\t\t\titerateContent(\n\t\t\t\tit,\n\t\t\t\tresult,\n\t\t\t\tremoveDuplicates([it.type].concat([item.type]).concat(types))\n\t\t\t)\n\t\t}\n\t})\n}\n\nfunction removeDuplicates(items) {\n\treturn [...new Set(items)]\n}\n\nfunction linkifyResult(array) {\n\tconst result = []\n\n\tarray.forEach(arr => {\n\t\tconst links = linkify.find(arr.value)\n\n\t\tif (links.length) {\n\t\t\tconst spaces = arr.value.replace(links[0].value, '')\n\t\t\tresult.push({ types: arr.types, value: spaces })\n\n\t\t\tarr.types = ['url'].concat(arr.types)\n\t\t\tarr.href = links[0].href\n\t\t\tarr.value = links[0].value\n\t\t}\n\n\t\tresult.push(arr)\n\t})\n\n\treturn result\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormatMessage.vue?vue&type=template&id=934b3d7e&\"\nimport script from \"./FormatMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./FormatMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (room, currentUserId, textMessages) => {\n\tif (room.typingUsers && room.typingUsers.length) {\n\t\tconst typingUsers = room.users.filter(user => {\n\t\t\tif (user._id === currentUserId) return\n\t\t\tif (room.typingUsers.indexOf(user._id) === -1) return\n\t\t\tif (user.status && user.status.state === 'offline') return\n\t\t\treturn true\n\t\t})\n\n\t\tif (!typingUsers.length) return\n\n\t\tif (room.users.length === 2) {\n\t\t\treturn textMessages.IS_TYPING\n\t\t} else {\n\t\t\treturn (\n\t\t\t\ttypingUsers.map(user => user.username).join(', ') +\n\t\t\t\t' ' +\n\t\t\t\ttextMessages.IS_TYPING\n\t\t\t)\n\t\t}\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomContent.vue?vue&type=template&id=6888cbad&\"\nimport script from \"./RoomContent.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (items, prop, val, startsWith = false) => {\n\tif (!val || val === '') return items\n\n\treturn items.filter(v => {\n\t\tif (startsWith) return formatString(v[prop]).startsWith(formatString(val))\n\t\treturn formatString(v[prop]).includes(formatString(val))\n\t})\n}\n\nfunction formatString(string) {\n\treturn string\n\t\t.toLowerCase()\n\t\t.normalize('NFD')\n\t\t.replace(/[\\u0300-\\u036f]/g, '')\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsList.vue?vue&type=template&id=e9cbf0d4&\"\nimport script from \"./RoomsList.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isMobile && !_vm.showRoomsList) || !_vm.isMobile || _vm.singleRoom),expression:\"(isMobile && !showRoomsList) || !isMobile || singleRoom\"}],staticClass:\"vac-col-messages\",on:{\"touchstart\":_vm.touchStart}},[(_vm.showNoRoom)?_vm._t(\"no-room-selected\",function(){return [_c('div',{staticClass:\"vac-container-center vac-room-empty\"},[_c('div',[_vm._v(_vm._s(_vm.textMessages.ROOM_EMPTY))])])]}):_c('room-header',{attrs:{\"current-user-id\":_vm.currentUserId,\"text-messages\":_vm.textMessages,\"single-room\":_vm.singleRoom,\"show-rooms-list\":_vm.showRoomsList,\"is-mobile\":_vm.isMobile,\"room-info-enabled\":_vm.roomInfoEnabled,\"menu-actions\":_vm.menuActions,\"room\":_vm.room,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"message-selection-actions\":_vm.messageSelectionActions,\"selected-messages-total\":_vm.selectedMessages.length},on:{\"toggle-rooms-list\":function($event){return _vm.$emit('toggle-rooms-list')},\"room-info\":function($event){return _vm.$emit('room-info')},\"menu-action-handler\":function($event){return _vm.$emit('menu-action-handler', $event)},\"message-selection-action-handler\":_vm.messageSelectionActionHandler,\"cancel-message-selection\":function($event){_vm.messageSelectionEnabled = false}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{ref:\"scrollContainer\",staticClass:\"vac-container-scroll\",attrs:{\"id\":\"messages-list\"},on:{\"scroll\":_vm.onContainerScroll}},[_c('loader',{attrs:{\"show\":_vm.loadingMessages},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-messages-container\"},[_c('div',{class:{ 'vac-messages-hidden': _vm.loadingMessages }},[_c('transition',{attrs:{\"name\":\"vac-fade-message\"}},[_c('div',[(_vm.showNoMessages)?_c('div',{staticClass:\"vac-text-started\"},[_vm._t(\"messages-empty\",function(){return [_vm._v(\" \"+_vm._s(_vm.textMessages.MESSAGES_EMPTY)+\" \")]})],2):_vm._e(),(_vm.showMessagesStarted)?_c('div',{staticClass:\"vac-text-started\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.CONVERSATION_STARTED)+\" \"+_vm._s(_vm.messages[0].date)+\" \")]):_vm._e()])]),(_vm.messages.length && !_vm.messagesLoaded)?_c('div',{attrs:{\"id\":\"infinite-loader-messages\"}},[_c('loader',{attrs:{\"show\":true,\"infinite\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e(),_c('transition-group',{key:_vm.roomId,attrs:{\"name\":\"vac-fade-message\",\"tag\":\"span\"}},_vm._l((_vm.messages),function(m,i){return _c('div',{key:m.indexId || m._id},[_c('room-message',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":m,\"index\":i,\"messages\":_vm.messages,\"edited-message-id\":_vm.editedMessageId,\"message-actions\":_vm.messageActions,\"room-users\":_vm.room.users,\"text-messages\":_vm.textMessages,\"new-messages\":_vm.newMessages,\"show-reaction-emojis\":_vm.showReactionEmojis,\"show-new-messages-divider\":_vm.showNewMessagesDivider,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"username-options\":_vm.usernameOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"selected-messages\":_vm.selectedMessages},on:{\"message-added\":_vm.onMessageAdded,\"message-action-handler\":_vm.messageActionHandler,\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag,\"open-failed-message\":function($event){return _vm.$emit('open-failed-message', $event)},\"send-message-reaction\":_vm.sendMessageReaction,\"select-message\":_vm.selectMessage,\"unselect-message\":_vm.unselectMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),0)],1)])],1),(!_vm.loadingMessages)?_c('div',[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollIcon)?_c('div',{staticClass:\"vac-icon-scroll\",on:{\"click\":_vm.scrollToBottom}},[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollMessagesCount)?_c('div',{staticClass:\"vac-badge-counter vac-messages-count\"},[_vm._v(\" \"+_vm._s(_vm.scrollMessagesCount)+\" \")]):_vm._e()]),_vm._t(\"scroll-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"scroll\"}})]})],2):_vm._e()])],1):_vm._e(),_c('room-footer',{attrs:{\"room\":_vm.room,\"room-id\":_vm.roomId,\"room-message\":_vm.roomMessage,\"text-messages\":_vm.textMessages,\"show-send-icon\":_vm.showSendIcon,\"show-files\":_vm.showFiles,\"show-audio\":_vm.showAudio,\"show-emojis\":_vm.showEmojis,\"show-footer\":_vm.showFooter,\"accepted-files\":_vm.acceptedFiles,\"textarea-action-enabled\":_vm.textareaActionEnabled,\"user-tags-enabled\":_vm.userTagsEnabled,\"emojis-suggestion-enabled\":_vm.emojisSuggestionEnabled,\"templates-text\":_vm.templatesText,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"audio-bit-rate\":_vm.audioBitRate,\"audio-sample-rate\":_vm.audioSampleRate,\"init-reply-message\":_vm.initReplyMessage,\"init-edit-message\":_vm.initEditMessage},on:{\"update-edited-message-id\":function($event){_vm.editedMessageId = $event},\"edit-message\":function($event){return _vm.$emit('edit-message', $event)},\"send-message\":function($event){return _vm.$emit('send-message', $event)},\"typing-message\":function($event){return _vm.$emit('typing-message', $event)},\"textarea-action-handler\":function($event){return _vm.$emit('textarea-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-header vac-app-border-b\"},[_vm._t(\"room-header\",function(){return [_c('div',{staticClass:\"vac-room-wrapper\"},[_c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageSelectionEnabled)?_c('div',{staticClass:\"vac-room-selection\"},[_vm._l((_vm.messageSelectionActions),function(action){return _c('div',{key:action.name,attrs:{\"id\":action.name}},[_c('div',{staticClass:\"vac-selection-button\",on:{\"click\":function($event){return _vm.messageSelectionActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \"),_c('span',{staticClass:\"vac-selection-button-count\"},[_vm._v(\" \"+_vm._s(_vm.selectedMessagesTotal)+\" \")])])])}),_c('div',{staticClass:\"vac-selection-cancel vac-item-clickable\",on:{\"click\":function($event){return _vm.$emit('cancel-message-selection')}}},[_vm._v(\" \"+_vm._s(_vm.textMessages.CANCEL_SELECT_MESSAGE)+\" \")])],2):_vm._e()]),(!_vm.messageSelectionEnabled && _vm.messageSelectionAnimationEnded)?[(!_vm.singleRoom)?_c('div',{staticClass:\"vac-svg-button vac-toggle-button\",class:{ 'vac-rotate-icon-init': !_vm.isMobile, 'vac-rotate-icon': !_vm.showRoomsList && !_vm.isMobile },on:{\"click\":function($event){return _vm.$emit('toggle-rooms-list')}}},[_vm._t(\"toggle-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"toggle\"}})]})],2):_vm._e(),_c('div',{staticClass:\"vac-info-wrapper\",class:{ 'vac-item-clickable': _vm.roomInfoEnabled },on:{\"click\":function($event){return _vm.$emit('room-info')}}},[_vm._t(\"room-header-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_vm._t(\"room-header-info\",function(){return [_c('div',{staticClass:\"vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.typingUsers)?_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.userStatus)+\" \")])])]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2),(_vm.room.roomId)?_vm._t(\"room-options\",function(){return [(_vm.menuActions.length)?_c('div',{staticClass:\"vac-svg-button vac-room-options\",on:{\"click\":function($event){_vm.menuOpened = !_vm.menuOpened}}},[_vm._t(\"menu-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"menu\"}})]})],2):_vm._e(),(_vm.menuActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.menuOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.menuActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.menuActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]}):_vm._e()]:_vm._e()],2)]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\t\t\t\n\t\t\n\t\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomHeader.vue?vue&type=template&id=938fbc28&\"\nimport script from \"./RoomHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(Object.keys(_vm.room).length && _vm.showFooter),expression:\"Object.keys(room).length && showFooter\"}],staticClass:\"vac-room-footer\",class:{\n\t\t'vac-app-box-shadow': _vm.shadowFooter\n\t},attrs:{\"id\":\"room-footer\"}},[_c('room-emojis',{attrs:{\"filtered-emojis\":_vm.filteredEmojis,\"select-item\":_vm.selectEmojiItem,\"active-up-or-down\":_vm.activeUpOrDownEmojis},on:{\"select-emoji\":function($event){return _vm.selectEmoji($event)},\"activate-item\":function($event){_vm.activeUpOrDownEmojis = 0}}}),_c('room-users-tag',{attrs:{\"filtered-users-tag\":_vm.filteredUsersTag,\"select-item\":_vm.selectUsersTagItem,\"active-up-or-down\":_vm.activeUpOrDownUsersTag},on:{\"select-user-tag\":function($event){return _vm.selectUserTag($event)},\"activate-item\":function($event){_vm.activeUpOrDownUsersTag = 0}}}),_c('room-templates-text',{attrs:{\"filtered-templates-text\":_vm.filteredTemplatesText,\"select-item\":_vm.selectTemplatesTextItem,\"active-up-or-down\":_vm.activeUpOrDownTemplatesText},on:{\"select-template-text\":function($event){return _vm.selectTemplateText($event)},\"activate-item\":function($event){_vm.activeUpOrDownTemplatesText = 0}}}),_c('room-message-reply',{attrs:{\"room\":_vm.room,\"message-reply\":_vm.messageReply,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('room-files',{attrs:{\"files\":_vm.files},on:{\"remove-file\":_vm.removeFile,\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-box-footer\",class:{ 'vac-box-footer-border': !_vm.files.length }},[(_vm.showAudio && !_vm.files.length)?_c('div',{staticClass:\"vac-icon-textarea-left\"},[(_vm.isRecording)?[_c('div',{staticClass:\"vac-svg-button vac-icon-audio-stop\",on:{\"click\":_vm.stopRecorder}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2),_c('div',{staticClass:\"vac-dot-audio-record\"}),_c('div',{staticClass:\"vac-dot-audio-record-time\"},[_vm._v(\" \"+_vm._s(_vm.recordedTime)+\" \")]),_c('div',{staticClass:\"vac-svg-button vac-icon-audio-confirm\",on:{\"click\":function($event){return _vm.toggleRecorder(false)}}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"checkmark\"}})]})],2)]:_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.toggleRecorder(true)}}},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]})],2)],2):_vm._e(),_c('textarea',{ref:\"roomTextarea\",staticClass:\"vac-textarea\",class:{\n\t\t\t\t'vac-textarea-outline': _vm.editedMessage._id\n\t\t\t},style:({\n\t\t\t\t'min-height': \"20px\",\n\t\t\t\t'padding-left': \"12px\"\n\t\t\t}),attrs:{\"id\":\"roomTextarea\",\"placeholder\":_vm.textMessages.TYPE_MESSAGE},on:{\"input\":_vm.onChangeInput,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.escapeTextarea.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.updateActiveUpOrDown(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.updateActiveUpOrDown(1)}],\"paste\":_vm.onPasteImage}}),_c('div',{staticClass:\"vac-icon-textarea\"},[(_vm.editedMessage._id)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.resetMessage}},[_vm._t(\"edit-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2):_vm._e(),(_vm.showEmojis)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(function () { return (_vm.emojiOpened = false); }),expression:\"() => (emojiOpened = false)\"}]},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{attrs:{\"emoji-opened\":_vm.emojiOpened,\"position-top\":true},on:{\"add-emoji\":_vm.addEmoji,\"open-emoji\":function($event){_vm.emojiOpened = $event}},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.addEmoji},{ emojiOpened: _vm.emojiOpened })],2):_vm._e(),(_vm.showFiles)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.launchFilePicker}},[_vm._t(\"paperclip-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"paperclip\"}})]})],2):_vm._e(),(_vm.textareaActionEnabled)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.textareaActionHandler}},[_vm._t(\"custom-action-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"deleted\"}})]})],2):_vm._e(),(_vm.showFiles)?_c('input',{ref:\"file\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\",\"accept\":_vm.acceptedFiles},on:{\"change\":function($event){return _vm.onFileChange($event.target.files)}}}):_vm._e(),(_vm.showSendIcon)?_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-send-disabled': _vm.isMessageEmpty },on:{\"click\":_vm.sendMessage}},[_vm._t(\"send-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"send\",\"param\":_vm.isMessageEmpty || _vm.isFileLoading ? 'disabled' : ''}})]})],2):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import Picker from './picker.js'\nimport Database from './database.js'\nexport { Picker, Database }\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-emoji-wrapper\"},[_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{\"click\":_vm.openEmoji}},[_vm._t(\"emoji-picker-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"emoji\",\"param\":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{\"name\":\"vac-slide-up\",\"appear\":\"\"}},[_c('div',{staticClass:\"vac-emoji-picker\",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({\n\t\t\t\t\theight: (_vm.emojiPickerHeight + \"px\"),\n\t\t\t\t\ttop: _vm.positionTop ? _vm.emojiPickerHeight : (_vm.emojiPickerTop + \"px\"),\n\t\t\t\t\tright: _vm.emojiPickerRight,\n\t\t\t\t\tdisplay: _vm.emojiPickerTop || !_vm.emojiReaction ? 'initial' : 'none'\n\t\t\t\t})},[(_vm.emojiOpened)?_c('emoji-picker',{ref:\"emojiPicker\"}):_vm._e()],1)])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmojiPickerContainer.vue?vue&type=template&id=4b3cfd82&\"\nimport script from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.files.length)?_c('div',{staticClass:\"vac-room-files-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-files-box\"},_vm._l((_vm.files),function(file,i){return _c('div',{key:i},[_c('room-file',{attrs:{\"file\":file,\"index\":i},on:{\"remove-file\":function($event){return _vm.$emit('remove-file', $event)}}})],1)}),0),_c('div',{staticClass:\"vac-icon-close\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-file-container\"},[_c('loader',{attrs:{\"show\":_vm.file.loading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-svg-button vac-icon-remove\",on:{\"click\":function($event){return _vm.$emit('remove-file', _vm.index)}}},[_vm._t(\"image-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close\",\"param\":\"image\"}})]})],2),(_vm.isImage)?_c('div',{staticClass:\"vac-message-image\",class:{ 'vac-blur-loading': _vm.file.loading },style:({\n\t\t\t'background-image': (\"url('\" + (_vm.file.localUrl || _vm.file.url) + \"')\")\n\t\t})}):(_vm.isVideo)?_c('video',{class:{ 'vac-blur-loading': _vm.file.loading },attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.localUrl || _vm.file.url}})]):_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-blur-loading': _vm.file.loading }},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.file.name)+\" \")]),(_vm.file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.file.extension)+\" \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFile.vue?vue&type=template&id=c0a62836&\"\nimport script from \"./RoomFile.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFiles.vue?vue&type=template&id=60413016&\"\nimport script from \"./RoomFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageReply)?_c('div',{staticClass:\"vac-reply-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-reply-box\"},[_c('div',{staticClass:\"vac-reply-info\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.messageReply.username)+\" \")]),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.messageReply.content,\"users\":_vm.room.users,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)]),(_vm.isImage)?_c('img',{staticClass:\"vac-image-reply\",attrs:{\"src\":_vm.firstFile.url}}):(_vm.isVideo)?_c('video',{staticClass:\"vac-image-reply\",attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})]):(_vm.isAudio)?_c('audio-player',{staticClass:\"vac-audio-reply\",attrs:{\"src\":_vm.firstFile.url},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-image-reply vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"vac-icon-reply\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"vac-audio-player\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.playback}},[(_vm.isPlaying)?_vm._t(\"audio-pause-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-pause\"}})]}):_vm._t(\"audio-play-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-play\"}})]})],2),_c('audio-control',{attrs:{\"percentage\":_vm.progress,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"change-linehead\":_vm.onUpdateProgress,\"hover-audio-progress\":function($event){return _vm.$emit('hover-audio-progress', $event)}}}),_c('audio',{attrs:{\"id\":_vm.playerUniqId,\"src\":_vm.audioSource}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"progress\",staticClass:\"vac-player-bar\",on:{\"mousedown\":_vm.onMouseDown,\"mouseover\":function($event){return _vm.$emit('hover-audio-progress', true)},\"mouseout\":function($event){return _vm.$emit('hover-audio-progress', false)}}},[_c('div',{staticClass:\"vac-player-progress\"},[_c('div',{staticClass:\"vac-line-container\"},[_c('div',{staticClass:\"vac-line-progress\",style:({ width: (_vm.percentage + \"%\") })}),_c('div',{staticClass:\"vac-line-dot\",class:{ 'vac-line-dot__active': _vm.isMouseDown },style:({ left: (_vm.percentage + \"%\") })})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=1721db79&\"\nimport script from \"./AudioControl.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioControl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioPlayer.vue?vue&type=template&id=d8b85268&\"\nimport script from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessageReply.vue?vue&type=template&id=86b41b08&\"\nimport script from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredUsersTag.length)?_c('div',{staticClass:\"vac-tags-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredUsersTag),function(user,index){return _c('div',{key:user._id,staticClass:\"vac-tags-box\",class:{ 'vac-tags-box-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-user-tag', user)}}},[_c('div',{staticClass:\"vac-tags-info\"},[(user.avatar)?_c('div',{staticClass:\"vac-avatar vac-tags-avatar\",style:({ 'background-image': (\"url('\" + (user.avatar) + \"')\") })}):_vm._e(),_c('div',{staticClass:\"vac-tags-username\"},[_vm._v(\" \"+_vm._s(user.username)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomUsersTag.vue?vue&type=template&id=082c6732&\"\nimport script from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredEmojis.length)?_c('div',{staticClass:\"vac-emojis-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredEmojis),function(emoji,index){return _c('div',{key:emoji,staticClass:\"vac-emoji-element\",class:{ 'vac-emoji-element-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-emoji', emoji)}}},[_vm._v(\" \"+_vm._s(emoji)+\" \")])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomEmojis.vue?vue&type=template&id=b6026542&\"\nimport script from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredTemplatesText.length)?_c('div',{staticClass:\"vac-template-container vac-app-box-shadow\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredTemplatesText),function(template,index){return _c('div',{key:index,staticClass:\"vac-template-box\",class:{ 'vac-template-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-template-text', template)}}},[_c('div',{staticClass:\"vac-template-info\"},[_c('div',{staticClass:\"vac-template-tag\"},[_vm._v(\" /\"+_vm._s(template.tag)+\" \")]),_c('div',{staticClass:\"vac-template-text\"},[_vm._v(\" \"+_vm._s(template.text)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomTemplatesText.vue?vue&type=template&id=113f1c86&\"\nimport script from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nlet lamejs\ntry {\n\tlamejs = require('lamejs')\n} catch (_) {\n\tlamejs = { missing: true }\n}\n\nconst { Mp3Encoder } = lamejs\n\nexport default class {\n\tconstructor(config) {\n\t\tif (lamejs.missing) {\n\t\t\tthrow new Error(\n\t\t\t\t'You must add lamejs in your dependencies to use the audio recorder. Please run \"npm install lamejs --save\"'\n\t\t\t)\n\t\t}\n\n\t\tthis.bitRate = config.bitRate\n\t\tthis.sampleRate = config.sampleRate\n\t\tthis.dataBuffer = []\n\t\tthis.encoder = new Mp3Encoder(1, this.sampleRate, this.bitRate)\n\t}\n\n\tencode(arrayBuffer) {\n\t\tconst maxSamples = 1152\n\t\tconst samples = this._convertBuffer(arrayBuffer)\n\t\tlet remaining = samples.length\n\n\t\tfor (let i = 0; remaining >= 0; i += maxSamples) {\n\t\t\tconst left = samples.subarray(i, i + maxSamples)\n\t\t\tconst buffer = this.encoder.encodeBuffer(left)\n\t\t\tthis.dataBuffer.push(new Int8Array(buffer))\n\t\t\tremaining -= maxSamples\n\t\t}\n\t}\n\n\tfinish() {\n\t\tthis.dataBuffer.push(this.encoder.flush())\n\t\tconst blob = new Blob(this.dataBuffer, { type: 'audio/mp3' })\n\t\tthis.dataBuffer = []\n\n\t\treturn {\n\t\t\tid: Date.now(),\n\t\t\tblob: blob,\n\t\t\turl: URL.createObjectURL(blob)\n\t\t}\n\t}\n\n\t_floatTo16BitPCM(input, output) {\n\t\tfor (let i = 0; i < input.length; i++) {\n\t\t\tconst s = Math.max(-1, Math.min(1, input[i]))\n\t\t\toutput[i] = s < 0 ? s * 0x8000 : s * 0x7fff\n\t\t}\n\t}\n\n\t_convertBuffer(arrayBuffer) {\n\t\tconst data = new Float32Array(arrayBuffer)\n\t\tconst out = new Int16Array(arrayBuffer.length)\n\t\tthis._floatTo16BitPCM(data, out)\n\t\treturn out\n\t}\n}\n","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nimport Mp3Encoder from './mp3-encoder'\n\nexport default class {\n\tconstructor(options = {}) {\n\t\tthis.beforeRecording = options.beforeRecording\n\t\tthis.pauseRecording = options.pauseRecording\n\t\tthis.afterRecording = options.afterRecording\n\t\tthis.micFailed = options.micFailed\n\n\t\tthis.encoderOptions = {\n\t\t\tbitRate: options.bitRate,\n\t\t\tsampleRate: options.sampleRate\n\t\t}\n\n\t\tthis.bufferSize = 4096\n\t\tthis.records = []\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.duration = 0\n\t\tthis.volume = 0\n\n\t\tthis._duration = 0\n\t}\n\n\tstart() {\n\t\tconst constraints = {\n\t\t\tvideo: false,\n\t\t\taudio: {\n\t\t\t\tchannelCount: 1,\n\t\t\t\techoCancellation: false\n\t\t\t}\n\t\t}\n\n\t\tthis.beforeRecording && this.beforeRecording('start recording')\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia(constraints)\n\t\t\t.then(this._micCaptured.bind(this))\n\t\t\t.catch(this._micError.bind(this))\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = true\n\n\t\tif (!this.lameEncoder) {\n\t\t\tthis.lameEncoder = new Mp3Encoder(this.encoderOptions)\n\t\t}\n\t}\n\n\tstop() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\t\tthis.context.close()\n\n\t\tlet record = null\n\n\t\trecord = this.lameEncoder.finish()\n\n\t\trecord.duration = this.duration\n\t\tthis.records.push(record)\n\n\t\tthis._duration = 0\n\t\tthis.duration = 0\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.afterRecording && this.afterRecording(record)\n\t}\n\n\tpause() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\n\t\tthis._duration = this.duration\n\t\tthis.isPause = true\n\n\t\tthis.pauseRecording && this.pauseRecording('pause recording')\n\t}\n\n\t_micCaptured(stream) {\n\t\tthis.context = new (window.AudioContext || window.webkitAudioContext)()\n\t\tthis.duration = this._duration\n\t\tthis.input = this.context.createMediaStreamSource(stream)\n\t\tthis.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1)\n\t\tthis.stream = stream\n\n\t\tthis.processor.onaudioprocess = ev => {\n\t\t\tconst sample = ev.inputBuffer.getChannelData(0)\n\t\t\tlet sum = 0.0\n\n\t\t\tif (this.lameEncoder) {\n\t\t\t\tthis.lameEncoder.encode(sample)\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < sample.length; ++i) {\n\t\t\t\tsum += sample[i] * sample[i]\n\t\t\t}\n\n\t\t\tthis.duration =\n\t\t\t\tparseFloat(this._duration) +\n\t\t\t\tparseFloat(this.context.currentTime.toFixed(2))\n\t\t\tthis.volume = Math.sqrt(sum / sample.length).toFixed(2)\n\t\t}\n\n\t\tthis.input.connect(this.processor)\n\t\tthis.processor.connect(this.context.destination)\n\t}\n\n\t_micError(error) {\n\t\tthis.micFailed && this.micFailed(error)\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFooter.vue?vue&type=template&id=457f6483&\"\nimport script from \"./RoomFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFooter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"message\",staticClass:\"vac-message-wrapper\",attrs:{\"id\":_vm.message._id}},[(_vm.showDate)?_c('div',{staticClass:\"vac-card-info vac-card-date\"},[_vm._v(\" \"+_vm._s(_vm.message.date)+\" \")]):_vm._e(),(_vm.newMessage._id === _vm.message._id)?_c('div',{staticClass:\"vac-line-new\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.NEW_MESSAGES)+\" \")]):_vm._e(),(_vm.message.system)?_c('div',{staticClass:\"vac-card-info vac-card-system\"},[_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_c('div',{staticClass:\"vac-message-box\",class:{ 'vac-offset-current': _vm.message.senderId === _vm.currentUserId },on:{\"click\":_vm.selectMessage}},[_vm._t(\"message\",function(){return [(_vm.message.avatar && _vm.message.senderId !== _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasSenderUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-offset\"}):_vm._e(),_c('div',{staticClass:\"vac-message-container\",class:{\n\t\t\t\t\t'vac-message-container-offset': _vm.messageOffset\n\t\t\t\t}},[_c('div',{staticClass:\"vac-message-card\",class:{\n\t\t\t\t\t\t'vac-message-highlight': _vm.isMessageHover,\n\t\t\t\t\t\t'vac-message-current': _vm.message.senderId === _vm.currentUserId,\n\t\t\t\t\t\t'vac-message-deleted': _vm.message.deleted,\n\t\t\t\t\t\t'vac-item-clickable': _vm.messageSelectionEnabled,\n\t\t\t\t\t\t'vac-message-selected': _vm.isMessageSelected\n\t\t\t\t\t},on:{\"mouseover\":_vm.onHoverMessage,\"mouseleave\":_vm.onLeaveMessage}},[(_vm.showUsername)?_c('div',{staticClass:\"vac-text-username\",class:{\n\t\t\t\t\t\t\t'vac-username-reply': !_vm.message.deleted && _vm.message.replyMessage\n\t\t\t\t\t\t}},[_c('span',[_vm._v(_vm._s(_vm.message.username))])]):_vm._e(),(!_vm.message.deleted && _vm.message.replyMessage)?_c('message-reply',{attrs:{\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),(_vm.message.deleted)?_c('div',[_vm._t(\"deleted-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}})]}),_c('span',[_vm._v(_vm._s(_vm.textMessages.MESSAGE_DELETED))])],2):(!_vm.message.files || !_vm.message.files.length)?_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(!_vm.isAudio || _vm.message.files.length > 1)?_c('message-files',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):[_c('audio-player',{attrs:{\"message-id\":_vm.message._id,\"src\":_vm.message.files[0].url,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.message.deleted)?_c('div',{staticClass:\"vac-progress-time\"},[_vm._v(\" \"+_vm._s(_vm.progressTime)+\" \")]):_vm._e()],_c('div',{staticClass:\"vac-text-timestamp\"},[(_vm.message.edited && !_vm.message.deleted)?_c('div',{staticClass:\"vac-icon-edited\"},[_vm._t(\"pencil-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"pencil\"}})]})],2):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.message.timestamp))]),(_vm.isCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.message.distributed ? 'double-checkmark' : 'checkmark',\"param\":_vm.message.seen ? 'seen' : ''}})]},null,{ message: _vm.message })],2):_vm._e()]),_c('message-actions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"message-actions\":_vm.messageActions,\"show-reaction-emojis\":_vm.showReactionEmojis,\"message-hover\":_vm.messageHover,\"hover-message-id\":_vm.hoverMessageId,\"hover-audio-progress\":_vm.hoverAudioProgress},on:{\"update-message-hover\":function($event){_vm.messageHover = $event},\"update-options-opened\":function($event){_vm.optionsOpened = $event},\"update-emoji-opened\":function($event){_vm.emojiOpened = $event},\"message-action-handler\":_vm.messageActionHandler,\"send-message-reaction\":_vm.sendMessageReaction},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2),_c('message-reactions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message},on:{\"send-message-reaction\":_vm.sendMessageReaction}})],1),_vm._t(\"message-failure\",function(){return [(_vm.message.failure && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-failure-container vac-svg-button\",class:{\n\t\t\t\t\t\t'vac-failure-container-avatar':\n\t\t\t\t\t\t\t_vm.message.avatar && _vm.message.senderId === _vm.currentUserId\n\t\t\t\t\t},on:{\"click\":function($event){return _vm.$emit('open-failed-message', { message: _vm.message })}}},[_c('div',{staticClass:\"vac-failure-text\"},[_vm._v(\" ! \")])]):_vm._e()]},null,{ message: _vm.message }),(_vm.message.avatar && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar vac-avatar-current\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasCurrentUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-current-offset\"}):_vm._e()]},null,{ message: _vm.message })],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-reply-message\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.replyUsername)+\" \")]),(_vm.isImage)?_c('div',{staticClass:\"vac-image-reply-container\"},[_c('div',{staticClass:\"vac-message-image vac-message-image-reply\",style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.firstFile.url) + \"')\")\n\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-reply-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})])]):(_vm.isAudio)?_c('audio-player',{attrs:{\"src\":_vm.firstFile.url},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.message.replyMessage.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReply.vue?vue&type=template&id=514045b4&\"\nimport script from \"./MessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-files-container\"},[_vm._l((_vm.imageVideoFiles),function(file,idx){return _c('div',{key:idx + 'iv'},[_c('message-file',{attrs:{\"file\":file,\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"index\":idx,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":function($event){return _vm.$emit('open-file', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_vm._l((_vm.otherFiles),function(file,idx){return _c('div',{key:idx + 'a',staticClass:\"vac-file-wrapper\"},[(file.progress >= 0)?_c('progress-bar',{style:({ top: '44px' }),attrs:{\"progress\":file.progress}}):_vm._e(),_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-file-container-progress': file.progress >= 0 },on:{\"click\":function($event){return _vm.openFile($event, file, 'download')}}},[_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(file.name)+\" \")]),(file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(file.extension)+\" \")]):_vm._e()])],1)}),_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":function($event){return _vm.$emit('open-user-tag', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-fade-spinner\",\"appear\":\"\"}},[_c('div',{ref:\"progress\",staticClass:\"vac-progress-wrapper\"},[_c('svg',{attrs:{\"height\":_vm.radius * 2,\"width\":_vm.radius * 2}},[_c('circle',{style:({\n\t\t\t\t\tstrokeDashoffset: _vm.strokeDashoffset,\n\t\t\t\t\tstrokeLinecap: 'round'\n\t\t\t\t}),attrs:{\"stroke\":\"rgba(255, 255, 255, 0.7)\",\"stroke-dasharray\":_vm.circumference + ' ' + _vm.circumference,\"stroke-width\":_vm.stroke,\"fill\":\"transparent\",\"r\":_vm.normalizedRadius,\"cx\":_vm.radius,\"cy\":_vm.radius}})]),_c('div',{staticClass:\"vac-progress-content\",style:({\n\t\t\t\theight: _vm.radius * 2 - 19 + 'px',\n\t\t\t\twidth: _vm.radius * 2 - 19 + 'px'\n\t\t\t})},[_c('div',{staticClass:\"vac-progress-text\"},[_vm._v(\" \"+_vm._s(_vm.progress)),_c('span',{staticClass:\"vac-progress-pourcent\"},[_vm._v(\"%\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressBar.vue?vue&type=template&id=561521ed&\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-file-container\"},[(_vm.isImage)?_c('div',{ref:'imageRef' + _vm.index,staticClass:\"vac-message-image-container\",on:{\"mouseover\":function($event){_vm.imageHover = true},\"mouseleave\":function($event){_vm.imageHover = false},\"click\":function($event){return _vm.openFile($event, 'preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"progress\":_vm.file.progress}}):_c('loader',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"show\":_vm.isImageLoading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-message-image\",class:{\n\t\t\t\t'vac-blur-loading':\n\t\t\t\t\t_vm.isImageLoading && _vm.message.senderId === _vm.currentUserId\n\t\t\t},style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.isImageLoading ? _vm.file.preview || _vm.file.url : _vm.file.url) + \"')\"),\n\t\t\t\t'max-height': ((_vm.imageResponsive.maxHeight) + \"px\")\n\t\t\t})},[_c('transition',{attrs:{\"name\":\"vac-fade-image\"}},[(!_vm.messageSelectionEnabled && _vm.imageHover && !_vm.isImageLoading)?_c('div',{staticClass:\"vac-image-buttons\"},[_c('div',{staticClass:\"vac-svg-button vac-button-view\",on:{\"click\":function($event){return _vm.openFile($event, 'preview')}}},[_vm._t(\"eye-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"eye\"}})]})],2),_c('div',{staticClass:\"vac-svg-button vac-button-download\",on:{\"click\":function($event){return _vm.openFile($event, 'download')}}},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2)]):_vm._e()])],1)],1):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-container\",on:{\"click\":function($event){$event.preventDefault();return _vm.openFile('preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{attrs:{\"progress\":_vm.file.progress}}):_vm._e(),_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFile.vue?vue&type=template&id=442d693d&\"\nimport script from \"./MessageFile.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFiles.vue?vue&type=template&id=ebb72a26&\"\nimport script from \"./MessageFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-actions-wrapper\"},[_c('div',{staticClass:\"vac-options-container\",style:({\n\t\t\tdisplay: _vm.hoverAudioProgress ? 'none' : 'initial',\n\t\t\twidth:\n\t\t\t\t_vm.filteredMessageActions.length && _vm.showReactionEmojis ? '70px' : '45px'\n\t\t})},[_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},[(_vm.isMessageActions || _vm.isMessageReactions)?_c('div',{key:\"1\",staticClass:\"vac-blur-container\",class:{\n\t\t\t\t\t'vac-options-me': _vm.message.senderId === _vm.currentUserId\n\t\t\t\t}}):_vm._e(),(_vm.isMessageActions)?_c('div',{key:\"2\",ref:\"actionIcon\",staticClass:\"vac-svg-button vac-message-options\",on:{\"click\":_vm.openOptions}},[_vm._t(\"dropdown-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"message\"}})]})],2):_vm._e(),(_vm.isMessageReactions)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeEmoji),expression:\"closeEmoji\"}],key:\"3\"},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{staticClass:\"vac-message-emojis\",style:({ right: _vm.isMessageActions ? '30px' : '5px' }),attrs:{\"emoji-opened\":_vm.emojiOpened,\"emoji-reaction\":true,\"position-right\":_vm.message.senderId === _vm.currentUserId},on:{\"add-emoji\":_vm.sendMessageReaction,\"open-emoji\":_vm.openEmoji},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-reaction-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.sendMessageReaction},{ emojiOpened: _vm.emojiOpened })],2):_vm._e()])],1),(_vm.filteredMessageActions.length)?_c('transition',{attrs:{\"name\":_vm.message.senderId === _vm.currentUserId\n\t\t\t\t? 'vac-slide-left'\n\t\t\t\t: 'vac-slide-right'}},[(_vm.optionsOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeOptions),expression:\"closeOptions\"}],ref:\"menuOptions\",staticClass:\"vac-menu-options\",class:{\n\t\t\t\t'vac-menu-left': _vm.message.senderId !== _vm.currentUserId\n\t\t\t},style:({ top: (_vm.menuOptionsTop + \"px\") })},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.filteredMessageActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.messageActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageActions.vue?vue&type=template&id=27f1a961&\"\nimport script from \"./MessageActions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageActions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.message.deleted)?_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},_vm._l((_vm.message.reactions),function(reaction,key){return _c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(reaction.length),expression:\"reaction.length\"}],key:key + 0,staticClass:\"vac-button-reaction\",class:{\n\t\t\t'vac-reaction-me': reaction.indexOf(_vm.currentUserId) !== -1\n\t\t},style:({\n\t\t\tfloat: _vm.message.senderId === _vm.currentUserId ? 'right' : 'left'\n\t\t}),on:{\"click\":function($event){return _vm.sendMessageReaction({ unicode: key }, reaction)}}},[_vm._v(\" \"+_vm._s(key)),_c('span',[_vm._v(_vm._s(reaction.length))])])}),0):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReactions.vue?vue&type=template&id=3fc44a38&\"\nimport script from \"./MessageReactions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReactions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessage.vue?vue&type=template&id=545cd2c3&\"\nimport script from \"./RoomMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Room.vue?vue&type=template&id=5c60aee1&\"\nimport script from \"./Room.vue?vue&type=script&lang=js&\"\nexport * from \"./Room.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal\",staticClass:\"vac-media-preview\",attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeModal.apply(null, arguments)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeModal.apply(null, arguments)}}},[_c('transition',{attrs:{\"name\":\"vac-bounce-preview\",\"appear\":\"\"}},[(_vm.isImage)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('div',{staticClass:\"vac-image-preview\",style:({\n\t\t\t\t\t'background-image': (\"url('\" + (_vm.file.url) + \"')\")\n\t\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\",\"autoplay\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])]):_vm._e()]),_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"preview-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\",\"param\":\"preview\"}})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MediaPreview.vue?vue&type=template&id=2d3ea15a&\"\nimport script from \"./MediaPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaPreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\tROOMS_EMPTY: 'No rooms',\n\tROOM_EMPTY: 'No room selected',\n\tNEW_MESSAGES: 'New Messages',\n\tMESSAGE_DELETED: 'This message was deleted',\n\tMESSAGES_EMPTY: 'No messages',\n\tCONVERSATION_STARTED: 'Conversation started on:',\n\tTYPE_MESSAGE: 'Type message',\n\tSEARCH: 'Search',\n\tIS_ONLINE: 'is online',\n\tLAST_SEEN: 'last seen ',\n\tIS_TYPING: 'is writing...',\n\tCANCEL_SELECT_MESSAGE: 'Cancel'\n}\n","export const defaultThemeStyles = {\n\tlight: {\n\t\tgeneral: {\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorButtonClear: '#1976d2',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#fff',\n\t\t\tcolorPlaceholder: '#9ca6af',\n\t\t\tcolorCaret: '#1976d2',\n\t\t\tcolorSpinner: '#333',\n\t\t\tborderStyle: '1px solid #e1e4e8',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#fff',\n\t\t\tcolorRoomName: '#0a0a0a',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#f8f9fa',\n\t\t\tborderStyleInput: '1px solid #e1e4e8',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#e5e5e6',\n\t\t\tbackgroundTagActive: '#e5e5e6',\n\t\t\tbackgroundTag: '#f8f9fa'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#f8f9fa'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6',\n\t\t\tbackgroundActive: '#e5effa',\n\t\t\tcolorActive: '#1976d2',\n\t\t\tborderColorSearch: '#e1e5e8'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundMe: '#ccf2cf',\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#dadfe2',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#757e85',\n\t\t\tcolorUsername: '#9ca6af',\n\t\t\tcolorTimestamp: '#828c94',\n\t\t\tbackgroundDate: '#e5effa',\n\t\t\tcolorDate: '#505a62',\n\t\t\tbackgroundSystem: '#e5effa',\n\t\t\tcolorSystem: '#505a62',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.08)',\n\t\t\tcolorReplyUsername: '#0a0a0a',\n\t\t\tcolorReply: '#6e6e6e',\n\t\t\tcolorTag: '#0d579c',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#1976d2',\n\t\t\tbackgroundScrollCounter: '#0696c7',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: '#eee',\n\t\t\tborderStyleReaction: '1px solid #eee',\n\t\t\tbackgroundReactionHover: '#fff',\n\t\t\tborderStyleReactionHover: '1px solid #ddd',\n\t\t\tcolorReactionCounter: '#0a0a0a',\n\t\t\tbackgroundReactionMe: '#cfecf5',\n\t\t\tborderStyleReactionMe: '1px solid #3b98b8',\n\t\t\tbackgroundReactionHoverMe: '#cfecf5',\n\t\t\tborderStyleReactionHoverMe: '1px solid #3b98b8',\n\t\t\tcolorReactionCounterMe: '#0b59b3',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundAudioProgress: '#455247',\n\t\t\tbackgroundAudioProgressSelector: '#455247',\n\t\t\tcolorFileExtension: '#757e85'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#0a0a0a',\n\t\t\tcolorMessage: '#67717a',\n\t\t\tcolorTimestamp: '#a2aeb8',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#9ca6af',\n\t\t\tbackgroundCounterBadge: '#0696c7',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#fff'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#9ca6af',\n\t\t\tadd: '#1976d2',\n\t\t\ttoggle: '#0a0a0a',\n\t\t\tmenu: '#0a0a0a',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#1976d2',\n\t\t\tcloseOutline: '#000',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#1976d2',\n\t\t\tsendDisabled: '#9ca6af',\n\t\t\temoji: '#1976d2',\n\t\t\temojiReaction: 'rgba(0, 0, 0, 0.3)',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#9e9e9e',\n\t\t\tcheckmark: '#9e9e9e',\n\t\t\tcheckmarkSeen: '#0696c7',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#9e9e9e',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#1976d2',\n\t\t\taudioPlay: '#455247',\n\t\t\taudioPause: '#455247',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t},\n\tdark: {\n\t\tgeneral: {\n\t\t\tcolor: '#fff',\n\t\t\tcolorButtonClear: '#fff',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#202223',\n\t\t\tcolorPlaceholder: '#596269',\n\t\t\tcolorCaret: '#fff',\n\t\t\tcolorSpinner: '#fff',\n\t\t\tborderStyle: 'none',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#181a1b',\n\t\t\tcolorRoomName: '#fff',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#131415',\n\t\t\tborderStyleInput: 'none',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#1b1c1c',\n\t\t\tbackgroundTagActive: '#1b1c1c',\n\t\t\tbackgroundTag: '#131415'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#131415'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#181a1b',\n\t\t\tbackgroundHover: '#202224',\n\t\t\tbackgroundActive: '#151617',\n\t\t\tcolorActive: '#fff',\n\t\t\tborderColorSearch: '#181a1b'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#2a2c33',\n\t\t\tbackgroundHover: '#26282e'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#22242a',\n\t\t\tbackgroundMe: '#1f7e80',\n\t\t\tcolor: '#fff',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#1b1c21',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#a2a5a8',\n\t\t\tcolorUsername: '#b3bac9',\n\t\t\tcolorTimestamp: '#ebedf2',\n\t\t\tbackgroundDate: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorDate: '#bec5cc',\n\t\t\tbackgroundSystem: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorSystem: '#bec5cc',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.18)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.18)',\n\t\t\tcolorReplyUsername: '#fff',\n\t\t\tcolorReply: '#d6d6d6',\n\t\t\tcolorTag: '#f0c60a',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#fff',\n\t\t\tbackgroundScrollCounter: '#1976d2',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: 'none',\n\t\t\tborderStyleReaction: 'none',\n\t\t\tbackgroundReactionHover: '#202223',\n\t\t\tborderStyleReactionHover: 'none',\n\t\t\tcolorReactionCounter: '#fff',\n\t\t\tbackgroundReactionMe: '#4e9ad1',\n\t\t\tborderStyleReactionMe: 'none',\n\t\t\tbackgroundReactionHoverMe: '#4e9ad1',\n\t\t\tborderStyleReactionHoverMe: 'none',\n\t\t\tcolorReactionCounterMe: '#fff',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(255, 255, 255, 0.15)',\n\t\t\tbackgroundAudioProgress: '#b7d4d3',\n\t\t\tbackgroundAudioProgressSelector: '#b7d4d3',\n\t\t\tcolorFileExtension: '#a2a5a8'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#fff',\n\t\t\tcolorMessage: '#6c7278',\n\t\t\tcolorTimestamp: '#6c7278',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#596269',\n\t\t\tbackgroundCounterBadge: '#1976d2',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#343740'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#596269',\n\t\t\tadd: '#fff',\n\t\t\ttoggle: '#fff',\n\t\t\tmenu: '#fff',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#fff',\n\t\t\tcloseOutline: '#fff',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#fff',\n\t\t\tsendDisabled: '#646a70',\n\t\t\temoji: '#fff',\n\t\t\temojiReaction: '#fff',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#ebedf2',\n\t\t\tcheckmark: '#ebedf2',\n\t\t\tcheckmarkSeen: '#f0d90a',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#fff',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#fff',\n\t\t\taudioPlay: '#b7d4d3',\n\t\t\taudioPause: '#b7d4d3',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t}\n}\n\nexport const cssThemeVars = ({\n\tgeneral,\n\tcontainer,\n\theader,\n\tfooter,\n\tsidemenu,\n\tcontent,\n\tdropdown,\n\tmessage,\n\tmarkdown,\n\troom,\n\temoji,\n\ticons\n}) => {\n\treturn {\n\t\t// general\n\t\t'--chat-color': general.color,\n\t\t'--chat-color-button-clear': general.colorButtonClear,\n\t\t'--chat-color-button': general.colorButton,\n\t\t'--chat-bg-color-button': general.backgroundColorButton,\n\t\t'--chat-bg-color-input': general.backgroundInput,\n\t\t'--chat-color-spinner': general.colorSpinner,\n\t\t'--chat-color-placeholder': general.colorPlaceholder,\n\t\t'--chat-color-caret': general.colorCaret,\n\t\t'--chat-border-style': general.borderStyle,\n\t\t'--chat-bg-scroll-icon': general.backgroundScrollIcon,\n\n\t\t// container\n\t\t'--chat-container-border': container.border,\n\t\t'--chat-container-border-radius': container.borderRadius,\n\t\t'--chat-container-box-shadow': container.boxShadow,\n\n\t\t// header\n\t\t'--chat-header-bg-color': header.background,\n\t\t'--chat-header-color-name': header.colorRoomName,\n\t\t'--chat-header-color-info': header.colorRoomInfo,\n\n\t\t// footer\n\t\t'--chat-footer-bg-color': footer.background,\n\t\t'--chat-border-style-input': footer.borderStyleInput,\n\t\t'--chat-border-color-input-selected': footer.borderInputSelected,\n\t\t'--chat-footer-bg-color-reply': footer.backgroundReply,\n\t\t'--chat-footer-bg-color-tag-active': footer.backgroundTagActive,\n\t\t'--chat-footer-bg-color-tag': footer.backgroundTag,\n\n\t\t// content\n\t\t'--chat-content-bg-color': content.background,\n\n\t\t// sidemenu\n\t\t'--chat-sidemenu-bg-color': sidemenu.background,\n\t\t'--chat-sidemenu-bg-color-hover': sidemenu.backgroundHover,\n\t\t'--chat-sidemenu-bg-color-active': sidemenu.backgroundActive,\n\t\t'--chat-sidemenu-color-active': sidemenu.colorActive,\n\t\t'--chat-sidemenu-border-color-search': sidemenu.borderColorSearch,\n\n\t\t// dropdown\n\t\t'--chat-dropdown-bg-color': dropdown.background,\n\t\t'--chat-dropdown-bg-color-hover': dropdown.backgroundHover,\n\n\t\t// message\n\t\t'--chat-message-bg-color': message.background,\n\t\t'--chat-message-bg-color-me': message.backgroundMe,\n\t\t'--chat-message-color-started': message.colorStarted,\n\t\t'--chat-message-bg-color-deleted': message.backgroundDeleted,\n\t\t'--chat-message-bg-color-selected': message.backgroundSelected,\n\t\t'--chat-message-color-deleted': message.colorDeleted,\n\t\t'--chat-message-color-username': message.colorUsername,\n\t\t'--chat-message-color-timestamp': message.colorTimestamp,\n\t\t'--chat-message-bg-color-date': message.backgroundDate,\n\t\t'--chat-message-color-date': message.colorDate,\n\t\t'--chat-message-bg-color-system': message.backgroundSystem,\n\t\t'--chat-message-color-system': message.colorSystem,\n\t\t'--chat-message-color': message.color,\n\t\t'--chat-message-bg-color-media': message.backgroundMedia,\n\t\t'--chat-message-bg-color-reply': message.backgroundReply,\n\t\t'--chat-message-color-reply-username': message.colorReplyUsername,\n\t\t'--chat-message-color-reply-content': message.colorReply,\n\t\t'--chat-message-color-tag': message.colorTag,\n\t\t'--chat-message-bg-color-image': message.backgroundImage,\n\t\t'--chat-message-color-new-messages': message.colorNewMessages,\n\t\t'--chat-message-bg-color-scroll-counter': message.backgroundScrollCounter,\n\t\t'--chat-message-color-scroll-counter': message.colorScrollCounter,\n\t\t'--chat-message-bg-color-reaction': message.backgroundReaction,\n\t\t'--chat-message-border-style-reaction': message.borderStyleReaction,\n\t\t'--chat-message-bg-color-reaction-hover': message.backgroundReactionHover,\n\t\t'--chat-message-border-style-reaction-hover':\n\t\t\tmessage.borderStyleReactionHover,\n\t\t'--chat-message-color-reaction-counter': message.colorReactionCounter,\n\t\t'--chat-message-bg-color-reaction-me': message.backgroundReactionMe,\n\t\t'--chat-message-border-style-reaction-me': message.borderStyleReactionMe,\n\t\t'--chat-message-bg-color-reaction-hover-me':\n\t\t\tmessage.backgroundReactionHoverMe,\n\t\t'--chat-message-border-style-reaction-hover-me':\n\t\t\tmessage.borderStyleReactionHoverMe,\n\t\t'--chat-message-color-reaction-counter-me': message.colorReactionCounterMe,\n\t\t'--chat-message-bg-color-audio-record': message.backgroundAudioRecord,\n\t\t'--chat-message-bg-color-audio-line': message.backgroundAudioLine,\n\t\t'--chat-message-bg-color-audio-progress': message.backgroundAudioProgress,\n\t\t'--chat-message-bg-color-audio-progress-selector':\n\t\t\tmessage.backgroundAudioProgressSelector,\n\t\t'--chat-message-color-file-extension': message.colorFileExtension,\n\n\t\t// markdown\n\t\t'--chat-markdown-bg': markdown.background,\n\t\t'--chat-markdown-border': markdown.border,\n\t\t'--chat-markdown-color': markdown.color,\n\t\t'--chat-markdown-color-multi': markdown.colorMulti,\n\n\t\t// room\n\t\t'--chat-room-color-username': room.colorUsername,\n\t\t'--chat-room-color-message': room.colorMessage,\n\t\t'--chat-room-color-timestamp': room.colorTimestamp,\n\t\t'--chat-room-color-online': room.colorStateOnline,\n\t\t'--chat-room-color-offline': room.colorStateOffline,\n\t\t'--chat-room-bg-color-badge': room.backgroundCounterBadge,\n\t\t'--chat-room-color-badge': room.colorCounterBadge,\n\n\t\t// emoji\n\t\t'--chat-emoji-bg-color': emoji.background,\n\n\t\t// icons\n\t\t'--chat-icon-color-search': icons.search,\n\t\t'--chat-icon-color-add': icons.add,\n\t\t'--chat-icon-color-toggle': icons.toggle,\n\t\t'--chat-icon-color-menu': icons.menu,\n\t\t'--chat-icon-color-close': icons.close,\n\t\t'--chat-icon-color-close-image': icons.closeImage,\n\t\t'--chat-icon-color-file': icons.file,\n\t\t'--chat-icon-color-paperclip': icons.paperclip,\n\t\t'--chat-icon-color-close-outline': icons.closeOutline,\n\t\t'--chat-icon-color-close-preview': icons.closePreview,\n\t\t'--chat-icon-color-send': icons.send,\n\t\t'--chat-icon-color-send-disabled': icons.sendDisabled,\n\t\t'--chat-icon-color-emoji': icons.emoji,\n\t\t'--chat-icon-color-emoji-reaction': icons.emojiReaction,\n\t\t'--chat-icon-color-document': icons.document,\n\t\t'--chat-icon-color-pencil': icons.pencil,\n\t\t'--chat-icon-color-checkmark': icons.checkmark,\n\t\t'--chat-icon-color-checkmark-seen': icons.checkmarkSeen,\n\t\t'--chat-icon-color-eye': icons.eye,\n\t\t'--chat-icon-color-dropdown-message': icons.dropdownMessage,\n\t\t'--chat-icon-bg-dropdown-message': icons.dropdownMessageBackground,\n\t\t'--chat-icon-color-dropdown-room': icons.dropdownRoom,\n\t\t'--chat-icon-color-dropdown-scroll': icons.dropdownScroll,\n\t\t'--chat-icon-color-microphone': icons.microphone,\n\t\t'--chat-icon-color-audio-play': icons.audioPlay,\n\t\t'--chat-icon-color-audio-pause': icons.audioPause,\n\t\t'--chat-icon-color-audio-cancel': icons.audioCancel,\n\t\t'--chat-icon-color-audio-confirm': icons.audioConfirm\n\t}\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChatWindow.vue?vue&type=template&id=1349ffc2&\"\nimport script from \"./ChatWindow.vue?vue&type=script&lang=js&\"\nexport * from \"./ChatWindow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChatWindow.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ChatWindow from './ChatWindow'\n\nObject.defineProperty(ChatWindow, 'install', {\n\tconfigurable: false,\n\tenumerable: false,\n\tvalue(Vue) {\n\t\tVue.component('ChatWindow', ChatWindow)\n\t}\n})\n\nexport default ChatWindow\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\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","/* 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 global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","//package mp3;\n\n/**\n * Layer III side information.\n *\n * @author Ken\n *\n */\n\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction ScaleFac(arrL, arrS, arr21, arr12) {\n\n this.l = new_int(1 + Encoder.SBMAX_l);\n this.s = new_int(1 + Encoder.SBMAX_s);\n this.psfb21 = new_int(1 + Encoder.PSFB21);\n this.psfb12 = new_int(1 + Encoder.PSFB12);\n var l = this.l;\n var s = this.s;\n\n if (arguments.length == 4) {\n //public ScaleFac(final int[] arrL, final int[] arrS, final int[] arr21,\n // final int[] arr12) {\n this.arrL = arguments[0];\n this.arrS = arguments[1];\n this.arr21 = arguments[2];\n this.arr12 = arguments[3];\n\n System.arraycopy(this.arrL, 0, l, 0, Math.min(this.arrL.length, this.l.length));\n System.arraycopy(this.arrS, 0, s, 0, Math.min(this.arrS.length, this.s.length));\n System.arraycopy(this.arr21, 0, this.psfb21, 0, Math.min(this.arr21.length, this.psfb21.length));\n System.arraycopy(this.arr12, 0, this.psfb12, 0, Math.min(this.arr12.length, this.psfb12.length));\n }\n}\n\nmodule.exports = ScaleFac;\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://vue-advanced-chat/webpack/universalModuleDefinition","webpack://vue-advanced-chat/webpack/bootstrap","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.test.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-string-tag-support.js","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?55f2","webpack://vue-advanced-chat/./node_modules/core-js/internals/queue.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/common.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-bind-context.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-ff-version.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-bind.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/length-of-array-like.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/CalcNoiseData.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-species-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-substitution.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-pad.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/ie8-dom-define.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.date.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-url.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/try-to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-repeat.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/same-value.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/make-built-in.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.reduce.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-copy-within.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.all.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-callable.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/state.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-offset.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/an-instance.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/has-own-property.js","webpack://vue-advanced-chat/./src/utils/mobile-detection.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/html.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.set.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-ios.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.define-properties.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.set-timeout.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/require-object-coercible.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/schedulers-fix.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterate.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.strike.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-absolute-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/export.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/VBRSeekInfo.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/PsyModel.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.includes.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/utils/class.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/set-species.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/IIISideInfo.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.is-array.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterator-close.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.url.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-apply.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.sticky.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.starts-with.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.set-interval.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/task.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-v8-version.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/GainAnalysis.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/utils/options.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-user-agent.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.race.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-iterator-method.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-define-properties.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Presets.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/a-possible-prototype.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.set.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-symbol-registry.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterators.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.map.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.url.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/this-number-value.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-bind-native.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/parser.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/path.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/indexed-object.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/add-to-unscopables.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/host-report-errors.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-regexp.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.some.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.match.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/promise-constructor-detection.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.timers.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/species-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.trim.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/CBRNewIterationLoop.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Encoder.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://vue-advanced-chat/./src/utils/data-validation.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-includes.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-slice-simple.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.filter.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-from.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.sort.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.entries.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-is-extensible.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/a-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-length.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-webkit-version.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.replace.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.url-search-params.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/shared.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/own-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/symbol-define-to-primitive.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/whitespaces.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-trim.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Reservoir.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/a-callable.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/not-a-regexp.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.get-own-property-symbols.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.replace-all.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-property-descriptor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-name.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Tables.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.join.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-node.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.set.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-browser.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-assign.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.some.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/date-to-iso-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-multibyte.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/collection-strong.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-species-create.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/MPEGMode.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-built-ins.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/BitStream.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/internal-state.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/collection.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.date.now.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-to-array.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.resolve.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/inherit-if-required.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/ReplayGain.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/CalcNoiseResult.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-constructor.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/index.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/tokens/text.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/ieee754.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/enum-bug-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.define-property.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-object.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-create.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.find.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/number-parse-float.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/native-weak-map.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/FFT.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-fill.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/an-object.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/descriptors.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-property.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.search.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-html.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-object.js","webpack://vue-advanced-chat/./node_modules/emoji-picker-element/picker.js","webpack://vue-advanced-chat/./node_modules/@soda/get-current-script/index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/inspect-source.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/advance-string-index.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.int16-array.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Version.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.at.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-get-flags.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/uid.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-exec.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/LameGlobalFlags.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-forced.js","webpack://vue-advanced-chat/./node_modules/regenerator-runtime/runtime.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/L3Side.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.url-search-params.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.concat.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-define-property.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-property-key.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-from.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.join.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/III_psy_xmin.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.match-all.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/VBRQuantize.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.splice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.every.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.from.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-method-is-strict.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.every.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer-native.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.number.constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/error-to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/install-error-cause.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/ATH.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.exec.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.date.to-iso-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.parse-float.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array-buffer.slice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-flags.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-sort.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/iterators-core.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/proxy-accessor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-html-forced.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.function.name.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.for.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/microtask.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/well-known-symbol.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.keys.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/typed-array-species-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-iteration.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/scanner.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/error-stack-installable.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.last-index-of.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/QuantizePVT.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/freezing.js","webpack://vue-advanced-chat/./src/utils/media-file.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/LameInternalFlags.js","webpack://vue-advanced-chat/./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-primitive.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.function.bind.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/NsPsy.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://vue-advanced-chat/./node_modules/v-click-outside/dist/v-click-outside.umd.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-pure.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.key-for.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.italics.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.regexp.dot-all.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-call.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/classof-raw.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/shared-store.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/clear-error-stack.js","webpack://vue-advanced-chat/(webpack)/buildin/global.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/string-trim-forced.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.index-of.js","webpack://vue-advanced-chat/./src/utils/constants.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-keys-internal.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.includes.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-built-in.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/document-create-element.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.bold.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.catch.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/promise-resolve.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/set-global.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.float32-array.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/hidden-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/fails.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-built-in.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.find.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/promise-native-constructor.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.error.to-string.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/set-to-string-tag.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-reduce.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/validate-arguments-length.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.map.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer-non-extensible.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-symbol.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Takehiro.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.error.cause.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.constructor.js","webpack://vue-advanced-chat/./node_modules/emoji-picker-element/database.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/global.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/index.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Quantize.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/get-method.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/Lame.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-keys.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.symbol.description.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/VBRTag.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.iterator.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.string.substr.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/function-uncurry-this.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/normalize-string-argument.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-last-index-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/perform.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-array.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.json.stringify.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/is-integral-number.js","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?28fb","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/MeanBits.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/new-promise-capability.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/internal-metadata.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.promise.reject.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/III_psy_ratio.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/array-slice.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/GrInfo.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/NewMDCT.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/classof.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/shared-key.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-positive-integer.js","webpack://vue-advanced-chat/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?151c","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsList.vue?1e71","webpack://vue-advanced-chat/./src/components/Loader/Loader.vue?da66","webpack://vue-advanced-chat/src/components/Loader/Loader.vue","webpack://vue-advanced-chat/./src/components/Loader/Loader.vue?11f3","webpack://vue-advanced-chat/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://vue-advanced-chat/./src/components/Loader/Loader.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?66bc","webpack://vue-advanced-chat/./src/components/SvgIcon/SvgIcon.vue?4fe6","webpack://vue-advanced-chat/src/components/SvgIcon/SvgIcon.vue","webpack://vue-advanced-chat/./src/components/SvgIcon/SvgIcon.vue?007a","webpack://vue-advanced-chat/./src/components/SvgIcon/SvgIcon.vue","webpack://vue-advanced-chat/src/lib/RoomsList/RoomsSearch/RoomsSearch.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue?6053","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsSearch/RoomsSearch.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomContent/RoomContent.vue?5f70","webpack://vue-advanced-chat/./src/components/FormatMessage/FormatMessage.vue?d9d1","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://vue-advanced-chat/./src/utils/format-string.js","webpack://vue-advanced-chat/src/components/FormatMessage/FormatMessage.vue","webpack://vue-advanced-chat/./src/components/FormatMessage/FormatMessage.vue?dfa6","webpack://vue-advanced-chat/./src/components/FormatMessage/FormatMessage.vue","webpack://vue-advanced-chat/./src/utils/typing-text.js","webpack://vue-advanced-chat/src/lib/RoomsList/RoomContent/RoomContent.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomContent/RoomContent.vue?f460","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomContent/RoomContent.vue","webpack://vue-advanced-chat/./src/utils/filter-items.js","webpack://vue-advanced-chat/src/lib/RoomsList/RoomsList.vue","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsList.vue?6ac2","webpack://vue-advanced-chat/./src/lib/RoomsList/RoomsList.vue","webpack://vue-advanced-chat/./src/lib/Room/Room.vue?f787","webpack://vue-advanced-chat/./src/lib/Room/RoomHeader/RoomHeader.vue?ee7a","webpack://vue-advanced-chat/src/lib/Room/RoomHeader/RoomHeader.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomHeader/RoomHeader.vue?9884","webpack://vue-advanced-chat/./src/lib/Room/RoomHeader/RoomHeader.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFooter.vue?3f75","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://vue-advanced-chat/./node_modules/emoji-picker-element/index.js","webpack://vue-advanced-chat/./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?7679","webpack://vue-advanced-chat/src/components/EmojiPickerContainer/EmojiPickerContainer.vue","webpack://vue-advanced-chat/./src/components/EmojiPickerContainer/EmojiPickerContainer.vue?21ac","webpack://vue-advanced-chat/./src/components/EmojiPickerContainer/EmojiPickerContainer.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?46b9","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?1bad","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue?f1d0","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFile/RoomFile.vue","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue?92f2","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFiles/RoomFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?43e5","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?11b7","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?3327","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue?cd7b","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioControl/AudioControl.vue","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue?a4f2","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/AudioPlayer/AudioPlayer.vue","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue?802c","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomMessageReply/RoomMessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?7bb1","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue?5acb","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomUsersTag/RoomUsersTag.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?83ee","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue?1abd","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomEmojis/RoomEmojis.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?1661","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue?b6ba","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomTemplatesText/RoomTemplatesText.vue","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://vue-advanced-chat/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://vue-advanced-chat/./src/utils/mp3-encoder.js","webpack://vue-advanced-chat/./src/utils/recorder.js","webpack://vue-advanced-chat/src/lib/Room/RoomFooter/RoomFooter.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFooter.vue?fee3","webpack://vue-advanced-chat/./src/lib/Room/RoomFooter/RoomFooter.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/RoomMessage.vue?7201","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?f505","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageReply/MessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue?500a","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReply/MessageReply.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?5d92","webpack://vue-advanced-chat/./src/components/ProgressBar/ProgressBar.vue?2284","webpack://vue-advanced-chat/src/components/ProgressBar/ProgressBar.vue","webpack://vue-advanced-chat/./src/components/ProgressBar/ProgressBar.vue?109c","webpack://vue-advanced-chat/./src/components/ProgressBar/ProgressBar.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?4f8d","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue?2873","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFile/MessageFile.vue","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue?6a12","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageFiles/MessageFiles.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?dcae","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageActions/MessageActions.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue?1688","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageActions/MessageActions.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?62fe","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue?6d63","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/MessageReactions/MessageReactions.vue","webpack://vue-advanced-chat/src/lib/Room/RoomMessage/RoomMessage.vue","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/RoomMessage.vue?c0d1","webpack://vue-advanced-chat/./src/lib/Room/RoomMessage/RoomMessage.vue","webpack://vue-advanced-chat/src/lib/Room/Room.vue","webpack://vue-advanced-chat/./src/lib/Room/Room.vue?a9c3","webpack://vue-advanced-chat/./src/lib/Room/Room.vue","webpack://vue-advanced-chat/./src/lib/MediaPreview/MediaPreview.vue?ebd3","webpack://vue-advanced-chat/src/lib/MediaPreview/MediaPreview.vue","webpack://vue-advanced-chat/./src/lib/MediaPreview/MediaPreview.vue?eea1","webpack://vue-advanced-chat/./src/lib/MediaPreview/MediaPreview.vue","webpack://vue-advanced-chat/./src/locales/index.js","webpack://vue-advanced-chat/./src/themes/index.js","webpack://vue-advanced-chat/src/lib/ChatWindow.vue","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue?24ad","webpack://vue-advanced-chat/./src/lib/ChatWindow.vue","webpack://vue-advanced-chat/./src/lib/index.js","webpack://vue-advanced-chat/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.array.slice.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/to-indexed-object.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://vue-advanced-chat/./node_modules/core-js/modules/es.typed-array.int8-array.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/dom-iterables.js","webpack://vue-advanced-chat/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://vue-advanced-chat/./node_modules/lamejs/src/js/ScaleFac.js"],"names":["detectMobile","userAgent","getUserAgent","userAgentPart","substr","test","navigator","vendor","window","opera","Error","_typeof","obj","Symbol","iterator","constructor","prototype","roomsValidation","roomsValidate","key","type","validate","props","every","prop","validType","Array","isArray","find","t","checkObjectValid","partcipantsValidation","participantsValidate","messagesValidation","messagesValidate","Object","hasOwnProperty","call","undefined","checkMediaType","types","file","some","toLowerCase","includes","isImageFile","IMAGE_TYPES","isVideoFile","VIDEO_TYPES","isImageVideoFile","isAudioFile","AUDIO_TYPES","_defineProperty","value","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","name","show","infinite","param","data","svgItem","search","path","add","toggle","menu","close","paperclip","send","emoji","document","pencil","checkmark","eye","dropdown","deleted","microphone","size","path2","computed","svgId","components","SvgIcon","textMessages","required","showSearch","showAddRoom","rooms","loadingRooms","emits","showSearchBar","_arrayLikeToArray","arr","len","arr2","_arrayWithoutHoles","arrayLikeToArray","_iterableToArray","iter","from","_unsupportedIterableToArray","o","minLen","n","toString","slice","_nonIterableSpread","TypeError","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","linkify","require","text","doLinkify","textFormatting","typeMarkdown","bold","italic","strike","underline","multilineCode","inlineCode","pseudoMarkdown","end","allowed_chars","json","compileToJSON","html","compileToHTML","result","concat","linkifyResult","str","minIndexOf","minIndexOfKey","links","minIndexFromLink","indexOf","startingValue","io","strLeft","strLink","strRight","char","replace","match","RegExp","start","content","item","parseContent","iterateContent","it","removeDuplicates","items","Set","array","spaces","href","users","singleLine","reply","linkOptions","linkifiedMessage","message","m","formattedContent","methods","checkType","checkImageType","index","setImageSize","image","formatTags","usertags","initialContent","openTag","replaceEmojiByElement","emojiSize","containsOnlyEmojis","room","currentUserId","typingUsers","user","_id","status","state","IS_TYPING","map","username","join","FormatMessage","directives","clickOutside","roomActions","roomMenuOpened","getLastMessage","userStatus","isMessageCheckmarkVisible","formattedDuration","isAudio","roomActionHandler","action","roomId","closeRoomMenu","val","startsWith","v","formatString","string","normalize","Loader","RoomsSearch","RoomContent","showRoomsList","isMobile","roomsLoaded","scrollDistance","filteredRooms","observer","showLoader","loadingMoreRooms","selectedRoomId","watch","deep","handler","newVal","oldVal","setTimeout","immediate","initIntersectionObserver","root","rootMargin","threshold","options","searchRoom","ev","openRoom","loadMoreRooms","singleRoom","roomInfoEnabled","menuActions","messageSelectionEnabled","messageSelectionActions","selectedMessagesTotal","menuOpened","messageSelectionAnimationEnded","menuActionHandler","closeMenu","messageSelectionActionHandler","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","err","emojiOpened","emojiReaction","positionTop","positionRight","emojiPickerHeight","emojiPickerTop","emojiPickerRight","unicode","addCustomStyling","style","openEmoji","setEmojiPickerPosition","clientY","innerWidth","innerHeight","roomFooterTop","isImage","isVideo","RoomFile","files","footerHeight","percentage","isMouseDown","onMouseDown","onMouseUp","onMouseMove","calculateLineHeadPosition","element","pos","AudioControl","messageId","src","isPlaying","duration","playedTime","progress","playerUniqId","audioSource","mounted","convertTimeMMSS","seconds","playback","resetProgress","onTimeUpdate","onUpdateProgress","updateProgressTime","AudioPlayer","messageReply","firstFile","isOtherFile","filteredUsersTag","selectItem","activeUpOrDown","activeItem","filteredEmojis","filteredTemplatesText","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","lamejs","_","missing","Mp3Encoder","config","bitRate","sampleRate","dataBuffer","encoder","arrayBuffer","maxSamples","samples","_convertBuffer","remaining","left","subarray","buffer","encodeBuffer","Int8Array","flush","blob","Blob","id","Date","now","url","URL","createObjectURL","input","output","s","Math","max","min","Float32Array","out","Int16Array","_floatTo16BitPCM","beforeRecording","pauseRecording","afterRecording","micFailed","encoderOptions","bufferSize","records","isPause","isRecording","volume","_duration","constraints","video","audio","channelCount","echoCancellation","mediaDevices","getUserMedia","_micCaptured","bind","_micError","lameEncoder","stream","getTracks","track","stop","disconnect","processor","context","record","finish","AudioContext","webkitAudioContext","createMediaStreamSource","createScriptProcessor","onaudioprocess","sample","inputBuffer","getChannelData","sum","encode","parseFloat","currentTime","toFixed","sqrt","connect","destination","EmojiPickerContainer","RoomFiles","RoomMessageReply","RoomUsersTag","RoomEmojis","RoomTemplatesText","roomMessage","showSendIcon","showFiles","showAudio","showEmojis","showFooter","acceptedFiles","textareaActionEnabled","userTagsEnabled","emojisSuggestionEnabled","templatesText","audioBitRate","audioSampleRate","initReplyMessage","initEditMessage","editedMessage","cursorRangePosition","fileDialog","selectUsersTagItem","selectEmojiItem","selectTemplatesTextItem","format","activeUpOrDownEmojis","activeUpOrDownUsersTag","activeUpOrDownTemplatesText","emojisDB","keepKeyboardOpen","selectedUsersTag","recorder","isMessageEmpty","isFileLoading","recordedTime","shadowFooter","beforeDestroy","getTextareaRef","focusTextarea","disableMobileFocus","onChangeInput","resizeTextarea","getComputedStyle","el","getPropertyValue","escapeTextarea","onPasteImage","pasteEvent","updateActiveUpOrDown","direction","selectEmoji","selectTemplateText","template","space","position","addEmoji","launchFilePicker","onFileChange","fileURL","typeIndex","loading","extension","localUrl","fetch","blobFile","loadedFile","removeFile","toggleRecorder","recording","stopRecorder","textareaActionHandler","sendMessage","newContent","replyMessage","usersTag","editMessage","messageContent","firstTag","userId","secondTag","updateFooterLists","updateFooterList","tagChar","updateShowUsersTag","query","selectUserTag","updateShowTemplatesText","getCharPosition","endPosition","updateEmojis","emojis","resetFooterList","resetMessage","resetTextareaSize","preventKeyboardFromClosing","initRecorder","roomUsers","replyUsername","radius","stroke","normalizedRadius","circumference","strokeDashoffset","ProgressBar","imageResponsive","imageLoading","imageHover","isImageLoading","maxHeight","loaderTop","checkImgLoad","openFile","event","MessageFile","imageVideoFiles","otherFiles","messageActions","showReactionEmojis","messageHover","hoverMessageId","hoverAudioProgress","menuOptionsTop","optionsOpened","optionsClosing","isMessageActions","isMessageReactions","filteredMessageActions","openOptions","closeOptions","closeEmoji","updateMessageHover","messageActionHandler","sendMessageReaction","reaction","MessageReply","MessageFiles","MessageActions","MessageReactions","messages","editedMessageId","newMessages","showNewMessagesDivider","usernameOptions","selectedMessages","newMessage","progressTime","showUsername","showDate","messageOffset","isMessageHover","isCheckmarkVisible","hasCurrentUserAvatar","hasSenderUserAvatar","isMessageSelected","ref","onHoverMessage","canEditMessage","onLeaveMessage","resetMessageHover","openUserTag","remove","selectMessage","RoomHeader","RoomFooter","RoomMessage","loadFirstRoom","messagesLoaded","autoScroll","infiniteState","loadingMessages","loadingMoreMessages","scrollIcon","scrollMessagesCount","showNoMessages","showNoRoom","showMessagesStarted","preventTopScroll","top","touchStart","touchEvent","addEventListener","once","touchEnd","posXStart","posYStart","onRoomChanged","unwatch","resetMessageSelection","unselectMessage","onMessageAdded","onContainerScroll","e","loadMoreMessages","messageReaction","getBottomScroll","scrollToBottom","behavior","closeModal","ROOMS_EMPTY","ROOM_EMPTY","NEW_MESSAGES","MESSAGE_DELETED","MESSAGES_EMPTY","CONVERSATION_STARTED","TYPE_MESSAGE","SEARCH","IS_ONLINE","LAST_SEEN","CANCEL_SELECT_MESSAGE","defaultThemeStyles","light","general","color","colorButtonClear","colorButton","backgroundColorButton","backgroundInput","colorPlaceholder","colorCaret","colorSpinner","borderStyle","backgroundScrollIcon","container","border","borderRadius","boxShadow","header","background","colorRoomName","colorRoomInfo","footer","borderStyleInput","borderInputSelected","backgroundReply","backgroundTagActive","backgroundTag","sidemenu","backgroundHover","backgroundActive","colorActive","borderColorSearch","backgroundMe","colorStarted","backgroundDeleted","backgroundSelected","colorDeleted","colorUsername","colorTimestamp","backgroundDate","colorDate","backgroundSystem","colorSystem","backgroundMedia","colorReplyUsername","colorReply","colorTag","backgroundImage","colorNewMessages","backgroundScrollCounter","colorScrollCounter","backgroundReaction","borderStyleReaction","backgroundReactionHover","borderStyleReactionHover","colorReactionCounter","backgroundReactionMe","borderStyleReactionMe","backgroundReactionHoverMe","borderStyleReactionHoverMe","colorReactionCounterMe","backgroundAudioRecord","backgroundAudioLine","backgroundAudioProgress","backgroundAudioProgressSelector","colorFileExtension","markdown","colorMulti","colorMessage","colorStateOnline","colorStateOffline","backgroundCounterBadge","colorCounterBadge","icons","closeImage","closeOutline","closePreview","sendDisabled","checkmarkSeen","dropdownMessage","dropdownMessageBackground","dropdownRoom","dropdownScroll","audioPlay","audioPause","audioCancel","audioConfirm","dark","cssThemeVars","RoomsList","Room","MediaPreview","height","theme","styles","responsiveBreakpoint","roomsListOpened","roomsOrder","title","onlyMe","newAfterScrollUp","receive","disabled","rel","mediaPreviewEnabled","minUsers","currentUser","showMediaPreview","previewFile","locales","cssVars","customStyles","defaultStyles","orderedRooms","created","updateResponsive","toggleRoomsList","opened","fetchRoom","reset","fetchMoreRooms","roomInfo","addRoom","fetchMessages","deleteMessage","openFailedMessage","typingMessage","ChatWindow","Vue","component"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFa;AACb;AACA,mBAAO,CAAC,MAA2B;AACnC,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG,4DAA4D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnCD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;;AAEA;;AAEA;;;;;;;;ACPA,uC;;;;;;;ACAA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,KAAK;AACL,+BAA+B,aAAa;AAC5C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/JA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,kBAAkB,mBAAO,CAAC,MAAmC;;AAE7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA,gBAAgB,mBAAO,CAAC,MAAgC;;AAExD;;AAEA;;;;;;;;;ACJa;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAAmC;;AAE7D;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA,cAAc,mBAAO,CAAC,MAA0B;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,2BAA2B,mBAAO,CAAC,MAA4C;AAC/E,iBAAiB,mBAAO,CAAC,MAAiC;;AAE1D;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,WAAW,mBAAO,CAAC,MAA4B;AAC/C,iCAAiC,mBAAO,CAAC,MAA4C;AACrF,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,aAAa,mBAAO,CAAC,MAA+B;AACpD,qBAAqB,mBAAO,CAAC,MAA6B;;AAE1D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;;;;;;;;ACrBA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACtBA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA,yCAAyC,IAAI;AAC7C,kDAAkD,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AC3CA;AACA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAA4B;AAClD,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;AAEA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,oBAAoB,mBAAO,CAAC,MAAsC;;AAElE;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,GAAG;AACH,CAAC;;;;;;;;ACVD;AACA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,oBAAoB,mBAAO,CAAC,MAA8B;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AClBA,YAAY,mBAAO,CAAC,MAAoB;AACxC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACjCD,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACVA,YAAY,mBAAO,CAAC,MAAoB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B;AACA;;AAEA;AACA;AACA;AACA,UAAU,YAAY;AACtB,UAAU,UAAU;AACpB;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA,UAAU,MAAM;AAChB;AACA,WAAW,MAAM;AACjB;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA,wBAAwB;AACxB,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,UAAU,MAAM;AAChB,UAAU,MAAM;AAChB,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB,UAAU,cAAc;AACxB,WAAW;AACX;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA,UAAU,UAAU;AACpB,UAAU,MAAM;AAChB,WAAW;AACX;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,SAAS,OAAO;AAChB,SAAS,eAAe;AACxB,SAAS,MAAM;AACf;AACA,SAAS,MAAM;AACf;AACA,UAAU,MAAM;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA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;AACA,GAAG;AACH;;;;;;;;;ACjEa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,6BAA6B,mBAAO,CAAC,MAAiC;;AAEtE;AACA;AACA,GAAG,0EAA0E;AAC7E;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;AACA;;AAEA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;;;;;;;;ACXA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,+BAA+B,mBAAO,CAAC,MAAiD;AACxF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrDA,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACVA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;;AAGA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,MAAU;AAC5B,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA,mDAAmD,QAAQ;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;;AAEA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD,oCAAoC,YAAY;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,sBAAsB;AAC9C,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sBAAsB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sBAAsB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,0BAA0B;AAClD,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA,2BAA2B,8BAA8B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;;AAEA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;;AAEA;AACA;;AAEA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA,+BAA+B,8BAA8B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,OAAO;AAClC;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA,gCAAgC;AAChC,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB,wBAAwB;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,YAAY;AAC5C,iCAAiC,iBAAiB;AAClD;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,iBAAiB;AAC9C;;AAEA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA,wCAAwC,YAAY;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wCAAwC,YAAY;AACpD;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;;AAEA;;AAEA,wBAAwB;AACxB,iCAAiC;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA,SAAS;AACT,uBAAuB,WAAW;AAClC;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW;AAClC,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;;AAEA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,WAAW;AAClC,iCAAiC,kBAAkB;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,gCAAgC,sBAAsB;AACtD;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,UAAU,GAAG;AACtD;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACj1Fa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,M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ACA;AACA,GAAG,uFAAuF;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnCD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAA6B;;AAEvD;AACA;AACA,GAAG,uEAAuE;AAC1E;AACA,CAAC;;;;;;;;ACRD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAA6B;AACjD,WAAW,mBAAO,CAAC,MAAoC;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,aAAa,mBAAO,CAAC,MAA+B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,WAAW,mBAAO,CAAC,MAAmB;AACtC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAAsC;AAClE,8BAA8B,mBAAO,CAAC,MAAwC;AAC9E,aAAa,mBAAO,CAAC,MAA4B;AACjD,cAAc,mBAAO,CAAC,MAA6B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,gBAAgB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACnHA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,gBAAgB,mBAAO,CAAC,MAAgC;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAuB;;AAE5C,eAAe,mBAAO,CAAC,MAAyB;;AAEhD;;AAEA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA,cAAc,mBAAO,CAAC,MAAuB;;AAE7C;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS,OAAO;AAChB,UAAU,MAAM;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,mBAAmB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4B;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,yDAAyD;AACzD;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;;AAEA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACviBa;;AAEb;;AAEA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,wBAAwB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;AC9Ha;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,YAAY,mBAAO,CAAC,MAA6B;AACjD,mBAAmB,mBAAO,CAAC,MAAkC;;AAE7D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACbD,iBAAiB,mBAAO,CAAC,MAA2B;;AAEpD;;;;;;;;;ACFa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA4B;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iCAAiC,mBAAO,CAAC,MAAqC;AAC9E,cAAc,mBAAO,CAAC,MAAsB;AAC5C,cAAc,mBAAO,CAAC,MAAsB;AAC5C,0CAA0C,mBAAO,CAAC,MAAkD;;AAEpG;AACA;AACA,GAAG,6EAA6E;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;ACzBD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,8BAA8B,mBAAO,CAAC,MAAsC;AAC5E,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;A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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG,4DAA4D;AAC/D;AACA,CAAC;;;;;;;;ACjhCD,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;;;;;;;ACJA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA,CAAC;;;;;;;;;ACPY;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAS;;AAE9B,aAAa,mBAAO,CAAC,MAAgB;;AAErC;;AAEA,YAAY,mBAAO,CAAC,MAAe;;AAEnC,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,2BAA2B;AAC3B,mCAAmC;AACnC,yCAAyC;AACzC,2BAA2B;AAC3B,+BAA+B;AAC/B,kCAAkC;AAClC,8BAA8B;AAC9B,uCAAuC;AACvC,kCAAkC;AAClC,sCAAsC;AACtC,kCAAkC;AAClC,oCAAoC;AACpC,yCAAyC;AACzC,kCAAkC;AAClC,8CAA8C,qBAAqB;AACnE,gDAAgD;AAChD,qDAAqD;AACrD,8CAA8C;AAC9C,uCAAuC;AACvC,yCAAyC;AACzC,8CAA8C;AAC9C,uCAAuC;AACvC,iCAAiC;AACjC,qCAAqC;AACrC,sCAAsC;AACtC,gCAAgC;AAChC,2CAA2C;AAC3C,mDAAmD;AACnD,+CAA+C;AAC/C,8BAA8B;AAC9B,iCAAiC;AACjC,kCAAkC;AAClC,gCAAgC;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qCAAqC,YAAY;AACjD;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wB;;;;;;;;AC9Ra;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,cAAc,mBAAO,CAAC,MAA6B;;AAEnD;AACA;AACA;AACA,GAAG,8DAA8D;AACjE;AACA,CAAC;;;;;;;;ACTD,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;;;;;;;ACFA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAA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AAC,MAAe;AACtC,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;AAClC,wBAAwB,mBAAO,CAAC,MAAwB;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,kBAAkB;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;;;;;;;;AC3FA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,mBAAO,CAAC,MAAc;AACxC,wBAAwB,mBAAO,CAAC,MAAoB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,aAAa;AACb,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA,gDAAgD;AAChD;AACA,mDAAmD;AACnD;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA,iBAAiB;AACjB,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mCAAmC;AACjE;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,kBAAkB;;AAE1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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0B,mBAAO,CAAC,MAA4C;AAC9E,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,oBAAoB,mBAAO,CAAC,MAAoC;AAChE,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAA+B;AACpD,2BAA2B,mBAAO,CAAC,MAA6B;AAChE,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,0BAA0B,mBAAO,CAAC,MAAyC;AAC3E,sBAAsB,mBAAO,CAAC,MAAqC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA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EAAE,EAAE,cAAc;AACjG;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,8DAA8D;AAC1F;AACA,KAAK;AACL,0BAA0B,0CAA0C;AACpE;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gDAAgD;AACzE;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wBAAwB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;AACA,qFAAqF,kBAAkB;;AAEvG;AACA;AACA;AACA;AACA,CAAC,GAAG,mBAAmB;;AAEvB;;AAEA,GAAG,wCAAwC;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA,OAAO,kEAAkE;AACzE;AACA,8FAA8F;AAC9F;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,kGAAkG;AAClG;;AAEA;AACA;;AAEA,OAAO,gDAAgD;AACvD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACvYA,cAAc,mBAAO,CAAC,MAAsB;AAC5C,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;AACA,qEAAqE;AACrE,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,gCAAgC,mBAAO,CAAC,MAA4C;AACpF,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;;AAEA;AACA;AACA;AACA;;;;;;;;ACRA,WAAW,mBAAO,CAAC,MAA4B;AAC/C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,oBAAoB,mBAAO,CAAC,MAA8B;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG,WAAW;AACnB;AACA;;;;;;;;ACnBA;AACA;AACA;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;AACA;AACA;AACA;;AAEA,sBAAsB,gDAAgD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxSA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACTA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,oBAAoB,mBAAO,CAAC,MAA4B;AACxD,YAAY,mBAAO,CAAC,MAAoB;AACxC,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA,kDAAkD,kCAAkC,EAAE;;AAEtF;AACA;AACA,GAAG,+CAA+C;AAClD;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACjBY;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,sBAAsB,mBAAO,CAAC,MAA+B;AAC7D,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,gCAAgC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACtED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAA+B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,cAAc;AAC5D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AChBa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,cAAc,mBAAO,CAAC,MAAsB;AAC5C,cAAc,mBAAO,CAAC,MAA6B;AACnD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,yBAAyB,mBAAO,CAAC,MAAkC;AACnE,WAAW,mBAAO,CAAC,MAAmB;AACtC,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,uBAAuB,mBAAO,CAAC,MAAiC;AAChE,cAAc,mBAAO,CAAC,MAAsB;AAC5C,YAAY,mBAAO,CAAC,MAAoB;AACxC,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,kCAAkC,mBAAO,CAAC,MAA4C;AACtF,iCAAiC,mBAAO,CAAC,MAAqC;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,GAAG,eAAe;AACzB;;AAEA;AACA;AACA;AACA,KAAK,gBAAgB;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG,+DAA+D;AAClE;AACA,CAAC;;AAED;AACA;;;;;;;;AC/RA,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,iCAAiC,mBAAO,CAAC,MAA4C;;AAErF;AACA,sEAAsE,cAAc;AACpF,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACjgBa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACZY;AACb;AACA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB,mCAAmC;AACnC,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,OAAO;AACP,uCAAuC;AACvC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC,mCAAmC;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;;;;;;;;ACrLA,cAAc,mBAAO,CAAC,MAA0B;AAChD,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;;;;;;;;ACHA;AACA,mBAAO,CAAC,MAA+B;;;;;;;;ACDvC;;;;;;;;;ACAa;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,oFAAoF,iBAAiB;AACrG;AACA;AACA,oFAAoF,iBAAiB;;;;;;;;;AC7CxF;AACb,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,WAAW,mBAAO,CAAC,MAA4B;AAC/C,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kCAAkC,mBAAO,CAAC,MAA8C;AACxF,iCAAiC,mBAAO,CAAC,MAA4C;AACrF,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B,OAAO,2BAA2B;AAChE;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,IAAI,OAAO;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAc,EAAE;AAC7D,mBAAmB,0CAA0C;AAC7D,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;ACxDY;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,0BAA0B,mBAAO,CAAC,MAAkC;AACpE,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,cAAc,mBAAO,CAAC,MAAsB;AAC5C,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAAiC;AAC1D,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+CAA+C,mBAAmB,oCAAoC,EAAE,EAAE;AAC1G;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uEAAuE,iBAAiB;AACxF;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,GAAG,eAAe;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;ACtPa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,YAAY,mBAAO,CAAC,MAA8B;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;ACXY;AACb,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,eAAe,mBAAO,CAAC,MAAyB;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACxCD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnCa;AACb,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,aAAa,mBAAO,CAAC,MAA4B;AACjD,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,WAAW,mBAAO,CAAC,MAAoC;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,cAAc,mBAAO,CAAC,MAAgC;AACtD,0BAA0B,mBAAO,CAAC,MAA6B;;AAE/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,iEAAiE,iCAAiC;AAClG,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;;AAEA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,SAAS,WAAW,YAAY,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL,SAAS,WAAW;AACpB;AACA;AACA;AACA;AACA;;;;;;;;AC3MA,8BAA8B,mBAAO,CAAC,MAAwC;;AAE9E;AACA;AACA;AACA;AACA;;;;;;;;ACNA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD,wBAAwB;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,eAAe,EAAE;AAC1D;AACA,CAAC;;;;;;;;ACnDD,oBAAoB,mBAAO,CAAC,MAA8B;;AAE1D;AACA;AACA;AACA;;;;;;;;ACLA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,MAAe;AACtC,aAAa,mBAAO,CAAC,MAAa;AAClC,cAAc,mBAAO,CAAC,MAAc;AACpC,wBAAwB,mBAAO,CAAC,MAAwB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,0CAA0C;AACrE;AACA;AACA;AACA;;AAEA,cAAc,oBAAoB;AAClC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB,uBAAuB;AAC/C;AACA,8BAA8B,UAAU;AACxC;AACA;AACA;;AAEA,wBAAwB,QAAQ;AAChC,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iDAAiD,OAAO;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,QAAQ;AAChC,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,mBAAmB;AAC7C;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,0BAA0B,mBAAmB;AAC7C;AACA;AACA,mCAAmC,UAAU;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,sCAAsC;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,iBAAiB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,iBAAiB;AAC5D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;;AAEA;;;;;;;;ACjgCA,sBAAsB,mBAAO,CAAC,MAA8B;AAC5D,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,aAAa,mBAAO,CAAC,MAA+B;AACpD,aAAa,mBAAO,CAAC,MAA2B;AAChD,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACpEa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,6BAA6B,mBAAO,CAAC,MAAgC;AACrE,cAAc,mBAAO,CAAC,MAAsB;AAC5C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,wBAAwB,mBAAO,CAAC,MAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qDAAqD;AACrD;AACA,kDAAkD,iBAAiB,EAAE;AACrE;AACA;AACA,4EAA4E,iCAAiC,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,mEAAmE,iCAAiC;AACpG;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,yDAAyD;;AAE9D;;AAEA;;AAEA;AACA;;;;;;;;ACxGA;AACA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;;AAEA;AACA;AACA,GAAG,6BAA6B;AAChC;AACA;AACA;AACA,CAAC;;;;;;;;ACdD,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,4BAA4B,mBAAO,CAAC,MAA4C;;AAEhF;AACA;;AAEA,YAAY,kBAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnCa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,iCAAiC,mBAAO,CAAC,MAA4C;AACrF,qBAAqB,mBAAO,CAAC,MAA8B;;AAE3D;AACA;;AAEA;AACA;AACA,GAAG,+EAA+E;AAClF;AACA;AACA;AACA,CAAC;;;;;;;;ACjBD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjBA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAO,CAAC,MAAmB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC1DA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;AACb,6BAA6B,mBAAO,CAAC,MAAqC;AAC1E,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;AACA;;AAEA,uBAAuB,sBAAsB,EAAE,EAAE;AACjD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;ACrBa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,WAAW,mBAAO,CAAC,MAA4B;AAC/C,YAAY,mBAAO,CAAC,MAAyB;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnBD;AACA;;;;;;;;ACDA,WAAW,mBAAO,CAAC,MAAmB;AACtC,aAAa,mBAAO,CAAC,MAA+B;AACpD,mCAAmC,mBAAO,CAAC,MAAwC;AACnF,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA,+CAA+C;AAC/C;AACA;AACA,GAAG;AACH;;;;;;;;;ACVa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,kDAAkD,mBAAO,CAAC,MAAwD;AAClH,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,wBAAwB,mBAAO,CAAC,MAA2B;AAC3D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,+BAA+B,mBAAO,CAAC,MAAyC;AAChF,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,uBAAuB,mBAAO,CAAC,MAAiC;AAChE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,cAAc,mBAAO,CAAC,MAAuB;AAC7C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,aAAa,mBAAO,CAAC,MAA+B;AACpD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA4B;AACjD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,0BAA0B,mBAAO,CAAC,MAA4C;AAC9E,qBAAqB,mBAAO,CAAC,MAA+B;AAC5D,cAAc,mBAAO,CAAC,MAA8B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,wBAAwB,mBAAO,CAAC,MAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,mEAAmE;AACxE;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC,oCAAoC;;;;;;;;ACjPrC,iBAAiB,mBAAO,CAAC,MAAe;;;;;;;;;ACA3B;;AAEb;AACA;;AAEA,wBAAwB,mBAAO,CAAC,MAAsB;;AAEtD,aAAa,mBAAO,CAAC,MAAmB;;AAExC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,WAAW;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gCAAgC;AAChC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8B;;;;;;;AC3MA;AACA,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;;;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA,4BAA4B,mBAAO,CAAC,MAAsC;;AAE1E;AACA;;AAEA;;;;;;;;ACNA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA;AACA;AACA,GAAG,qGAAqG;AACxG;AACA,CAAC;;;;;;;;ACTD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,WAAW,mBAAO,CAAC,MAAmB;AACtC,4BAA4B,mBAAO,CAAC,MAAsC;AAC1E,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;AACnB;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;AClFa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAA8B;AAClD,uBAAuB,mBAAO,CAAC,MAAiC;;AAEhE;AACA;;AAEA;AACA,4CAA4C,qBAAqB,EAAE;;AAEnE;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;;ACpBa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA4B;AAC/C,cAAc,mBAAO,CAAC,MAAsB;AAC5C,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAgC;AAC7D,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,4CAA4C;AACrF,6CAA6C,4CAA4C;AACzF,+CAA+C,4CAA4C;AAC3F,KAAK,qBAAqB,sCAAsC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,qBAAqB;AAC/C;AACA;AACA;AACA,KAAK;AACL;AACA,2CAA2C,mCAAmC;AAC9E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,qFAAqF;AACnG;;AAEA;AACA;AACA,iEAAiE,gBAAgB;AACjF;AACA;;AAEA;AACA;;;;;;;;AClGA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,WAAW,mBAAO,CAAC,MAA0B;AAC7C,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gCAAgC,EAAE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACrBD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAA6B;;AAEzD;;AAEA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;;AAEA,uBAAuB,2BAA2B;AAClD;AACA;;AAEA;;AAEA;;AAEA;;;;;;;;;ACrPa;AACb,eAAe,mBAAO,CAAC,MAAwB;AAC/C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,wBAAwB,mBAAO,CAAC,MAAmC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;ACVa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,gBAAgB,mBAAO,CAAC,MAA6B;;AAErD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA,iCAAiC,MAAM,mBAAmB,UAAU,EAAE,EAAE;AACxE,CAAC;;;;;;;;;ACNY;AACb,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;;;;;;;;;ACTa;AACb,WAAW,mBAAO,CAAC,MAA4B;AAC/C,oCAAoC,mBAAO,CAAC,MAAiD;AAC7F,eAAe,mBAAO,CAAC,MAAwB;AAC/C,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,iBAAiB,mBAAO,CAAC,MAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACpCD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6FAA6F;AAC7F;AACA;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;AACA;AACA;;;;;;;;;ACJA;AAAA;AAAqC;;AAErC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+CAA+C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;;AAEjD;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,YAAY;AAClC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,kDAAkD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,OAAO,aAAa;;AAEpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,uBAAuB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,+BAA+B;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY,+BAA+B;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;AACA;;AAEA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,gBAAgB;AACtB,MAAM,OAAO;AACb,MAAM,WAAW;AACjB,MAAM,cAAc;AACpB,MAAM,wBAAwB;;AAE9B;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,aAAa;AACb;AACA,kDAAkD;AAClD;AACA;AACA;AACA,wBAAwB;AACxB,iBAAiB;AACjB,8BAA8B;AAC9B;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,4BAA4B;AAC5B,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD,wCAAwC;AAC3F;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAuB;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD;AACzD,uCAAuC;AACvC;AACA,GAAG;AACH;;AAEA;AACA;AACA,iEAAiE,SAAS;AAC1E;;AAEA;AACA,iDAAiD;AACjD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB,UAAU;AACnC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,cAAc;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD,4BAA4B;AAC5B,GAAG;AACH;;AAEA;AACA;AACA,SAAS,SAAS;;AAElB;AACA;AACA;;AAEA;AACA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS;;AAElB;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,iCAAiC,WAAW;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,gBAAgB;;AAEzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C,MAAM;AACN;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,kBAAkB,iB;AAClB,yBAAyB,oB;AACzB,qBAAqB,gBAAgB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uEAAuE,SAAS;AAChF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uKAAuK;AACvK;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mJAAmJ;;AAEnJ;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,4BAA4B,gBAAgB;AAC5C,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,KAAsC,EAAE,EAK3C;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sCAAsC;AACrD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2EAA2E,mBAAmB;AAC9F;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE,OAAO;AACP,OAAO;AACP;AACA,KAAK;AACL,oEAAoE;AACpE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,SAAS;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA,+BAA+B,sBAAsB,uBAAuB,wCAAwC,8CAA8C,uBAAuB,6BAA6B,wBAAwB,uBAAuB,wBAAwB,wBAAwB,gBAAgB,mBAAmB,kBAAkB,8BAA8B,0BAA0B,aAAa,kBAAkB,aAAa,oBAAoB,kBAAkB,uBAAuB,0BAA0B,0BAA0B,wBAAwB,+BAA+B,qBAAqB,2BAA2B,mCAAmC,kCAAkC,aAAa,kBAAkB,oBAAoB,0BAA0B,0BAA0B,2BAA2B,+BAA+B,qBAAqB,8BAA8B,mCAAmC,kCAAkC,mCAAmC,MAAM,kBAAkB,oBAAoB,0BAA0B,0BAA0B,2BAA2B,+BAA+B,qBAAqB,8BAA8B,mCAAmC,mCAAmC,gBAAgB,aAAa,OAAO,SAAS,UAAU,SAAS,eAAe,gBAAgB,wCAAwC,yBAAyB,SAAS,MAAM,UAAU,SAAS,iBAAiB,oBAAoB,mBAAmB,wBAAwB,OAAO,uDAAuD,4CAA4C,sEAAsE,UAAU,2BAA2B,UAAU,YAAY,UAAU,EAAE,sBAAsB,QAAQ,gBAAgB,aAAa,sBAAsB,6BAA6B,oDAAoD,WAAW,YAAY,gBAAgB,wEAAwE,mGAAmG,SAAS,kBAAkB,UAAU,WAAW,UAAU,YAAY,gBAAgB,mBAAmB,SAAS,QAAQ,UAAU,oBAAoB,SAAS,kBAAkB,OAAO,MAAM,MAAM,uBAAuB,wCAAwC,6BAA6B,UAAU,kCAAkC,UAAU,eAAe,kBAAkB,mBAAmB,MAAM,UAAU,iBAAiB,2DAA2D,8EAA8E,sBAAsB,qCAAqC,0BAA0B,uCAAuC,eAAe,2BAA2B,mCAAmC,eAAe,SAAS,0BAA0B,gBAAgB,UAAU,gBAAgB,iCAAiC,sBAAsB,aAAa,OAAO,gBAAgB,YAAY,aAAa,yEAAyE,6BAA6B,uBAAuB,WAAW,UAAU,6BAA6B,oCAAoC,iCAAiC,kCAAkC,+BAA+B,8BAA8B,oBAAoB,4BAA4B,aAAa,mBAAmB,uBAAuB,mBAAmB,cAAc,gBAAgB,+BAA+B,eAAe,wCAAwC,gCAAgC,2CAA2C,oEAAoE,2CAA2C,cAAc,6BAA6B,mBAAmB,oBAAoB,4BAA4B,kCAAkC,oDAAoD,iBAAiB,mBAAmB,KAAK,aAAa,8BAA8B,gBAAgB,YAAY,aAAa,uBAAuB,WAAW,qCAAqC,uCAAuC,wCAAwC,mBAAmB,aAAa,4CAA4C,WAAW,mCAAmC,+BAA+B,iCAAiC,wCAAwC,8BAA8B,yDAAyD,uCAAuC,WAAW,oBAAoB,+BAA+B,sBAAsB,6BAA6B,WAAW,SAAS,4BAA4B,UAAU,YAAY,aAAa,mBAAmB,kBAAkB,0CAA0C,oCAAoC,gBAAgB,OAAO,YAAY,aAAa,6BAA6B,yCAAyC,gEAAgE,8BAA8B,iCAAiC,qCAAqC,0BAA0B,qCAAqC,WAAW,aAAa,mBAAmB,wDAAwD,gBAAgB,SAAS,6BAA6B;AACj+K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,+BAA+B;AAC1C;AACA;AACA,gCAAgC,4DAAQ,EAAE,qBAAqB;AAC/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,0CAA0C;AAC1C;AACA;;AAEoC;;;;;;;;;ACzkFpC;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;AC9ED,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,YAAY,mBAAO,CAAC,MAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACba;AACb,aAAa,mBAAO,CAAC,MAA+B;;AAEpD;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,YAAY,mBAAO,CAAC,MAAoB;AACxC,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,gCAAgC,mBAAO,CAAC,MAAqC;;AAE7E;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;;;;;;;ACrBD,kCAAkC,mBAAO,CAAC,MAAsC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACzFa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AChBD,WAAW,mBAAO,CAAC,MAA4B;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,kBAAkB,mBAAO,CAAC,MAA2B;;AAErD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACRA,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,2BAA2B,mBAAO,CAAC,MAAqC;AACxE,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;ACTa;AACb;AACA;AACA,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kBAAkB,mBAAO,CAAC,MAA2B;AACrD,oBAAoB,mBAAO,CAAC,MAAoC;AAChE,aAAa,mBAAO,CAAC,MAAqB;AAC1C,aAAa,mBAAO,CAAC,MAA4B;AACjD,uBAAuB,mBAAO,CAAC,MAA6B;AAC5D,0BAA0B,mBAAO,CAAC,MAAyC;AAC3E,sBAAsB,mBAAO,CAAC,MAAqC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACpHA,eAAe,mBAAO,CAAC,MAAe;;AAEtC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5QA,YAAY,mBAAO,CAAC,MAAoB;AACxC,iBAAiB,mBAAO,CAAC,MAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AAC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AkB,mBAAO,CAAC,MAA0B;AACpD,YAAY,mBAAO,CAAC,MAAoB;AACxC,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA4B;AACjD,8BAA8B,mBAAO,CAAC,MAAwC;;AAE9E;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,WAAW;AAC3D;AACA,KAAK,EAAE;AACP;AACA;AACA;AACA,mCAAmC,sBAAsB;AACzD;AACA,kCAAkC;AAClC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC7BD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,iBAAiB;AACtB,GAAG;AACH;;;;;;;;ACdA,eAAe,mBAAO,CAAC,MAAwB;AAC/C,kCAAkC,mBAAO,CAAC,MAA6C;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC9Ea;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA0B;;AAE7C;AACA;AACA,GAAG,2DAA2D;AAC9D;AACA,CAAC;;;;;;;;ACRD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAiC;;AAE3D;AACA;AACA;AACA,GAAG,kFAAkF;AACrF;AACA,CAAC;;;;;;;;ACRD,QA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4D;AAC/D;AACA;AACA;AACA,CAAC;;;;;;;;;ACbY;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,cAAc,mBAAO,CAAC,MAA4B;AAClD,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,eAAe;AACf,CAAC;;AAED;AACA;AACA,GAAG,gDAAgD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnID,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,yBAAyB,mBAAO,CAAC,MAAkC;;AAEnE;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACVA,WAAW,mBAAO,CAAC,MAAoC;AACvD,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,yBAAyB,mBAAO,CAAC,MAAmC;;AAEpE;;AAEA,qBAAqB,mEAAmE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B,+BAA+B;AAC/B,sCAAsC;AACtC,SAAS;AACT,+BAA+B;AAC/B,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACxEa;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAS;;AAE9B,YAAY,mBAAO,CAAC,MAAe;;AAEnC;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q,onUAAonU;;AAEpnU;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2EAA2E;;AAE3E,sBAAsB;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;;AAEA;AACA,4QAA4Q,yJAAyJ,uMAAuM;;AAE5mB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,4CAA4C;;AAE5C;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE;;AAEzE;;AAEA;AACA,gBAAgB,0BAA0B;AAC1C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS,OAAO;AAChB,UAAU,MAAM;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,iBAAiB;;AAEjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sB;;;;;;;ACnLA,YAAY,mBAAO,CAAC,MAAoB;AACxC,+BAA+B,mBAAO,CAAC,MAAyC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAkC;;AAE5D;AACA;AACA;AACA,GAAG,uEAAuE;AAC1E;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;AACpC,eAAe,mBAAO,CAAC,MAAe;AACtC,wBAAwB,mBAAO,CAAC,MAAwB;;AAExD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,uBAAuB,kBAAkB;AACzC;;AAEA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;;AAEA,uBAAuB,WAAW;AAClC;AACA,uBAAuB,qBAAqB;AAC5C;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;;AAEA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;;AAEA,8BAA8B,uBAAuB;AACrD;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sBAAsB,0BAA0B;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,wBAAwB;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yCAAyC,uBAAuB;AAChE;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC5gCA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA,wDAAwD;AACxD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLD;;AAEA,SAASC,cAAT,CAAwBC,KAAxB,EAA+BC,IAA/B,EAAqC;EACpC,IAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACrB,IAAnB,EAAyB;EACzB,OAAOoB,KAAK,CAACE,IAAN,CAAW,UAAAb,CAAC;IAAA,OAAIY,IAAI,CAACrB,IAAL,CAAUuB,WAAV,GAAwBC,QAAxB,CAAiCf,CAAjC,CAAJ;EAAA,CAAZ,CAAP;AACA;;AAEM,SAASgB,WAAT,CAAqBJ,IAArB,EAA2B;EACjC,OAAOF,cAAc,CAACO,8DAAD,EAAcL,IAAd,CAArB;AACA;AAEM,SAASM,WAAT,CAAqBN,IAArB,EAA2B;EACjC,OAAOF,cAAc,CAACS,8DAAD,EAAcP,IAAd,CAArB;AACA;AAEM,SAASQ,gBAAT,CAA0BR,IAA1B,EAAgC;EACtC,OAAOF,cAAc,CAACO,8DAAD,EAAcL,IAAd,CAAd,IAAqCF,cAAc,CAACS,8DAAD,EAAcP,IAAd,CAA1D;AACA;AAEM,SAASS,WAAT,CAAqBT,IAArB,EAA2B;EACjC,OAAOF,cAAc,CAACY,8DAAD,EAAcV,IAAd,CAArB;AACA,C;;;;;;;ACrBD,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,YAAY,mBAAO,CAAC,MAAY;AAChC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;;;AAGlC;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;;AAEA;;AAEA;;;;;;;;;ACrYa;;AAEb;AACA;;AAEA,wBAAwB,mBAAO,CAAC,MAAsB;;AAEtD,aAAa,mBAAO,CAAC,MAAmB;;AAExC,YAAY,mBAAO,CAAC,MAAQ;;AAE5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,wFAAwF,eAAe;;AAEvG;AACA;AACA;AACA;AACA;AACA,sFAAsF,aAAa;;AAEnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,mBAAmB;AAC3B;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;A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Cb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA8B;AACjD,mCAAmC,mBAAO,CAAC,MAA+C;;AAE1F;;AAEA;AACA;AACA;AACA,GAAG,6DAA6D;AAChE;AACA;AACA;AACA,CAAC;;;;;;;;ACdD;AACA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA;AACA;AACA;AACA,yEAAyE,WAAW;AACpF;AACA,CAAC;;;;;;;;ACTD,SAAS,mBAAO,CAAC,MAAgC;;AAEjD;;;;;;;;ACFA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,wBAAwB,mBAAO,CAAC,MAAgC;;AAEhE;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;AAClC,aAAa,mBAAO,CAAC,MAAa;AAClC,kBAAkB,mBAAO,CAAC,MAAkB;;;AAG5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB,eAAe;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,cAAc;AACtC;AACA;;AAEA,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,QAAQ;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB,0BAA0B;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,cAAc,0BAA0B;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB,kCAAkC;AACzD,4CAA4C,gCAAgC;AAC5E;AACA;AACA;AACA;AACA;AACA,gDAAgD,gCAAgC;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,UAAU;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;;AAEA;AACA,6BAA6B,iBAAiB;AAC9C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,uBAAuB;AACjD;AACA;AACA;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA,8BAA8B,uBAAuB;AACrD;AACA;;AAEA;AACA;AACA,kCAAkC,uBAAuB;AACzD;AACA;AACA;AACA;;AAEA,qBAAqB,0BAA0B;AAC/C;AACA;;AAEA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB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A;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD,sBAAsB,yCAAyC,WAAW,IAAI;AAC9E,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA,KAAK;AACL;AACA,mDAAmD,iDAAiD;AACpG,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,kCAAkC;AAChH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qFAAqF,eAAe;AACpG;AACA;AACA;;AAEA,GAAG,yEAAyE;AAC5E;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,GAAG,qDAAqD;AACxD,0BAA0B,mBAAmB,EAAE;AAC/C,0BAA0B,oBAAoB;AAC9C,CAAC;;AAED,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;AC3PA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,UAAU;AAC9C;AACA;AACA;AACA,+CAA+C,aAAa;AAC5D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gEAAgE,wBAAwB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,8EAA8E;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mCAAmC;AACrE;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,iBAAiB;AAC7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,8EAA8E,KAAK;AACnG;AACA;AACA,2CAA2C,YAAY;AACvD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK,OAAO;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB;AACvB;AACA,6BAA6B;AAC7B,KAAK,cAAc;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAE+B;;;;;;;;AC38B/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa,EAAE;;;;;;;;;ACb/B,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,mBAAO,CAAC,MAAW;AAC1B,UAAU,mBAAO,CAAC,MAAc;AAChC,eAAe,mBAAO,CAAC,MAAmB;AAC1C,cAAc,mBAAO,CAAC,MAAkB;AACxC,WAAW,mBAAO,CAAC,MAAe;AAClC,WAAW,mBAAO,CAAC,MAAe;AAClC,YAAY,mBAAO,CAAC,MAAgB;AACpC,WAAW,mBAAO,CAAC,MAAe;AAClC,YAAY,mBAAO,CAAC,MAAgB;AACpC,cAAc,mBAAO,CAAC,MAAc;AACpC,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,sBAAsB,mBAAO,CAAC,MAAsB;AACpD,oBAAoB,mBAAO,CAAC,MAAoB;AAChD,cAAc,mBAAO,CAAC,MAAc;AACpC,aAAa,mBAAO,CAAC,MAAa;AAClC,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,qBAAqB;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+CAA+C,oBAAoB;AACnE;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,+BAA+B,WAAW;AAC1C;AACA,mDAAmD,oBAAoB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yCAAyC,YAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA,oCAAoC,YAAY;AAChD,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,EAAE;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;;AAEA,4BAA4B,YAAY;AACxC;AACA;;AAEA,kDAAkD,0BAA0B;AAC5E;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,uBAAuB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,0BAA0B;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA,iCAAiC,mBAAmB;AACpD;AACA;;AAEA;AACA,+CAA+C,uBAAuB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,kBAAkB;AACtC;AACA,wBAAwB,uBAAuB;AAC/C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;ACz9CA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,cAAc,mBAAO,CAAC,MAAuB;AAC7C,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,qBAAqB,mBAAO,CAAC,MAA8B;;AAE3D;AACA;AACA,GAAG,mDAAmD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACvBD,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,mBAAmB,mBAAO,CAAC,MAA4B;AACvD,4BAA4B,mBAAO,CAAC,MAAuC;AAC3E,2BAA2B,mBAAO,CAAC,MAA8B;AACjE,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACrCA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,MAAe;AACtC,sBAAsB,mBAAO,CAAC,MAAsB;AACpD,wBAAwB,mBAAO,CAAC,MAAwB;AACxD,UAAU,mBAAO,CAAC,MAAU;AAC5B,iBAAiB,mBAAO,CAAC,MAAiB;AAC1C,0BAA0B,mBAAO,CAAC,MAA0B;AAC5D,gBAAgB,mBAAO,CAAC,MAAgB;AACxC,aAAa,mBAAO,CAAC,MAAa;AAClC,cAAc,mBAAO,CAAC,MAAc;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8BAA8B,YAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,YAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB,yBAAyB;AAChD;;AAEA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,yBAAyB;AAChD;;AAEA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;;AAEA;AACA;;AAEA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,2BAA2B,eAAe;AAC1C;AACA;AACA,2BAA2B,eAAe;AAC1C;AACA;AACA;AACA;;AAEA;;AAEA,2DAA2D;AAC3D;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,aAAa;AACpC;;AAEA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;AC30DA,yBAAyB,mBAAO,CAAC,MAAmC;AACpE,kBAAkB,mBAAO,CAAC,MAA4B;;AAEtD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA,wBAAwB,mBAAO,CAAC,MAAmC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACRA;AACA;AACa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,aAAa,mBAAO,CAAC,MAA+B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,eAAe,mBAAO,CAAC,MAAwB;AAC/C,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,gCAAgC,mBAAO,CAAC,MAA0C;;AAElF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,KAAK,6BAA6B;AAClC;AACA,GAAG;AACH;;;;;;;;AC1DA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,YAAY;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,UAAU;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB,kBAAkB;AACzC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B,mBAAmB;AAC9C;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;ACz8BA,aAAa,mBAAO,CAAC,MAAqB;AAC1C,aAAa,mBAAO,CAAC,MAA+B;AACpD,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,+BAA+B,mBAAO,CAAC,MAAuC;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACpBA,YAAY,mBAAO,CAAC,MAAoB;;AAExC;AACA,gBAAgB;AAChB;AACA;AACA;AACA,CAAC;;;;;;;;;ACPY;AACb,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,uBAAuB,mBAAO,CAAC,MAAiC;AAChE,gBAAgB,mBAAO,CAAC,MAAwB;AAChD,0BAA0B,mBAAO,CAAC,MAA6B;AAC/D,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,cAAc,mBAAO,CAAC,MAAsB;AAC5C,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,8BAA8B;AAC9B,gCAAgC;AAChC,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,kBAAkB;AACpD,CAAC,gBAAgB;;;;;;;;;AC5DJ;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,6BAA6B,mBAAO,CAAC,MAAuC;AAC5E,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG,gDAAgD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AC7BD,kBAAkB,mBAAO,CAAC,MAAmC;;AAE7D;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;;;;;;;ACbA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;AACA;AACA;;;;;;;;ACJA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,YAAY,mBAAO,CAAC,MAAoB;AACxC,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,kBAAkB,mBAAO,CAAC,MAA0B;;AAEpD,6CAA6C,mCAAmC,EAAE;AAClF;;AAEA;AACA;AACA,GAAG,mEAAmE;AACtE;AACA;AACA;AACA,CAAC;;;;;;;;ACfD,sBAAsB,mBAAO,CAAC,MAAgC;;AAE9D;;;;;;;;;ACFa;AACb;AACA,YAAY,mBAAO,CAAC,MAA6B;AACjD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,wBAAwB,mBAAO,CAAC,MAAmC;AACnE,0BAA0B,mBAAO,CAAC,MAAqC;;AAEvE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,WAAW;AACnB;AACA,CAAC;;;;;;;;;AC1BY;AACb,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,aAAa,mBAAO,CAAC,MAA+B;AACpD,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,gCAAgC,mBAAO,CAAC,MAA0C;AAClF,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,wBAAwB,mBAAO,CAAC,MAAkC;AAClE,8BAA8B,mBAAO,CAAC,MAAwC;AAC9E,wBAAwB,mBAAO,CAAC,MAAkC;AAClE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,8BAA8B,mBAAO,CAAC,MAAsC;AAC5E,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,cAAc,mBAAO,CAAC,MAAsB;;AAE5C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA,6DAA6D,aAAa;AAC1E,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gBAAgB;;AAEnB;AACA;;;;;;;;ACjEA;AACA;AACA,YAAY;AACZ,GAAG;AACH,YAAY;AACZ;AACA;;;;;;;;ACNA;AACA,mBAAO,CAAC,MAAmC;AAC3C,mBAAO,CAAC,MAA2B;AACnC,mBAAO,CAAC,MAA6B;AACrC,mBAAO,CAAC,MAA4B;AACpC,mBAAO,CAAC,MAA8B;AACtC,mBAAO,CAAC,MAA+B;;;;;;;;ACNvC,aAAa,mBAAO,CAAC,MAA+B;AACpD,cAAc,mBAAO,CAAC,MAAuB;AAC7C,qCAAqC,mBAAO,CAAC,MAAiD;AAC9F,2BAA2B,mBAAO,CAAC,MAAqC;;AAExE;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA,cAAc,mBAAO,CAAC,MAA0B;;AAEhD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,0BAA0B,mBAAO,CAAC,MAAqC;AACvE,eAAe,mBAAO,CAAC,MAA6B;;AAEpD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,gBAAgB,mBAAO,CAAC,MAAwB;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACTA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,iBAAiB,mBAAO,CAAC,MAA2B;AACpD,YAAY,mBAAO,CAAC,MAA6B;AACjD,WAAW,mBAAO,CAAC,MAA4B;AAC/C,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,YAAY,mBAAO,CAAC,MAAoB;AACxC,cAAc,mBAAO,CAAC,MAAuB;AAC7C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,eAAe,mBAAO,CAAC,MAAwB;AAC/C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,oBAAoB,mBAAO,CAAC,MAA4B;;AAExD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY,QAAQ;AACvC;AACA,wCAAwC;AACxC,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,KAAK,+FAA+F;AACpG;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACvEA,eAAe,mBAAO,CAAC,MAAwB;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACTA;AAAA;AAAA;;;;;;;;;ACAa;AACb,0BAA0B,mBAAO,CAAC,MAAkC;AACpE,kBAAkB,mBAAO,CAAC,MAA0B;AACpD,aAAa,mBAAO,CAAC,MAAqB;AAC1C,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,cAAc,mBAAO,CAAC,MAAsB;AAC5C,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,kCAAkC,mBAAO,CAAC,MAA6C;AACvF,oBAAoB,mBAAO,CAAC,MAA8B;AAC1D,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,oBAAoB,mBAAO,CAAC,MAAqC;AACjE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,qBAAqB,mBAAO,CAAC,MAAsC;AACnE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,UAAU,mBAAO,CAAC,MAAkB;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO,iBAAiB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB;AACA;AACA;AACA;AACA;AACA,OAAO,gBAAgB;AACvB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;AACtD;AACA,GAAG,EAAE;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnLA,kBAAkB,mBAAO,CAAC,MAA4B;AACtD,qBAAqB,mBAAO,CAAC,MAAqC;;AAElE;AACA,yDAAyD,eAAe;AACxE,yDAAyD,eAAe;AACxE;AACA;;;;;;;;ACPA;AACA;AACA;;AAEA;;;;;;;;;ACJa;AACb,gBAAgB,mBAAO,CAAC,MAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AClBA,QAAQ,mBAAO,CAAC,MAAqB;AACrC,kBAAkB,mBAAO,CAAC,MAAoC;AAC9D,iBAAiB,mBAAO,CAAC,MAA0B;AACnD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA+B;AACpD,qBAAqB,mBAAO,CAAC,MAAqC;AAClE,gCAAgC,mBAAO,CAAC,MAA4C;AACpF,wCAAwC,mBAAO,CAAC,MAAqD;AACrG,mBAAmB,mBAAO,CAAC,OAAmC;AAC9D,UAAU,mBAAO,CAAC,MAAkB;AACpC,eAAe,mBAAO,CAAC,MAAuB;;AAE9C;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,gBAAgB;AAChB,GAAG,EAAE;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,OAAO,6CAA6C;AACpD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACxFa;AACb,QAAQ,mBAAO,CAAC,MAAqB;AACrC,WAAW,mBAAO,CAAC,MAA4B;AAC/C,iCAAiC,mBAAO,CAAC,MAAqC;AAC9E,iCAAiC,mBAAO,CAAC,MAA4C;;AAErF;AACA;AACA,GAAG,oEAAoE;AACvE;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACdD;;AAEA,mBAAmB,mBAAO,CAAC,MAAmB;;AAE9C;AACA;AACA;AACA;;AAEA;;;;;;;;ACTA,kBAAkB,mBAAO,CAAC,MAAoC;;AAE9D;;;;;;;;ACFA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,aAAa;AACrD,8CAA8C,aAAa;AAC3D,kDAAkD,YAAY;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,YAAY;AACtE,4DAA4D,aAAa;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,aAAa;AACzD,8CAA8C,aAAa;AAC3D;;AAEA,sEAAsE;AACtE,0CAA0C,aAAa;AACvD;AACA;AACA;;AAEA;;;;;;;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,wDAAwD;AACxD;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;;AAGpC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,OAAO;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,uBAAuB;AACzC,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA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BAAwB,mBAAO,CAAC,MAAmC;AACnE,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,qBAAqB,mBAAO,CAAC,MAA8B;AAC3D,sBAAsB,mBAAO,CAAC,MAAgC;AAC9D,mCAAmC,mBAAO,CAAC,MAA+C;AAC1F,eAAe,mBAAO,CAAC,MAA0B;;AAEjD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,6DAA6D;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA,CAAC;;;;;;;;ACjDD;AACA,oBAAoB,mBAAO,CAAC,MAA6B;AACzD,6BAA6B,mBAAO,CAAC,MAAuC;;AAE5E;AACA;AACA;;;;;;;;ACNA,YAAY,mBAAO,CAAC,MAAoB;AACxC,aAAa,mBAAO,CAAC,MAAqB;;AAE1C;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;ACTD,kCAAkC,mBAAO,CAAC,MAAsC;;AAEhF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA,oBAAoB,mBAAO,CAAC,MAA4B;;AAExD;AACA;AACA;;;;;;;;ACLA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,MAAa;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,mBAAO,CAAC,MAAc;;AAEpC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA","file":"vue-advanced-chat.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-advanced-chat\"] = factory();\n\telse\n\t\troot[\"vue-advanced-chat\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar DELEGATES_TO_EXEC = function () {\n var execCalled = false;\n var re = /[ac]/;\n re.exec = function () {\n execCalled = true;\n return /./.exec.apply(this, arguments);\n };\n return re.test('abc') === true && execCalled;\n}();\n\nvar Error = global.Error;\nvar un$Test = uncurryThis(/./.test);\n\n// `RegExp.prototype.test` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.test\n$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {\n test: function (str) {\n var exec = this.exec;\n if (!isCallable(exec)) return un$Test(this, str);\n var result = call(exec, this, str);\n if (result !== null && !isObject(result)) {\n throw new Error('RegExp exec method returned something other than an Object or null');\n }\n return !!result;\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","// extracted by mini-css-extract-plugin","var Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","function new_byte(count) {\n return new Int8Array(count);\n}\n\nfunction new_short(count) {\n return new Int16Array(count);\n}\n\nfunction new_int(count) {\n return new Int32Array(count);\n}\n\nfunction new_float(count) {\n return new Float32Array(count);\n}\n\nfunction new_double(count) {\n return new Float64Array(count);\n}\n\nfunction new_float_n(args) {\n if (args.length == 1) {\n return new_float(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_float_n(args));\n }\n return A;\n}\nfunction new_int_n(args) {\n if (args.length == 1) {\n return new_int(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_int_n(args));\n }\n return A;\n}\n\nfunction new_short_n(args) {\n if (args.length == 1) {\n return new_short(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_short_n(args));\n }\n return A;\n}\n\nfunction new_array_n(args) {\n if (args.length == 1) {\n return new Array(args[0]);\n }\n var sz = args[0];\n args = args.slice(1);\n var A = [];\n for (var i = 0; i < sz; i++) {\n A.push(new_array_n(args));\n }\n return A;\n}\n\n\nvar Arrays = {};\n\nArrays.fill = function (a, fromIndex, toIndex, val) {\n if (arguments.length == 2) {\n for (var i = 0; i < a.length; i++) {\n a[i] = arguments[1];\n }\n } else {\n for (var i = fromIndex; i < toIndex; i++) {\n a[i] = val;\n }\n }\n};\n\nvar System = {};\n\nSystem.arraycopy = function (src, srcPos, dest, destPos, length) {\n var srcEnd = srcPos + length;\n while (srcPos < srcEnd)\n dest[destPos++] = src[srcPos++];\n};\n\n\nvar Util = {};\nUtil.SQRT2 = 1.41421356237309504880;\nUtil.FAST_LOG10 = function (x) {\n return Math.log10(x);\n};\n\nUtil.FAST_LOG10_X = function (x, y) {\n return Math.log10(x) * y;\n};\n\nfunction ShortBlock(ordinal) {\n this.ordinal = ordinal;\n}\n/**\n * LAME may use them, even different block types for L/R.\n */\nShortBlock.short_block_allowed = new ShortBlock(0);\n/**\n * LAME may use them, but always same block types in L/R.\n */\nShortBlock.short_block_coupled = new ShortBlock(1);\n/**\n * LAME will not use short blocks, long blocks only.\n */\nShortBlock.short_block_dispensed = new ShortBlock(2);\n/**\n * LAME will not use long blocks, short blocks only.\n */\nShortBlock.short_block_forced = new ShortBlock(3);\n\nvar Float = {};\nFloat.MAX_VALUE = 3.4028235e+38;\n\nfunction VbrMode(ordinal) {\n this.ordinal = ordinal;\n}\nVbrMode.vbr_off = new VbrMode(0);\nVbrMode.vbr_mt = new VbrMode(1);\nVbrMode.vbr_rh = new VbrMode(2);\nVbrMode.vbr_abr = new VbrMode(3);\nVbrMode.vbr_mtrh = new VbrMode(4);\nVbrMode.vbr_default = VbrMode.vbr_mtrh;\n\nvar assert = function (x) {\n //console.assert(x);\n};\n\nmodule.exports = {\n \"System\": System,\n \"VbrMode\": VbrMode,\n \"Float\": Float,\n \"ShortBlock\": ShortBlock,\n \"Util\": Util,\n \"Arrays\": Arrays,\n \"new_array_n\": new_array_n,\n \"new_byte\": new_byte,\n \"new_double\": new_double,\n \"new_float\": new_float,\n \"new_float_n\": new_float_n,\n \"new_int\": new_int,\n \"new_int_n\": new_int_n,\n \"new_short\": new_short,\n \"new_short_n\": new_short_n,\n \"assert\": assert\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar Function = global.Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = NATIVE_BIND ? Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","/* eslint-disable es-x/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\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 arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/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 = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var common = require('./common.js');\nvar new_float = common.new_float;\nvar new_int = common.new_int;\nvar assert = common.assert;\n\nfunction CalcNoiseData() {\n this.global_gain = 0;\n this.sfb_count1 = 0;\n this.step = new_int(39);\n this.noise = new_float(39);\n this.noise_log = new_float(39);\n}\n\nmodule.exports = CalcNoiseData;\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar RangeError = global.RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (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 C === undefined ? Array : C;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\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(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 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 ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","// TODO: Remove from `core-js@4`\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar un$DateToString = uncurryThis(DatePrototype[TO_STRING]);\nvar getTime = uncurryThis(DatePrototype.getTime);\n\n// `Date.prototype.toString` method\n// https://tc39.es/ecma262/#sec-date.prototype.tostring\nif (String(new Date(NaN)) != INVALID_DATE) {\n defineBuiltIn(DatePrototype, TO_STRING, function toString() {\n var value = getTime(this);\n // eslint-disable-next-line no-self-compare -- NaN check\n return value === value ? un$DateToString(this) : INVALID_DATE;\n });\n}\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?
b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar RangeError = global.RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es-x/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n\nvar CONFIGURABLE_LENGTH = !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n defineProperty(value, 'name', { value: name, configurable: true });\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es-x/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar TypeError = global.TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(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 remaining++;\n call($promiseResolve, 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});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.stateify = exports.TokenState = exports.CharacterState = undefined;\n\nvar _class = require('../utils/class');\n\nfunction createStateClass() {\n\treturn function (tClass) {\n\t\tthis.j = [];\n\t\tthis.T = tClass || null;\n\t};\n}\n\n/**\n\tA simple state machine that can emit token classes\n\n\tThe `j` property in this class refers to state jumps. It's a\n\tmultidimensional array where for each element:\n\n\t* index [0] is a symbol or class of symbols to transition to.\n\t* index [1] is a State instance which matches\n\n\tThe type of symbol will depend on the target implementation for this class.\n\tIn Linkify, we have a two-stage scanner. Each stage uses this state machine\n\tbut with a slighly different (polymorphic) implementation.\n\n\tThe `T` property refers to the token class.\n\n\tTODO: Can the `on` and `next` methods be combined?\n\n\t@class BaseState\n*/\nvar BaseState = createStateClass();\nBaseState.prototype = {\n\tdefaultTransition: false,\n\n\t/**\n \t@method constructor\n \t@param {Class} tClass Pass in the kind of token to emit if there are\n \t\tno jumps after this state and the state is accepting.\n */\n\n\t/**\n \tOn the given symbol(s), this machine should go to the given state\n \t\t@method on\n \t@param {Array|Mixed} symbol\n \t@param {BaseState} state Note that the type of this state should be the\n \t\tsame as the current instance (i.e., don't pass in a different\n \t\tsubclass)\n */\n\ton: function on(symbol, state) {\n\t\tif (symbol instanceof Array) {\n\t\t\tfor (var i = 0; i < symbol.length; i++) {\n\t\t\t\tthis.j.push([symbol[i], state]);\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tthis.j.push([symbol, state]);\n\t\treturn this;\n\t},\n\n\n\t/**\n \tGiven the next item, returns next state for that item\n \t@method next\n \t@param {Mixed} item Should be an instance of the symbols handled by\n \t\tthis particular machine.\n \t@return {State} state Returns false if no jumps are available\n */\n\tnext: function next(item) {\n\t\tfor (var i = 0; i < this.j.length; i++) {\n\t\t\tvar jump = this.j[i];\n\t\t\tvar symbol = jump[0]; // Next item to check for\n\t\t\tvar state = jump[1]; // State to jump to if items match\n\n\t\t\t// compare item with symbol\n\t\t\tif (this.test(item, symbol)) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\n\t\t// Nowhere left to jump!\n\t\treturn this.defaultTransition;\n\t},\n\n\n\t/**\n \tDoes this state accept?\n \t`true` only of `this.T` exists\n \t\t@method accepts\n \t@return {Boolean}\n */\n\taccepts: function accepts() {\n\t\treturn !!this.T;\n\t},\n\n\n\t/**\n \tDetermine whether a given item \"symbolizes\" the symbol, where symbol is\n \ta class of items handled by this state machine.\n \t\tThis method should be overriden in extended classes.\n \t\t@method test\n \t@param {Mixed} item Does this item match the given symbol?\n \t@param {Mixed} symbol\n \t@return {Boolean}\n */\n\ttest: function test(item, symbol) {\n\t\treturn item === symbol;\n\t},\n\n\n\t/**\n \tEmit the token for this State (just return it in this case)\n \tIf this emits a token, this instance is an accepting state\n \t@method emit\n \t@return {Class} T\n */\n\temit: function emit() {\n\t\treturn this.T;\n\t}\n};\n\n/**\n\tState machine for string-based input\n\n\t@class CharacterState\n\t@extends BaseState\n*/\nvar CharacterState = (0, _class.inherits)(BaseState, createStateClass(), {\n\t/**\n \tDoes the given character match the given character or regular\n \texpression?\n \t\t@method test\n \t@param {String} char\n \t@param {String|RegExp} charOrRegExp\n \t@return {Boolean}\n */\n\ttest: function test(character, charOrRegExp) {\n\t\treturn character === charOrRegExp || charOrRegExp instanceof RegExp && charOrRegExp.test(character);\n\t}\n});\n\n/**\n\tState machine for input in the form of TextTokens\n\n\t@class TokenState\n\t@extends BaseState\n*/\nvar TokenState = (0, _class.inherits)(BaseState, createStateClass(), {\n\n\t/**\n * Similar to `on`, but returns the state the results in the transition from\n * the given item\n * @method jump\n * @param {Mixed} item\n * @param {Token} [token]\n * @return state\n */\n\tjump: function jump(token) {\n\t\tvar tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\t\tvar state = this.next(new token('')); // dummy temp token\n\t\tif (state === this.defaultTransition) {\n\t\t\t// Make a new state!\n\t\t\tstate = new this.constructor(tClass);\n\t\t\tthis.on(token, state);\n\t\t} else if (tClass) {\n\t\t\tstate.T = tClass;\n\t\t}\n\t\treturn state;\n\t},\n\n\n\t/**\n \tIs the given token an instance of the given token class?\n \t\t@method test\n \t@param {TextToken} token\n \t@param {Class} tokenClass\n \t@return {Boolean}\n */\n\ttest: function test(token, tokenClass) {\n\t\treturn token instanceof tokenClass;\n\t}\n});\n\n/**\n\tGiven a non-empty target string, generates states (if required) for each\n\tconsecutive substring of characters in str starting from the beginning of\n\tthe string. The final state will have a special value, as specified in\n\toptions. All other \"in between\" substrings will have a default end state.\n\n\tThis turns the state machine into a Trie-like data structure (rather than a\n\tintelligently-designed DFA).\n\n\tNote that I haven't really tried these with any strings other than\n\tDOMAIN.\n\n\t@param {String} str\n\t@param {CharacterState} start State to jump from the first character\n\t@param {Class} endToken Token class to emit when the given string has been\n\t\tmatched and no more jumps exist.\n\t@param {Class} defaultToken \"Filler token\", or which token type to emit when\n\t\twe don't have a full match\n\t@return {Array} list of newly-created states\n*/\nfunction stateify(str, start, endToken, defaultToken) {\n\tvar i = 0,\n\t len = str.length,\n\t state = start,\n\t newStates = [],\n\t nextState = void 0;\n\n\t// Find the next state without a jump to the next character\n\twhile (i < len && (nextState = state.next(str[i]))) {\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tif (i >= len) {\n\t\treturn [];\n\t} // no new tokens were added\n\n\twhile (i < len - 1) {\n\t\tnextState = new CharacterState(defaultToken);\n\t\tnewStates.push(nextState);\n\t\tstate.on(str[i], nextState);\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tnextState = new CharacterState(endToken);\n\tnewStates.push(nextState);\n\tstate.on(str[len - 1], nextState);\n\n\treturn newStates;\n}\n\nexports.CharacterState = CharacterState;\nexports.TokenState = TokenState;\nexports.stateify = stateify;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var global = require('../internals/global');\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","export function detectMobile() {\n\tvar userAgent = getUserAgent()\n\n\tvar userAgentPart = userAgent.substr(0, 4)\n\n\treturn (\n\t\t/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(\n\t\t\tuserAgent\n\t\t) ||\n\t\t/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(\n\t\t\tuserAgentPart\n\t\t)\n\t)\n}\n\nfunction getUserAgent() {\n\tvar userAgent =\n\t\tnavigator.userAgent || navigator.vendor || window.opera || null\n\n\tif (!userAgent) throw new Error('Failed to look for user agent information.')\n\n\treturn userAgent\n}\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\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-x/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 userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setTimeout = require('../internals/schedulers-fix').setTimeout;\n\n// ie9- setTimeout additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n$({ global: true, bind: true, forced: global.setTimeout !== setTimeout }, {\n setTimeout: setTimeout\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\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","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","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar isCallable = require('../internals/is-callable');\nvar userAgent = require('../internals/engine-user-agent');\nvar arraySlice = require('../internals/array-slice');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar Function = global.Function;\n\nvar wrap = function (scheduler) {\n return MSIE ? function (handler, timeout /* , ...arguments */) {\n var boundArgs = validateArgumentsLength(arguments.length, 1) > 2;\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = boundArgs ? arraySlice(arguments, 2) : undefined;\n return scheduler(boundArgs ? function () {\n apply(fn, this, args);\n } : fn, timeout);\n } : scheduler;\n};\n\n// ie9- setTimeout & setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\nmodule.exports = {\n // `setTimeout` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n setTimeout: wrap(global.setTimeout),\n // `setInterval` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n setInterval: wrap(global.setInterval)\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n un$Sort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return un$Sort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\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);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\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 (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.strike` method\n// https://tc39.es/ecma262/#sec-string.prototype.strike\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, {\n strike: function strike() {\n return createHTML(this, 'strike', '', '');\n }\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\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 options.name - the .name of the function if it does not match the key\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 defineBuiltIn(target, key, sourceProperty, options);\n }\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-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","//package mp3;\n\nfunction VBRSeekInfo() {\n /**\n * What we have seen so far.\n */\n this.sum = 0;\n /**\n * How many frames we have seen in this chunk.\n */\n this.seen = 0;\n /**\n * How many frames we want to collect into one chunk.\n */\n this.want = 0;\n /**\n * Actual position in our bag.\n */\n this.pos = 0;\n /**\n * Size of our bag.\n */\n this.size = 0;\n /**\n * Pointer to our bag.\n */\n this.bag = null;\n this.nVbrNumFrames = 0;\n this.nBytesWritten = 0;\n /* VBR tag data */\n this.TotalFrameSize = 0;\n}\n\nmodule.exports = VBRSeekInfo;\n","/*\n * psymodel.c\n *\n * Copyright (c) 1999-2000 Mark Taylor\n * Copyright (c) 2001-2002 Naoki Shibata\n * Copyright (c) 2000-2003 Takehiro Tominaga\n * Copyright (c) 2000-2008 Robert Hegemann\n * Copyright (c) 2000-2005 Gabriel Bouvigne\n * Copyright (c) 2000-2005 Alexander Leidinger\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */\n\n/* $Id: PsyModel.java,v 1.27 2011/05/24 20:48:06 kenchis Exp $ */\n\n\n/*\n PSYCHO ACOUSTICS\n\n\n This routine computes the psycho acoustics, delayed by one granule.\n\n Input: buffer of PCM data (1024 samples).\n\n This window should be centered over the 576 sample granule window.\n The routine will compute the psycho acoustics for\n this granule, but return the psycho acoustics computed\n for the *previous* granule. This is because the block\n type of the previous granule can only be determined\n after we have computed the psycho acoustics for the following\n granule.\n\n Output: maskings and energies for each scalefactor band.\n block type, PE, and some correlation measures.\n The PE is used by CBR modes to determine if extra bits\n from the bit reservoir should be used. The correlation\n measures are used to determine mid/side or regular stereo.\n */\n/*\n Notation:\n\n barks: a non-linear frequency scale. Mapping from frequency to\n barks is given by freq2bark()\n\n scalefactor bands: The spectrum (frequencies) are broken into\n SBMAX \"scalefactor bands\". Thes bands\n are determined by the MPEG ISO spec. In\n the noise shaping/quantization code, we allocate\n bits among the partition bands to achieve the\n best possible quality\n\n partition bands: The spectrum is also broken into about\n 64 \"partition bands\". Each partition\n band is about .34 barks wide. There are about 2-5\n partition bands for each scalefactor band.\n\n LAME computes all psycho acoustic information for each partition\n band. Then at the end of the computations, this information\n is mapped to scalefactor bands. The energy in each scalefactor\n band is taken as the sum of the energy in all partition bands\n which overlap the scalefactor band. The maskings can be computed\n in the same way (and thus represent the average masking in that band)\n or by taking the minmum value multiplied by the number of\n partition bands used (which represents a minimum masking in that band).\n */\n/*\n The general outline is as follows:\n\n 1. compute the energy in each partition band\n 2. compute the tonality in each partition band\n 3. compute the strength of each partion band \"masker\"\n 4. compute the masking (via the spreading function applied to each masker)\n 5. Modifications for mid/side masking.\n\n Each partition band is considiered a \"masker\". The strength\n of the i'th masker in band j is given by:\n\n s3(bark(i)-bark(j))*strength(i)\n\n The strength of the masker is a function of the energy and tonality.\n The more tonal, the less masking. LAME uses a simple linear formula\n (controlled by NMT and TMN) which says the strength is given by the\n energy divided by a linear function of the tonality.\n */\n/*\n s3() is the \"spreading function\". It is given by a formula\n determined via listening tests.\n\n The total masking in the j'th partition band is the sum over\n all maskings i. It is thus given by the convolution of\n the strength with s3(), the \"spreading function.\"\n\n masking(j) = sum_over_i s3(i-j)*strength(i) = s3 o strength\n\n where \"o\" = convolution operator. s3 is given by a formula determined\n via listening tests. It is normalized so that s3 o 1 = 1.\n\n Note: instead of a simple convolution, LAME also has the\n option of using \"additive masking\"\n\n The most critical part is step 2, computing the tonality of each\n partition band. LAME has two tonality estimators. The first\n is based on the ISO spec, and measures how predictiable the\n signal is over time. The more predictable, the more tonal.\n The second measure is based on looking at the spectrum of\n a single granule. The more peaky the spectrum, the more\n tonal. By most indications, the latter approach is better.\n\n Finally, in step 5, the maskings for the mid and side\n channel are possibly increased. Under certain circumstances,\n noise in the mid & side channels is assumed to also\n be masked by strong maskers in the L or R channels.\n\n\n Other data computed by the psy-model:\n\n ms_ratio side-channel / mid-channel masking ratio (for previous granule)\n ms_ratio_next side-channel / mid-channel masking ratio for this granule\n\n percep_entropy[2] L and R values (prev granule) of PE - A measure of how\n much pre-echo is in the previous granule\n percep_entropy_MS[2] mid and side channel values (prev granule) of percep_entropy\n energy[4] L,R,M,S energy in each channel, prev granule\n blocktype_d[2] block type to use for previous granule\n */\n//package mp3;\n\n//import java.util.Arrays;\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar FFT = require(\"./FFT.js\");\nvar Encoder = require(\"./Encoder.js\");\n\nfunction PsyModel() {\n\n var fft = new FFT();\n\n var LOG10 = 2.30258509299404568402;\n\n var rpelev = 2;\n var rpelev2 = 16;\n var rpelev_s = 2;\n var rpelev2_s = 16;\n\n /* size of each partition band, in barks: */\n var DELBARK = .34;\n\n /* tuned for output level (sensitive to energy scale) */\n var VO_SCALE = (1. / (14752 * 14752) / (Encoder.BLKSIZE / 2));\n\n var temporalmask_sustain_sec = 0.01;\n\n var NS_PREECHO_ATT0 = 0.8;\n var NS_PREECHO_ATT1 = 0.6;\n var NS_PREECHO_ATT2 = 0.3;\n\n var NS_MSFIX = 3.5;\n\n var NSATTACKTHRE = 4.4;\n var NSATTACKTHRE_S = 25;\n\n var NSFIRLEN = 21;\n\n /* size of each partition band, in barks: */\n var LN_TO_LOG10 = 0.2302585093;\n\n function NON_LINEAR_SCALE_ENERGY(x) {\n return x;\n }\n\n /**\n *
\n     *       L3psycho_anal.  Compute psycho acoustics.\n     *\n     *       Data returned to the calling program must be delayed by one\n     *       granule.\n     *\n     *       This is done in two places.\n     *       If we do not need to know the blocktype, the copying\n     *       can be done here at the top of the program: we copy the data for\n     *       the last granule (computed during the last call) before it is\n     *       overwritten with the new data.  It looks like this:\n     *\n     *       0. static psymodel_data\n     *       1. calling_program_data = psymodel_data\n     *       2. compute psymodel_data\n     *\n     *       For data which needs to know the blocktype, the copying must be\n     *       done at the end of this loop, and the old values must be saved:\n     *\n     *       0. static psymodel_data_old\n     *       1. compute psymodel_data\n     *       2. compute possible block type of this granule\n     *       3. compute final block type of previous granule based on #2.\n     *       4. calling_program_data = psymodel_data_old\n     *       5. psymodel_data_old = psymodel_data\n     *     psycho_loudness_approx\n     *       jd - 2001 mar 12\n     *    in:  energy   - BLKSIZE/2 elements of frequency magnitudes ^ 2\n     *         gfp      - uses out_samplerate, ATHtype (also needed for ATHformula)\n     *    returns: loudness^2 approximation, a positive value roughly tuned for a value\n     *             of 1.0 for signals near clipping.\n     *    notes:   When calibrated, feeding this function binary white noise at sample\n     *             values +32767 or -32768 should return values that approach 3.\n     *             ATHformula is used to approximate an equal loudness curve.\n     *    future:  Data indicates that the shape of the equal loudness curve varies\n     *             with intensity.  This function might be improved by using an equal\n     *             loudness curve shaped for typical playback levels (instead of the\n     *             ATH, that is shaped for the threshold).  A flexible realization might\n     *             simply bend the existing ATH curve to achieve the desired shape.\n     *             However, the potential gain may not be enough to justify an effort.\n     * 
\n */\n function psycho_loudness_approx(energy, gfc) {\n var loudness_power = 0.0;\n /* apply weights to power in freq. bands */\n for (var i = 0; i < Encoder.BLKSIZE / 2; ++i)\n loudness_power += energy[i] * gfc.ATH.eql_w[i];\n loudness_power *= VO_SCALE;\n\n return loudness_power;\n }\n\n function compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, wsamp_lPos, wsamp_s, wsamp_sPos, gr_out, chn, buffer, bufPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n /* FFT data for mid and side channel is derived from L & R */\n else if (chn == 2) {\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n for (var b = 2; b >= 0; --b) {\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][b][j];\n var r = wsamp_s[wsamp_sPos + 1][b][j];\n wsamp_s[wsamp_sPos + 0][b][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][b][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 - j];\n var im = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n for (var b = 2; b >= 0; --b) {\n fftenergy_s[b][0] = (wsamp_s[wsamp_sPos + 0])[b][0];\n fftenergy_s[b][0] *= fftenergy_s[b][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 - j];\n var im = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 + j];\n fftenergy_s[b][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n\n /*********************************************************************\n * compute loudness approximation (used for ATH auto-level adjustment)\n *********************************************************************/\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n /* mask_add optimization */\n /* init the limit values used to avoid computing log in mask_add when it is not necessary */\n\n /**\n *
\n     *  For example, with i = 10*log10(m2/m1)/10*16         (= log10(m2/m1)*16)\n     *\n     * abs(i)>8 is equivalent (as i is an integer) to\n     * abs(i)>=9\n     * i>=9 || i<=-9\n     * equivalent to (as i is the biggest integer smaller than log10(m2/m1)*16\n     * or the smallest integer bigger than log10(m2/m1)*16 depending on the sign of log10(m2/m1)*16)\n     * log10(m2/m1)>=9/16 || log10(m2/m1)<=-9/16\n     * exp10 is strictly increasing thus this is equivalent to\n     * m2/m1 >= 10^(9/16) || m2/m1<=10^(-9/16) which are comparisons to constants\n     * 
\n */\n\n /**\n * as in if(i>8)\n */\n var I1LIMIT = 8;\n /**\n * as in if(i>24) . changed 23\n */\n var I2LIMIT = 23;\n /**\n * as in if(m<15)\n */\n var MLIMIT = 15;\n\n var ma_max_i1;\n var ma_max_i2;\n var ma_max_m;\n\n /**\n * This is the masking table:
\n * According to tonality, values are going from 0dB (TMN) to 9.3dB (NMT).
\n * After additive masking computation, 8dB are added, so final values are\n * going from 8dB to 17.3dB\n *\n * pow(10, -0.0..-0.6)\n */\n var tab = [1.0, 0.79433, 0.63096, 0.63096,\n 0.63096, 0.63096, 0.63096, 0.25119, 0.11749];\n\n function init_mask_add_max_values() {\n ma_max_i1 = Math.pow(10, (I1LIMIT + 1) / 16.0);\n ma_max_i2 = Math.pow(10, (I2LIMIT + 1) / 16.0);\n ma_max_m = Math.pow(10, (MLIMIT) / 10.0);\n }\n\n var table1 = [3.3246 * 3.3246,\n 3.23837 * 3.23837, 3.15437 * 3.15437, 3.00412 * 3.00412,\n 2.86103 * 2.86103, 2.65407 * 2.65407, 2.46209 * 2.46209,\n 2.284 * 2.284, 2.11879 * 2.11879, 1.96552 * 1.96552,\n 1.82335 * 1.82335, 1.69146 * 1.69146, 1.56911 * 1.56911,\n 1.46658 * 1.46658, 1.37074 * 1.37074, 1.31036 * 1.31036,\n 1.25264 * 1.25264, 1.20648 * 1.20648, 1.16203 * 1.16203,\n 1.12765 * 1.12765, 1.09428 * 1.09428, 1.0659 * 1.0659,\n 1.03826 * 1.03826, 1.01895 * 1.01895, 1];\n\n var table2 = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n var table3 = [2.35364 * 2.35364,\n 2.29259 * 2.29259, 2.23313 * 2.23313, 2.12675 * 2.12675,\n 2.02545 * 2.02545, 1.87894 * 1.87894, 1.74303 * 1.74303,\n 1.61695 * 1.61695, 1.49999 * 1.49999, 1.39148 * 1.39148,\n 1.29083 * 1.29083, 1.19746 * 1.19746, 1.11084 * 1.11084,\n 1.03826 * 1.03826];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function mask_add(m1, m2, kk, b, gfc, shortblock) {\n var ratio;\n\n if (m2 > m1) {\n if (m2 < (m1 * ma_max_i2))\n ratio = m2 / m1;\n else\n return (m1 + m2);\n } else {\n if (m1 >= (m2 * ma_max_i2))\n return (m1 + m2);\n ratio = m1 / m2;\n }\n\n /* Should always be true, just checking */\n assert(m1 >= 0);\n assert(m2 >= 0);\n\n m1 += m2;\n //if (((long)(b + 3) & 0xffffffff) <= 3 + 3) {\n if ((b + 3) <= 3 + 3) {\n /* approximately, 1 bark = 3 partitions */\n /* 65% of the cases */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n /* 43% of the total */\n return m1;\n }\n\n /* 22% of the total */\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return m1 * table2[i];\n }\n\n /**\n *
\n         * m<15 equ log10((m1+m2)/gfc.ATH.cb[k])<1.5\n         * equ (m1+m2)/gfc.ATH.cb[k]<10^1.5\n         * equ (m1+m2)<10^1.5 * gfc.ATH.cb[k]\n         * 
\n */\n var i = 0 | Util.FAST_LOG10_X(ratio, 16.0);\n if (shortblock != 0) {\n m2 = gfc.ATH.cb_s[kk] * gfc.ATH.adjust;\n } else {\n m2 = gfc.ATH.cb_l[kk] * gfc.ATH.adjust;\n }\n assert(m2 >= 0);\n if (m1 < ma_max_m * m2) {\n /* 3% of the total */\n /* Originally if (m > 0) { */\n if (m1 > m2) {\n var f, r;\n\n f = 1.0;\n if (i <= 13)\n f = table3[i];\n\n r = Util.FAST_LOG10_X(m1 / m2, 10.0 / 15.0);\n return m1 * ((table1[i] - f) * r + f);\n }\n\n if (i > 13)\n return m1;\n\n return m1 * table3[i];\n }\n\n /* 10% of total */\n return m1 * table1[i];\n }\n\n var table2_ = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function vbrpsy_mask_add(m1, m2, b) {\n var ratio;\n\n if (m1 < 0) {\n m1 = 0;\n }\n if (m2 < 0) {\n m2 = 0;\n }\n if (m1 <= 0) {\n return m2;\n }\n if (m2 <= 0) {\n return m1;\n }\n if (m2 > m1) {\n ratio = m2 / m1;\n } else {\n ratio = m1 / m2;\n }\n if (-2 <= b && b <= 2) {\n /* approximately, 1 bark = 3 partitions */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n return m1 + m2;\n } else {\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return (m1 + m2) * table2_[i];\n }\n }\n if (ratio < ma_max_i2) {\n return m1 + m2;\n }\n if (m1 < m2) {\n m1 = m2;\n }\n return m1;\n }\n\n /**\n * compute interchannel masking effects\n */\n function calc_interchannel_masking(gfp, ratio) {\n var gfc = gfp.internal_flags;\n if (gfc.channels_out > 1) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var l = gfc.thm[0].l[sb];\n var r = gfc.thm[1].l[sb];\n gfc.thm[0].l[sb] += r * ratio;\n gfc.thm[1].l[sb] += l * ratio;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var l = gfc.thm[0].s[sb][sblock];\n var r = gfc.thm[1].s[sb][sblock];\n gfc.thm[0].s[sb][sblock] += r * ratio;\n gfc.thm[1].s[sb][sblock] += l * ratio;\n }\n }\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function msfix1(gfc) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n /* use this fix if L & R masking differs by 2db or less */\n /* if db = 10*log10(x2/x1) < 2 */\n /* if (x2 < 1.58*x1) { */\n if (gfc.thm[0].l[sb] > 1.58 * gfc.thm[1].l[sb]\n || gfc.thm[1].l[sb] > 1.58 * gfc.thm[0].l[sb])\n continue;\n var mld = gfc.mld_l[sb] * gfc.en[3].l[sb];\n var rmid = Math.max(gfc.thm[2].l[sb],\n Math.min(gfc.thm[3].l[sb], mld));\n\n mld = gfc.mld_l[sb] * gfc.en[2].l[sb];\n var rside = Math.max(gfc.thm[3].l[sb],\n Math.min(gfc.thm[2].l[sb], mld));\n gfc.thm[2].l[sb] = rmid;\n gfc.thm[3].l[sb] = rside;\n }\n\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n if (gfc.thm[0].s[sb][sblock] > 1.58 * gfc.thm[1].s[sb][sblock]\n || gfc.thm[1].s[sb][sblock] > 1.58 * gfc.thm[0].s[sb][sblock])\n continue;\n var mld = gfc.mld_s[sb] * gfc.en[3].s[sb][sblock];\n var rmid = Math.max(gfc.thm[2].s[sb][sblock],\n Math.min(gfc.thm[3].s[sb][sblock], mld));\n\n mld = gfc.mld_s[sb] * gfc.en[2].s[sb][sblock];\n var rside = Math.max(gfc.thm[3].s[sb][sblock],\n Math.min(gfc.thm[2].s[sb][sblock], mld));\n\n gfc.thm[2].s[sb][sblock] = rmid;\n gfc.thm[3].s[sb][sblock] = rside;\n }\n }\n }\n\n /**\n * Adjust M/S maskings if user set \"msfix\"\n *\n * Naoki Shibata 2000\n */\n function ns_msfix(gfc, msfix, athadjust) {\n var msfix2 = msfix;\n var athlower = Math.pow(10, athadjust);\n\n msfix *= 2.0;\n msfix2 *= 2.0;\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_l[gfc.bm_l[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].l[sb], ath),\n Math.max(gfc.thm[1].l[sb], ath));\n thmM = Math.max(gfc.thm[2].l[sb], ath);\n thmS = Math.max(gfc.thm[3].l[sb], ath);\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix2 / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].l[sb] = Math.min(thmM, gfc.thm[2].l[sb]);\n gfc.thm[3].l[sb] = Math.min(thmS, gfc.thm[3].l[sb]);\n }\n\n athlower *= ( Encoder.BLKSIZE_s / Encoder.BLKSIZE);\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_s[gfc.bm_s[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].s[sb][sblock], ath),\n Math.max(gfc.thm[1].s[sb][sblock], ath));\n thmM = Math.max(gfc.thm[2].s[sb][sblock], ath);\n thmS = Math.max(gfc.thm[3].s[sb][sblock], ath);\n\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].s[sb][sblock] = Math.min(gfc.thm[2].s[sb][sblock],\n thmM);\n gfc.thm[3].s[sb][sblock] = Math.min(gfc.thm[3].s[sb][sblock],\n thmS);\n }\n }\n }\n\n /**\n * short block threshold calculation (part 2)\n *\n * partition band bo_s[sfb] is at the transition from scalefactor band sfb\n * to the next one sfb+1; enn and thmm have to be split between them\n */\n function convert_partition2scalefac_s(gfc, eb, thr, chn, sblock) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_s; ++b, ++sb) {\n var bo_s_sb = gfc.bo_s[sb];\n var npart_s = gfc.npart_s;\n var b_lim = bo_s_sb < npart_s ? bo_s_sb : npart_s;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].s[sb][sblock] = enn;\n gfc.thm[chn].s[sb][sblock] = thmm;\n\n if (b >= npart_s) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_s_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].s[sb][sblock] += enn;\n gfc.thm[chn].s[sb][sblock] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_s; ++sb) {\n gfc.en[chn].s[sb][sblock] = 0;\n gfc.thm[chn].s[sb][sblock] = 0;\n }\n }\n\n /**\n * longblock threshold calculation (part 2)\n */\n function convert_partition2scalefac_l(gfc, eb, thr, chn) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_l; ++b, ++sb) {\n var bo_l_sb = gfc.bo_l[sb];\n var npart_l = gfc.npart_l;\n var b_lim = bo_l_sb < npart_l ? bo_l_sb : npart_l;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].l[sb] = enn;\n gfc.thm[chn].l[sb] = thmm;\n\n if (b >= npart_l) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_l_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].l[sb] += enn;\n gfc.thm[chn].l[sb] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_l; ++sb) {\n gfc.en[chn].l[sb] = 0;\n gfc.thm[chn].l[sb] = 0;\n }\n }\n\n function compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var j, b;\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (var i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var ecb = gfc.s3_ss[j++] * eb[kk];\n ++kk;\n while (kk <= gfc.s3ind_s[b][1]) {\n ecb += gfc.s3_ss[j] * eb[kk];\n ++j;\n ++kk;\n }\n\n { /* limit calculated threshold by previous granule */\n var x = rpelev_s * gfc.nb_s1[chn][b];\n thr[b] = Math.min(ecb, x);\n }\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE) {\n /* limit calculated threshold by even older granule */\n var x = rpelev2_s * gfc.nb_s2[chn][b];\n var y = thr[b];\n thr[b] = Math.min(x, y);\n }\n\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n assert(thr[b] >= 0);\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function block_type_set(gfp, uselongblock, blocktype_d, blocktype) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n blocktype[chn] = Encoder.NORM_TYPE;\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed)\n uselongblock[chn] = 1;\n if (gfp.short_blocks == ShortBlock.short_block_forced)\n uselongblock[chn] = 0;\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype[chn] = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype[chn] = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype[chn];\n // save for next call to l3psy_anal\n }\n }\n\n function NS_INTERP(x, y, r) {\n /* was pow((x),(r))*pow((y),1-(r)) */\n if (r >= 1.0) {\n /* 99.7% of the time */\n return x;\n }\n if (r <= 0.0)\n return y;\n if (y > 0.0) {\n /* rest of the time */\n return (Math.pow(x / y, r) * y);\n }\n /* never happens */\n return 0.0;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_s = [11.8, 13.6, 17.2, 32, 46.5,\n 51.3, 57.5, 67.1, 71.5, 84.6, 97.6, 130,\n /* 255.8 */\n ];\n\n function pecalc_s(mr, masking_lower) {\n var pe_s = 1236.28 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_s - 1; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thm = mr.thm.s[sb][sblock];\n assert(sb < regcoef_s.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.s[sb][sblock];\n if (en > x) {\n if (en > x * 1e10) {\n pe_s += regcoef_s[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_s += regcoef_s[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n }\n\n return pe_s;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_l = [6.8, 5.8, 5.8, 6.4, 6.5, 9.9,\n 12.1, 14.4, 15, 18.9, 21.6, 26.9, 34.2, 40.2, 46.8, 56.5,\n 60.7, 73.9, 85.7, 93.4, 126.1,\n /* 241.3 */\n ];\n\n function pecalc_l(mr, masking_lower) {\n var pe_l = 1124.23 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_l - 1; sb++) {\n var thm = mr.thm.l[sb];\n assert(sb < regcoef_l.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.l[sb];\n if (en > x) {\n if (en > x * 1e10) {\n pe_l += regcoef_l[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_l += regcoef_l[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n return pe_l;\n }\n\n function calc_energy(gfc, fftenergy, eb, max, avg) {\n var b, j;\n\n for (b = j = 0; b < gfc.npart_l; ++b) {\n var ebb = 0, m = 0;\n var i;\n for (i = 0; i < gfc.numlines_l[b]; ++i, ++j) {\n var el = fftenergy[j];\n assert(el >= 0);\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n max[b] = m;\n avg[b] = ebb * gfc.rnumlines_l[b];\n assert(gfc.rnumlines_l[b] >= 0);\n assert(ebb >= 0);\n assert(eb[b] >= 0);\n assert(max[b] >= 0);\n assert(avg[b] >= 0);\n }\n }\n\n function calc_mask_index_l(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_l - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b]\n + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_l - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_l - 1));\n }\n\n var fircoef = [\n -8.65163e-18 * 2, -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2, 0.0931738 * 2,\n -5.52212e-17 * 2, -0.313819 * 2\n ];\n\n this.L3psycho_anal_ns = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n /*\n * to get a good cache performance, one has to think about the sequence,\n * in which the variables are used.\n */\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n\n /* convolution */\n var eb_l = new_float(Encoder.CBANDS + 1);\n var eb_s = new_float(Encoder.CBANDS + 1);\n var thr = new_float(Encoder.CBANDS + 2);\n\n /* block type */\n var blocktype = new_int(2), uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n var numchn, chn;\n var b, i, j, k;\n var sb, sblock;\n\n /* variables used for --nspsytune */\n var ns_hpfsmpl = new_float_n([2, 576]);\n var pcfact;\n var mask_idx_l = new_int(Encoder.CBANDS + 2), mask_idx_s = new_int(Encoder.CBANDS + 2);\n\n Arrays.fill(mask_idx_s, 0);\n\n numchn = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n if (gfp.mode == MPEGMode.JOINT_STEREO)\n numchn = 4;\n\n if (gfp.VBR == VbrMode.vbr_off)\n pcfact = gfc.ResvMax == 0 ? 0 : ( gfc.ResvSize)\n / gfc.ResvMax * 0.5;\n else if (gfp.VBR == VbrMode.vbr_rh || gfp.VBR == VbrMode.vbr_mtrh\n || gfp.VBR == VbrMode.vbr_mt) {\n pcfact = 0.6;\n } else\n pcfact = 1.0;\n\n /**********************************************************************\n * Apply HPF of fs/4 to the input signal. This is used for attack\n * detection / handling.\n **********************************************************************/\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (chn = 0; chn < gfc.channels_out; chn++) {\n /* apply high pass filter of fs/4 */\n var firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef.length == ((NSFIRLEN - 1) / 2));\n for (i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (numchn > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n\n for (chn = 0; chn < numchn; chn++) {\n var wsamp_l;\n var wsamp_s;\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var attack_intensity = new_float(12);\n var ns_uselongblock = 1;\n var attackThreshold;\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var ns_attacks = [0, 0, 0, 0];\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n\n /*\n * rh 20040301: the following loops do access one off the limits so\n * I increase the array dimensions by one and initialize the\n * accessed values to zero\n */\n assert(gfc.npart_s <= Encoder.CBANDS);\n assert(gfc.npart_l <= Encoder.CBANDS);\n\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n if (chn == 2) {\n for (i = 0; i < 576; i++) {\n var l, r;\n l = ns_hpfsmpl[0][i];\n r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n {\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n for (i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else\n p = 0.0;\n attack_intensity[i + 3] = p;\n }\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (i = 1; i < 12; i++)\n if (x < attack_intensity[i])\n x = attack_intensity[i];\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n for (i = 0; i < 12; i++)\n if (0 == ns_attacks[i / 3]\n && attack_intensity[i] > attackThreshold)\n ns_attacks[i / 3] = (i % 3) + 1;\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n for (i = 1; i < 4; i++) {\n var ratio;\n if (en_short[i - 1] > en_short[i]) {\n assert(en_short[i] > 0);\n ratio = en_short[i - 1] / en_short[i];\n } else {\n assert(en_short[i - 1] > 0);\n ratio = en_short[i] / en_short[i - 1];\n }\n if (ratio < 1.7) {\n ns_attacks[i] = 0;\n if (i == 1)\n ns_attacks[0] = 0;\n }\n }\n\n if (ns_attacks[0] != 0 && gfc.nsPsy.lastAttacks[chn] != 0)\n ns_attacks[0] = 0;\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[0] + ns_attacks[1] + ns_attacks[2] + ns_attacks[3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[1] != 0 && ns_attacks[0] != 0)\n ns_attacks[1] = 0;\n if (ns_attacks[2] != 0 && ns_attacks[1] != 0)\n ns_attacks[2] = 0;\n if (ns_attacks[3] != 0 && ns_attacks[2] != 0)\n ns_attacks[3] = 0;\n }\n\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n\n /*********************************************************************\n * compute FFTs\n *********************************************************************/\n wsamp_s = wsamp_S;\n wsamp_l = wsamp_L;\n compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, (chn & 1),\n wsamp_s, (chn & 1), gr_out, chn, buffer, bufPos);\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n /* compute masking thresholds for short blocks */\n for (sblock = 0; sblock < 3; sblock++) {\n var enn, thmm;\n compute_masking_s(gfp, fftenergy_s, eb_s, thr, chn, sblock);\n convert_partition2scalefac_s(gfc, eb_s, thr, chn, sblock);\n /**** short block pre-echo control ****/\n for (sb = 0; sb < Encoder.SBMAX_s; sb++) {\n thmm = gfc.thm[chn].s[sb][sblock];\n\n thmm *= NS_PREECHO_ATT0;\n if (ns_attacks[sblock] >= 2 || ns_attacks[sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n if (ns_attacks[sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n enn = en_subshort[sblock * 3 + 3]\n + en_subshort[sblock * 3 + 4]\n + en_subshort[sblock * 3 + 5];\n if (en_subshort[sblock * 3 + 5] * 6 < enn) {\n thmm *= 0.5;\n if (en_subshort[sblock * 3 + 4] * 6 < enn)\n thmm *= 0.5;\n }\n\n gfc.thm[chn].s[sb][sblock] = thmm;\n }\n }\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[2];\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n k = 0;\n {\n for (b = 0; b < gfc.npart_l; b++) {\n /*\n * convolve the partitioned energy with the spreading\n * function\n */\n var kk = gfc.s3ind[b][0];\n var eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n var ecb = gfc.s3_ll[k++] * eb2;\n while (++kk <= gfc.s3ind[b][1]) {\n eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n ecb = mask_add(ecb, gfc.s3_ll[k++] * eb2, kk, kk - b,\n gfc, 0);\n }\n ecb *= 0.158489319246111;\n /* pow(10,-0.8) */\n\n /**** long block pre-echo control ****/\n /**\n *
\n                     * dont use long block pre-echo control if previous granule was\n                     * a short block.  This is to avoid the situation:\n                     * frame0:  quiet (very low masking)\n                     * frame1:  surge  (triggers short blocks)\n                     * frame2:  regular frame.  looks like pre-echo when compared to\n                     *          frame0, but all pre-echo was in frame1.\n                     * 
\n */\n /*\n * chn=0,1 L and R channels\n *\n * chn=2,3 S and M channels.\n */\n\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE)\n thr[b] = ecb;\n else\n thr[b] = NS_INTERP(\n Math.min(ecb, Math.min(rpelev\n * gfc.nb_1[chn][b], rpelev2\n * gfc.nb_2[chn][b])), ecb, pcfact);\n\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n }\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n /* compute masking thresholds for long blocks */\n convert_partition2scalefac_l(gfc, eb_l, thr, chn);\n }\n /* end loop over chn */\n\n if (gfp.mode == MPEGMode.STEREO || gfp.mode == MPEGMode.JOINT_STEREO) {\n if (gfp.interChRatio > 0.0) {\n calc_interchannel_masking(gfp, gfp.interChRatio);\n }\n }\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n var msfix;\n msfix1(gfc);\n msfix = gfp.msfix;\n if (Math.abs(msfix) > 0.0)\n ns_msfix(gfc, msfix, gfp.ATHlower * gfc.ATH.adjust);\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n block_type_set(gfp, uselongblock, blocktype_d, blocktype);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (chn = 0; chn < numchn; chn++) {\n var ppe;\n var ppePos = 0;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE)\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n else\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n\n if (gfp.analysis)\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n\n }\n return 0;\n }\n\n function vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out, fftenergy, wsamp_l, wsamp_lPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n } else if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 - j];\n var im = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n }\n\n function vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock, fftenergy_s, wsamp_s, wsamp_sPos) {\n var gfc = gfp.internal_flags;\n\n if (sblock == 0 && chn < 2) {\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][sblock][j];\n var r = wsamp_s[wsamp_sPos + 1][sblock][j];\n wsamp_s[wsamp_sPos + 0][sblock][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][sblock][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy_s[sblock][0] = wsamp_s[wsamp_sPos + 0][sblock][0];\n fftenergy_s[sblock][0] *= fftenergy_s[sblock][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 - j];\n var im = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 + j];\n fftenergy_s[sblock][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n\n /**\n * compute loudness approximation (used for ATH auto-level adjustment)\n */\n function vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn, fftenergy) {\n var gfc = gfp.internal_flags;\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n var fircoef_ = [-8.65163e-18 * 2,\n -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2,\n 0.0931738 * 2, -5.52212e-17 * 2, -0.313819 * 2];\n\n /**\n * Apply HPF of fs/4 to the input signal. This is used for attack detection\n * / handling.\n */\n function vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, energy, sub_short_factor, ns_attacks, uselongblock) {\n var ns_hpfsmpl = new_float_n([2, 576]);\n var gfc = gfp.internal_flags;\n var n_chn_out = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4 : n_chn_out;\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (var chn = 0; chn < n_chn_out; chn++) {\n /* apply high pass filter of fs/4 */\n firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef_.length == ((NSFIRLEN - 1) / 2));\n for (var i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (var j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef_[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef_[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (n_chn_psy > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var attack_intensity = new_float(12);\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n var attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n var ns_uselongblock = 1;\n\n if (chn == 2) {\n for (var i = 0, j = 576; j > 0; ++i, --j) {\n var l = ns_hpfsmpl[0][i];\n var r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (var i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n for (var i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else {\n p = 0.0;\n }\n attack_intensity[i + 3] = p;\n }\n /* pulse like signal detection for fatboy.wav and so on */\n for (var i = 0; i < 3; ++i) {\n var enn = en_subshort[i * 3 + 3]\n + en_subshort[i * 3 + 4] + en_subshort[i * 3 + 5];\n var factor = 1.;\n if (en_subshort[i * 3 + 5] * 6 < enn) {\n factor *= 0.5;\n if (en_subshort[i * 3 + 4] * 6 < enn) {\n factor *= 0.5;\n }\n }\n sub_short_factor[chn][i] = factor;\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (var i = 1; i < 12; i++) {\n if (x < attack_intensity[i]) {\n x = attack_intensity[i];\n }\n }\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n for (var i = 0; i < 12; i++) {\n if (0 == ns_attacks[chn][i / 3]\n && attack_intensity[i] > attackThreshold) {\n ns_attacks[chn][i / 3] = (i % 3) + 1;\n }\n }\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n /* Good samples to show the effect are Trumpet test songs */\n /*\n * GB: tuned (1) to avoid too many short blocks for test sample\n * TRUMPET\n */\n /*\n * RH: tuned (2) to let enough short blocks through for test sample\n * FSOL and SNAPS\n */\n for (var i = 1; i < 4; i++) {\n var u = en_short[i - 1];\n var v = en_short[i];\n var m = Math.max(u, v);\n if (m < 40000) { /* (2) */\n if (u < 1.7 * v && v < 1.7 * u) { /* (1) */\n if (i == 1 && ns_attacks[chn][0] <= ns_attacks[chn][i]) {\n ns_attacks[chn][0] = 0;\n }\n ns_attacks[chn][i] = 0;\n }\n }\n }\n\n if (ns_attacks[chn][0] <= gfc.nsPsy.lastAttacks[chn]) {\n ns_attacks[chn][0] = 0;\n }\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[chn][0] + ns_attacks[chn][1]\n + ns_attacks[chn][2] + ns_attacks[chn][3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[chn][1] != 0 && ns_attacks[chn][0] != 0) {\n ns_attacks[chn][1] = 0;\n }\n if (ns_attacks[chn][2] != 0 && ns_attacks[chn][1] != 0) {\n ns_attacks[chn][2] = 0;\n }\n if (ns_attacks[chn][3] != 0 && ns_attacks[chn][2] != 0) {\n ns_attacks[chn][3] = 0;\n }\n }\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n }\n }\n\n function vbrpsy_skip_masking_s(gfc, chn, sblock) {\n if (sblock == 0) {\n for (var b = 0; b < gfc.npart_s; b++) {\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = 0;\n }\n }\n }\n\n function vbrpsy_skip_masking_l(gfc, chn) {\n for (var b = 0; b < gfc.npart_l; b++) {\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = 0;\n }\n }\n\n function psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_s - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(b + 1 < gfc.npart_s);\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b]\n + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_s - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_s - 1));\n }\n\n function vbrpsy_compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var max = new float[Encoder.CBANDS], avg = new_float(Encoder.CBANDS);\n var i, j, b;\n var mask_idx_s = new int[Encoder.CBANDS];\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n assert(ebb >= 0);\n max[b] = m;\n assert(n > 0);\n avg[b] = ebb / n;\n assert(avg[b] >= 0);\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (; b < Encoder.CBANDS; ++b) {\n max[b] = 0;\n avg[b] = 0;\n }\n psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx_s);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var last = gfc.s3ind_s[b][1];\n var dd, dd_n;\n var x, ecb, avg_mask;\n dd = mask_idx_s[kk];\n dd_n = 1;\n ecb = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ++j;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_s[kk];\n dd_n += 1;\n x = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ecb = vbrpsy_mask_add(ecb, x, kk - b);\n ++j;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n thr[b] = ecb;\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_s[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb[b]) {\n thr[b] = eb[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_masking_l(gfc, fftenergy, eb_l, thr, chn) {\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var mask_idx_l = new_int(Encoder.CBANDS + 2);\n var b;\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n var k = 0;\n for (b = 0; b < gfc.npart_l; b++) {\n var x, ecb, avg_mask, t;\n /* convolve the partitioned energy with the spreading function */\n var kk = gfc.s3ind[b][0];\n var last = gfc.s3ind[b][1];\n var dd = 0, dd_n = 0;\n dd = mask_idx_l[kk];\n dd_n += 1;\n ecb = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n ++k;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_l[kk];\n dd_n += 1;\n x = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n t = vbrpsy_mask_add(ecb, x, kk - b);\n ecb = t;\n ++k;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n\n /**** long block pre-echo control ****/\n /**\n *
\n             * dont use long block pre-echo control if previous granule was\n             * a short block.  This is to avoid the situation:\n             * frame0:  quiet (very low masking)\n             * frame1:  surge  (triggers short blocks)\n             * frame2:  regular frame.  looks like pre-echo when compared to\n             *          frame0, but all pre-echo was in frame1.\n             * 
\n */\n /*\n * chn=0,1 L and R channels chn=2,3 S and M channels.\n */\n if (gfc.blocktype_old[chn & 0x01] == Encoder.SHORT_TYPE) {\n var ecb_limit = rpelev * gfc.nb_1[chn][b];\n if (ecb_limit > 0) {\n thr[b] = Math.min(ecb, ecb_limit);\n } else {\n /**\n *
\n                     * Robert 071209:\n                     * Because we don't calculate long block psy when we know a granule\n                     * should be of short blocks, we don't have any clue how the granule\n                     * before would have looked like as a long block. So we have to guess\n                     * a little bit for this END_TYPE block.\n                     * Most of the time we get away with this sloppyness. (fingers crossed :)\n                     * The speed increase is worth it.\n                     * 
\n */\n thr[b] = Math.min(ecb, eb_l[b] * NS_PREECHO_ATT2);\n }\n } else {\n var ecb_limit_2 = rpelev2 * gfc.nb_2[chn][b];\n var ecb_limit_1 = rpelev * gfc.nb_1[chn][b];\n var ecb_limit;\n if (ecb_limit_2 <= 0) {\n ecb_limit_2 = ecb;\n }\n if (ecb_limit_1 <= 0) {\n ecb_limit_1 = ecb;\n }\n if (gfc.blocktype_old[chn & 0x01] == Encoder.NORM_TYPE) {\n ecb_limit = Math.min(ecb_limit_1, ecb_limit_2);\n } else {\n ecb_limit = ecb_limit_1;\n }\n thr[b] = Math.min(ecb, ecb_limit);\n }\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_l[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb_l[b]) {\n thr[b] = eb_l[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_block_type(gfp, uselongblock) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed) {\n uselongblock[chn] = 1;\n }\n if (gfp.short_blocks == ShortBlock.short_block_forced) {\n uselongblock[chn] = 0;\n }\n }\n }\n\n function vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n var blocktype = Encoder.NORM_TYPE;\n /* disable short blocks */\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype;\n // save for next call to l3psy_anal\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function vbrpsy_compute_MS_thresholds(eb, thr, cb_mld, ath_cb, athadjust, msfix, n) {\n var msfix2 = msfix * 2;\n var athlower = msfix > 0 ? Math.pow(10, athadjust) : 1;\n var rside, rmid;\n for (var b = 0; b < n; ++b) {\n var ebM = eb[2][b];\n var ebS = eb[3][b];\n var thmL = thr[0][b];\n var thmR = thr[1][b];\n var thmM = thr[2][b];\n var thmS = thr[3][b];\n\n /* use this fix if L & R masking differs by 2db or less */\n if (thmL <= 1.58 * thmR && thmR <= 1.58 * thmL) {\n var mld_m = cb_mld[b] * ebS;\n var mld_s = cb_mld[b] * ebM;\n rmid = Math.max(thmM, Math.min(thmS, mld_m));\n rside = Math.max(thmS, Math.min(thmM, mld_s));\n } else {\n rmid = thmM;\n rside = thmS;\n }\n if (msfix > 0) {\n /***************************************************************/\n /* Adjust M/S maskings if user set \"msfix\" */\n /***************************************************************/\n /* Naoki Shibata 2000 */\n var thmLR, thmMS;\n var ath = ath_cb[b] * athlower;\n thmLR = Math.min(Math.max(thmL, ath), Math.max(thmR, ath));\n thmM = Math.max(rmid, ath);\n thmS = Math.max(rside, ath);\n thmMS = thmM + thmS;\n if (thmMS > 0 && (thmLR * msfix2) < thmMS) {\n var f = thmLR * msfix2 / thmMS;\n thmM *= f;\n thmS *= f;\n assert(thmMS > 0);\n }\n rmid = Math.min(thmM, rmid);\n rside = Math.min(thmS, rside);\n }\n if (rmid > ebM) {\n rmid = ebM;\n }\n if (rside > ebS) {\n rside = ebS;\n }\n thr[2][b] = rmid;\n thr[3][b] = rside;\n }\n }\n\n this.L3psycho_anal_vbr = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_l;\n var wsamp_s;\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n var eb = new_float_n([4, Encoder.CBANDS]), thr = new_float_n([4, Encoder.CBANDS]);\n var sub_short_factor = new_float_n([4, 3]);\n var pcfact = 0.6;\n\n /* block type */\n var ns_attacks = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],\n [0, 0, 0, 0]];\n var uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4\n : gfc.channels_out;\n\n vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio,\n masking_MS_ratio, energy, sub_short_factor, ns_attacks,\n uselongblock);\n\n vbrpsy_compute_block_type(gfp, uselongblock);\n\n /* LONG BLOCK CASE */\n {\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n wsamp_l = wsamp_L;\n vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out,\n fftenergy, wsamp_l, ch01);\n\n vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn,\n fftenergy);\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_compute_masking_l(gfc, fftenergy, eb[chn], thr[chn],\n chn);\n } else {\n vbrpsy_skip_masking_l(gfc, chn);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 2) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_l,\n gfc.ATH.cb_l, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_l);\n }\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) {\n convert_partition2scalefac_l(gfc, eb[chn], thr[chn], chn);\n }\n }\n }\n\n /* SHORT BLOCKS CASE */\n {\n for (var sblock = 0; sblock < 3; sblock++) {\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_skip_masking_s(gfc, chn, sblock);\n } else {\n /* compute masking thresholds for short blocks */\n wsamp_s = wsamp_S;\n vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock,\n fftenergy_s, wsamp_s, ch01);\n vbrpsy_compute_masking_s(gfp, fftenergy_s, eb[chn],\n thr[chn], chn, sblock);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 0) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_s,\n gfc.ATH.cb_s, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_s);\n }\n /* L/R channel */\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n if (0 == uselongblock[ch01]) {\n convert_partition2scalefac_s(gfc, eb[chn], thr[chn],\n chn, sblock);\n }\n }\n }\n\n /**** short block pre-echo control ****/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n continue;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n var new_thmm = new_float(3);\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmm = gfc.thm[chn].s[sb][sblock];\n thmm *= NS_PREECHO_ATT0;\n\n if (ns_attacks[chn][sblock] >= 2\n || ns_attacks[chn][sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (ns_attacks[chn][sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[chn][sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n thmm *= sub_short_factor[chn][sblock];\n\n new_thmm[sblock] = thmm;\n }\n for (var sblock = 0; sblock < 3; sblock++) {\n gfc.thm[chn].s[sb][sblock] = new_thmm[sblock];\n }\n }\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[chn][2];\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ppe;\n var ppePos;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE) {\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n } else {\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n }\n\n if (gfp.analysis) {\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n }\n }\n return 0;\n }\n\n function s3_func_x(bark, hf_slope) {\n var tempx = bark, tempy;\n\n if (tempx >= 0) {\n tempy = -tempx * 27;\n } else {\n tempy = tempx * hf_slope;\n }\n if (tempy <= -72.0) {\n return 0;\n }\n return Math.exp(tempy * LN_TO_LOG10);\n }\n\n function norm_s3_func_x(hf_slope) {\n var lim_a = 0, lim_b = 0;\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x -= 1)\n ;\n l = x;\n h = 0;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n h = x;\n } else {\n l = x;\n }\n }\n lim_a = l;\n }\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x += 1)\n ;\n l = 0;\n h = x;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n l = x;\n } else {\n h = x;\n }\n }\n lim_b = h;\n }\n {\n var sum = 0;\n var m = 1000;\n var i;\n for (i = 0; i <= m; ++i) {\n var x = lim_a + i * (lim_b - lim_a) / m;\n var y = s3_func_x(x, hf_slope);\n sum += y;\n }\n {\n var norm = (m + 1) / (sum * (lim_b - lim_a));\n /* printf( \"norm = %lf\\n\",norm); */\n return norm;\n }\n }\n }\n\n /**\n * The spreading function. Values returned in units of energy\n */\n function s3_func(bark) {\n var tempx, x, tempy, temp;\n tempx = bark;\n if (tempx >= 0)\n tempx *= 3;\n else\n tempx *= 1.5;\n\n if (tempx >= 0.5 && tempx <= 2.5) {\n temp = tempx - 0.5;\n x = 8.0 * (temp * temp - 2.0 * temp);\n } else\n x = 0.0;\n tempx += 0.474;\n tempy = 15.811389 + 7.5 * tempx - 17.5\n * Math.sqrt(1.0 + tempx * tempx);\n\n if (tempy <= -60.0)\n return 0.0;\n\n tempx = Math.exp((x + tempy) * LN_TO_LOG10);\n\n /**\n *
\n         * Normalization.  The spreading function should be normalized so that:\n         * +inf\n         * /\n         * |  s3 [ bark ]  d(bark)   =  1\n         * /\n         * -inf\n         * 
\n */\n tempx /= .6609193;\n return tempx;\n }\n\n /**\n * see for example \"Zwicker: Psychoakustik, 1982; ISBN 3-540-11401-7\n */\n function freq2bark(freq) {\n /* input: freq in hz output: barks */\n if (freq < 0)\n freq = 0;\n freq = freq * 0.001;\n return 13.0 * Math.atan(.76 * freq) + 3.5\n * Math.atan(freq * freq / (7.5 * 7.5));\n }\n\n function init_numline(numlines, bo, bm, bval, bval_width, mld, bo_w, sfreq, blksize, scalepos, deltafreq, sbmax) {\n var b_frq = new_float(Encoder.CBANDS + 1);\n var sample_freq_frac = sfreq / (sbmax > 15 ? 2 * 576 : 2 * 192);\n var partition = new_int(Encoder.HBLKSIZE);\n var i;\n sfreq /= blksize;\n var j = 0;\n var ni = 0;\n /* compute numlines, the number of spectral lines in each partition band */\n /* each partition band should be about DELBARK wide. */\n for (i = 0; i < Encoder.CBANDS; i++) {\n var bark1;\n var j2;\n bark1 = freq2bark(sfreq * j);\n\n b_frq[i] = sfreq * j;\n\n for (j2 = j; freq2bark(sfreq * j2) - bark1 < DELBARK\n && j2 <= blksize / 2; j2++)\n ;\n\n numlines[i] = j2 - j;\n ni = i + 1;\n\n while (j < j2) {\n assert(j < Encoder.HBLKSIZE);\n partition[j++] = i;\n }\n if (j > blksize / 2) {\n j = blksize / 2;\n ++i;\n break;\n }\n }\n assert(i < Encoder.CBANDS);\n b_frq[i] = sfreq * j;\n\n for (var sfb = 0; sfb < sbmax; sfb++) {\n var i1, i2, start, end;\n var arg;\n start = scalepos[sfb];\n end = scalepos[sfb + 1];\n\n i1 = 0 | Math.floor(.5 + deltafreq * (start - .5));\n if (i1 < 0)\n i1 = 0;\n i2 = 0 | Math.floor(.5 + deltafreq * (end - .5));\n\n if (i2 > blksize / 2)\n i2 = blksize / 2;\n\n bm[sfb] = (partition[i1] + partition[i2]) / 2;\n bo[sfb] = partition[i2];\n var f_tmp = sample_freq_frac * end;\n /*\n * calculate how much of this band belongs to current scalefactor\n * band\n */\n bo_w[sfb] = (f_tmp - b_frq[bo[sfb]])\n / (b_frq[bo[sfb] + 1] - b_frq[bo[sfb]]);\n if (bo_w[sfb] < 0) {\n bo_w[sfb] = 0;\n } else {\n if (bo_w[sfb] > 1) {\n bo_w[sfb] = 1;\n }\n }\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n arg = freq2bark(sfreq * scalepos[sfb] * deltafreq);\n arg = ( Math.min(arg, 15.5) / 15.5);\n\n mld[sfb] = Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /* compute bark values of each critical band */\n j = 0;\n for (var k = 0; k < ni; k++) {\n var w = numlines[k];\n var bark1, bark2;\n\n bark1 = freq2bark(sfreq * (j));\n bark2 = freq2bark(sfreq * (j + w - 1));\n bval[k] = .5 * (bark1 + bark2);\n\n bark1 = freq2bark(sfreq * (j - .5));\n bark2 = freq2bark(sfreq * (j + w - .5));\n bval_width[k] = bark2 - bark1;\n j += w;\n }\n\n return ni;\n }\n\n function init_s3_values(s3ind, npart, bval, bval_width, norm, use_old_s3) {\n var s3 = new_float_n([Encoder.CBANDS, Encoder.CBANDS]);\n /*\n * The s3 array is not linear in the bark scale.\n *\n * bval[x] should be used to get the bark value.\n */\n var j;\n var numberOfNoneZero = 0;\n\n /**\n *
\n         * s[i][j], the value of the spreading function,\n         * centered at band j (masker), for band i (maskee)\n         *\n         * i.e.: sum over j to spread into signal barkval=i\n         * NOTE: i and j are used opposite as in the ISO docs\n         * 
\n */\n if (use_old_s3) {\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n var v = s3_func(bval[i] - bval[j]) * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n } else {\n for (j = 0; j < npart; j++) {\n var hf_slope = 15 + Math.min(21 / bval[j], 12);\n var s3_x_norm = norm_s3_func_x(hf_slope);\n for (var i = 0; i < npart; i++) {\n var v = s3_x_norm\n * s3_func_x(bval[i] - bval[j], hf_slope)\n * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n }\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][0] = j;\n\n for (j = npart - 1; j > 0; j--) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][1] = j;\n numberOfNoneZero += (s3ind[i][1] - s3ind[i][0] + 1);\n }\n\n var p = new_float(numberOfNoneZero);\n var k = 0;\n for (var i = 0; i < npart; i++)\n for (j = s3ind[i][0]; j <= s3ind[i][1]; j++)\n p[k++] = s3[i][j];\n\n return p;\n }\n\n function stereo_demask(f) {\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n var arg = freq2bark(f);\n arg = (Math.min(arg, 15.5) / 15.5);\n\n return Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /**\n * NOTE: the bitrate reduction from the inter-channel masking effect is low\n * compared to the chance of getting annyoing artefacts. L3psycho_anal_vbr\n * does not use this feature. (Robert 071216)\n */\n this.psymodel_init = function (gfp) {\n var gfc = gfp.internal_flags;\n var i;\n var useOldS3 = true;\n var bvl_a = 13, bvl_b = 24;\n var snr_l_a = 0, snr_l_b = 0;\n var snr_s_a = -8.25, snr_s_b = -4.5;\n var bval = new_float(Encoder.CBANDS);\n var bval_width = new_float(Encoder.CBANDS);\n var norm = new_float(Encoder.CBANDS);\n var sfreq = gfp.out_samplerate;\n\n switch (gfp.experimentalZ) {\n default:\n case 0:\n useOldS3 = true;\n break;\n case 1:\n useOldS3 = (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) ? false\n : true;\n break;\n case 2:\n useOldS3 = false;\n break;\n case 3:\n bvl_a = 8;\n snr_l_a = -1.75;\n snr_l_b = -0.0125;\n snr_s_a = -8.25;\n snr_s_b = -2.25;\n break;\n }\n gfc.ms_ener_ratio_old = .25;\n gfc.blocktype_old[0] = gfc.blocktype_old[1] = Encoder.NORM_TYPE;\n // the vbr header is long blocks\n\n for (i = 0; i < 4; ++i) {\n for (var j = 0; j < Encoder.CBANDS; ++j) {\n gfc.nb_1[i][j] = 1e20;\n gfc.nb_2[i][j] = 1e20;\n gfc.nb_s1[i][j] = gfc.nb_s2[i][j] = 1.0;\n }\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n gfc.en[i].l[sb] = 1e20;\n gfc.thm[i].l[sb] = 1e20;\n }\n for (var j = 0; j < 3; ++j) {\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n gfc.en[i].s[sb][j] = 1e20;\n gfc.thm[i].s[sb][j] = 1e20;\n }\n gfc.nsPsy.lastAttacks[i] = 0;\n }\n for (var j = 0; j < 9; j++)\n gfc.nsPsy.last_en_subshort[i][j] = 10.;\n }\n\n /* init. for loudness approx. -jd 2001 mar 27 */\n gfc.loudness_sq_save[0] = gfc.loudness_sq_save[1] = 0.0;\n\n /*************************************************************************\n * now compute the psychoacoustic model specific constants\n ************************************************************************/\n /* compute numlines, bo, bm, bval, bval_width, mld */\n\n gfc.npart_l = init_numline(gfc.numlines_l, gfc.bo_l, gfc.bm_l, bval,\n bval_width, gfc.mld_l, gfc.PSY.bo_l_weight, sfreq,\n Encoder.BLKSIZE, gfc.scalefac_band.l, Encoder.BLKSIZE\n / (2.0 * 576), Encoder.SBMAX_l);\n assert(gfc.npart_l < Encoder.CBANDS);\n /* compute the spreading function */\n for (i = 0; i < gfc.npart_l; i++) {\n var snr = snr_l_a;\n if (bval[i] >= bvl_a) {\n snr = snr_l_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_l_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n if (gfc.numlines_l[i] > 0) {\n gfc.rnumlines_l[i] = 1.0 / gfc.numlines_l[i];\n } else {\n gfc.rnumlines_l[i] = 0;\n }\n }\n gfc.s3_ll = init_s3_values(gfc.s3ind, gfc.npart_l, bval, bval_width,\n norm, useOldS3);\n\n /* compute long block specific values, ATH and MINVAL */\n var j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var x;\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_l[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE);\n var level;\n /*\n * ATH below 100 Hz constant, not further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_l[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_l[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n /*\n * FIXME: it does work to reduce low-freq problems in S53-Wind-Sax\n * and lead-voice samples, but introduces some 3 kbps bit bloat too.\n * TODO: Further refinement of the shape of this hack.\n */\n x = -20 + bval[i] * 20 / 10;\n if (x > 6) {\n x = 100;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8.;\n gfc.minval_l[i] = (Math.pow(10.0, x / 10.) * gfc.numlines_l[i]);\n }\n\n /************************************************************************\n * do the same things for short blocks\n ************************************************************************/\n gfc.npart_s = init_numline(gfc.numlines_s, gfc.bo_s, gfc.bm_s, bval,\n bval_width, gfc.mld_s, gfc.PSY.bo_s_weight, sfreq,\n Encoder.BLKSIZE_s, gfc.scalefac_band.s, Encoder.BLKSIZE_s\n / (2.0 * 192), Encoder.SBMAX_s);\n assert(gfc.npart_s < Encoder.CBANDS);\n\n /* SNR formula. short block is normalized by SNR. is it still right ? */\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var x;\n var snr = snr_s_a;\n if (bval[i] >= bvl_a) {\n snr = snr_s_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_s_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_s[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE_s);\n var level;\n /* freq = Min(.1,freq); */\n /*\n * ATH below 100 Hz constant, not\n * further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_s[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_s[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n x = (-7.0 + bval[i] * 7.0 / 12.0);\n if (bval[i] > 12) {\n x *= 1 + Math.log(1 + x) * 3.1;\n }\n if (bval[i] < 12) {\n x *= 1 + Math.log(1 - x) * 2.3;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8;\n gfc.minval_s[i] = Math.pow(10.0, x / 10)\n * gfc.numlines_s[i];\n }\n\n gfc.s3_ss = init_s3_values(gfc.s3ind_s, gfc.npart_s, bval, bval_width,\n norm, useOldS3);\n\n init_mask_add_max_values();\n fft.init_fft(gfc);\n\n /* setup temporal masking */\n gfc.decay = Math.exp(-1.0 * LOG10\n / (temporalmask_sustain_sec * sfreq / 192.0));\n\n {\n var msfix;\n msfix = NS_MSFIX;\n if ((gfp.exp_nspsytune & 2) != 0)\n msfix = 1.0;\n if (Math.abs(gfp.msfix) > 0.0)\n msfix = gfp.msfix;\n gfp.msfix = msfix;\n\n /*\n * spread only from npart_l bands. Normally, we use the spreading\n * function to convolve from npart_l down to npart_l bands\n */\n for (var b = 0; b < gfc.npart_l; b++)\n if (gfc.s3ind[b][1] > gfc.npart_l - 1)\n gfc.s3ind[b][1] = gfc.npart_l - 1;\n }\n\n /*\n * prepare for ATH auto adjustment: we want to decrease the ATH by 12 dB\n * per second\n */\n var frame_duration = (576. * gfc.mode_gr / sfreq);\n gfc.ATH.decay = Math.pow(10., -12. / 10. * frame_duration);\n gfc.ATH.adjust = 0.01;\n /* minimum, for leading low loudness */\n gfc.ATH.adjustLimit = 1.0;\n /* on lead, allow adjust up to maximum */\n\n assert(gfc.bo_l[Encoder.SBMAX_l - 1] <= gfc.npart_l);\n assert(gfc.bo_s[Encoder.SBMAX_s - 1] <= gfc.npart_s);\n\n if (gfp.ATHtype != -1) {\n /* compute equal loudness weights (eql_w) */\n var freq;\n var freq_inc = gfp.out_samplerate\n / (Encoder.BLKSIZE);\n var eql_balance = 0.0;\n freq = 0.0;\n for (i = 0; i < Encoder.BLKSIZE / 2; ++i) {\n /* convert ATH dB to relative power (not dB) */\n /* to determine eql_w */\n freq += freq_inc;\n gfc.ATH.eql_w[i] = 1. / Math.pow(10, this.ATHformula(freq, gfp) / 10);\n eql_balance += gfc.ATH.eql_w[i];\n }\n eql_balance = 1.0 / eql_balance;\n for (i = Encoder.BLKSIZE / 2; --i >= 0;) { /* scale weights */\n gfc.ATH.eql_w[i] *= eql_balance;\n }\n }\n {\n for (var b = j = 0; b < gfc.npart_s; ++b) {\n for (i = 0; i < gfc.numlines_s[b]; ++i) {\n ++j;\n }\n }\n assert(j == 129);\n for (var b = j = 0; b < gfc.npart_l; ++b) {\n for (i = 0; i < gfc.numlines_l[b]; ++i) {\n ++j;\n }\n }\n assert(j == 513);\n }\n j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var freq = sfreq * (j + gfc.numlines_l[i] / 2) / (1.0 * Encoder.BLKSIZE);\n gfc.mld_cb_l[i] = stereo_demask(freq);\n j += gfc.numlines_l[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_l[i] = 1;\n }\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var freq = sfreq * (j + gfc.numlines_s[i] / 2) / (1.0 * Encoder.BLKSIZE_s);\n gfc.mld_cb_s[i] = stereo_demask(freq);\n j += gfc.numlines_s[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_s[i] = 1;\n }\n return 0;\n }\n\n /**\n * Those ATH formulas are returning their minimum value for input = -1\n */\n function ATHformula_GB(f, value) {\n /**\n *
\n         *  from Painter & Spanias\n         *           modified by Gabriel Bouvigne to better fit the reality\n         *           ath =    3.640 * pow(f,-0.8)\n         *           - 6.800 * exp(-0.6*pow(f-3.4,2.0))\n         *           + 6.000 * exp(-0.15*pow(f-8.7,2.0))\n         *           + 0.6* 0.001 * pow(f,4.0);\n         *\n         *\n         *           In the past LAME was using the Painter &Spanias formula.\n         *           But we had some recurrent problems with HF content.\n         *           We measured real ATH values, and found the older formula\n         *           to be inaccurate in the higher part. So we made this new\n         *           formula and this solved most of HF problematic test cases.\n         *           The tradeoff is that in VBR mode it increases a lot the\n         *           bitrate.\n         * 
\n */\n\n /*\n * This curve can be adjusted according to the VBR scale: it adjusts\n * from something close to Painter & Spanias on V9 up to Bouvigne's\n * formula for V0. This way the VBR bitrate is more balanced according\n * to the -V value.\n */\n\n // the following Hack allows to ask for the lowest value\n if (f < -.3)\n f = 3410;\n\n // convert to khz\n f /= 1000;\n f = Math.max(0.1, f);\n var ath = 3.640 * Math.pow(f, -0.8) - 6.800\n * Math.exp(-0.6 * Math.pow(f - 3.4, 2.0)) + 6.000\n * Math.exp(-0.15 * Math.pow(f - 8.7, 2.0))\n + (0.6 + 0.04 * value) * 0.001 * Math.pow(f, 4.0);\n return ath;\n }\n\n this.ATHformula = function (f, gfp) {\n var ath;\n switch (gfp.ATHtype) {\n case 0:\n ath = ATHformula_GB(f, 9);\n break;\n case 1:\n // over sensitive, should probably be removed\n ath = ATHformula_GB(f, -1);\n break;\n case 2:\n ath = ATHformula_GB(f, 0);\n break;\n case 3:\n // modification of GB formula by Roel\n ath = ATHformula_GB(f, 1) + 6;\n break;\n case 4:\n ath = ATHformula_GB(f, gfp.ATHcurve);\n break;\n default:\n ath = ATHformula_GB(f, 0);\n break;\n }\n return ath;\n }\n\n}\n\nmodule.exports = PsyModel;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","\"use strict\";\n\nexports.__esModule = true;\nexports.inherits = inherits;\nfunction inherits(parent, child) {\n\tvar props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar extended = Object.create(parent.prototype);\n\tfor (var p in props) {\n\t\textended[p] = props[p];\n\t}\n\textended.constructor = child;\n\tchild.prototype = extended;\n\treturn child;\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n defineBuiltIn(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var pattern = $toString(R.source);\n var flags = $toString(getRegExpFlags(R));\n return '/' + pattern + '/' + flags;\n }, { unsafe: true });\n}\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","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GrInfo = require('./GrInfo.js');\n\nfunction IIISideInfo() {\n this.tt = [[null, null], [null, null]];\n this.main_data_begin = 0;\n this.private_bits = 0;\n this.resvDrain_pre = 0;\n this.resvDrain_post = 0;\n this.scfsi = [new_int(4), new_int(4)];\n\n for (var gr = 0; gr < 2; gr++) {\n for (var ch = 0; ch < 2; ch++) {\n this.tt[gr][ch] = new GrInfo();\n }\n }\n}\n\nmodule.exports = IIISideInfo;\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar MISSED_STICKY = require('../internals/regexp-sticky-helpers').MISSED_STICKY;\nvar classof = require('../internals/classof-raw');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar getInternalState = require('../internals/internal-state').get;\n\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\n\n// `RegExp.prototype.sticky` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky\nif (DESCRIPTORS && MISSED_STICKY) {\n defineBuiltInAccessor(RegExpPrototype, 'sticky', {\n configurable: true,\n get: function sticky() {\n if (this === RegExpPrototype) return undefined;\n // We can't use InternalStateModule.getterFor because\n // we don't add metadata for regexps created by a literal.\n if (classof(this) === 'RegExp') {\n return !!getInternalState(this).sticky;\n }\n throw TypeError('Incompatible receiver, RegExp required');\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es-x/no-string-prototype-startswith -- safe\nvar un$StartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return un$StartsWith\n ? un$StartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setInterval = require('../internals/schedulers-fix').setInterval;\n\n// ie9- setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n$({ global: true, bind: true, forced: global.setInterval !== setInterval }, {\n setInterval: setInterval\n});\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, 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(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, 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);\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 isCallable(global.postMessage) &&\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 global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","'use strict';\n\nexports.__esModule = true;\nexports.tokenize = exports.test = exports.scanner = exports.parser = exports.options = exports.inherits = exports.find = undefined;\n\nvar _class = require('./linkify/utils/class');\n\nvar _options = require('./linkify/utils/options');\n\nvar options = _interopRequireWildcard(_options);\n\nvar _scanner = require('./linkify/core/scanner');\n\nvar scanner = _interopRequireWildcard(_scanner);\n\nvar _parser = require('./linkify/core/parser');\n\nvar parser = _interopRequireWildcard(_parser);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nif (!Array.isArray) {\n\tArray.isArray = function (arg) {\n\t\treturn Object.prototype.toString.call(arg) === '[object Array]';\n\t};\n}\n\n/**\n\tConverts a string into tokens that represent linkable and non-linkable bits\n\t@method tokenize\n\t@param {String} str\n\t@return {Array} tokens\n*/\nvar tokenize = function tokenize(str) {\n\treturn parser.run(scanner.run(str));\n};\n\n/**\n\tReturns a list of linkable items in the given string.\n*/\nvar find = function find(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\tvar filtered = [];\n\n\tfor (var i = 0; i < tokens.length; i++) {\n\t\tvar token = tokens[i];\n\t\tif (token.isLink && (!type || token.type === type)) {\n\t\t\tfiltered.push(token.toObject());\n\t\t}\n\t}\n\n\treturn filtered;\n};\n\n/**\n\tIs the given string valid linkable text of some sort\n\tNote that this does not trim the text for you.\n\n\tOptionally pass in a second `type` param, which is the type of link to test\n\tfor.\n\n\tFor example,\n\n\t\ttest(str, 'email');\n\n\tWill return `true` if str is a valid email.\n*/\nvar test = function test(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\treturn tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].type === type);\n};\n\n// Scanner and parser provide states and tokens for the lexicographic stage\n// (will be used to add additional link types)\nexports.find = find;\nexports.inherits = _class.inherits;\nexports.options = options;\nexports.parser = parser;\nexports.scanner = scanner;\nexports.test = test;\nexports.tokenize = tokenize;","/*\n * ReplayGainAnalysis - analyzes input samples and give the recommended dB change\n * Copyright (C) 2001 David Robinson and Glen Sawyer\n * Improvements and optimizations added by Frank Klemm, and by Marcel Muller \n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * concept and filter values by David Robinson (David@Robinson.org)\n * -- blame him if you think the idea is flawed\n * original coding by Glen Sawyer (mp3gain@hotmail.com)\n * -- blame him if you think this runs too slowly, or the coding is otherwise flawed\n *\n * lots of code improvements by Frank Klemm ( http://www.uni-jena.de/~pfk/mpp/ )\n * -- credit him for all the _good_ programming ;)\n *\n *\n * For an explanation of the concepts and the basic algorithms involved, go to:\n * http://www.replaygain.org/\n */\n\n/*\n * Here's the deal. Call\n *\n * InitGainAnalysis ( long samplefreq );\n *\n * to initialize everything. Call\n *\n * AnalyzeSamples ( var Float_t* left_samples,\n * var Float_t* right_samples,\n * size_t num_samples,\n * int num_channels );\n *\n * as many times as you want, with as many or as few samples as you want.\n * If mono, pass the sample buffer in through left_samples, leave\n * right_samples NULL, and make sure num_channels = 1.\n *\n * GetTitleGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * SINCE THE LAST TIME you called GetTitleGain() OR InitGainAnalysis().\n *\n * GetAlbumGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * since InitGainAnalysis() was called and finalized with GetTitleGain().\n *\n * Pseudo-code to process an album:\n *\n * Float_t l_samples [4096];\n * Float_t r_samples [4096];\n * size_t num_samples;\n * unsigned int num_songs;\n * unsigned int i;\n *\n * InitGainAnalysis ( 44100 );\n * for ( i = 1; i <= num_songs; i++ ) {\n * while ( ( num_samples = getSongSamples ( song[i], left_samples, right_samples ) ) > 0 )\n * AnalyzeSamples ( left_samples, right_samples, num_samples, 2 );\n * fprintf (\"Recommended dB change for song %2d: %+6.2 dB\\n\", i, GetTitleGain() );\n * }\n * fprintf (\"Recommended dB change for whole album: %+6.2 dB\\n\", GetAlbumGain() );\n */\n\n/*\n * So here's the main source of potential code confusion:\n *\n * The filters applied to the incoming samples are IIR filters,\n * meaning they rely on up to number of previous samples\n * AND up to number of previous filtered samples.\n *\n * I set up the AnalyzeSamples routine to minimize memory usage and interface\n * complexity. The speed isn't compromised too much (I don't think), but the\n * internal complexity is higher than it should be for such a relatively\n * simple routine.\n *\n * Optimization/clarity suggestions are welcome.\n */\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\n/**\n * Table entries per dB\n */\nGainAnalysis.STEPS_per_dB = 100.;\n/**\n * Table entries for 0...MAX_dB (normal max. values are 70...80 dB)\n */\nGainAnalysis.MAX_dB = 120.;\nGainAnalysis.GAIN_NOT_ENOUGH_SAMPLES = -24601;\nGainAnalysis.GAIN_ANALYSIS_ERROR = 0;\nGainAnalysis.GAIN_ANALYSIS_OK = 1;\nGainAnalysis.INIT_GAIN_ANALYSIS_ERROR = 0;\nGainAnalysis.INIT_GAIN_ANALYSIS_OK = 1;\n\nGainAnalysis.YULE_ORDER = 10;\nGainAnalysis.MAX_ORDER = GainAnalysis.YULE_ORDER;\n\nGainAnalysis.MAX_SAMP_FREQ = 48000;\nGainAnalysis.RMS_WINDOW_TIME_NUMERATOR = 1;\nGainAnalysis.RMS_WINDOW_TIME_DENOMINATOR = 20;\nGainAnalysis.MAX_SAMPLES_PER_WINDOW = ((GainAnalysis.MAX_SAMP_FREQ * GainAnalysis.RMS_WINDOW_TIME_NUMERATOR) / GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR + 1);\n\nfunction GainAnalysis() {\n /**\n * calibration value for 89dB\n */\n var PINK_REF = 64.82;\n\n var YULE_ORDER = GainAnalysis.YULE_ORDER;\n /**\n * percentile which is louder than the proposed level\n */\n var RMS_PERCENTILE = 0.95;\n /**\n * maximum allowed sample frequency [Hz]\n */\n var MAX_SAMP_FREQ = GainAnalysis.MAX_SAMP_FREQ;\n var RMS_WINDOW_TIME_NUMERATOR = GainAnalysis.RMS_WINDOW_TIME_NUMERATOR;\n /**\n * numerator / denominator = time slice size [s]\n */\n var RMS_WINDOW_TIME_DENOMINATOR = GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR;\n /**\n * max. Samples per Time slice\n */\n var MAX_SAMPLES_PER_WINDOW = GainAnalysis.MAX_SAMPLES_PER_WINDOW;\n\n\n var ABYule = [\n [0.03857599435200, -3.84664617118067, -0.02160367184185,\n 7.81501653005538, -0.00123395316851, -11.34170355132042,\n -0.00009291677959, 13.05504219327545, -0.01655260341619,\n -12.28759895145294, 0.02161526843274, 9.48293806319790,\n -0.02074045215285, -5.87257861775999, 0.00594298065125,\n 2.75465861874613, 0.00306428023191, -0.86984376593551,\n 0.00012025322027, 0.13919314567432, 0.00288463683916],\n [0.05418656406430, -3.47845948550071, -0.02911007808948,\n 6.36317777566148, -0.00848709379851, -8.54751527471874,\n -0.00851165645469, 9.47693607801280, -0.00834990904936,\n -8.81498681370155, 0.02245293253339, 6.85401540936998,\n -0.02596338512915, -4.39470996079559, 0.01624864962975,\n 2.19611684890774, -0.00240879051584, -0.75104302451432,\n 0.00674613682247, 0.13149317958808, -0.00187763777362],\n [0.15457299681924, -2.37898834973084, -0.09331049056315,\n 2.84868151156327, -0.06247880153653, -2.64577170229825,\n 0.02163541888798, 2.23697657451713, -0.05588393329856,\n -1.67148153367602, 0.04781476674921, 1.00595954808547,\n 0.00222312597743, -0.45953458054983, 0.03174092540049,\n 0.16378164858596, -0.01390589421898, -0.05032077717131,\n 0.00651420667831, 0.02347897407020, -0.00881362733839],\n [0.30296907319327, -1.61273165137247, -0.22613988682123,\n 1.07977492259970, -0.08587323730772, -0.25656257754070,\n 0.03282930172664, -0.16276719120440, -0.00915702933434,\n -0.22638893773906, -0.02364141202522, 0.39120800788284,\n -0.00584456039913, -0.22138138954925, 0.06276101321749,\n 0.04500235387352, -0.00000828086748, 0.02005851806501,\n 0.00205861885564, 0.00302439095741, -0.02950134983287],\n [0.33642304856132, -1.49858979367799, -0.25572241425570,\n 0.87350271418188, -0.11828570177555, 0.12205022308084,\n 0.11921148675203, -0.80774944671438, -0.07834489609479,\n 0.47854794562326, -0.00469977914380, -0.12453458140019,\n -0.00589500224440, -0.04067510197014, 0.05724228140351,\n 0.08333755284107, 0.00832043980773, -0.04237348025746,\n -0.01635381384540, 0.02977207319925, -0.01760176568150],\n [0.44915256608450, -0.62820619233671, -0.14351757464547,\n 0.29661783706366, -0.22784394429749, -0.37256372942400,\n -0.01419140100551, 0.00213767857124, 0.04078262797139,\n -0.42029820170918, -0.12398163381748, 0.22199650564824,\n 0.04097565135648, 0.00613424350682, 0.10478503600251,\n 0.06747620744683, -0.01863887810927, 0.05784820375801,\n -0.03193428438915, 0.03222754072173, 0.00541907748707],\n [0.56619470757641, -1.04800335126349, -0.75464456939302,\n 0.29156311971249, 0.16242137742230, -0.26806001042947,\n 0.16744243493672, 0.00819999645858, -0.18901604199609,\n 0.45054734505008, 0.30931782841830, -0.33032403314006,\n -0.27562961986224, 0.06739368333110, 0.00647310677246,\n -0.04784254229033, 0.08647503780351, 0.01639907836189,\n -0.03788984554840, 0.01807364323573, -0.00588215443421],\n [0.58100494960553, -0.51035327095184, -0.53174909058578,\n -0.31863563325245, -0.14289799034253, -0.20256413484477,\n 0.17520704835522, 0.14728154134330, 0.02377945217615,\n 0.38952639978999, 0.15558449135573, -0.23313271880868,\n -0.25344790059353, -0.05246019024463, 0.01628462406333,\n -0.02505961724053, 0.06920467763959, 0.02442357316099,\n -0.03721611395801, 0.01818801111503, -0.00749618797172],\n [0.53648789255105, -0.25049871956020, -0.42163034350696,\n -0.43193942311114, -0.00275953611929, -0.03424681017675,\n 0.04267842219415, -0.04678328784242, -0.10214864179676,\n 0.26408300200955, 0.14590772289388, 0.15113130533216,\n -0.02459864859345, -0.17556493366449, -0.11202315195388,\n -0.18823009262115, -0.04060034127000, 0.05477720428674,\n 0.04788665548180, 0.04704409688120, -0.02217936801134]];\n\n var ABButter = [\n [0.98621192462708, -1.97223372919527, -1.97242384925416,\n 0.97261396931306, 0.98621192462708],\n [0.98500175787242, -1.96977855582618, -1.97000351574484,\n 0.97022847566350, 0.98500175787242],\n [0.97938932735214, -1.95835380975398, -1.95877865470428,\n 0.95920349965459, 0.97938932735214],\n [0.97531843204928, -1.95002759149878, -1.95063686409857,\n 0.95124613669835, 0.97531843204928],\n [0.97316523498161, -1.94561023566527, -1.94633046996323,\n 0.94705070426118, 0.97316523498161],\n [0.96454515552826, -1.92783286977036, -1.92909031105652,\n 0.93034775234268, 0.96454515552826],\n [0.96009142950541, -1.91858953033784, -1.92018285901082,\n 0.92177618768381, 0.96009142950541],\n [0.95856916599601, -1.91542108074780, -1.91713833199203,\n 0.91885558323625, 0.95856916599601],\n [0.94597685600279, -1.88903307939452, -1.89195371200558,\n 0.89487434461664, 0.94597685600279]];\n\n\n /**\n * When calling this procedure, make sure that ip[-order] and op[-order]\n * point to real data\n */\n //private void filterYule(final float[] input, int inputPos, float[] output,\n //int outputPos, int nSamples, final float[] kernel) {\n function filterYule(input, inputPos, output, outputPos, nSamples, kernel) {\n\n while ((nSamples--) != 0) {\n /* 1e-10 is a hack to avoid slowdown because of denormals */\n output[outputPos] = 1e-10 + input[inputPos + 0] * kernel[0]\n - output[outputPos - 1] * kernel[1] + input[inputPos - 1]\n * kernel[2] - output[outputPos - 2] * kernel[3]\n + input[inputPos - 2] * kernel[4] - output[outputPos - 3]\n * kernel[5] + input[inputPos - 3] * kernel[6]\n - output[outputPos - 4] * kernel[7] + input[inputPos - 4]\n * kernel[8] - output[outputPos - 5] * kernel[9]\n + input[inputPos - 5] * kernel[10] - output[outputPos - 6]\n * kernel[11] + input[inputPos - 6] * kernel[12]\n - output[outputPos - 7] * kernel[13] + input[inputPos - 7]\n * kernel[14] - output[outputPos - 8] * kernel[15]\n + input[inputPos - 8] * kernel[16] - output[outputPos - 9]\n * kernel[17] + input[inputPos - 9] * kernel[18]\n - output[outputPos - 10] * kernel[19]\n + input[inputPos - 10] * kernel[20];\n ++outputPos;\n ++inputPos;\n }\n }\n\n//private void filterButter(final float[] input, int inputPos,\n// float[] output, int outputPos, int nSamples, final float[] kernel) {\n function filterButter(input, inputPos, output, outputPos, nSamples, kernel) {\n\n while ((nSamples--) != 0) {\n output[outputPos] = input[inputPos + 0] * kernel[0]\n - output[outputPos - 1] * kernel[1] + input[inputPos - 1]\n * kernel[2] - output[outputPos - 2] * kernel[3]\n + input[inputPos - 2] * kernel[4];\n ++outputPos;\n ++inputPos;\n }\n }\n\n /**\n * @return INIT_GAIN_ANALYSIS_OK if successful, INIT_GAIN_ANALYSIS_ERROR if\n * not\n */\n function ResetSampleFrequency(rgData, samplefreq) {\n /* zero out initial values */\n for (var i = 0; i < MAX_ORDER; i++)\n rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n\n switch (0 | (samplefreq)) {\n case 48000:\n rgData.reqindex = 0;\n break;\n case 44100:\n rgData.reqindex = 1;\n break;\n case 32000:\n rgData.reqindex = 2;\n break;\n case 24000:\n rgData.reqindex = 3;\n break;\n case 22050:\n rgData.reqindex = 4;\n break;\n case 16000:\n rgData.reqindex = 5;\n break;\n case 12000:\n rgData.reqindex = 6;\n break;\n case 11025:\n rgData.reqindex = 7;\n break;\n case 8000:\n rgData.reqindex = 8;\n break;\n default:\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n\n rgData.sampleWindow = 0 | ((samplefreq * RMS_WINDOW_TIME_NUMERATOR\n + RMS_WINDOW_TIME_DENOMINATOR - 1) / RMS_WINDOW_TIME_DENOMINATOR);\n\n rgData.lsum = 0.;\n rgData.rsum = 0.;\n rgData.totsamp = 0;\n\n Arrays.ill(rgData.A, 0);\n\n return INIT_GAIN_ANALYSIS_OK;\n }\n\n this.InitGainAnalysis = function (rgData, samplefreq) {\n if (ResetSampleFrequency(rgData, samplefreq) != INIT_GAIN_ANALYSIS_OK) {\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n\n rgData.linpre = MAX_ORDER;\n rgData.rinpre = MAX_ORDER;\n rgData.lstep = MAX_ORDER;\n rgData.rstep = MAX_ORDER;\n rgData.lout = MAX_ORDER;\n rgData.rout = MAX_ORDER;\n\n Arrays.fill(rgData.B, 0);\n\n return INIT_GAIN_ANALYSIS_OK;\n };\n\n /**\n * square\n */\n function fsqr(d) {\n return d * d;\n }\n\n this.AnalyzeSamples = function (rgData, left_samples, left_samplesPos, right_samples, right_samplesPos, num_samples,\n num_channels) {\n var curleft;\n var curleftBase;\n var curright;\n var currightBase;\n var batchsamples;\n var cursamples;\n var cursamplepos;\n\n if (num_samples == 0)\n return GAIN_ANALYSIS_OK;\n\n cursamplepos = 0;\n batchsamples = num_samples;\n\n switch (num_channels) {\n case 1:\n right_samples = left_samples;\n right_samplesPos = left_samplesPos;\n break;\n case 2:\n break;\n default:\n return GAIN_ANALYSIS_ERROR;\n }\n\n if (num_samples < MAX_ORDER) {\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER, num_samples);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER, num_samples);\n } else {\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER, MAX_ORDER);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER, MAX_ORDER);\n }\n\n while (batchsamples > 0) {\n cursamples = batchsamples > rgData.sampleWindow - rgData.totsamp ? rgData.sampleWindow\n - rgData.totsamp\n : batchsamples;\n if (cursamplepos < MAX_ORDER) {\n curleft = rgData.linpre + cursamplepos;\n curleftBase = rgData.linprebuf;\n curright = rgData.rinpre + cursamplepos;\n currightBase = rgData.rinprebuf;\n if (cursamples > MAX_ORDER - cursamplepos)\n cursamples = MAX_ORDER - cursamplepos;\n } else {\n curleft = left_samplesPos + cursamplepos;\n curleftBase = left_samples;\n curright = right_samplesPos + cursamplepos;\n currightBase = right_samples;\n }\n\n filterYule(curleftBase, curleft, rgData.lstepbuf, rgData.lstep\n + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n filterYule(currightBase, curright, rgData.rstepbuf, rgData.rstep\n + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n\n filterButter(rgData.lstepbuf, rgData.lstep + rgData.totsamp,\n rgData.loutbuf, rgData.lout + rgData.totsamp, cursamples,\n ABButter[rgData.reqindex]);\n filterButter(rgData.rstepbuf, rgData.rstep + rgData.totsamp,\n rgData.routbuf, rgData.rout + rgData.totsamp, cursamples,\n ABButter[rgData.reqindex]);\n\n curleft = rgData.lout + rgData.totsamp;\n /* Get the squared values */\n curleftBase = rgData.loutbuf;\n curright = rgData.rout + rgData.totsamp;\n currightBase = rgData.routbuf;\n\n var i = cursamples % 8;\n while ((i--) != 0) {\n rgData.lsum += fsqr(curleftBase[curleft++]);\n rgData.rsum += fsqr(currightBase[curright++]);\n }\n i = cursamples / 8;\n while ((i--) != 0) {\n rgData.lsum += fsqr(curleftBase[curleft + 0])\n + fsqr(curleftBase[curleft + 1])\n + fsqr(curleftBase[curleft + 2])\n + fsqr(curleftBase[curleft + 3])\n + fsqr(curleftBase[curleft + 4])\n + fsqr(curleftBase[curleft + 5])\n + fsqr(curleftBase[curleft + 6])\n + fsqr(curleftBase[curleft + 7]);\n curleft += 8;\n rgData.rsum += fsqr(currightBase[curright + 0])\n + fsqr(currightBase[curright + 1])\n + fsqr(currightBase[curright + 2])\n + fsqr(currightBase[curright + 3])\n + fsqr(currightBase[curright + 4])\n + fsqr(currightBase[curright + 5])\n + fsqr(currightBase[curright + 6])\n + fsqr(currightBase[curright + 7]);\n curright += 8;\n }\n\n batchsamples -= cursamples;\n cursamplepos += cursamples;\n rgData.totsamp += cursamples;\n if (rgData.totsamp == rgData.sampleWindow) {\n /* Get the Root Mean Square (RMS) for this set of samples */\n var val = GainAnalysis.STEPS_per_dB\n * 10.\n * Math.log10((rgData.lsum + rgData.rsum)\n / rgData.totsamp * 0.5 + 1.e-37);\n var ival = (val <= 0) ? 0 : 0 | val;\n if (ival >= rgData.A.length)\n ival = rgData.A.length - 1;\n rgData.A[ival]++;\n rgData.lsum = rgData.rsum = 0.;\n\n System.arraycopy(rgData.loutbuf, rgData.totsamp,\n rgData.loutbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.routbuf, rgData.totsamp,\n rgData.routbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.lstepbuf, rgData.totsamp,\n rgData.lstepbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.rstepbuf, rgData.totsamp,\n rgData.rstepbuf, 0, MAX_ORDER);\n rgData.totsamp = 0;\n }\n if (rgData.totsamp > rgData.sampleWindow) {\n /*\n * somehow I really screwed up: Error in programming! Contact\n * author about totsamp > sampleWindow\n */\n return GAIN_ANALYSIS_ERROR;\n }\n }\n if (num_samples < MAX_ORDER) {\n System.arraycopy(rgData.linprebuf, num_samples, rgData.linprebuf,\n 0, MAX_ORDER - num_samples);\n System.arraycopy(rgData.rinprebuf, num_samples, rgData.rinprebuf,\n 0, MAX_ORDER - num_samples);\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER - num_samples, num_samples);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER - num_samples, num_samples);\n } else {\n System.arraycopy(left_samples, left_samplesPos + num_samples\n - MAX_ORDER, rgData.linprebuf, 0, MAX_ORDER);\n System.arraycopy(right_samples, right_samplesPos + num_samples\n - MAX_ORDER, rgData.rinprebuf, 0, MAX_ORDER);\n }\n\n return GAIN_ANALYSIS_OK;\n };\n\n function analyzeResult(Array, len) {\n var i;\n\n var elems = 0;\n for (i = 0; i < len; i++)\n elems += Array[i];\n if (elems == 0)\n return GAIN_NOT_ENOUGH_SAMPLES;\n\n var upper = 0 | Math.ceil(elems * (1. - RMS_PERCENTILE));\n for (i = len; i-- > 0;) {\n if ((upper -= Array[i]) <= 0)\n break;\n }\n\n //return (float) ((float) PINK_REF - (float) i / (float) STEPS_per_dB);\n return (PINK_REF - i / GainAnalysis.STEPS_per_dB);\n }\n\n this.GetTitleGain = function (rgData) {\n var retval = analyzeResult(rgData.A, rgData.A.length);\n\n for (var i = 0; i < rgData.A.length; i++) {\n rgData.B[i] += rgData.A[i];\n rgData.A[i] = 0;\n }\n\n for (var i = 0; i < MAX_ORDER; i++)\n rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n\n rgData.totsamp = 0;\n rgData.lsum = rgData.rsum = 0.;\n return retval;\n }\n\n}\n\nmodule.exports = GainAnalysis;\n","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar defaults = {\n\tdefaultProtocol: 'http',\n\tevents: null,\n\tformat: noop,\n\tformatHref: noop,\n\tnl2br: false,\n\ttagName: 'a',\n\ttarget: typeToTarget,\n\tvalidate: true,\n\tignoreTags: [],\n\tattributes: null,\n\tclassName: 'linkified' // Deprecated value - no default class will be provided in the future\n};\n\nexports.defaults = defaults;\nexports.Options = Options;\nexports.contains = contains;\n\n\nfunction Options(opts) {\n\topts = opts || {};\n\n\tthis.defaultProtocol = opts.hasOwnProperty('defaultProtocol') ? opts.defaultProtocol : defaults.defaultProtocol;\n\tthis.events = opts.hasOwnProperty('events') ? opts.events : defaults.events;\n\tthis.format = opts.hasOwnProperty('format') ? opts.format : defaults.format;\n\tthis.formatHref = opts.hasOwnProperty('formatHref') ? opts.formatHref : defaults.formatHref;\n\tthis.nl2br = opts.hasOwnProperty('nl2br') ? opts.nl2br : defaults.nl2br;\n\tthis.tagName = opts.hasOwnProperty('tagName') ? opts.tagName : defaults.tagName;\n\tthis.target = opts.hasOwnProperty('target') ? opts.target : defaults.target;\n\tthis.validate = opts.hasOwnProperty('validate') ? opts.validate : defaults.validate;\n\tthis.ignoreTags = [];\n\n\t// linkAttributes and linkClass is deprecated\n\tthis.attributes = opts.attributes || opts.linkAttributes || defaults.attributes;\n\tthis.className = opts.hasOwnProperty('className') ? opts.className : opts.linkClass || defaults.className;\n\n\t// Make all tags names upper case\n\tvar ignoredTags = opts.hasOwnProperty('ignoreTags') ? opts.ignoreTags : defaults.ignoreTags;\n\tfor (var i = 0; i < ignoredTags.length; i++) {\n\t\tthis.ignoreTags.push(ignoredTags[i].toUpperCase());\n\t}\n}\n\nOptions.prototype = {\n\t/**\n * Given the token, return all options for how it should be displayed\n */\n\tresolve: function resolve(token) {\n\t\tvar href = token.toHref(this.defaultProtocol);\n\t\treturn {\n\t\t\tformatted: this.get('format', token.toString(), token),\n\t\t\tformattedHref: this.get('formatHref', href, token),\n\t\t\ttagName: this.get('tagName', href, token),\n\t\t\tclassName: this.get('className', href, token),\n\t\t\ttarget: this.get('target', href, token),\n\t\t\tevents: this.getObject('events', href, token),\n\t\t\tattributes: this.getObject('attributes', href, token)\n\t\t};\n\t},\n\n\n\t/**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options. By default,\n */\n\tcheck: function check(token) {\n\t\treturn this.get('validate', token.toString(), token);\n\t},\n\n\n\t// Private methods\n\n\t/**\n * Resolve an option's value based on the value of the option and the given\n * params.\n * @param {String} key Name of option to use\n * @param operator will be passed to the target option if it's method\n * @param {MultiToken} token The token from linkify.tokenize\n */\n\tget: function get(key, operator, token) {\n\t\tvar optionValue = void 0,\n\t\t option = this[key];\n\t\tif (!option) {\n\t\t\treturn option;\n\t\t}\n\n\t\tswitch (typeof option === 'undefined' ? 'undefined' : _typeof(option)) {\n\t\t\tcase 'function':\n\t\t\t\treturn option(operator, token.type);\n\t\t\tcase 'object':\n\t\t\t\toptionValue = option.hasOwnProperty(token.type) ? option[token.type] : defaults[key];\n\t\t\t\treturn typeof optionValue === 'function' ? optionValue(operator, token.type) : optionValue;\n\t\t}\n\n\t\treturn option;\n\t},\n\tgetObject: function getObject(key, operator, token) {\n\t\tvar option = this[key];\n\t\treturn typeof option === 'function' ? option(operator, token.type) : option;\n\t}\n};\n\n/**\n * Quick indexOf replacement for checking the ignoreTags option\n */\nfunction contains(arr, value) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (arr[i] === value) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction noop(val) {\n\treturn val;\n}\n\nfunction typeToTarget(href, type) {\n\treturn type === 'url' ? '_blank' : null;\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\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 getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-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-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\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++], props[key]);\n return O;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nfunction Presets() {\n function VBRPresets(qual, comp, compS,\n y, shThreshold, shThresholdS,\n adj, adjShort, lower,\n curve, sens, inter,\n joint, mod, fix) {\n this.vbr_q = qual;\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.expY = y;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.masking_adj = adj;\n this.masking_adj_short = adjShort;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.ath_sensitivity = sens;\n this.interch = inter;\n this.safejoint = joint;\n this.sfb21mod = mod;\n this.msfix = fix;\n }\n\n function ABRPresets(kbps, comp, compS,\n joint, fix, shThreshold,\n shThresholdS, bass, sc,\n mask, lower, curve,\n interCh, sfScale) {\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.safejoint = joint;\n this.nsmsfix = fix;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.nsbass = bass;\n this.scale = sc;\n this.masking_adj = mask;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.interch = interCh;\n this.sfscale = sfScale;\n }\n\n var lame;\n\n this.setModules = function (_lame) {\n lame = _lame;\n };\n\n /**\n *
\n     * Switch mappings for VBR mode VBR_RH\n     *             vbr_q  qcomp_l  qcomp_s  expY  st_lrm   st_s  mask adj_l  adj_s  ath_lower  ath_curve  ath_sens  interChR  safejoint sfb21mod  msfix\n     * 
\n */\n var vbr_old_switch_map = [\n new VBRPresets(0, 9, 9, 0, 5.20, 125.0, -4.2, -6.3, 4.8, 1, 0, 0, 2, 21, 0.97),\n new VBRPresets(1, 9, 9, 0, 5.30, 125.0, -3.6, -5.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 5.60, 125.0, -2.2, -3.5, 2.8, 2, 0, 0, 2, 21, 1.49),\n new VBRPresets(3, 9, 9, 1, 5.80, 130.0, -1.8, -2.8, 2.6, 3, -4, 0, 2, 20, 1.64),\n new VBRPresets(4, 9, 9, 1, 6.00, 135.0, -0.7, -1.1, 1.1, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 6.40, 140.0, 0.5, 0.4, -7.5, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 6.60, 145.0, 0.67, 0.65, -14.7, 6.5, -19, 0.0004, 0, 0, 2.30),\n new VBRPresets(7, 9, 9, 1, 6.60, 145.0, 0.8, 0.75, -19.7, 8, -22, 0.0006, 0, 0, 2.70),\n new VBRPresets(8, 9, 9, 1, 6.60, 145.0, 1.2, 1.15, -27.5, 10, -23, 0.0007, 0, 0, 0),\n new VBRPresets(9, 9, 9, 1, 6.60, 145.0, 1.6, 1.6, -36, 11, -25, 0.0008, 0, 0, 0),\n new VBRPresets(10, 9, 9, 1, 6.60, 145.0, 2.0, 2.0, -36, 12, -25, 0.0008, 0, 0, 0)\n ];\n\n /**\n *
\n     *                 vbr_q  qcomp_l  qcomp_s  expY  st_lrm   st_s  mask adj_l  adj_s  ath_lower  ath_curve  ath_sens  interChR  safejoint sfb21mod  msfix\n     * 
\n */\n var vbr_psy_switch_map = [\n new VBRPresets(0, 9, 9, 0, 4.20, 25.0, -7.0, -4.0, 7.5, 1, 0, 0, 2, 26, 0.97),\n new VBRPresets(1, 9, 9, 0, 4.20, 25.0, -5.6, -3.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 4.20, 25.0, -4.4, -1.8, 2, 2, 0, 0, 2, 18, 1.49),\n new VBRPresets(3, 9, 9, 1, 4.20, 25.0, -3.4, -1.25, 1.1, 3, -4, 0, 2, 15, 1.64),\n new VBRPresets(4, 9, 9, 1, 4.20, 25.0, -2.2, 0.1, 0, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 4.20, 25.0, -1.0, 1.65, -7.7, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 4.20, 25.0, -0.0, 2.47, -7.7, 6.5, -19, 0.0004, 0, 0, 2),\n new VBRPresets(7, 9, 9, 1, 4.20, 25.0, 0.5, 2.0, -14.5, 8, -22, 0.0006, 0, 0, 2),\n new VBRPresets(8, 9, 9, 1, 4.20, 25.0, 1.0, 2.4, -22.0, 10, -23, 0.0007, 0, 0, 2),\n new VBRPresets(9, 9, 9, 1, 4.20, 25.0, 1.5, 2.95, -30.0, 11, -25, 0.0008, 0, 0, 2),\n new VBRPresets(10, 9, 9, 1, 4.20, 25.0, 2.0, 2.95, -36.0, 12, -30, 0.0008, 0, 0, 2)\n ];\n\n function apply_vbr_preset(gfp, a, enforce) {\n var vbr_preset = gfp.VBR == VbrMode.vbr_rh ? vbr_old_switch_map\n : vbr_psy_switch_map;\n\n var x = gfp.VBR_q_frac;\n var p = vbr_preset[a];\n var q = vbr_preset[a + 1];\n var set = p;\n\n // NOOP(vbr_q);\n // NOOP(quant_comp);\n // NOOP(quant_comp_s);\n // NOOP(expY);\n p.st_lrm = p.st_lrm + x * (q.st_lrm - p.st_lrm);\n // LERP(st_lrm);\n p.st_s = p.st_s + x * (q.st_s - p.st_s);\n // LERP(st_s);\n p.masking_adj = p.masking_adj + x * (q.masking_adj - p.masking_adj);\n // LERP(masking_adj);\n p.masking_adj_short = p.masking_adj_short + x\n * (q.masking_adj_short - p.masking_adj_short);\n // LERP(masking_adj_short);\n p.ath_lower = p.ath_lower + x * (q.ath_lower - p.ath_lower);\n // LERP(ath_lower);\n p.ath_curve = p.ath_curve + x * (q.ath_curve - p.ath_curve);\n // LERP(ath_curve);\n p.ath_sensitivity = p.ath_sensitivity + x\n * (q.ath_sensitivity - p.ath_sensitivity);\n // LERP(ath_sensitivity);\n p.interch = p.interch + x * (q.interch - p.interch);\n // LERP(interch);\n // NOOP(safejoint);\n // NOOP(sfb21mod);\n p.msfix = p.msfix + x * (q.msfix - p.msfix);\n // LERP(msfix);\n\n lame_set_VBR_q(gfp, set.vbr_q);\n\n if (enforce != 0)\n gfp.quant_comp = set.quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0))\n gfp.quant_comp = set.quant_comp;\n // SET_OPTION(quant_comp, set.quant_comp, -1);\n if (enforce != 0)\n gfp.quant_comp_short = set.quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0))\n gfp.quant_comp_short = set.quant_comp_s;\n // SET_OPTION(quant_comp_short, set.quant_comp_s, -1);\n if (set.expY != 0) {\n gfp.experimentalY = set.expY != 0;\n }\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n // SET_OPTION(short_threshold_lrm, set.st_lrm, -1);\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n // SET_OPTION(short_threshold_s, set.st_s, -1);\n if (enforce != 0)\n gfp.maskingadjust = set.masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0))\n gfp.maskingadjust = set.masking_adj;\n // SET_OPTION(maskingadjust, set.masking_adj, 0);\n if (enforce != 0)\n gfp.maskingadjust_short = set.masking_adj_short;\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = set.masking_adj_short;\n // SET_OPTION(maskingadjust_short, set.masking_adj_short, 0);\n if (enforce != 0)\n gfp.ATHlower = -set.ath_lower / 10.0;\n else if (!(Math.abs((-gfp.ATHlower * 10.0) - 0) > 0))\n gfp.ATHlower = -set.ath_lower / 10.0;\n // SET_OPTION(ATHlower, set.ath_lower, 0);\n if (enforce != 0)\n gfp.ATHcurve = set.ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0))\n gfp.ATHcurve = set.ath_curve;\n // SET_OPTION(ATHcurve, set.ath_curve, -1);\n if (enforce != 0)\n gfp.athaa_sensitivity = set.ath_sensitivity;\n else if (!(Math.abs(gfp.athaa_sensitivity - -1) > 0))\n gfp.athaa_sensitivity = set.ath_sensitivity;\n // SET_OPTION(athaa_sensitivity, set.ath_sensitivity, 0);\n if (set.interch > 0) {\n if (enforce != 0)\n gfp.interChRatio = set.interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0))\n gfp.interChRatio = set.interch;\n // SET_OPTION(interChRatio, set.interch, -1);\n }\n\n /* parameters for which there is no proper set/get interface */\n if (set.safejoint > 0) {\n gfp.exp_nspsytune = gfp.exp_nspsytune | set.safejoint;\n }\n if (set.sfb21mod > 0) {\n gfp.exp_nspsytune = gfp.exp_nspsytune | (set.sfb21mod << 20);\n }\n if (enforce != 0)\n gfp.msfix = set.msfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0))\n gfp.msfix = set.msfix;\n // SET_OPTION(msfix, set.msfix, -1);\n\n if (enforce == 0) {\n gfp.VBR_q = a;\n gfp.VBR_q_frac = x;\n }\n }\n\n /**\n *
\n     *  Switch mappings for ABR mode\n     *\n     *              kbps  quant q_s safejoint nsmsfix st_lrm  st_s  ns-bass scale   msk ath_lwr ath_curve  interch , sfscale\n     * 
\n */\n var abr_switch_map = [\n new ABRPresets(8, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -30.0, 11, 0.0012, 1), /* 8, impossible to use in stereo */\n new ABRPresets(16, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -25.0, 11, 0.0010, 1), /* 16 */\n new ABRPresets(24, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -20.0, 11, 0.0010, 1), /* 24 */\n new ABRPresets(32, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -15.0, 11, 0.0010, 1), /* 32 */\n new ABRPresets(40, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10.0, 11, 0.0009, 1), /* 40 */\n new ABRPresets(48, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10.0, 11, 0.0009, 1), /* 48 */\n new ABRPresets(56, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -6.0, 11, 0.0008, 1), /* 56 */\n new ABRPresets(64, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -2.0, 11, 0.0008, 1), /* 64 */\n new ABRPresets(80, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, .0, 8, 0.0007, 1), /* 80 */\n new ABRPresets(96, 9, 9, 0, 2.50, 6.60, 145, 0, 0.95, 0, 1.0, 5.5, 0.0006, 1), /* 96 */\n new ABRPresets(112, 9, 9, 0, 2.25, 6.60, 145, 0, 0.95, 0, 2.0, 4.5, 0.0005, 1), /* 112 */\n new ABRPresets(128, 9, 9, 0, 1.95, 6.40, 140, 0, 0.95, 0, 3.0, 4, 0.0002, 1), /* 128 */\n new ABRPresets(160, 9, 9, 1, 1.79, 6.00, 135, 0, 0.95, -2, 5.0, 3.5, 0, 1), /* 160 */\n new ABRPresets(192, 9, 9, 1, 1.49, 5.60, 125, 0, 0.97, -4, 7.0, 3, 0, 0), /* 192 */\n new ABRPresets(224, 9, 9, 1, 1.25, 5.20, 125, 0, 0.98, -6, 9.0, 2, 0, 0), /* 224 */\n new ABRPresets(256, 9, 9, 1, 0.97, 5.20, 125, 0, 1.00, -8, 10.0, 1, 0, 0), /* 256 */\n new ABRPresets(320, 9, 9, 1, 0.90, 5.20, 125, 0, 1.00, -10, 12.0, 0, 0, 0) /* 320 */\n ];\n\n function apply_abr_preset(gfp, preset, enforce) {\n /* Variables for the ABR stuff */\n var actual_bitrate = preset;\n\n var r = lame.nearestBitrateFullIndex(preset);\n\n gfp.VBR = VbrMode.vbr_abr;\n gfp.VBR_mean_bitrate_kbps = actual_bitrate;\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 320);\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 8);\n gfp.brate = gfp.VBR_mean_bitrate_kbps;\n if (gfp.VBR_mean_bitrate_kbps > 320) {\n gfp.disable_reservoir = true;\n }\n\n /* parameters for which there is no proper set/get interface */\n if (abr_switch_map[r].safejoint > 0)\n gfp.exp_nspsytune = gfp.exp_nspsytune | 2;\n /* safejoint */\n\n if (abr_switch_map[r].sfscale > 0) {\n gfp.internal_flags.noise_shaping = 2;\n }\n /* ns-bass tweaks */\n if (Math.abs(abr_switch_map[r].nsbass) > 0) {\n var k = (int)(abr_switch_map[r].nsbass * 4);\n if (k < 0)\n k += 64;\n gfp.exp_nspsytune = gfp.exp_nspsytune | (k << 2);\n }\n\n if (enforce != 0)\n gfp.quant_comp = abr_switch_map[r].quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0))\n gfp.quant_comp = abr_switch_map[r].quant_comp;\n // SET_OPTION(quant_comp, abr_switch_map[r].quant_comp, -1);\n if (enforce != 0)\n gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0))\n gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n // SET_OPTION(quant_comp_short, abr_switch_map[r].quant_comp_s, -1);\n\n if (enforce != 0)\n gfp.msfix = abr_switch_map[r].nsmsfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0))\n gfp.msfix = abr_switch_map[r].nsmsfix;\n // SET_OPTION(msfix, abr_switch_map[r].nsmsfix, -1);\n\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n // SET_OPTION(short_threshold_lrm, abr_switch_map[r].st_lrm, -1);\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n // SET_OPTION(short_threshold_s, abr_switch_map[r].st_s, -1);\n\n /*\n * ABR seems to have big problems with clipping, especially at low\n * bitrates\n */\n /*\n * so we compensate for that here by using a scale value depending on\n * bitrate\n */\n if (enforce != 0)\n gfp.scale = abr_switch_map[r].scale;\n else if (!(Math.abs(gfp.scale - -1) > 0))\n gfp.scale = abr_switch_map[r].scale;\n // SET_OPTION(scale, abr_switch_map[r].scale, -1);\n\n if (enforce != 0)\n gfp.maskingadjust = abr_switch_map[r].masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0))\n gfp.maskingadjust = abr_switch_map[r].masking_adj;\n // SET_OPTION(maskingadjust, abr_switch_map[r].masking_adj, 0);\n if (abr_switch_map[r].masking_adj > 0) {\n if (enforce != 0)\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * .9);\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * .9);\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // .9, 0);\n } else {\n if (enforce != 0)\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * 1.1);\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * 1.1);\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // 1.1, 0);\n }\n\n if (enforce != 0)\n gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n else if (!(Math.abs((-gfp.ATHlower * 10.) - 0) > 0))\n gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n // SET_OPTION(ATHlower, abr_switch_map[r].ath_lower, 0);\n if (enforce != 0)\n gfp.ATHcurve = abr_switch_map[r].ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0))\n gfp.ATHcurve = abr_switch_map[r].ath_curve;\n // SET_OPTION(ATHcurve, abr_switch_map[r].ath_curve, -1);\n\n if (enforce != 0)\n gfp.interChRatio = abr_switch_map[r].interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0))\n gfp.interChRatio = abr_switch_map[r].interch;\n // SET_OPTION(interChRatio, abr_switch_map[r].interch, -1);\n\n return preset;\n }\n\n this.apply_preset = function(gfp, preset, enforce) {\n /* translate legacy presets */\n switch (preset) {\n case Lame.R3MIX:\n {\n preset = Lame.V3;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.MEDIUM:\n {\n preset = Lame.V4;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.MEDIUM_FAST:\n {\n preset = Lame.V4;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.STANDARD:\n {\n preset = Lame.V2;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.STANDARD_FAST:\n {\n preset = Lame.V2;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.EXTREME:\n {\n preset = Lame.V0;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.EXTREME_FAST:\n {\n preset = Lame.V0;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.INSANE:\n {\n preset = 320;\n gfp.preset = preset;\n apply_abr_preset(gfp, preset, enforce);\n gfp.VBR = VbrMode.vbr_off;\n return preset;\n }\n }\n\n gfp.preset = preset;\n {\n switch (preset) {\n case Lame.V9:\n apply_vbr_preset(gfp, 9, enforce);\n return preset;\n case Lame.V8:\n apply_vbr_preset(gfp, 8, enforce);\n return preset;\n case Lame.V7:\n apply_vbr_preset(gfp, 7, enforce);\n return preset;\n case Lame.V6:\n apply_vbr_preset(gfp, 6, enforce);\n return preset;\n case Lame.V5:\n apply_vbr_preset(gfp, 5, enforce);\n return preset;\n case Lame.V4:\n apply_vbr_preset(gfp, 4, enforce);\n return preset;\n case Lame.V3:\n apply_vbr_preset(gfp, 3, enforce);\n return preset;\n case Lame.V2:\n apply_vbr_preset(gfp, 2, enforce);\n return preset;\n case Lame.V1:\n apply_vbr_preset(gfp, 1, enforce);\n return preset;\n case Lame.V0:\n apply_vbr_preset(gfp, 0, enforce);\n return preset;\n default:\n break;\n }\n }\n if (8 <= preset && preset <= 320) {\n return apply_abr_preset(gfp, preset, enforce);\n }\n\n /* no corresponding preset found */\n gfp.preset = 0;\n return preset;\n }\n\n // Rest from getset.c:\n\n /**\n * VBR quality level.
\n * 0 = highest
\n * 9 = lowest\n */\n function lame_set_VBR_q(gfp, VBR_q) {\n var ret = 0;\n\n if (0 > VBR_q) {\n /* Unknown VBR quality level! */\n ret = -1;\n VBR_q = 0;\n }\n if (9 < VBR_q) {\n ret = -1;\n VBR_q = 9;\n }\n\n gfp.VBR_q = VBR_q;\n gfp.VBR_q_frac = 0;\n return ret;\n }\n\n}\n\nmodule.exports = Presets;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\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: toString(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 NATIVE_SYMBOL = require('../internals/native-symbol');\n\n/* eslint-disable es-x/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","module.exports = {};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice-simple');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) == '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() == ':') {\n if (charAt(input, 1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n } return join(result, '.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length == 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += toLowerCase(chr);\n } else if (chr == ':') {\n if (stateOverride && (\n (url.isSpecial() != hasOwn(specialSchemes, buffer)) ||\n (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) == '[') {\n if (charAt(input, input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme == 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username != '' || this.password != '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port == '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search == '') {\n this.query = null;\n } else {\n if ('?' == charAt(search, 0)) search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash == '') {\n this.fragment = null;\n return;\n }\n if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _multi = require('./tokens/multi');\n\nvar MULTI_TOKENS = _interopRequireWildcard(_multi);\n\nvar _text = require('./tokens/text');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/Email_address (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main parser\n*/\n\nvar makeState = function makeState(tokenClass) {\n\treturn new _state.TokenState(tokenClass);\n};\n\n// The universal starting state.\nvar S_START = makeState();\n\n// Intermediate states for URLs. Note that domains that begin with a protocol\n// are treated slighly differently from those that don't.\nvar S_PROTOCOL = makeState(); // e.g., 'http:'\nvar S_MAILTO = makeState(); // 'mailto:'\nvar S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''\nvar S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'\nvar S_DOMAIN = makeState(); // parsed string ends with a potential domain name (A)\nvar S_DOMAIN_DOT = makeState(); // (A) domain followed by DOT\nvar S_TLD = makeState(_multi.URL); // (A) Simplest possible URL with no query string\nvar S_TLD_COLON = makeState(); // (A) URL followed by colon (potential port number here)\nvar S_TLD_PORT = makeState(_multi.URL); // TLD followed by a port number\nvar S_URL = makeState(_multi.URL); // Long URL with optional port and maybe query string\nvar S_URL_NON_ACCEPTING = makeState(); // URL followed by some symbols (will not be part of the final URL)\nvar S_URL_OPENBRACE = makeState(); // URL followed by {\nvar S_URL_OPENBRACKET = makeState(); // URL followed by [\nvar S_URL_OPENANGLEBRACKET = makeState(); // URL followed by <\nvar S_URL_OPENPAREN = makeState(); // URL followed by (\nvar S_URL_OPENBRACE_Q = makeState(_multi.URL); // URL followed by { and some symbols that the URL can end it\nvar S_URL_OPENBRACKET_Q = makeState(_multi.URL); // URL followed by [ and some symbols that the URL can end it\nvar S_URL_OPENANGLEBRACKET_Q = makeState(_multi.URL); // URL followed by < and some symbols that the URL can end it\nvar S_URL_OPENPAREN_Q = makeState(_multi.URL); // URL followed by ( and some symbols that the URL can end it\nvar S_URL_OPENBRACE_SYMS = makeState(); // S_URL_OPENBRACE_Q followed by some symbols it cannot end it\nvar S_URL_OPENBRACKET_SYMS = makeState(); // S_URL_OPENBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENANGLEBRACKET_SYMS = makeState(); // S_URL_OPENANGLEBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENPAREN_SYMS = makeState(); // S_URL_OPENPAREN_Q followed by some symbols it cannot end it\nvar S_EMAIL_DOMAIN = makeState(); // parsed string starts with local email info + @ with a potential domain name (C)\nvar S_EMAIL_DOMAIN_DOT = makeState(); // (C) domain followed by DOT\nvar S_EMAIL = makeState(_multi.EMAIL); // (C) Possible email address (could have more tlds)\nvar S_EMAIL_COLON = makeState(); // (C) URL followed by colon (potential port number here)\nvar S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port\nvar S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)\nvar S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars\nvar S_LOCALPART = makeState(); // Local part of the email address\nvar S_LOCALPART_AT = makeState(); // Local part of the email address plus @\nvar S_LOCALPART_DOT = makeState(); // Local part of the email address plus '.' (localpart cannot end in .)\nvar S_NL = makeState(_multi.NL); // single new line\n\n// Make path from start to protocol (with '//')\nS_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);\n\nS_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL_SLASH.on(_text.SLASH, S_PROTOCOL_SLASH_SLASH);\n\n// The very first potential domain name\nS_START.on(_text.TLD, S_DOMAIN).on(_text.DOMAIN, S_DOMAIN).on(_text.LOCALHOST, S_TLD).on(_text.NUM, S_DOMAIN);\n\n// Force URL for protocol followed by anything sane\nS_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL);\n\n// Account for dots and hyphens\n// hyphens are usually parts of domain names\nS_DOMAIN.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL_DOMAIN.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Hyphen can jump back to a domain name\n\n// After the first domain and a dot, we can find either a URL or another domain\nS_DOMAIN_DOT.on(_text.TLD, S_TLD).on(_text.DOMAIN, S_DOMAIN).on(_text.NUM, S_DOMAIN).on(_text.LOCALHOST, S_DOMAIN);\n\nS_EMAIL_DOMAIN_DOT.on(_text.TLD, S_EMAIL).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.NUM, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL_DOMAIN);\n\n// S_TLD accepts! But the URL could be longer, try to find a match greedily\n// The `run` function should be able to \"rollback\" to the accepting state\nS_TLD.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Become real URLs after `SLASH` or `COLON NUM SLASH`\n// Here PSS and non-PSS converge\nS_TLD.on(_text.COLON, S_TLD_COLON).on(_text.SLASH, S_URL);\nS_TLD_COLON.on(_text.NUM, S_TLD_PORT);\nS_TLD_PORT.on(_text.SLASH, S_URL);\nS_EMAIL.on(_text.COLON, S_EMAIL_COLON);\nS_EMAIL_COLON.on(_text.NUM, S_EMAIL_PORT);\n\n// Types of characters the URL can definitely end in\nvar qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND];\n\n// Types of tokens that can follow a URL and be part of the query string\n// but cannot be the very last characters\n// Characters that cannot appear in the URL at all should be excluded\nvar qsNonAccepting = [_text.COLON, _text.DOT, _text.QUERY, _text.PUNCTUATION, _text.CLOSEBRACE, _text.CLOSEBRACKET, _text.CLOSEANGLEBRACKET, _text.CLOSEPAREN, _text.OPENBRACE, _text.OPENBRACKET, _text.OPENANGLEBRACKET, _text.OPENPAREN];\n\n// These states are responsible primarily for determining whether or not to\n// include the final round bracket.\n\n// URL, followed by an opening bracket\nS_URL.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// URL with extra symbols at the end, followed by an opening bracket\nS_URL_NON_ACCEPTING.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// Closing bracket component. This character WILL be included in the URL\nS_URL_OPENBRACE.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_Q.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_Q.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_Q.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_Q.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_SYMS.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_SYMS.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_SYMS.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_SYMS.on(_text.CLOSEPAREN, S_URL);\n\n// URL that beings with an opening bracket, followed by a symbols.\n// Note that the final state can still be `S_URL_OPENBRACE_Q` (if the URL only\n// has a single opening bracket for some reason).\nS_URL_OPENBRACE.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// URL that begins with an opening bracket, followed by some symbols\nS_URL_OPENBRACE_Q.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_Q.on(qsNonAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsNonAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsNonAccepting, S_URL_OPENPAREN_Q);\n\nS_URL_OPENBRACE_SYMS.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_SYMS.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_SYMS.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN_SYMS.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// Account for the query string\nS_URL.on(qsAccepting, S_URL);\nS_URL_NON_ACCEPTING.on(qsAccepting, S_URL);\n\nS_URL.on(qsNonAccepting, S_URL_NON_ACCEPTING);\nS_URL_NON_ACCEPTING.on(qsNonAccepting, S_URL_NON_ACCEPTING);\n\n// Email address-specific state definitions\n// Note: We are not allowing '/' in email addresses since this would interfere\n// with real URLs\n\n// For addresses with the mailto prefix\n// 'mailto:' followed by anything sane is a valid email\nS_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL);\n\n// Greedily get more potential valid email values\nS_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\nS_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\n\n// For addresses without the mailto prefix\n// Tokens allowed in the localpart of the email\nvar localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD];\n\n// Some of the tokens in `localpartAccepting` are already accounted for here and\n// will not be overwritten (don't worry)\nS_DOMAIN.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_TLD.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_DOMAIN_DOT.on(localpartAccepting, S_LOCALPART);\n\n// Okay we're on a localpart. Now what?\n// TODO: IP addresses and what if the email starts with numbers?\nS_LOCALPART.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT) // close to an email address now\n.on(_text.DOT, S_LOCALPART_DOT);\nS_LOCALPART_DOT.on(localpartAccepting, S_LOCALPART);\nS_LOCALPART_AT.on(_text.TLD, S_EMAIL_DOMAIN).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL);\n// States following `@` defined above\n\nvar run = function run(tokens) {\n\tvar len = tokens.length;\n\tvar cursor = 0;\n\tvar multis = [];\n\tvar textTokens = [];\n\n\twhile (cursor < len) {\n\t\tvar state = S_START;\n\t\tvar secondState = null;\n\t\tvar nextState = null;\n\t\tvar multiLength = 0;\n\t\tvar latestAccepting = null;\n\t\tvar sinceAccepts = -1;\n\n\t\twhile (cursor < len && !(secondState = state.next(tokens[cursor]))) {\n\t\t\t// Starting tokens with nowhere to jump to.\n\t\t\t// Consider these to be just plain text\n\t\t\ttextTokens.push(tokens[cursor++]);\n\t\t}\n\n\t\twhile (cursor < len && (nextState = secondState || state.next(tokens[cursor]))) {\n\n\t\t\t// Get the next state\n\t\t\tsecondState = null;\n\t\t\tstate = nextState;\n\n\t\t\t// Keep track of the latest accepting state\n\t\t\tif (state.accepts()) {\n\t\t\t\tsinceAccepts = 0;\n\t\t\t\tlatestAccepting = state;\n\t\t\t} else if (sinceAccepts >= 0) {\n\t\t\t\tsinceAccepts++;\n\t\t\t}\n\n\t\t\tcursor++;\n\t\t\tmultiLength++;\n\t\t}\n\n\t\tif (sinceAccepts < 0) {\n\n\t\t\t// No accepting state was found, part of a regular text token\n\t\t\t// Add all the tokens we looked at to the text tokens array\n\t\t\tfor (var i = cursor - multiLength; i < cursor; i++) {\n\t\t\t\ttextTokens.push(tokens[i]);\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Accepting state!\n\n\t\t\t// First close off the textTokens (if available)\n\t\t\tif (textTokens.length > 0) {\n\t\t\t\tmultis.push(new _multi.TEXT(textTokens));\n\t\t\t\ttextTokens = [];\n\t\t\t}\n\n\t\t\t// Roll back to the latest accepting state\n\t\t\tcursor -= sinceAccepts;\n\t\t\tmultiLength -= sinceAccepts;\n\n\t\t\t// Create a new multitoken\n\t\t\tvar MULTI = latestAccepting.emit();\n\t\t\tmultis.push(new MULTI(tokens.slice(cursor - multiLength, cursor)));\n\t\t}\n\t}\n\n\t// Finally close off the textTokens (if available)\n\tif (textTokens.length > 0) {\n\t\tmultis.push(new _multi.TEXT(textTokens));\n\t}\n\n\treturn multis;\n};\n\nexports.State = _state.TokenState;\nexports.TOKENS = MULTI_TOKENS;\nexports.run = run;\nexports.start = S_START;","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.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(it, '') : Object(it);\n} : Object;\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","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","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","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\n\n// `Array.prototype.some` method\n// https://tc39.es/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","\"use strict\";\n\nexports.__esModule = true;\nfunction createTokenClass() {\n\treturn function (value) {\n\t\tif (value) {\n\t\t\tthis.v = value;\n\t\t}\n\t};\n}\n\nexports.createTokenClass = createTokenClass;","var global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\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#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['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(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(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_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/web.set-interval');\nrequire('../modules/web.set-timeout');\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\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 : aConstructor(S);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","/* eslint-disable es-x/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-x/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","'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","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar MeanBits = require('./MeanBits.js');\nvar Encoder = require('./Encoder.js');\nvar L3Side = require('./L3Side.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nfunction CBRNewIterationLoop(_quantize) {\n var quantize = _quantize;\n this.quantize = quantize;\n\tthis.iteration_loop = function(gfp, pe, ms_ener_ratio, ratio) {\n\t\tvar gfc = gfp.internal_flags;\n var l3_xmin = new_float(L3Side.SFBMAX);\n\t\tvar xrpow = new_float(576);\n\t\tvar targ_bits = new_int(2);\n\t\tvar mean_bits = 0, max_bits;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tvar mb = new MeanBits(mean_bits);\n\t\tthis.quantize.rv.ResvFrameBegin(gfp, mb);\n\t\tmean_bits = mb.bits;\n\n\t\t/* quantize! */\n\t\tfor (var gr = 0; gr < gfc.mode_gr; gr++) {\n\n\t\t\t/*\n\t\t\t * calculate needed bits\n\t\t\t */\n\t\t\tmax_bits = this.quantize.qupvt.on_pe(gfp, pe, targ_bits, mean_bits,\n\t\t\t\t\tgr, gr);\n\n\t\t\tif (gfc.mode_ext == Encoder.MPG_MD_MS_LR) {\n\t\t\t\tthis.quantize.ms_convert(gfc.l3_side, gr);\n\t\t\t\tthis.quantize.qupvt.reduce_side(targ_bits, ms_ener_ratio[gr],\n\t\t\t\t\t\tmean_bits, max_bits);\n\t\t\t}\n\n\t\t\tfor (var ch = 0; ch < gfc.channels_out; ch++) {\n\t\t\t\tvar adjust, masking_lower_db;\n\t\t\t\tvar cod_info = l3_side.tt[gr][ch];\n\n\t\t\t\tif (cod_info.block_type != Encoder.SHORT_TYPE) {\n\t\t\t\t\t// NORM, START or STOP type\n\t\t\t\t\tadjust = 0;\n\t\t\t\t\tmasking_lower_db = gfc.PSY.mask_adjust - adjust;\n\t\t\t\t} else {\n\t\t\t\t\tadjust = 0;\n\t\t\t\t\tmasking_lower_db = gfc.PSY.mask_adjust_short - adjust;\n\t\t\t\t}\n\t\t\t\tgfc.masking_lower = Math.pow(10.0,\n\t\t\t\t\t\tmasking_lower_db * 0.1);\n\n\t\t\t\t/*\n\t\t\t\t * init_outer_loop sets up cod_info, scalefac and xrpow\n\t\t\t\t */\n\t\t\t\tthis.quantize.init_outer_loop(gfc, cod_info);\n\t\t\t\tif (this.quantize.init_xrpow(gfc, cod_info, xrpow)) {\n\t\t\t\t\t/*\n\t\t\t\t\t * xr contains energy we will have to encode calculate the\n\t\t\t\t\t * masking abilities find some good quantization in\n\t\t\t\t\t * outer_loop\n\t\t\t\t\t */\n\t\t\t\t\tthis.quantize.qupvt.calc_xmin(gfp, ratio[gr][ch], cod_info,\n\t\t\t\t\t\t\tl3_xmin);\n\t\t\t\t\tthis.quantize.outer_loop(gfp, cod_info, l3_xmin, xrpow, ch,\n\t\t\t\t\t\t\ttarg_bits[ch]);\n\t\t\t\t}\n\n\t\t\t\tthis.quantize.iteration_finish_one(gfc, gr, ch);\n\t\t\t\tassert (cod_info.part2_3_length <= LameInternalFlags.MAX_BITS_PER_CHANNEL);\n\t\t\t\tassert (cod_info.part2_3_length <= targ_bits[ch]);\n\t\t\t} /* for ch */\n\t\t} /* for gr */\n\n\t\tthis.quantize.rv.ResvFrameEnd(gfc, mean_bits);\n\t}\n}\nmodule.exports = CBRNewIterationLoop;\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\n/**\n * ENCDELAY The encoder delay.\n *\n * Minimum allowed is MDCTDELAY (see below)\n *\n * The first 96 samples will be attenuated, so using a value less than 96\n * will result in corrupt data for the first 96-ENCDELAY samples.\n *\n * suggested: 576 set to 1160 to sync with FhG.\n */\nEncoder.ENCDELAY = 576;\n/**\n * make sure there is at least one complete frame after the last frame\n * containing real data\n *\n * Using a value of 288 would be sufficient for a a very sophisticated\n * decoder that can decode granule-by-granule instead of frame by frame. But\n * lets not assume this, and assume the decoder will not decode frame N\n * unless it also has data for frame N+1\n */\nEncoder.POSTDELAY = 1152;\n\n/**\n * delay of the MDCT used in mdct.c original ISO routines had a delay of\n * 528! Takehiro's routines:\n */\nEncoder.MDCTDELAY = 48;\nEncoder.FFTOFFSET = (224 + Encoder.MDCTDELAY);\n\n/**\n * Most decoders, including the one we use, have a delay of 528 samples.\n */\nEncoder.DECDELAY = 528;\n\n/**\n * number of subbands\n */\nEncoder.SBLIMIT = 32;\n\n/**\n * parition bands bands\n */\nEncoder.CBANDS = 64;\n\n/**\n * number of critical bands/scale factor bands where masking is computed\n */\nEncoder.SBPSY_l = 21;\nEncoder.SBPSY_s = 12;\n\n/**\n * total number of scalefactor bands encoded\n */\nEncoder.SBMAX_l = 22;\nEncoder.SBMAX_s = 13;\nEncoder.PSFB21 = 6;\nEncoder.PSFB12 = 6;\n\n/**\n * FFT sizes\n */\nEncoder.BLKSIZE = 1024;\nEncoder.HBLKSIZE = (Encoder.BLKSIZE / 2 + 1);\nEncoder.BLKSIZE_s = 256;\nEncoder.HBLKSIZE_s = (Encoder.BLKSIZE_s / 2 + 1);\n\nEncoder.NORM_TYPE = 0;\nEncoder.START_TYPE = 1;\nEncoder.SHORT_TYPE = 2;\nEncoder.STOP_TYPE = 3;\n\n/**\n *
\n * Mode Extention:\n * When we are in stereo mode, there are 4 possible methods to store these\n * two channels. The stereo modes -m? are using a subset of them.\n *\n *  -ms: MPG_MD_LR_LR\n *  -mj: MPG_MD_LR_LR and MPG_MD_MS_LR\n *  -mf: MPG_MD_MS_LR\n *  -mi: all\n * 
\n */\nEncoder.MPG_MD_LR_LR = 0;\nEncoder.MPG_MD_LR_I = 1;\nEncoder.MPG_MD_MS_LR = 2;\nEncoder.MPG_MD_MS_I = 3;\n\nEncoder.fircoef = [-0.0207887 * 5, -0.0378413 * 5,\n -0.0432472 * 5, -0.031183 * 5, 7.79609e-18 * 5, 0.0467745 * 5,\n 0.10091 * 5, 0.151365 * 5, 0.187098 * 5];\n\nfunction Encoder() {\n var NewMDCT = require('./NewMDCT.js');\n var III_psy_ratio = require('./III_psy_ratio.js');\n\n var FFTOFFSET = Encoder.FFTOFFSET;\n var MPG_MD_MS_LR = Encoder.MPG_MD_MS_LR;\n //BitStream bs;\n //PsyModel psy;\n //VBRTag vbr;\n //QuantizePVT qupvt;\n var bs = null;\n this.psy = null;\n var psy = null;\n var vbr = null;\n var qupvt = null;\n\n //public final void setModules(BitStream bs, PsyModel psy, QuantizePVT qupvt,\n // VBRTag vbr) {\n this.setModules = function (_bs, _psy, _qupvt, _vbr) {\n bs = _bs;\n this.psy = _psy;\n psy = _psy;\n vbr = _vbr;\n qupvt = _qupvt;\n };\n\n var newMDCT = new NewMDCT();\n\n /***********************************************************************\n *\n * encoder and decoder delays\n *\n ***********************************************************************/\n\n /**\n *
\n     * layer III enc->dec delay:  1056 (1057?)   (observed)\n     * layer  II enc->dec delay:   480  (481?)   (observed)\n     *\n     * polyphase 256-16             (dec or enc)        = 240\n     * mdct      256+32  (9*32)     (dec or enc)        = 288\n     * total:    512+16\n     *\n     * My guess is that delay of polyphase filterbank is actualy 240.5\n     * (there are technical reasons for this, see postings in mp3encoder).\n     * So total Encode+Decode delay = ENCDELAY + 528 + 1\n     * 
\n */\n\n\n /**\n * auto-adjust of ATH, useful for low volume Gabriel Bouvigne 3 feb 2001\n *\n * modifies some values in gfp.internal_flags.ATH (gfc.ATH)\n */\n//private void adjust_ATH(final LameInternalFlags gfc) {\n function adjust_ATH(gfc) {\n var gr2_max, max_pow;\n\n if (gfc.ATH.useAdjust == 0) {\n gfc.ATH.adjust = 1.0;\n /* no adjustment */\n return;\n }\n\n /* jd - 2001 mar 12, 27, jun 30 */\n /* loudness based on equal loudness curve; */\n /* use granule with maximum combined loudness */\n max_pow = gfc.loudness_sq[0][0];\n gr2_max = gfc.loudness_sq[1][0];\n if (gfc.channels_out == 2) {\n max_pow += gfc.loudness_sq[0][1];\n gr2_max += gfc.loudness_sq[1][1];\n } else {\n max_pow += max_pow;\n gr2_max += gr2_max;\n }\n if (gfc.mode_gr == 2) {\n max_pow = Math.max(max_pow, gr2_max);\n }\n max_pow *= 0.5;\n /* max_pow approaches 1.0 for full band noise */\n\n /* jd - 2001 mar 31, jun 30 */\n /* user tuning of ATH adjustment region */\n max_pow *= gfc.ATH.aaSensitivityP;\n\n /*\n * adjust ATH depending on range of maximum value\n */\n\n /* jd - 2001 feb27, mar12,20, jun30, jul22 */\n /* continuous curves based on approximation */\n /* to GB's original values. */\n /* For an increase in approximate loudness, */\n /* set ATH adjust to adjust_limit immediately */\n /* after a delay of one frame. */\n /* For a loudness decrease, reduce ATH adjust */\n /* towards adjust_limit gradually. */\n /* max_pow is a loudness squared or a power. */\n if (max_pow > 0.03125) { /* ((1 - 0.000625)/ 31.98) from curve below */\n if (gfc.ATH.adjust >= 1.0) {\n gfc.ATH.adjust = 1.0;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n /* in case there is leading low volume */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n gfc.ATH.adjustLimit = 1.0;\n } else { /* adjustment curve */\n /* about 32 dB maximum adjust (0.000625) */\n var adj_lim_new = 31.98 * max_pow + 0.000625;\n if (gfc.ATH.adjust >= adj_lim_new) { /* descend gradually */\n gfc.ATH.adjust *= adj_lim_new * 0.075 + 0.925;\n if (gfc.ATH.adjust < adj_lim_new) { /* stop descent */\n gfc.ATH.adjust = adj_lim_new;\n }\n } else { /* ascend */\n if (gfc.ATH.adjustLimit >= adj_lim_new) {\n gfc.ATH.adjust = adj_lim_new;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n }\n gfc.ATH.adjustLimit = adj_lim_new;\n }\n }\n\n /**\n *
\n     *  some simple statistics\n     *\n     *  bitrate index 0: free bitrate . not allowed in VBR mode\n     *  : bitrates, kbps depending on MPEG version\n     *  bitrate index 15: forbidden\n     *\n     *  mode_ext:\n     *  0:  LR\n     *  1:  LR-i\n     *  2:  MS\n     *  3:  MS-i\n     * 
\n */\n function updateStats(gfc) {\n var gr, ch;\n assert(0 <= gfc.bitrate_index && gfc.bitrate_index < 16);\n assert(0 <= gfc.mode_ext && gfc.mode_ext < 4);\n\n /* count bitrate indices */\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][4]++;\n gfc.bitrate_stereoMode_Hist[15][4]++;\n\n /* count 'em for every mode extension in case of 2 channel encoding */\n if (gfc.channels_out == 2) {\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][gfc.mode_ext]++;\n gfc.bitrate_stereoMode_Hist[15][gfc.mode_ext]++;\n }\n for (gr = 0; gr < gfc.mode_gr; ++gr) {\n for (ch = 0; ch < gfc.channels_out; ++ch) {\n var bt = gfc.l3_side.tt[gr][ch].block_type | 0;\n if (gfc.l3_side.tt[gr][ch].mixed_block_flag != 0)\n bt = 4;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][bt]++;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][5]++;\n gfc.bitrate_blockType_Hist[15][bt]++;\n gfc.bitrate_blockType_Hist[15][5]++;\n }\n }\n }\n\n function lame_encode_frame_init(gfp, inbuf) {\n var gfc = gfp.internal_flags;\n\n var ch, gr;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* prime the MDCT/polyphase filterbank with a short block */\n var i, j;\n var primebuff0 = new_float(286 + 1152 + 576);\n var primebuff1 = new_float(286 + 1152 + 576);\n gfc.lame_encode_frame_init = 1;\n for (i = 0, j = 0; i < 286 + 576 * (1 + gfc.mode_gr); ++i) {\n if (i < 576 * gfc.mode_gr) {\n primebuff0[i] = 0;\n if (gfc.channels_out == 2)\n primebuff1[i] = 0;\n } else {\n primebuff0[i] = inbuf[0][j];\n if (gfc.channels_out == 2)\n primebuff1[i] = inbuf[1][j];\n ++j;\n }\n }\n /* polyphase filtering / mdct */\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.SHORT_TYPE;\n }\n }\n newMDCT.mdct_sub48(gfc, primebuff0, primebuff1);\n\n /* check FFT will not use a negative starting offset */\n assert(576 >= Encoder.FFTOFFSET);\n /* check if we have enough data for FFT */\n assert(gfc.mf_size >= (Encoder.BLKSIZE + gfp.framesize - Encoder.FFTOFFSET));\n /* check if we have enough data for polyphase filterbank */\n assert(gfc.mf_size >= (512 + gfp.framesize - 32));\n }\n\n }\n\n /**\n *
\n     * encodeframe()           Layer 3\n     *\n     * encode a single frame\n     *\n     *\n     *    lame_encode_frame()\n     *\n     *\n     *                           gr 0            gr 1\n     *    inbuf:           |--------------|--------------|--------------|\n     *\n     *\n     *    Polyphase (18 windows, each shifted 32)\n     *    gr 0:\n     *    window1          <----512---.\n     *    window18                 <----512---.\n     *\n     *    gr 1:\n     *    window1                         <----512---.\n     *    window18                                <----512---.\n     *\n     *\n     *\n     *    MDCT output:  |--------------|--------------|--------------|\n     *\n     *    FFT's                    <---------1024---------.\n     *                                             <---------1024-------.\n     *\n     *\n     *\n     *        inbuf = buffer of PCM data size=MP3 framesize\n     *        encoder acts on inbuf[ch][0], but output is delayed by MDCTDELAY\n     *        so the MDCT coefficints are from inbuf[ch][-MDCTDELAY]\n     *\n     *        psy-model FFT has a 1 granule delay, so we feed it data for the\n     *        next granule.\n     *        FFT is centered over granule:  224+576+224\n     *        So FFT starts at:   576-224-MDCTDELAY\n     *\n     *        MPEG2:  FFT ends at:  BLKSIZE+576-224-MDCTDELAY      (1328)\n     *        MPEG1:  FFT ends at:  BLKSIZE+2*576-224-MDCTDELAY    (1904)\n     *\n     *        MPEG2:  polyphase first window:  [0..511]\n     *                          18th window:   [544..1055]          (1056)\n     *        MPEG1:            36th window:   [1120..1631]         (1632)\n     *                data needed:  512+framesize-32\n     *\n     *        A close look newmdct.c shows that the polyphase filterbank\n     *        only uses data from [0..510] for each window.  Perhaps because the window\n     *        used by the filterbank is zero for the last point, so Takehiro's\n     *        code doesn't bother to compute with it.\n     *\n     *        FFT starts at 576-224-MDCTDELAY (304)  = 576-FFTOFFSET\n     *\n     * 
\n */\n\n\n this.lame_encode_mp3_frame = function (gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size) {\n var mp3count;\n var masking_LR = new_array_n([2, 2]);\n /*\n * LR masking &\n * energy\n */\n masking_LR[0][0] = new III_psy_ratio();\n masking_LR[0][1] = new III_psy_ratio();\n masking_LR[1][0] = new III_psy_ratio();\n masking_LR[1][1] = new III_psy_ratio();\n var masking_MS = new_array_n([2, 2]);\n /* MS masking & energy */\n masking_MS[0][0] = new III_psy_ratio();\n masking_MS[0][1] = new III_psy_ratio();\n masking_MS[1][0] = new III_psy_ratio();\n masking_MS[1][1] = new III_psy_ratio();\n //III_psy_ratio masking[][];\n var masking;\n /* pointer to selected maskings */\n var inbuf = [null, null];\n var gfc = gfp.internal_flags;\n\n var tot_ener = new_float_n([2, 4]);\n var ms_ener_ratio = [.5, .5];\n var pe = [[0., 0.], [0., 0.]];\n var pe_MS = [[0., 0.], [0., 0.]];\n\n//float[][] pe_use;\n var pe_use;\n\n var ch, gr;\n\n inbuf[0] = inbuf_l;\n inbuf[1] = inbuf_r;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* first run? */\n lame_encode_frame_init(gfp, inbuf);\n\n }\n\n /********************** padding *****************************/\n /**\n *
\n         * padding method as described in\n         * \"MPEG-Layer3 / Bitstream Syntax and Decoding\"\n         * by Martin Sieler, Ralph Sperschneider\n         *\n         * note: there is no padding for the very first frame\n         *\n         * Robert Hegemann 2000-06-22\n         * 
\n */\n gfc.padding = 0;\n if ((gfc.slot_lag -= gfc.frac_SpF) < 0) {\n gfc.slot_lag += gfp.out_samplerate;\n gfc.padding = 1;\n }\n\n /****************************************\n * Stage 1: psychoacoustic model *\n ****************************************/\n\n if (gfc.psymodel != 0) {\n /*\n * psychoacoustic model psy model has a 1 granule (576) delay that\n * we must compensate for (mt 6/99).\n */\n var ret;\n var bufp = [null, null];\n /* address of beginning of left & right granule */\n var bufpPos = 0;\n /* address of beginning of left & right granule */\n var blocktype = new_int(2);\n\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n bufp[ch] = inbuf[ch];\n bufpPos = 576 + gr * 576 - Encoder.FFTOFFSET;\n }\n if (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) {\n ret = psy.L3psycho_anal_vbr(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n } else {\n ret = psy.L3psycho_anal_ns(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n }\n if (ret != 0)\n return -4;\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n ms_ener_ratio[gr] = tot_ener[gr][2] + tot_ener[gr][3];\n if (ms_ener_ratio[gr] > 0)\n ms_ener_ratio[gr] = tot_ener[gr][3] / ms_ener_ratio[gr];\n }\n\n /* block type flags */\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var cod_info = gfc.l3_side.tt[gr][ch];\n cod_info.block_type = blocktype[ch];\n cod_info.mixed_block_flag = 0;\n }\n }\n } else {\n /* no psy model */\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.NORM_TYPE;\n gfc.l3_side.tt[gr][ch].mixed_block_flag = 0;\n pe_MS[gr][ch] = pe[gr][ch] = 700;\n }\n }\n\n /* auto-adjust of ATH, useful for low volume */\n adjust_ATH(gfc);\n\n /****************************************\n * Stage 2: MDCT *\n ****************************************/\n\n /* polyphase filtering / mdct */\n newMDCT.mdct_sub48(gfc, inbuf[0], inbuf[1]);\n\n /****************************************\n * Stage 3: MS/LR decision *\n ****************************************/\n\n /* Here will be selected MS or LR coding of the 2 stereo channels */\n gfc.mode_ext = Encoder.MPG_MD_LR_LR;\n\n if (gfp.force_ms) {\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n } else if (gfp.mode == MPEGMode.JOINT_STEREO) {\n /*\n * ms_ratio = is scaled, for historical reasons, to look like a\n * ratio of side_channel / total. 0 = signal is 100% mono .5 = L & R\n * uncorrelated\n */\n\n /**\n *
\n             * [0] and [1] are the results for the two granules in MPEG-1,\n             * in MPEG-2 it's only a faked averaging of the same value\n             * _prev is the value of the last granule of the previous frame\n             * _next is the value of the first granule of the next frame\n             * 
\n */\n\n var sum_pe_MS = 0.;\n var sum_pe_LR = 0.;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n sum_pe_MS += pe_MS[gr][ch];\n sum_pe_LR += pe[gr][ch];\n }\n }\n\n /* based on PE: M/S coding would not use much more bits than L/R */\n if (sum_pe_MS <= 1.00 * sum_pe_LR) {\n\n var gi0 = gfc.l3_side.tt[0];\n var gi1 = gfc.l3_side.tt[gfc.mode_gr - 1];\n\n if (gi0[0].block_type == gi0[1].block_type\n && gi1[0].block_type == gi1[1].block_type) {\n\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n }\n }\n }\n\n /* bit and noise allocation */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n masking = masking_MS;\n /* use MS masking */\n pe_use = pe_MS;\n } else {\n masking = masking_LR;\n /* use LR masking */\n pe_use = pe;\n }\n\n /* copy data for MP3 frame analyzer */\n if (gfp.analysis && gfc.pinfo != null) {\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.pinfo.ms_ratio[gr] = gfc.ms_ratio[gr];\n gfc.pinfo.ms_ener_ratio[gr] = ms_ener_ratio[gr];\n gfc.pinfo.blocktype[gr][ch] = gfc.l3_side.tt[gr][ch].block_type;\n gfc.pinfo.pe[gr][ch] = pe_use[gr][ch];\n System.arraycopy(gfc.l3_side.tt[gr][ch].xr, 0,\n gfc.pinfo.xr[gr][ch], 0, 576);\n /*\n * in psymodel, LR and MS data was stored in pinfo. switch\n * to MS data:\n */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n gfc.pinfo.ers[gr][ch] = gfc.pinfo.ers[gr][ch + 2];\n System.arraycopy(gfc.pinfo.energy[gr][ch + 2], 0,\n gfc.pinfo.energy[gr][ch], 0,\n gfc.pinfo.energy[gr][ch].length);\n }\n }\n }\n }\n\n /****************************************\n * Stage 4: quantization loop *\n ****************************************/\n\n if (gfp.VBR == VbrMode.vbr_off || gfp.VBR == VbrMode.vbr_abr) {\n\n var i;\n var f;\n\n for (i = 0; i < 18; i++)\n gfc.nsPsy.pefirbuf[i] = gfc.nsPsy.pefirbuf[i + 1];\n\n f = 0.0;\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++)\n f += pe_use[gr][ch];\n gfc.nsPsy.pefirbuf[18] = f;\n\n f = gfc.nsPsy.pefirbuf[9];\n for (i = 0; i < 9; i++)\n f += (gfc.nsPsy.pefirbuf[i] + gfc.nsPsy.pefirbuf[18 - i])\n * Encoder.fircoef[i];\n\n f = (670 * 5 * gfc.mode_gr * gfc.channels_out) / f;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n pe_use[gr][ch] *= f;\n }\n }\n }\n gfc.iteration_loop.iteration_loop(gfp, pe_use, ms_ener_ratio, masking);\n\n /****************************************\n * Stage 5: bitstream formatting *\n ****************************************/\n\n /* write the frame to the bitstream */\n bs.format_bitstream(gfp);\n\n /* copy mp3 bit buffer into array */\n mp3count = bs.copy_buffer(gfc, mp3buf, mp3bufPos, mp3buf_size, 1);\n\n if (gfp.bWriteVbrTag)\n vbr.addVbrFrame(gfp);\n\n if (gfp.analysis && gfc.pinfo != null) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var j;\n for (j = 0; j < FFTOFFSET; j++)\n gfc.pinfo.pcmdata[ch][j] = gfc.pinfo.pcmdata[ch][j\n + gfp.framesize];\n for (j = FFTOFFSET; j < 1600; j++) {\n gfc.pinfo.pcmdata[ch][j] = inbuf[ch][j - FFTOFFSET];\n }\n }\n qupvt.set_frame_pinfo(gfp, masking);\n }\n\n updateStats(gfc);\n\n return mp3count;\n }\n}\n\n\nmodule.exports = Encoder;\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export function roomsValidation(obj) {\n\tconst roomsValidate = [\n\t\t{ key: 'roomId', type: ['string', 'number'] },\n\t\t{ key: 'roomName', type: ['string'] },\n\t\t{ key: 'users', type: ['array'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tlet validType = false\n\n\t\t\tif (prop.type[0] === 'array' && Array.isArray(obj[prop.key])) {\n\t\t\t\tvalidType = true\n\t\t\t} else if (prop.type.find(t => t === typeof obj[prop.key])) {\n\t\t\t\tvalidType = true\n\t\t\t}\n\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, roomsValidate)) {\n\t\tthrow new Error(\n\t\t\t'Rooms object is not valid! Must contain roomId[String, Number], roomName[String] and users[Array]'\n\t\t)\n\t}\n}\n\nexport function partcipantsValidation(obj) {\n\tconst participantsValidate = [\n\t\t{ key: '_id', type: ['string', 'number'] },\n\t\t{ key: 'username', type: ['string'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tconst validType = prop.type.find(t => t === typeof obj[prop.key])\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, participantsValidate)) {\n\t\tthrow new Error(\n\t\t\t'Participants object is not valid! Must contain _id[String, Number] and username[String]'\n\t\t)\n\t}\n}\n\nexport function messagesValidation(obj) {\n\tconst messagesValidate = [\n\t\t{ key: '_id', type: ['string', 'number'] },\n\t\t{ key: 'content', type: ['string', 'number'] },\n\t\t{ key: 'senderId', type: ['string', 'number'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tconst validType = prop.type.find(t => t === typeof obj[prop.key])\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, messagesValidate)) {\n\t\tthrow new Error(\n\t\t\t'Messages object is not valid! Must contain _id[String, Number], content[String, Number] and senderId[String, Number]'\n\t\t)\n\t}\n}\n\nfunction checkObjectValid(obj, key) {\n\treturn (\n\t\tObject.prototype.hasOwnProperty.call(obj, key) &&\n\t\tobj[key] !== null &&\n\t\tobj[key] !== undefined\n\t)\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = global.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr = chr + charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es-x/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\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\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\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$
') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\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 : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(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 push(results, result);\n if (!global) break;\n\n var matchStr = toString(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 = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(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++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n var replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nvar safeGetBuiltIn = function (name) {\n if (!DESCRIPTORS) return global[name];\n var descriptor = getOwnPropertyDescriptor(global, name);\n return descriptor && descriptor.value;\n};\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar RegExp = global.RegExp;\nvar TypeError = global.TypeError;\nvar decodeURIComponent = global.decodeURIComponent;\nvar encodeURIComponent = global.encodeURIComponent;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = replace(it, plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = replace(result, percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n push(this.entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(this.entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(this.entries, {\n key: deserialize(shift(entry)),\n value: deserialize(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n setInternalState(this, new URLSearchParamsState(init));\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) splice(entries, index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, noTargetGet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, forced: true, noTargetGet: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\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.22.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.22.4/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\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\nvar concat = uncurryThis([].concat);\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 ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\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 uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\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 = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, 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","/*\n * bit reservoir source file\n *\n * Copyright (c) 1999-2000 Mark Taylor\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */\n\n/* $Id: Reservoir.java,v 1.9 2011/05/24 20:48:06 kenchis Exp $ */\n\n//package mp3;\n\n/**\n * ResvFrameBegin:
\n * Called (repeatedly) at the beginning of a frame. Updates the maximum size of\n * the reservoir, and checks to make sure main_data_begin was set properly by\n * the formatter
\n * Background information:\n * \n * This is the original text from the ISO standard. Because of sooo many bugs\n * and irritations correcting comments are added in brackets []. A '^W' means\n * you should remove the last word.\n * \n *
\n *  1. The following rule can be used to calculate the maximum\n *     number of bits used for one granule [^W frame]:
\n * At the highest possible bitrate of Layer III (320 kbps\n * per stereo signal [^W^W^W], 48 kHz) the frames must be of\n * [^W^W^W are designed to have] constant length, i.e.\n * one buffer [^W^W the frame] length is:
\n * \n * 320 kbps * 1152/48 kHz = 7680 bit = 960 byte\n * \n * This value is used as the maximum buffer per channel [^W^W] at\n * lower bitrates [than 320 kbps]. At 64 kbps mono or 128 kbps\n * stereo the main granule length is 64 kbps * 576/48 kHz = 768 bit\n * [per granule and channel] at 48 kHz sampling frequency.\n * This means that there is a maximum deviation (short time buffer\n * [= reservoir]) of 7680 - 2*2*768 = 4608 bits is allowed at 64 kbps.\n * The actual deviation is equal to the number of bytes [with the\n * meaning of octets] denoted by the main_data_end offset pointer.\n * The actual maximum deviation is (2^9-1)*8 bit = 4088 bits\n * [for MPEG-1 and (2^8-1)*8 bit for MPEG-2, both are hard limits].\n * ... The xchange of buffer bits between the left and right channel\n * is allowed without restrictions [exception: dual channel].\n * Because of the [constructed] constraint on the buffer size\n * main_data_end is always set to 0 in the case of bit_rate_index==14,\n * i.e. data rate 320 kbps per stereo signal [^W^W^W]. In this case\n * all data are allocated between adjacent header [^W sync] words\n * [, i.e. there is no buffering at all].\n *
\n */\n\nvar common = require('./common.js');\nvar assert = common.assert;\n\nfunction Reservoir() {\n\tvar bs;\n\n\tthis.setModules = function(_bs) {\n\t\tbs = _bs;\n\t}\n\n\tthis.ResvFrameBegin = function(gfp, mean_bits) {\n\t\tvar gfc = gfp.internal_flags;\n\t\tvar maxmp3buf;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tvar frameLength = bs.getframebits(gfp);\n\t\tmean_bits.bits = (frameLength - gfc.sideinfo_len * 8) / gfc.mode_gr;\n\n\t\t/**\n\t\t *
\n\t\t *  Meaning of the variables:\n\t\t *      resvLimit: (0, 8, ..., 8*255 (MPEG-2), 8*511 (MPEG-1))\n\t\t *          Number of bits can be stored in previous frame(s) due to\n\t\t *          counter size constaints\n\t\t *      maxmp3buf: ( ??? ... 8*1951 (MPEG-1 and 2), 8*2047 (MPEG-2.5))\n\t\t *          Number of bits allowed to encode one frame (you can take 8*511 bit\n\t\t *          from the bit reservoir and at most 8*1440 bit from the current\n\t\t *          frame (320 kbps, 32 kHz), so 8*1951 bit is the largest possible\n\t\t *          value for MPEG-1 and -2)\n\t\t * \n\t\t *          maximum allowed granule/channel size times 4 = 8*2047 bits.,\n\t\t *          so this is the absolute maximum supported by the format.\n\t\t * \n\t\t * \n\t\t *      fullFrameBits:  maximum number of bits available for encoding\n\t\t *                      the current frame.\n\t\t * \n\t\t *      mean_bits:      target number of bits per granule.\n\t\t * \n\t\t *      frameLength:\n\t\t * \n\t\t *      gfc.ResvMax:   maximum allowed reservoir\n\t\t * \n\t\t *      gfc.ResvSize:  current reservoir size\n\t\t * \n\t\t *      l3_side.resvDrain_pre:\n\t\t *         ancillary data to be added to previous frame:\n\t\t *         (only usefull in VBR modes if it is possible to have\n\t\t *         maxmp3buf < fullFrameBits)).  Currently disabled,\n\t\t *         see #define NEW_DRAIN\n\t\t *         2010-02-13: RH now enabled, it seems to be needed for CBR too,\n\t\t *                     as there exists one example, where the FhG decoder\n\t\t *                     can't decode a -b320 CBR file anymore.\n\t\t * \n\t\t *      l3_side.resvDrain_post:\n\t\t *         ancillary data to be added to this frame:\n\t\t * \n\t\t * 
\n\t\t */\n\n\t\t/* main_data_begin has 9 bits in MPEG-1, 8 bits MPEG-2 */\n\t\tvar resvLimit = (8 * 256) * gfc.mode_gr - 8;\n\n\t\t/*\n\t\t * maximum allowed frame size. dont use more than this number of bits,\n\t\t * even if the frame has the space for them:\n\t\t */\n\t\tif (gfp.brate > 320) {\n\t\t\t/* in freeformat the buffer is constant */\n\t\t\tmaxmp3buf = 8 * ((int) ((gfp.brate * 1000)\n\t\t\t\t\t/ (gfp.out_samplerate / 1152) / 8 + .5));\n\t\t} else {\n\t\t\t/*\n\t\t\t * all mp3 decoders should have enough buffer to handle this value:\n\t\t\t * size of a 320kbps 32kHz frame\n\t\t\t */\n\t\t\tmaxmp3buf = 8 * 1440;\n\n\t\t\t/*\n\t\t\t * Bouvigne suggests this more lax interpretation of the ISO doc\n\t\t\t * instead of using 8*960.\n\t\t\t */\n\n\t\t\tif (gfp.strict_ISO) {\n\t\t\t\tmaxmp3buf = 8 * ((int) (320000 / (gfp.out_samplerate / 1152) / 8 + .5));\n\t\t\t}\n\t\t}\n\n\t\tgfc.ResvMax = maxmp3buf - frameLength;\n\t\tif (gfc.ResvMax > resvLimit)\n\t\t\tgfc.ResvMax = resvLimit;\n\t\tif (gfc.ResvMax < 0 || gfp.disable_reservoir)\n\t\t\tgfc.ResvMax = 0;\n\n\t\tvar fullFrameBits = mean_bits.bits * gfc.mode_gr\n\t\t\t\t+ Math.min(gfc.ResvSize, gfc.ResvMax);\n\n\t\tif (fullFrameBits > maxmp3buf)\n\t\t\tfullFrameBits = maxmp3buf;\n\n\t\tassert (0 == gfc.ResvMax % 8);\n\t\tassert (gfc.ResvMax >= 0);\n\n\t\tl3_side.resvDrain_pre = 0;\n\n\t\t// frame analyzer code\n\t\tif (gfc.pinfo != null) {\n\t\t\t/*\n\t\t\t * expected bits per channel per granule [is this also right for\n\t\t\t * mono/stereo, MPEG-1/2 ?]\n\t\t\t */\n\t\t\tgfc.pinfo.mean_bits = mean_bits.bits / 2;\n\t\t\tgfc.pinfo.resvsize = gfc.ResvSize;\n\t\t}\n\n\t\treturn fullFrameBits;\n\t}\n\n\t/**\n\t * returns targ_bits: target number of bits to use for 1 granule
\n\t * extra_bits: amount extra available from reservoir
\n\t * Mark Taylor 4/99\n\t */\n\tthis.ResvMaxBits = function(gfp, mean_bits, targ_bits, cbr) {\n\t\tvar gfc = gfp.internal_flags;\n\t\tvar add_bits;\n var ResvSize = gfc.ResvSize, ResvMax = gfc.ResvMax;\n\n\t\t/* compensate the saved bits used in the 1st granule */\n\t\tif (cbr != 0)\n\t\t\tResvSize += mean_bits;\n\n\t\tif ((gfc.substep_shaping & 1) != 0)\n\t\t\tResvMax *= 0.9;\n\n\t\ttarg_bits.bits = mean_bits;\n\n\t\t/* extra bits if the reservoir is almost full */\n\t\tif (ResvSize * 10 > ResvMax * 9) {\n\t\t\tadd_bits = ResvSize - (ResvMax * 9) / 10;\n\t\t\ttarg_bits.bits += add_bits;\n\t\t\tgfc.substep_shaping |= 0x80;\n\t\t} else {\n\t\t\tadd_bits = 0;\n\t\t\tgfc.substep_shaping &= 0x7f;\n\t\t\t/*\n\t\t\t * build up reservoir. this builds the reservoir a little slower\n\t\t\t * than FhG. It could simple be mean_bits/15, but this was rigged to\n\t\t\t * always produce 100 (the old value) at 128kbs\n\t\t\t */\n\t\t\tif (!gfp.disable_reservoir && 0 == (gfc.substep_shaping & 1))\n\t\t\t\ttarg_bits.bits -= .1 * mean_bits;\n\t\t}\n\n\t\t/* amount from the reservoir we are allowed to use. ISO says 6/10 */\n\t\tvar extra_bits = (ResvSize < (gfc.ResvMax * 6) / 10 ? ResvSize\n\t\t\t\t: (gfc.ResvMax * 6) / 10);\n\t\textra_bits -= add_bits;\n\n\t\tif (extra_bits < 0)\n\t\t\textra_bits = 0;\n\t\treturn extra_bits;\n\t}\n\n\t/**\n\t * Called after a granule's bit allocation. Readjusts the size of the\n\t * reservoir to reflect the granule's usage.\n\t */\n\tthis.ResvAdjust = function(gfc, gi) {\n\t\tgfc.ResvSize -= gi.part2_3_length + gi.part2_length;\n\t}\n\n\t/**\n\t * Called after all granules in a frame have been allocated. Makes sure that\n\t * the reservoir size is within limits, possibly by adding stuffing bits.\n\t */\n\tthis.ResvFrameEnd = function(gfc, mean_bits) {\n\t\tvar over_bits;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tgfc.ResvSize += mean_bits * gfc.mode_gr;\n\t\tvar stuffingBits = 0;\n\t\tl3_side.resvDrain_post = 0;\n\t\tl3_side.resvDrain_pre = 0;\n\n\t\t/* we must be byte aligned */\n\t\tif ((over_bits = gfc.ResvSize % 8) != 0)\n\t\t\tstuffingBits += over_bits;\n\n\t\tover_bits = (gfc.ResvSize - stuffingBits) - gfc.ResvMax;\n\t\tif (over_bits > 0) {\n\t\t\tassert (0 == over_bits % 8);\n\t\t\tassert (over_bits >= 0);\n\t\t\tstuffingBits += over_bits;\n\t\t}\n\n\t\t/*\n\t\t * NOTE: enabling the NEW_DRAIN code fixes some problems with FhG\n\t\t * decoder shipped with MS Windows operating systems. Using this, it is\n\t\t * even possible to use Gabriel's lax buffer consideration again, which\n\t\t * assumes, any decoder should have a buffer large enough for a 320 kbps\n\t\t * frame at 32 kHz sample rate.\n\t\t * \n\t\t * old drain code: lame -b320 BlackBird.wav --. does not play with\n\t\t * GraphEdit.exe using FhG decoder V1.5 Build 50\n\t\t * \n\t\t * new drain code: lame -b320 BlackBird.wav --. plays fine with\n\t\t * GraphEdit.exe using FhG decoder V1.5 Build 50\n\t\t * \n\t\t * Robert Hegemann, 2010-02-13.\n\t\t */\n\t\t/*\n\t\t * drain as many bits as possible into previous frame ancillary data In\n\t\t * particular, in VBR mode ResvMax may have changed, and we have to make\n\t\t * sure main_data_begin does not create a reservoir bigger than ResvMax\n\t\t * mt 4/00\n\t\t */\n\t\t{\n\t\t\tvar mdb_bytes = Math.min(l3_side.main_data_begin * 8, stuffingBits) / 8;\n\t\t\tl3_side.resvDrain_pre += 8 * mdb_bytes;\n\t\t\tstuffingBits -= 8 * mdb_bytes;\n\t\t\tgfc.ResvSize -= 8 * mdb_bytes;\n\t\t\tl3_side.main_data_begin -= mdb_bytes;\n\t\t}\n\t\t/* drain the rest into this frames ancillary data */\n\t\tl3_side.resvDrain_post += stuffingBits;\n\t\tgfc.ResvSize -= stuffingBits;\n\t}\n}\n\nmodule.exports = Reservoir;\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isRegExp = require('../internals/is-regexp');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar TypeError = global.TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\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 call(then, 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\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\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_PROMISE_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 call(task, 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 call(task, 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 call(then, 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_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\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: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\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 && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { 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, PromisePrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","var NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","function HuffCodeTab(len, max, tab, hl) {\n this.xlen = len;\n this.linmax = max;\n this.table = tab;\n this.hlen = hl;\n}\n\nvar Tables = {};\n\n\nTables.t1HB = [\n 1, 1,\n 1, 0\n];\n\nTables.t2HB = [\n 1, 2, 1,\n 3, 1, 1,\n 3, 2, 0\n];\n\nTables.t3HB = [\n 3, 2, 1,\n 1, 1, 1,\n 3, 2, 0\n];\n\nTables.t5HB = [\n 1, 2, 6, 5,\n 3, 1, 4, 4,\n 7, 5, 7, 1,\n 6, 1, 1, 0\n];\n\nTables.t6HB = [\n 7, 3, 5, 1,\n 6, 2, 3, 2,\n 5, 4, 4, 1,\n 3, 3, 2, 0\n];\n\nTables.t7HB = [\n 1, 2, 10, 19, 16, 10,\n 3, 3, 7, 10, 5, 3,\n 11, 4, 13, 17, 8, 4,\n 12, 11, 18, 15, 11, 2,\n 7, 6, 9, 14, 3, 1,\n 6, 4, 5, 3, 2, 0\n];\n\nTables.t8HB = [\n 3, 4, 6, 18, 12, 5,\n 5, 1, 2, 16, 9, 3,\n 7, 3, 5, 14, 7, 3,\n 19, 17, 15, 13, 10, 4,\n 13, 5, 8, 11, 5, 1,\n 12, 4, 4, 1, 1, 0\n];\n\nTables.t9HB = [\n 7, 5, 9, 14, 15, 7,\n 6, 4, 5, 5, 6, 7,\n 7, 6, 8, 8, 8, 5,\n 15, 6, 9, 10, 5, 1,\n 11, 7, 9, 6, 4, 1,\n 14, 4, 6, 2, 6, 0\n];\n\nTables.t10HB = [\n 1, 2, 10, 23, 35, 30, 12, 17,\n 3, 3, 8, 12, 18, 21, 12, 7,\n 11, 9, 15, 21, 32, 40, 19, 6,\n 14, 13, 22, 34, 46, 23, 18, 7,\n 20, 19, 33, 47, 27, 22, 9, 3,\n 31, 22, 41, 26, 21, 20, 5, 3,\n 14, 13, 10, 11, 16, 6, 5, 1,\n 9, 8, 7, 8, 4, 4, 2, 0\n];\n\nTables.t11HB = [\n 3, 4, 10, 24, 34, 33, 21, 15,\n 5, 3, 4, 10, 32, 17, 11, 10,\n 11, 7, 13, 18, 30, 31, 20, 5,\n 25, 11, 19, 59, 27, 18, 12, 5,\n 35, 33, 31, 58, 30, 16, 7, 5,\n 28, 26, 32, 19, 17, 15, 8, 14,\n 14, 12, 9, 13, 14, 9, 4, 1,\n 11, 4, 6, 6, 6, 3, 2, 0\n];\n\nTables.t12HB = [\n 9, 6, 16, 33, 41, 39, 38, 26,\n 7, 5, 6, 9, 23, 16, 26, 11,\n 17, 7, 11, 14, 21, 30, 10, 7,\n 17, 10, 15, 12, 18, 28, 14, 5,\n 32, 13, 22, 19, 18, 16, 9, 5,\n 40, 17, 31, 29, 17, 13, 4, 2,\n 27, 12, 11, 15, 10, 7, 4, 1,\n 27, 12, 8, 12, 6, 3, 1, 0\n];\n\nTables.t13HB = [\n 1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19,\n 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14,\n 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16,\n 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14,\n 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24,\n 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17,\n 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15,\n 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42,\n 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16,\n 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11,\n 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22,\n 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7,\n 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5,\n 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3,\n 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2,\n 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1\n];\n\nTables.t15HB = [\n 7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63,\n 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36,\n 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33,\n 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29,\n 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27,\n 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38,\n 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30,\n 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25,\n 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20,\n 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15,\n 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9,\n 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11,\n 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7,\n 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3,\n 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1,\n 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0\n];\n\nTables.t16HB = [\n 1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17,\n 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9,\n 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16,\n 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26,\n 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9,\n 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16,\n 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10,\n 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8,\n 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7,\n 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11,\n 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4,\n 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6,\n 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4,\n 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2,\n 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0,\n 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3\n];\n\nTables.t24HB = [\n 15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88,\n 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42,\n 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18,\n 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16,\n 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14,\n 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12,\n 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10,\n 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17,\n 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16,\n 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11,\n 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10,\n 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6,\n 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4,\n 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2,\n 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0,\n 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3\n];\n\nTables.t32HB = [\n 1 << 0, 5 << 1, 4 << 1, 5 << 2, 6 << 1, 5 << 2, 4 << 2, 4 << 3,\n 7 << 1, 3 << 2, 6 << 2, 0 << 3, 7 << 2, 2 << 3, 3 << 3, 1 << 4\n];\n\nTables.t33HB = [\n 15 << 0, 14 << 1, 13 << 1, 12 << 2, 11 << 1, 10 << 2, 9 << 2, 8 << 3,\n 7 << 1, 6 << 2, 5 << 2, 4 << 3, 3 << 2, 2 << 3, 1 << 3, 0 << 4\n];\n\nTables.t1l = [\n 1, 4,\n 3, 5\n];\n\nTables.t2l = [\n 1, 4, 7,\n 4, 5, 7,\n 6, 7, 8\n];\n\nTables.t3l = [\n 2, 3, 7,\n 4, 4, 7,\n 6, 7, 8\n];\n\nTables.t5l = [\n 1, 4, 7, 8,\n 4, 5, 8, 9,\n 7, 8, 9, 10,\n 8, 8, 9, 10\n];\n\nTables.t6l = [\n 3, 4, 6, 8,\n 4, 4, 6, 7,\n 5, 6, 7, 8,\n 7, 7, 8, 9\n];\n\nTables.t7l = [\n 1, 4, 7, 9, 9, 10,\n 4, 6, 8, 9, 9, 10,\n 7, 7, 9, 10, 10, 11,\n 8, 9, 10, 11, 11, 11,\n 8, 9, 10, 11, 11, 12,\n 9, 10, 11, 12, 12, 12\n];\n\nTables.t8l = [\n 2, 4, 7, 9, 9, 10,\n 4, 4, 6, 10, 10, 10,\n 7, 6, 8, 10, 10, 11,\n 9, 10, 10, 11, 11, 12,\n 9, 9, 10, 11, 12, 12,\n 10, 10, 11, 11, 13, 13\n];\n\nTables.t9l = [\n 3, 4, 6, 7, 9, 10,\n 4, 5, 6, 7, 8, 10,\n 5, 6, 7, 8, 9, 10,\n 7, 7, 8, 9, 9, 10,\n 8, 8, 9, 9, 10, 11,\n 9, 9, 10, 10, 11, 11\n];\n\nTables.t10l = [\n 1, 4, 7, 9, 10, 10, 10, 11,\n 4, 6, 8, 9, 10, 11, 10, 10,\n 7, 8, 9, 10, 11, 12, 11, 11,\n 8, 9, 10, 11, 12, 12, 11, 12,\n 9, 10, 11, 12, 12, 12, 12, 12,\n 10, 11, 12, 12, 13, 13, 12, 13,\n 9, 10, 11, 12, 12, 12, 13, 13,\n 10, 10, 11, 12, 12, 13, 13, 13\n];\n\nTables.t11l = [\n 2, 4, 6, 8, 9, 10, 9, 10,\n 4, 5, 6, 8, 10, 10, 9, 10,\n 6, 7, 8, 9, 10, 11, 10, 10,\n 8, 8, 9, 11, 10, 12, 10, 11,\n 9, 10, 10, 11, 11, 12, 11, 12,\n 9, 10, 11, 12, 12, 13, 12, 13,\n 9, 9, 9, 10, 11, 12, 12, 12,\n 9, 9, 10, 11, 12, 12, 12, 12\n];\n\nTables.t12l = [\n 4, 4, 6, 8, 9, 10, 10, 10,\n 4, 5, 6, 7, 9, 9, 10, 10,\n 6, 6, 7, 8, 9, 10, 9, 10,\n 7, 7, 8, 8, 9, 10, 10, 10,\n 8, 8, 9, 9, 10, 10, 10, 11,\n 9, 9, 10, 10, 10, 11, 10, 11,\n 9, 9, 9, 10, 10, 11, 11, 12,\n 10, 10, 10, 11, 11, 11, 11, 12\n];\n\nTables.t13l = [\n 1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14,\n 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14,\n 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15,\n 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15,\n 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16,\n 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16,\n 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16,\n 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18,\n 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17,\n 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17,\n 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19,\n 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18,\n 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18,\n 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18,\n 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18,\n 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18\n];\n\nTables.t15l = [\n 3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14,\n 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13,\n 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13,\n 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14,\n 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14,\n 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15,\n 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15,\n 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15,\n 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15,\n 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15\n];\n\nTables.t16_5l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14,\n 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12\n];\n\nTables.t16l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13,\n 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10\n];\n\nTables.t24l = [\n 4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10,\n 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10,\n 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9,\n 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9,\n 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9,\n 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9,\n 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9,\n 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10,\n 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10,\n 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10,\n 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6\n];\n\nTables.t32l = [\n 1 + 0, 4 + 1, 4 + 1, 5 + 2, 4 + 1, 6 + 2, 5 + 2, 6 + 3,\n 4 + 1, 5 + 2, 5 + 2, 6 + 3, 5 + 2, 6 + 3, 6 + 3, 6 + 4\n];\n\nTables.t33l = [\n 4 + 0, 4 + 1, 4 + 1, 4 + 2, 4 + 1, 4 + 2, 4 + 2, 4 + 3,\n 4 + 1, 4 + 2, 4 + 2, 4 + 3, 4 + 2, 4 + 3, 4 + 3, 4 + 4\n];\n\nTables.ht = [\n /* xlen, linmax, table, hlen */\n new HuffCodeTab(0, 0, null, null),\n new HuffCodeTab(2, 0, Tables.t1HB, Tables.t1l),\n new HuffCodeTab(3, 0, Tables.t2HB, Tables.t2l),\n new HuffCodeTab(3, 0, Tables.t3HB, Tables.t3l),\n new HuffCodeTab(0, 0, null, null), /* Apparently not used */\n new HuffCodeTab(4, 0, Tables.t5HB, Tables.t5l),\n new HuffCodeTab(4, 0, Tables.t6HB, Tables.t6l),\n new HuffCodeTab(6, 0, Tables.t7HB, Tables.t7l),\n new HuffCodeTab(6, 0, Tables.t8HB, Tables.t8l),\n new HuffCodeTab(6, 0, Tables.t9HB, Tables.t9l),\n new HuffCodeTab(8, 0, Tables.t10HB, Tables.t10l),\n new HuffCodeTab(8, 0, Tables.t11HB, Tables.t11l),\n new HuffCodeTab(8, 0, Tables.t12HB, Tables.t12l),\n new HuffCodeTab(16, 0, Tables.t13HB, Tables.t13l),\n new HuffCodeTab(0, 0, null, Tables.t16_5l), /* Apparently not used */\n new HuffCodeTab(16, 0, Tables.t15HB, Tables.t15l),\n\n new HuffCodeTab(1, 1, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(2, 3, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(3, 7, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(4, 15, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(6, 63, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(8, 255, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(10, 1023, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(13, 8191, Tables.t16HB, Tables.t16l),\n\n new HuffCodeTab(4, 15, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(5, 31, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(6, 63, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(7, 127, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(8, 255, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(9, 511, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(11, 2047, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(13, 8191, Tables.t24HB, Tables.t24l),\n\n new HuffCodeTab(0, 0, Tables.t32HB, Tables.t32l),\n new HuffCodeTab(0, 0, Tables.t33HB, Tables.t33l),\n];\n\n/**\n * \n * for (i = 0; i < 16*16; i++) [\n * largetbl[i] = ((ht[16].hlen[i]) << 16) + ht[24].hlen[i];\n * ]\n * \n *\n */\nTables.largetbl = [\n 0x010004, 0x050005, 0x070007, 0x090008, 0x0a0009, 0x0a000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000c, 0x0c000c, 0x0d000c, 0x0d000c, 0x0d000c, 0x0e000d, 0x0a000a,\n 0x040005, 0x060006, 0x080007, 0x090008, 0x0a0009, 0x0b000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000b, 0x0c000c, 0x0d000c, 0x0e000c, 0x0d000c, 0x0e000c, 0x0a000a,\n 0x070007, 0x080007, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0c000b, 0x0d000b, 0x0d000c, 0x0d000c, 0x0e000c, 0x0e000d, 0x0b0009,\n 0x090008, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0c0009,\n 0x0a0009, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000a, 0x0d000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000d, 0x0b0009,\n 0x0a000a, 0x0a0009, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0e000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0c0009,\n 0x0b000a, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0d000b, 0x0d000b,\n 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000d, 0x0c0009,\n 0x0b000b, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b,\n 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x11000d, 0x11000d, 0x0c000a,\n 0x0b000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b,\n 0x0f000b, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000d, 0x10000d, 0x0c000a,\n 0x0c000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b, 0x0f000c,\n 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0f000d, 0x10000d, 0x0f000d, 0x0d000a,\n 0x0c000c, 0x0d000b, 0x0c000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c,\n 0x0f000c, 0x10000c, 0x10000c, 0x10000d, 0x11000d, 0x11000d, 0x10000d, 0x0c000a,\n 0x0d000c, 0x0d000c, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x10000c,\n 0x10000c, 0x10000c, 0x10000c, 0x10000d, 0x10000d, 0x0f000d, 0x10000d, 0x0d000a,\n 0x0d000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c,\n 0x0f000c, 0x11000c, 0x10000d, 0x10000d, 0x10000d, 0x10000d, 0x12000d, 0x0d000a,\n 0x0f000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000c,\n 0x10000d, 0x12000d, 0x11000d, 0x11000d, 0x11000d, 0x13000d, 0x11000d, 0x0d000a,\n 0x0e000d, 0x0f000c, 0x0d000c, 0x0e000c, 0x10000c, 0x10000c, 0x0f000c, 0x10000d,\n 0x10000d, 0x11000d, 0x12000d, 0x11000d, 0x13000d, 0x11000d, 0x10000d, 0x0d000a,\n 0x0a0009, 0x0a0009, 0x0a0009, 0x0b0009, 0x0b0009, 0x0c0009, 0x0c0009, 0x0c0009,\n 0x0d0009, 0x0d0009, 0x0d0009, 0x0d000a, 0x0d000a, 0x0d000a, 0x0d000a, 0x0a0006\n];\n/**\n * \n * for (i = 0; i < 3*3; i++) [\n * table23[i] = ((ht[2].hlen[i]) << 16) + ht[3].hlen[i];\n * ]\n * \n *\n */\nTables.table23 = [\n 0x010002, 0x040003, 0x070007,\n 0x040004, 0x050004, 0x070007,\n 0x060006, 0x070007, 0x080008\n];\n\n/**\n * \n * for (i = 0; i < 4*4; i++) [\n * table56[i] = ((ht[5].hlen[i]) << 16) + ht[6].hlen[i];\n * ]\n * \n *\n */\nTables.table56 = [\n 0x010003, 0x040004, 0x070006, 0x080008, 0x040004, 0x050004, 0x080006, 0x090007,\n 0x070005, 0x080006, 0x090007, 0x0a0008, 0x080007, 0x080007, 0x090008, 0x0a0009\n];\n\nTables.bitrate_table = [\n [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], /* MPEG 2 */\n [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], /* MPEG 1 */\n [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1], /* MPEG 2.5 */\n];\n\n/**\n * MPEG 2, MPEG 1, MPEG 2.5.\n */\nTables.samplerate_table = [\n [22050, 24000, 16000, -1],\n [44100, 48000, 32000, -1],\n [11025, 12000, 8000, -1],\n];\n\n/**\n * This is the scfsi_band table from 2.4.2.7 of the IS.\n */\nTables.scfsi_band = [0, 6, 11, 16, 21];\n\nmodule.exports = Tables;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar RangeError = global.RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.set.constructor');\n","module.exports = typeof window == 'object' && typeof Deno != 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es-x/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es-x/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar padStart = require('../internals/string-pad').start;\n\nvar RangeError = global.RangeError;\nvar abs = Math.abs;\nvar DatePrototype = Date.prototype;\nvar n$DateToISOString = DatePrototype.toISOString;\nvar getTime = uncurryThis(DatePrototype.getTime);\nvar getUTCDate = uncurryThis(DatePrototype.getUTCDate);\nvar getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear);\nvar getUTCHours = uncurryThis(DatePrototype.getUTCHours);\nvar getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds);\nvar getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes);\nvar getUTCMonth = uncurryThis(DatePrototype.getUTCMonth);\nvar getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds);\n\n// `Date.prototype.toISOString` method implementation\n// https://tc39.es/ecma262/#sec-date.prototype.toisostring\n// PhantomJS / old WebKit fails here:\nmodule.exports = (fails(function () {\n return n$DateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n n$DateToISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime(this))) throw RangeError('Invalid time value');\n var date = this;\n var year = getUTCFullYear(date);\n var milliseconds = getUTCMilliseconds(date);\n var sign = year < 0 ? '-' : year > 9999 ? '+' : '';\n return sign + padStart(abs(year), sign ? 6 : 4, 0) +\n '-' + padStart(getUTCMonth(date) + 1, 2, 0) +\n '-' + padStart(getUTCDate(date), 2, 0) +\n 'T' + padStart(getUTCHours(date), 2, 0) +\n ':' + padStart(getUTCMinutes(date), 2, 0) +\n ':' + padStart(getUTCSeconds(date), 2, 0) +\n '.' + padStart(milliseconds, 3, 0) +\n 'Z';\n} : n$DateToISOString;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (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 defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","//package mp3;\n\n/* MPEG modes */\nfunction MPEGMode(ordinal) {\n var _ordinal = ordinal;\n this.ordinal = function () {\n return _ordinal;\n }\n}\n\nMPEGMode.STEREO = new MPEGMode(0);\nMPEGMode.JOINT_STEREO = new MPEGMode(1);\nMPEGMode.DUAL_CHANNEL = new MPEGMode(2);\nMPEGMode.MONO = new MPEGMode(3);\nMPEGMode.NOT_SET = new MPEGMode(4);\n\nmodule.exports = MPEGMode;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Takehiro = require('./Takehiro.js');\nvar Tables = require('./Tables.js');\nvar Encoder = require('./Encoder.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nBitStream.EQ = function (a, b) {\n return (Math.abs(a) > Math.abs(b)) ? (Math.abs((a) - (b)) <= (Math\n .abs(a) * 1e-6))\n : (Math.abs((a) - (b)) <= (Math.abs(b) * 1e-6));\n};\n\nBitStream.NEQ = function (a, b) {\n return !BitStream.EQ(a, b);\n};\n\nfunction BitStream() {\n var self = this;\n var CRC16_POLYNOMIAL = 0x8005;\n\n /*\n * we work with ints, so when doing bit manipulation, we limit ourselves to\n * MAX_LENGTH-2 just to be on the safe side\n */\n var MAX_LENGTH = 32;\n\n //GainAnalysis ga;\n //MPGLib mpg;\n //Version ver;\n //VBRTag vbr;\n var ga = null;\n var mpg = null;\n var ver = null;\n var vbr = null;\n\n //public final void setModules(GainAnalysis ga, MPGLib mpg, Version ver,\n //\tVBRTag vbr) {\n\n this.setModules = function (_ga, _mpg, _ver, _vbr) {\n ga = _ga;\n mpg = _mpg;\n ver = _ver;\n vbr = _vbr;\n };\n\n /**\n * Bit stream buffer.\n */\n //private byte[] buf;\n var buf = null;\n /**\n * Bit counter of bit stream.\n */\n var totbit = 0;\n /**\n * Pointer to top byte in buffer.\n */\n var bufByteIdx = 0;\n /**\n * Pointer to top bit of top byte in buffer.\n */\n var bufBitIdx = 0;\n\n /**\n * compute bitsperframe and mean_bits for a layer III frame\n */\n this.getframebits = function (gfp) {\n var gfc = gfp.internal_flags;\n var bit_rate;\n\n /* get bitrate in kbps [?] */\n if (gfc.bitrate_index != 0)\n bit_rate = Tables.bitrate_table[gfp.version][gfc.bitrate_index];\n else\n bit_rate = gfp.brate;\n assert(8 <= bit_rate && bit_rate <= 640);\n\n /* main encoding routine toggles padding on and off */\n /* one Layer3 Slot consists of 8 bits */\n var bytes = 0 | (gfp.version + 1) * 72000 * bit_rate / gfp.out_samplerate + gfc.padding;\n return 8 * bytes;\n };\n\n function putheader_bits(gfc) {\n System.arraycopy(gfc.header[gfc.w_ptr].buf, 0, buf, bufByteIdx, gfc.sideinfo_len);\n bufByteIdx += gfc.sideinfo_len;\n totbit += gfc.sideinfo_len * 8;\n gfc.w_ptr = (gfc.w_ptr + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n }\n\n /**\n * write j bits into the bit stream\n */\n function putbits2(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n assert(gfc.header[gfc.w_ptr].write_timing >= totbit);\n if (gfc.header[gfc.w_ptr].write_timing == totbit) {\n putheader_bits(gfc);\n }\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * write j bits into the bit stream, ignoring frame headers\n */\n function putbits_noheaders(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * Some combinations of bitrate, Fs, and stereo make it impossible to stuff\n * out a frame using just main_data, due to the limited number of bits to\n * indicate main_data_length. In these situations, we put stuffing bits into\n * the ancillary data...\n */\n function drain_into_ancillary(gfp, remainingBits) {\n var gfc = gfp.internal_flags;\n var i;\n assert(remainingBits >= 0);\n\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4c, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x41, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4d, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x45, 8);\n remainingBits -= 8;\n }\n\n if (remainingBits >= 32) {\n var version = ver.getLameShortVersion();\n if (remainingBits >= 32)\n for (i = 0; i < version.length && remainingBits >= 8; ++i) {\n remainingBits -= 8;\n putbits2(gfc, version.charAt(i), 8);\n }\n }\n\n for (; remainingBits >= 1; remainingBits -= 1) {\n putbits2(gfc, gfc.ancillary_flag, 1);\n gfc.ancillary_flag ^= (!gfp.disable_reservoir ? 1 : 0);\n }\n\n assert(remainingBits == 0);\n\n }\n\n /**\n * write N bits into the header\n */\n function writeheader(gfc, val, j) {\n var ptr = gfc.header[gfc.h_ptr].ptr;\n\n while (j > 0) {\n var k = Math.min(j, 8 - (ptr & 7));\n j -= k;\n assert(j < MAX_LENGTH);\n /* >> 32 too large for 32 bit machines */\n\n gfc.header[gfc.h_ptr].buf[ptr >> 3] |= ((val >> j)) << (8 - (ptr & 7) - k);\n ptr += k;\n }\n gfc.header[gfc.h_ptr].ptr = ptr;\n }\n\n function CRC_update(value, crc) {\n value <<= 8;\n for (var i = 0; i < 8; i++) {\n value <<= 1;\n crc <<= 1;\n\n if ((((crc ^ value) & 0x10000) != 0))\n crc ^= CRC16_POLYNOMIAL;\n }\n return crc;\n }\n\n this.CRC_writeheader = function (gfc, header) {\n var crc = 0xffff;\n /* (jo) init crc16 for error_protection */\n\n crc = CRC_update(header[2] & 0xff, crc);\n crc = CRC_update(header[3] & 0xff, crc);\n for (var i = 6; i < gfc.sideinfo_len; i++) {\n crc = CRC_update(header[i] & 0xff, crc);\n }\n\n header[4] = (byte)(crc >> 8);\n header[5] = (byte)(crc & 255);\n };\n\n function encodeSideInfo2(gfp, bitsPerFrame) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var gr, ch;\n\n l3_side = gfc.l3_side;\n gfc.header[gfc.h_ptr].ptr = 0;\n Arrays.fill(gfc.header[gfc.h_ptr].buf, 0, gfc.sideinfo_len, 0);\n if (gfp.out_samplerate < 16000)\n writeheader(gfc, 0xffe, 12);\n else\n writeheader(gfc, 0xfff, 12);\n writeheader(gfc, (gfp.version), 1);\n writeheader(gfc, 4 - 3, 2);\n writeheader(gfc, (!gfp.error_protection ? 1 : 0), 1);\n writeheader(gfc, (gfc.bitrate_index), 4);\n writeheader(gfc, (gfc.samplerate_index), 2);\n writeheader(gfc, (gfc.padding), 1);\n writeheader(gfc, (gfp.extension), 1);\n writeheader(gfc, (gfp.mode.ordinal()), 2);\n writeheader(gfc, (gfc.mode_ext), 2);\n writeheader(gfc, (gfp.copyright), 1);\n writeheader(gfc, (gfp.original), 1);\n writeheader(gfc, (gfp.emphasis), 2);\n if (gfp.error_protection) {\n writeheader(gfc, 0, 16);\n /* dummy */\n }\n\n if (gfp.version == 1) {\n /* MPEG1 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 9);\n\n if (gfc.channels_out == 2)\n writeheader(gfc, l3_side.private_bits, 3);\n else\n writeheader(gfc, l3_side.private_bits, 5);\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var band;\n for (band = 0; band < 4; band++) {\n writeheader(gfc, l3_side.scfsi[ch][band], 1);\n }\n }\n\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 4);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.preflag, 1);\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n } else {\n /* MPEG2 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 8);\n writeheader(gfc, l3_side.private_bits, gfc.channels_out);\n\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 9);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n\n if (gfp.error_protection) {\n /* (jo) error_protection: add crc16 information to header */\n CRC_writeheader(gfc, gfc.header[gfc.h_ptr].buf);\n }\n\n {\n var old = gfc.h_ptr;\n assert(gfc.header[old].ptr == gfc.sideinfo_len * 8);\n\n gfc.h_ptr = (old + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n gfc.header[gfc.h_ptr].write_timing = gfc.header[old].write_timing\n + bitsPerFrame;\n\n if (gfc.h_ptr == gfc.w_ptr) {\n /* yikes! we are out of header buffer space */\n System.err\n .println(\"Error: MAX_HEADER_BUF too small in bitstream.c \\n\");\n }\n\n }\n }\n\n function huffman_coder_count1(gfc, gi) {\n /* Write count1 area */\n var h = Tables.ht[gi.count1table_select + 32];\n var i, bits = 0;\n\n var ix = gi.big_values;\n var xr = gi.big_values;\n assert(gi.count1table_select < 2);\n\n for (i = (gi.count1 - gi.big_values) / 4; i > 0; --i) {\n var huffbits = 0;\n var p = 0, v;\n\n v = gi.l3_enc[ix + 0];\n if (v != 0) {\n p += 8;\n if (gi.xr[xr + 0] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 1];\n if (v != 0) {\n p += 4;\n huffbits *= 2;\n if (gi.xr[xr + 1] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 2];\n if (v != 0) {\n p += 2;\n huffbits *= 2;\n if (gi.xr[xr + 2] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 3];\n if (v != 0) {\n p++;\n huffbits *= 2;\n if (gi.xr[xr + 3] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n ix += 4;\n xr += 4;\n putbits2(gfc, huffbits + h.table[p], h.hlen[p]);\n bits += h.hlen[p];\n }\n return bits;\n }\n\n /**\n * Implements the pseudocode of page 98 of the IS\n */\n function Huffmancode(gfc, tableindex, start, end, gi) {\n var h = Tables.ht[tableindex];\n var bits = 0;\n\n assert(tableindex < 32);\n if (0 == tableindex)\n return bits;\n\n for (var i = start; i < end; i += 2) {\n var cbits = 0;\n var xbits = 0;\n var linbits = h.xlen;\n var xlen = h.xlen;\n var ext = 0;\n var x1 = gi.l3_enc[i];\n var x2 = gi.l3_enc[i + 1];\n\n if (x1 != 0) {\n if (gi.xr[i] < 0)\n ext++;\n cbits--;\n }\n\n if (tableindex > 15) {\n /* use ESC-words */\n if (x1 > 14) {\n var linbits_x1 = x1 - 15;\n assert(linbits_x1 <= h.linmax);\n ext |= linbits_x1 << 1;\n xbits = linbits;\n x1 = 15;\n }\n\n if (x2 > 14) {\n var linbits_x2 = x2 - 15;\n assert(linbits_x2 <= h.linmax);\n ext <<= linbits;\n ext |= linbits_x2;\n xbits += linbits;\n x2 = 15;\n }\n xlen = 16;\n }\n\n if (x2 != 0) {\n ext <<= 1;\n if (gi.xr[i + 1] < 0)\n ext++;\n cbits--;\n }\n\n assert((x1 | x2) < 16);\n\n x1 = x1 * xlen + x2;\n xbits -= cbits;\n cbits += h.hlen[x1];\n\n assert(cbits <= MAX_LENGTH);\n assert(xbits <= MAX_LENGTH);\n\n putbits2(gfc, h.table[x1], cbits);\n putbits2(gfc, ext, xbits);\n bits += cbits + xbits;\n }\n return bits;\n }\n\n /**\n * Note the discussion of huffmancodebits() on pages 28 and 29 of the IS, as\n * well as the definitions of the side information on pages 26 and 27.\n */\n function ShortHuffmancodebits(gfc, gi) {\n var region1Start = 3 * gfc.scalefac_band.s[3];\n if (region1Start > gi.big_values)\n region1Start = gi.big_values;\n\n /* short blocks do not have a region2 */\n var bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n gi.big_values, gi);\n return bits;\n }\n\n function LongHuffmancodebits(gfc, gi) {\n var bigvalues, bits;\n var region1Start, region2Start;\n\n bigvalues = gi.big_values;\n assert(0 <= bigvalues && bigvalues <= 576);\n\n var i = gi.region0_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region1Start = gfc.scalefac_band.l[i];\n i += gi.region1_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region2Start = gfc.scalefac_band.l[i];\n\n if (region1Start > bigvalues)\n region1Start = bigvalues;\n\n if (region2Start > bigvalues)\n region2Start = bigvalues;\n\n bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n region2Start, gi);\n bits += Huffmancode(gfc, gi.table_select[2], region2Start, bigvalues,\n gi);\n return bits;\n }\n\n function writeMainData(gfp) {\n var gr, ch, sfb, data_bits, tot_bits = 0;\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n\n if (gfp.version == 1) {\n /* MPEG 1 */\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var slen1 = Takehiro.slen1_tab[gi.scalefac_compress];\n var slen2 = Takehiro.slen2_tab[gi.scalefac_compress];\n data_bits = 0;\n for (sfb = 0; sfb < gi.sfbdivide; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen1);\n data_bits += slen1;\n }\n for (; sfb < gi.sfbmax; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen2);\n data_bits += slen2;\n }\n assert(data_bits == gi.part2_length);\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length + gi.part2_length);\n tot_bits += data_bits;\n }\n /* for ch */\n }\n /* for gr */\n } else {\n /* MPEG 2 */\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var i, sfb_partition, scale_bits = 0;\n assert(gi.sfb_partition_table != null);\n data_bits = 0;\n sfb = 0;\n sfb_partition = 0;\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition] / 3;\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 0], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 1], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 2], 0), slen);\n scale_bits += 3 * slen;\n }\n }\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition];\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc, Math.max(gi.scalefac[sfb], 0), slen);\n scale_bits += slen;\n }\n }\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length);\n assert(scale_bits == gi.part2_length);\n tot_bits += scale_bits + data_bits;\n }\n /* for ch */\n }\n /* for gf */\n return tot_bits;\n }\n\n /* main_data */\n\n function TotalBytes() {\n this.total = 0;\n }\n\n /*\n * compute the number of bits required to flush all mp3 frames currently in\n * the buffer. This should be the same as the reservoir size. Only call this\n * routine between frames - i.e. only after all headers and data have been\n * added to the buffer by format_bitstream().\n *\n * Also compute total_bits_output = size of mp3 buffer (including frame\n * headers which may not have yet been send to the mp3 buffer) + number of\n * bits needed to flush all mp3 frames.\n *\n * total_bytes_output is the size of the mp3 output buffer if\n * lame_encode_flush_nogap() was called right now.\n */\n function compute_flushbits(gfp, total_bytes_output) {\n var gfc = gfp.internal_flags;\n var flushbits, remaining_headers;\n var bitsPerFrame;\n var last_ptr, first_ptr;\n first_ptr = gfc.w_ptr;\n /* first header to add to bitstream */\n last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n\n /* add this many bits to bitstream so we can flush all headers */\n flushbits = gfc.header[last_ptr].write_timing - totbit;\n total_bytes_output.total = flushbits;\n\n if (flushbits >= 0) {\n /* if flushbits >= 0, some headers have not yet been written */\n /* reduce flushbits by the size of the headers */\n remaining_headers = 1 + last_ptr - first_ptr;\n if (last_ptr < first_ptr)\n remaining_headers = 1 + last_ptr - first_ptr\n + LameInternalFlags.MAX_HEADER_BUF;\n flushbits -= remaining_headers * 8 * gfc.sideinfo_len;\n }\n\n /*\n * finally, add some bits so that the last frame is complete these bits\n * are not necessary to decode the last frame, but some decoders will\n * ignore last frame if these bits are missing\n */\n bitsPerFrame = self.getframebits(gfp);\n flushbits += bitsPerFrame;\n total_bytes_output.total += bitsPerFrame;\n /* round up: */\n if ((total_bytes_output.total % 8) != 0)\n total_bytes_output.total = 1 + (total_bytes_output.total / 8);\n else\n total_bytes_output.total = (total_bytes_output.total / 8);\n total_bytes_output.total += bufByteIdx + 1;\n\n if (flushbits < 0) {\n System.err.println(\"strange error flushing buffer ... \\n\");\n }\n return flushbits;\n }\n\n this.flush_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var flushbits;\n var last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n l3_side = gfc.l3_side;\n\n if ((flushbits = compute_flushbits(gfp, new TotalBytes())) < 0)\n return;\n drain_into_ancillary(gfp, flushbits);\n\n /* check that the 100% of the last frame has been written to bitstream */\n assert(gfc.header[last_ptr].write_timing + this.getframebits(gfp) == totbit);\n\n /*\n * we have padded out all frames with ancillary data, which is the same\n * as filling the bitreservoir with ancillary data, so :\n */\n gfc.ResvSize = 0;\n l3_side.main_data_begin = 0;\n\n /* save the ReplayGain value */\n if (gfc.findReplayGain) {\n var RadioGain = ga.GetTitleGain(gfc.rgdata);\n assert(NEQ(RadioGain, GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES));\n gfc.RadioGain = Math.floor(RadioGain * 10.0 + 0.5) | 0;\n /* round to nearest */\n }\n\n /* find the gain and scale change required for no clipping */\n if (gfc.findPeakSample) {\n gfc.noclipGainChange = Math.ceil(Math\n .log10(gfc.PeakSample / 32767.0) * 20.0 * 10.0) | 0;\n /* round up */\n\n if (gfc.noclipGainChange > 0) {\n /* clipping occurs */\n if (EQ(gfp.scale, 1.0) || EQ(gfp.scale, 0.0))\n gfc.noclipScale = (Math\n .floor((32767.0 / gfc.PeakSample) * 100.0) / 100.0);\n /* round down */\n else {\n /*\n * the user specified his own scaling factor. We could\n * suggest the scaling factor of\n * (32767.0/gfp.PeakSample)*(gfp.scale) but it's usually\n * very inaccurate. So we'd rather not advice him on the\n * scaling factor.\n */\n gfc.noclipScale = -1;\n }\n } else\n /* no clipping */\n gfc.noclipScale = -1;\n }\n };\n\n this.add_dummy_byte = function (gfp, val, n) {\n var gfc = gfp.internal_flags;\n var i;\n\n while (n-- > 0) {\n putbits_noheaders(gfc, val, 8);\n\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing += 8;\n }\n };\n\n /**\n * This is called after a frame of audio has been quantized and coded. It\n * will write the encoded audio to the bitstream. Note that from a layer3\n * encoder's perspective the bit stream is primarily a series of main_data()\n * blocks, with header and side information inserted at the proper locations\n * to maintain framing. (See Figure A.7 in the IS).\n */\n this.format_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n l3_side = gfc.l3_side;\n\n var bitsPerFrame = this.getframebits(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_pre);\n\n encodeSideInfo2(gfp, bitsPerFrame);\n var bits = 8 * gfc.sideinfo_len;\n bits += writeMainData(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_post);\n bits += l3_side.resvDrain_post;\n\n l3_side.main_data_begin += (bitsPerFrame - bits) / 8;\n\n /*\n * compare number of bits needed to clear all buffered mp3 frames with\n * what we think the resvsize is:\n */\n if (compute_flushbits(gfp, new TotalBytes()) != gfc.ResvSize) {\n System.err.println(\"Internal buffer inconsistency. flushbits <> ResvSize\");\n }\n\n /*\n * compare main_data_begin for the next frame with what we think the\n * resvsize is:\n */\n if ((l3_side.main_data_begin * 8) != gfc.ResvSize) {\n System.err.printf(\"bit reservoir error: \\n\"\n + \"l3_side.main_data_begin: %d \\n\"\n + \"Resvoir size: %d \\n\"\n + \"resv drain (post) %d \\n\"\n + \"resv drain (pre) %d \\n\"\n + \"header and sideinfo: %d \\n\"\n + \"data bits: %d \\n\"\n + \"total bits: %d (remainder: %d) \\n\"\n + \"bitsperframe: %d \\n\",\n 8 * l3_side.main_data_begin, gfc.ResvSize,\n l3_side.resvDrain_post, l3_side.resvDrain_pre,\n 8 * gfc.sideinfo_len, bits - l3_side.resvDrain_post - 8\n * gfc.sideinfo_len, bits, bits % 8, bitsPerFrame);\n\n System.err.println(\"This is a fatal error. It has several possible causes:\");\n System.err.println(\"90%% LAME compiled with buggy version of gcc using advanced optimizations\");\n System.err.println(\" 9%% Your system is overclocked\");\n System.err.println(\" 1%% bug in LAME encoding library\");\n\n gfc.ResvSize = l3_side.main_data_begin * 8;\n }\n //;\n assert(totbit % 8 == 0);\n\n if (totbit > 1000000000) {\n /*\n * to avoid totbit overflow, (at 8h encoding at 128kbs) lets reset\n * bit counter\n */\n var i;\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing -= totbit;\n totbit = 0;\n }\n\n return 0;\n };\n\n /**\n *
\n     * copy data out of the internal MP3 bit buffer into a user supplied\n     *       unsigned char buffer.\n     *\n     *       mp3data=0      indicates data in buffer is an id3tags and VBR tags\n     *       mp3data=1      data is real mp3 frame data.\n     * 
\n */\n this.copy_buffer = function (gfc, buffer, bufferPos, size, mp3data) {\n var minimum = bufByteIdx + 1;\n if (minimum <= 0)\n return 0;\n if (size != 0 && minimum > size) {\n /* buffer is too small */\n return -1;\n }\n System.arraycopy(buf, 0, buffer, bufferPos, minimum);\n bufByteIdx = -1;\n bufBitIdx = 0;\n\n if (mp3data != 0) {\n var crc = new_int(1);\n crc[0] = gfc.nMusicCRC;\n vbr.updateMusicCRC(crc, buffer, bufferPos, minimum);\n gfc.nMusicCRC = crc[0];\n\n /**\n * sum number of bytes belonging to the mp3 stream this info will be\n * written into the Xing/LAME header for seeking\n */\n if (minimum > 0) {\n gfc.VBR_seek_table.nBytesWritten += minimum;\n }\n\n if (gfc.decode_on_the_fly) { /* decode the frame */\n var pcm_buf = new_float_n([2, 1152]);\n var mp3_in = minimum;\n var samples_out = -1;\n var i;\n\n /* re-synthesis to pcm. Repeat until we get a samples_out=0 */\n while (samples_out != 0) {\n\n samples_out = mpg.hip_decode1_unclipped(gfc.hip, buffer,\n bufferPos, mp3_in, pcm_buf[0], pcm_buf[1]);\n /*\n * samples_out = 0: need more data to decode samples_out =\n * -1: error. Lets assume 0 pcm output samples_out = number\n * of samples output\n */\n\n /*\n * set the lenght of the mp3 input buffer to zero, so that\n * in the next iteration of the loop we will be querying\n * mpglib about buffered data\n */\n mp3_in = 0;\n\n if (samples_out == -1) {\n /*\n * error decoding. Not fatal, but might screw up the\n * ReplayGain tag. What should we do? Ignore for now\n */\n samples_out = 0;\n }\n if (samples_out > 0) {\n /* process the PCM data */\n\n /*\n * this should not be possible, and indicates we have\n * overflown the pcm_buf buffer\n */\n assert(samples_out <= 1152);\n\n if (gfc.findPeakSample) {\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[0][i];\n else if (-pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[0][i];\n }\n if (gfc.channels_out > 1)\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[1][i];\n else if (-pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[1][i];\n }\n }\n\n if (gfc.findReplayGain)\n if (ga.AnalyzeSamples(gfc.rgdata, pcm_buf[0], 0,\n pcm_buf[1], 0, samples_out,\n gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR)\n return -6;\n\n }\n /* if (samples_out>0) */\n }\n /* while (samples_out!=0) */\n }\n /* if (gfc.decode_on_the_fly) */\n\n }\n /* if (mp3data) */\n return minimum;\n };\n\n this.init_bit_stream_w = function (gfc) {\n buf = new_byte(Lame.LAME_MAXMP3BUFFER);\n\n gfc.h_ptr = gfc.w_ptr = 0;\n gfc.header[gfc.h_ptr].write_timing = 0;\n bufByteIdx = -1;\n bufBitIdx = 0;\n totbit = 0;\n };\n\n // From machine.h\n\n\n}\n\nmodule.exports = BitStream;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\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 TypeError = global.TypeError;\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 = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(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 hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Date = global.Date;\nvar getTime = uncurryThis(Date.prototype.getTime);\n\n// `Date.now` method\n// https://tc39.es/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return getTime(new Date());\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GainAnalysis = require('./GainAnalysis.js');\n\nfunction ReplayGain() {\n this.linprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * left input samples, with pre-buffer\n */\n this.linpre = 0;\n this.lstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"first step\" (i.e. post first filter) samples\n */\n this.lstep = 0;\n this.loutbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"out\" (i.e. post second filter) samples\n */\n this.lout = 0;\n this.rinprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * right input samples ...\n */\n this.rinpre = 0;\n this.rstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rstep = 0;\n this.routbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rout = 0;\n /**\n * number of samples required to reach number of milliseconds required\n * for RMS window\n */\n this.sampleWindow = 0;\n this.totsamp = 0;\n this.lsum = 0.;\n this.rsum = 0.;\n this.freqindex = 0;\n this.first = 0;\n this.A = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n this.B = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n\n}\n\nmodule.exports = ReplayGain;\n","//package mp3;\n\nfunction CalcNoiseResult() {\n /**\n * sum of quantization noise > masking\n */\n this.over_noise = 0.;\n /**\n * sum of all quantization noise\n */\n this.tot_noise = 0.;\n /**\n * max quantization noise\n */\n this.max_noise = 0.;\n /**\n * number of quantization noise > masking\n */\n this.over_count = 0;\n /**\n * SSD-like cost of distorted bands\n */\n this.over_SSD = 0;\n this.bits = 0;\n}\n\nmodule.exports = CalcNoiseResult;\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\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 (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","module.exports = require('./lib/linkify');\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n\ttoString: function toString() {\n\t\treturn this.v + '';\n\t}\n};\n\nfunction inheritsToken(value) {\n\tvar props = value ? { v: value } : {};\n\treturn (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\nvar DOMAIN = inheritsToken();\n\n/**\n\t@class AT\n\t@extends TextToken\n*/\nvar AT = inheritsToken('@');\n\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\nvar COLON = inheritsToken(':');\n\n/**\n\t@class DOT\n\t@extends TextToken\n*/\nvar DOT = inheritsToken('.');\n\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\nvar PUNCTUATION = inheritsToken();\n\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\nvar LOCALHOST = inheritsToken();\n\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\nvar NL = inheritsToken('\\n');\n\n/**\n\t@class NUM\n\t@extends TextToken\n*/\nvar NUM = inheritsToken();\n\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\nvar PLUS = inheritsToken('+');\n\n/**\n\t@class POUND\n\t@extends TextToken\n*/\nvar POUND = inheritsToken('#');\n\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\nvar PROTOCOL = inheritsToken();\n\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\nvar MAILTO = inheritsToken('mailto:');\n\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\nvar QUERY = inheritsToken('?');\n\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\nvar SLASH = inheritsToken('/');\n\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\nvar UNDERSCORE = inheritsToken('_');\n\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\nvar SYM = inheritsToken();\n\n/**\n\t@class TLD\n\t@extends TextToken\n*/\nvar TLD = inheritsToken();\n\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\nvar WS = inheritsToken();\n\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\n\nvar AMPERSAND = inheritsToken('&');\n\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\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","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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\n// eslint-disable-next-line es-x/no-object-create -- safe\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 : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\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 defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(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 (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\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 defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar n$ParseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = n$ParseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : n$ParseFloat;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction FFT() {\n\n var window = new_float(Encoder.BLKSIZE);\n var window_s = new_float(Encoder.BLKSIZE_s / 2);\n\n var costab = [\n 9.238795325112867e-01, 3.826834323650898e-01,\n 9.951847266721969e-01, 9.801714032956060e-02,\n 9.996988186962042e-01, 2.454122852291229e-02,\n 9.999811752826011e-01, 6.135884649154475e-03\n ];\n\n function fht(fz, fzPos, n) {\n var tri = 0;\n var k4;\n var fi;\n var gi;\n\n n <<= 1;\n /* to get BLKSIZE, because of 3DNow! ASM routine */\n var fn = fzPos + n;\n k4 = 4;\n do {\n var s1, c1;\n var i, k1, k2, k3, kx;\n kx = k4 >> 1;\n k1 = k4;\n k2 = k4 << 1;\n k3 = k2 + k1;\n k4 = k2 << 1;\n fi = fzPos;\n gi = fi + kx;\n do {\n var f0, f1, f2, f3;\n f1 = fz[fi + 0] - fz[fi + k1];\n f0 = fz[fi + 0] + fz[fi + k1];\n f3 = fz[fi + k2] - fz[fi + k3];\n f2 = fz[fi + k2] + fz[fi + k3];\n fz[fi + k2] = f0 - f2;\n fz[fi + 0] = f0 + f2;\n fz[fi + k3] = f1 - f3;\n fz[fi + k1] = f1 + f3;\n f1 = fz[gi + 0] - fz[gi + k1];\n f0 = fz[gi + 0] + fz[gi + k1];\n f3 = (Util.SQRT2 * fz[gi + k3]);\n f2 = (Util.SQRT2 * fz[gi + k2]);\n fz[gi + k2] = f0 - f2;\n fz[gi + 0] = f0 + f2;\n fz[gi + k3] = f1 - f3;\n fz[gi + k1] = f1 + f3;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c1 = costab[tri + 0];\n s1 = costab[tri + 1];\n for (i = 1; i < kx; i++) {\n var c2, s2;\n c2 = 1 - (2 * s1) * s1;\n s2 = (2 * s1) * c1;\n fi = fzPos + i;\n gi = fzPos + k1 - i;\n do {\n var a, b, g0, f0, f1, g1, f2, g2, f3, g3;\n b = s2 * fz[fi + k1] - c2 * fz[gi + k1];\n a = c2 * fz[fi + k1] + s2 * fz[gi + k1];\n f1 = fz[fi + 0] - a;\n f0 = fz[fi + 0] + a;\n g1 = fz[gi + 0] - b;\n g0 = fz[gi + 0] + b;\n b = s2 * fz[fi + k3] - c2 * fz[gi + k3];\n a = c2 * fz[fi + k3] + s2 * fz[gi + k3];\n f3 = fz[fi + k2] - a;\n f2 = fz[fi + k2] + a;\n g3 = fz[gi + k2] - b;\n g2 = fz[gi + k2] + b;\n b = s1 * f2 - c1 * g3;\n a = c1 * f2 + s1 * g3;\n fz[fi + k2] = f0 - a;\n fz[fi + 0] = f0 + a;\n fz[gi + k3] = g1 - b;\n fz[gi + k1] = g1 + b;\n b = c1 * g2 - s1 * f3;\n a = s1 * g2 + c1 * f3;\n fz[gi + k2] = g0 - a;\n fz[gi + 0] = g0 + a;\n fz[fi + k3] = f1 - b;\n fz[fi + k1] = f1 + b;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c2 = c1;\n c1 = c2 * costab[tri + 0] - s1 * costab[tri + 1];\n s1 = c2 * costab[tri + 1] + s1 * costab[tri + 0];\n }\n tri += 2;\n } while (k4 < n);\n }\n\n var rv_tbl = [0x00, 0x80, 0x40,\n 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10,\n 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70,\n 0xf0, 0x08, 0x88, 0x48, 0xc8, 0x28,\n 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58,\n 0xd8, 0x38, 0xb8, 0x78, 0xf8, 0x04,\n 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64,\n 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34,\n 0xb4, 0x74, 0xf4, 0x0c, 0x8c, 0x4c,\n 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c,\n 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c,\n 0xfc, 0x02, 0x82, 0x42, 0xc2, 0x22,\n 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52,\n 0xd2, 0x32, 0xb2, 0x72, 0xf2, 0x0a,\n 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a,\n 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a,\n 0xba, 0x7a, 0xfa, 0x06, 0x86, 0x46,\n 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16,\n 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76,\n 0xf6, 0x0e, 0x8e, 0x4e, 0xce, 0x2e,\n 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e,\n 0xde, 0x3e, 0xbe, 0x7e, 0xfe];\n\n this.fft_short = function (gfc, x_real, chn, buffer, bufPos) {\n for (var b = 0; b < 3; b++) {\n var x = Encoder.BLKSIZE_s / 2;\n var k = 0xffff & ((576 / 3) * (b + 1));\n var j = Encoder.BLKSIZE_s / 8 - 1;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[j << 2] & 0xff;\n\n f0 = window_s[i] * buffer[chn][bufPos + i + k];\n w = window_s[0x7f - i] * buffer[chn][bufPos + i + k + 0x80];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x40] * buffer[chn][bufPos + i + k + 0x40];\n w = window_s[0x3f - i] * buffer[chn][bufPos + i + k + 0xc0];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n x_real[b][x + 0] = f0 + f2;\n x_real[b][x + 2] = f0 - f2;\n x_real[b][x + 1] = f1 + f3;\n x_real[b][x + 3] = f1 - f3;\n\n f0 = window_s[i + 0x01] * buffer[chn][bufPos + i + k + 0x01];\n w = window_s[0x7e - i] * buffer[chn][bufPos + i + k + 0x81];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x41] * buffer[chn][bufPos + i + k + 0x41];\n w = window_s[0x3e - i] * buffer[chn][bufPos + i + k + 0xc1];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 0] = f0 + f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 2] = f0 - f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 1] = f1 + f3;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 3] = f1 - f3;\n } while (--j >= 0);\n\n fht(x_real[b], x, Encoder.BLKSIZE_s / 2);\n /* BLKSIZE_s/2 because of 3DNow! ASM routine */\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n }\n\n this.fft_long = function (gfc, y, chn, buffer, bufPos) {\n var jj = Encoder.BLKSIZE / 8 - 1;\n var x = Encoder.BLKSIZE / 2;\n\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[jj] & 0xff;\n f0 = window[i] * buffer[chn][bufPos + i];\n w = window[i + 0x200] * buffer[chn][bufPos + i + 0x200];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x100] * buffer[chn][bufPos + i + 0x100];\n w = window[i + 0x300] * buffer[chn][bufPos + i + 0x300];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n y[x + 0] = f0 + f2;\n y[x + 2] = f0 - f2;\n y[x + 1] = f1 + f3;\n y[x + 3] = f1 - f3;\n\n f0 = window[i + 0x001] * buffer[chn][bufPos + i + 0x001];\n w = window[i + 0x201] * buffer[chn][bufPos + i + 0x201];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x101] * buffer[chn][bufPos + i + 0x101];\n w = window[i + 0x301] * buffer[chn][bufPos + i + 0x301];\n f3 = f2 - w;\n f2 = f2 + w;\n\n y[x + Encoder.BLKSIZE / 2 + 0] = f0 + f2;\n y[x + Encoder.BLKSIZE / 2 + 2] = f0 - f2;\n y[x + Encoder.BLKSIZE / 2 + 1] = f1 + f3;\n y[x + Encoder.BLKSIZE / 2 + 3] = f1 - f3;\n } while (--jj >= 0);\n\n fht(y, x, Encoder.BLKSIZE / 2);\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n\n this.init_fft = function (gfc) {\n /* The type of window used here will make no real difference, but */\n /*\n * in the interest of merging nspsytune stuff - switch to blackman\n * window\n */\n for (var i = 0; i < Encoder.BLKSIZE; i++)\n /* blackman window */\n window[i] = (0.42 - 0.5 * Math.cos(2 * Math.PI * (i + .5)\n / Encoder.BLKSIZE) + 0.08 * Math.cos(4 * Math.PI * (i + .5)\n / Encoder.BLKSIZE));\n\n for (var i = 0; i < Encoder.BLKSIZE_s / 2; i++)\n window_s[i] = (0.5 * (1.0 - Math.cos(2.0 * Math.PI\n * (i + 0.5) / Encoder.BLKSIZE_s)));\n\n }\n\n}\n\nmodule.exports = FFT;\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\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-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","import Database from './database.js';\n\nfunction noop() { }\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\n\nconst dirty_components = [];\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\nconst outroing = new Set();\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\n// via https://unpkg.com/browse/emojibase-data@6.0.0/meta/groups.json\nconst allGroups = [\n [-1, '✨', 'custom'],\n [0, '😀', 'smileys-emotion'],\n [1, '👋', 'people-body'],\n [3, '🐱', 'animals-nature'],\n [4, '🍎', 'food-drink'],\n [5, '🏠️', 'travel-places'],\n [6, '⚽', 'activities'],\n [7, '📝', 'objects'],\n [8, '⛔️', 'symbols'],\n [9, '🏁', 'flags']\n].map(([id, emoji, name]) => ({ id, emoji, name }));\n\nconst groups = allGroups.slice(1);\nconst customGroup = allGroups[0];\n\nconst MIN_SEARCH_TEXT_LENGTH = 2;\nconst NUM_SKIN_TONES = 6;\n\n/* istanbul ignore next */\nconst rIC = typeof requestIdleCallback === 'function' ? requestIdleCallback : setTimeout;\n\n// check for ZWJ (zero width joiner) character\nfunction hasZwj (emoji) {\n return emoji.unicode.includes('\\u200d')\n}\n\n// Find one good representative emoji from each version to test by checking its color.\n// Ideally it should have color in the center. For some inspiration, see:\n// https://about.gitlab.com/blog/2018/05/30/journey-in-native-unicode-emoji/\n//\n// Note that for certain versions (12.1, 13.1), there is no point in testing them explicitly, because\n// all the emoji from this version are compound-emoji from previous versions. So they would pass a color\n// test, even in browsers that display them as double emoji. (E.g. \"face in clouds\" might render as\n// \"face without mouth\" plus \"fog\".) These emoji can only be filtered using the width test,\n// which happens in checkZwjSupport.js.\nconst versionsAndTestEmoji = {\n '🫠': 14,\n '🥲': 13.1, // smiling face with tear, technically from v13 but see note above\n '🥻': 12.1, // sari, technically from v12 but see note above\n '🥰': 11,\n '🤩': 5,\n '👱‍♀️': 4,\n '🤣': 3,\n '👁️‍🗨️': 2,\n '😀': 1,\n '😐️': 0.7,\n '😃': 0.6\n};\n\nconst TIMEOUT_BEFORE_LOADING_MESSAGE = 1000; // 1 second\nconst DEFAULT_SKIN_TONE_EMOJI = '🖐️';\nconst DEFAULT_NUM_COLUMNS = 8;\n\n// Based on https://fivethirtyeight.com/features/the-100-most-used-emojis/ and\n// https://blog.emojipedia.org/facebook-reveals-most-and-least-used-emojis/ with\n// a bit of my own curation. (E.g. avoid the \"OK\" gesture because of connotations:\n// https://emojipedia.org/ok-hand/)\nconst MOST_COMMONLY_USED_EMOJI = [\n '😊',\n '😒',\n '♥️',\n '👍️',\n '😍',\n '😂',\n '😭',\n '☺️',\n '😔',\n '😩',\n '😏',\n '💕',\n '🙌',\n '😘'\n];\n\n// It's important to list Twemoji Mozilla before everything else, because Mozilla bundles their\n// own font on some platforms (notably Windows and Linux as of this writing). Typically Mozilla\n// updates faster than the underlying OS, and we don't want to render older emoji in one font and\n// newer emoji in another font:\n// https://github.com/nolanlawson/emoji-picker-element/pull/268#issuecomment-1073347283\nconst FONT_FAMILY = '\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",' +\n '\"Noto Color Emoji\",\"EmojiOne Color\",\"Android Emoji\",sans-serif';\n\n/* istanbul ignore next */\nconst DEFAULT_CATEGORY_SORTING = (a, b) => a < b ? -1 : a > b ? 1 : 0;\n\n// Test if an emoji is supported by rendering it to canvas and checking that the color is not black\n\nconst getTextFeature = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = canvas.height = 1;\n\n const ctx = canvas.getContext('2d');\n ctx.textBaseline = 'top';\n ctx.font = `100px ${FONT_FAMILY}`;\n ctx.fillStyle = color;\n ctx.scale(0.01, 0.01);\n ctx.fillText(text, 0, 0);\n\n return ctx.getImageData(0, 0, 1, 1).data\n};\n\nconst compareFeatures = (feature1, feature2) => {\n const feature1Str = [...feature1].join(',');\n const feature2Str = [...feature2].join(',');\n // This is RGBA, so for 0,0,0, we are checking that the first RGB is not all zeroes.\n // Most of the time when unsupported this is 0,0,0,0, but on Chrome on Mac it is\n // 0,0,0,61 - there is a transparency here.\n return feature1Str === feature2Str && !feature1Str.startsWith('0,0,0,')\n};\n\nfunction testColorEmojiSupported (text) {\n // Render white and black and then compare them to each other and ensure they're the same\n // color, and neither one is black. This shows that the emoji was rendered in color.\n const feature1 = getTextFeature(text, '#000');\n const feature2 = getTextFeature(text, '#fff');\n return feature1 && feature2 && compareFeatures(feature1, feature2)\n}\n\n// rather than check every emoji ever, which would be expensive, just check some representatives from the\n\nfunction determineEmojiSupportLevel () {\n const entries = Object.entries(versionsAndTestEmoji);\n try {\n // start with latest emoji and work backwards\n for (const [emoji, version] of entries) {\n if (testColorEmojiSupported(emoji)) {\n return version\n }\n }\n } catch (e) { // canvas error\n } finally {\n }\n // In case of an error, be generous and just assume all emoji are supported (e.g. for canvas errors\n // due to anti-fingerprinting add-ons). Better to show some gray boxes than nothing at all.\n return entries[0][1] // first one in the list is the most recent version\n}\n\n// Check which emojis we know for sure aren't supported, based on Unicode version level\nconst emojiSupportLevelPromise = new Promise(resolve => (\n rIC(() => (\n resolve(determineEmojiSupportLevel()) // delay so ideally this can run while IDB is first populating\n ))\n));\n// determine which emojis containing ZWJ (zero width joiner) characters\n// are supported (rendered as one glyph) rather than unsupported (rendered as two or more glyphs)\nconst supportedZwjEmojis = new Map();\n\nconst VARIATION_SELECTOR = '\\ufe0f';\nconst SKINTONE_MODIFIER = '\\ud83c';\nconst ZWJ = '\\u200d';\nconst LIGHT_SKIN_TONE = 0x1F3FB;\nconst LIGHT_SKIN_TONE_MODIFIER = 0xdffb;\n\n// TODO: this is a naive implementation, we can improve it later\n// It's only used for the skintone picker, so as long as people don't customize with\n// really exotic emoji then it should work fine\nfunction applySkinTone (str, skinTone) {\n if (skinTone === 0) {\n return str\n }\n const zwjIndex = str.indexOf(ZWJ);\n if (zwjIndex !== -1) {\n return str.substring(0, zwjIndex) +\n String.fromCodePoint(LIGHT_SKIN_TONE + skinTone - 1) +\n str.substring(zwjIndex)\n }\n if (str.endsWith(VARIATION_SELECTOR)) {\n str = str.substring(0, str.length - 1);\n }\n return str + SKINTONE_MODIFIER + String.fromCodePoint(LIGHT_SKIN_TONE_MODIFIER + skinTone - 1)\n}\n\nfunction halt (event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\n// Implementation left/right or up/down navigation, circling back when you\n// reach the start/end of the list\nfunction incrementOrDecrement (decrement, val, arr) {\n val += (decrement ? -1 : 1);\n if (val < 0) {\n val = arr.length - 1;\n } else if (val >= arr.length) {\n val = 0;\n }\n return val\n}\n\n// like lodash's uniqBy but much smaller\nfunction uniqBy (arr, func) {\n const set = new Set();\n const res = [];\n for (const item of arr) {\n const key = func(item);\n if (!set.has(key)) {\n set.add(key);\n res.push(item);\n }\n }\n return res\n}\n\n// We don't need all the data on every emoji, and there are specific things we need\n// for the UI, so build a \"view model\" from the emoji object we got from the database\n\nfunction summarizeEmojisForUI (emojis, emojiSupportLevel) {\n const toSimpleSkinsMap = skins => {\n const res = {};\n for (const skin of skins) {\n // ignore arrays like [1, 2] with multiple skin tones\n // also ignore variants that are in an unsupported emoji version\n // (these do exist - variants from a different version than their base emoji)\n if (typeof skin.tone === 'number' && skin.version <= emojiSupportLevel) {\n res[skin.tone] = skin.unicode;\n }\n }\n return res\n };\n\n return emojis.map(({ unicode, skins, shortcodes, url, name, category }) => ({\n unicode,\n name,\n shortcodes,\n url,\n category,\n id: unicode || name,\n skins: skins && toSimpleSkinsMap(skins),\n title: (shortcodes || []).join(', ')\n }))\n}\n\n// import rAF from one place so that the bundle size is a bit smaller\nconst rAF = requestAnimationFrame;\n\n// Svelte action to calculate the width of an element and auto-update\n\nlet resizeObserverSupported = typeof ResizeObserver === 'function';\n\nfunction calculateWidth (node, onUpdate) {\n let resizeObserver;\n if (resizeObserverSupported) {\n resizeObserver = new ResizeObserver(entries => (\n onUpdate(entries[0].contentRect.width)\n ));\n resizeObserver.observe(node);\n } else { // just set the width once, don't bother trying to track it\n rAF(() => (\n onUpdate(node.getBoundingClientRect().width)\n ));\n }\n\n // cleanup function (called on destroy)\n return {\n destroy () {\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n }\n }\n}\n\n// get the width of the text inside of a DOM node, via https://stackoverflow.com/a/59525891/680742\nfunction calculateTextWidth (node) {\n /* istanbul ignore else */\n {\n const range = document.createRange();\n range.selectNode(node.firstChild);\n return range.getBoundingClientRect().width\n }\n}\n\nlet baselineEmojiWidth;\n\nfunction checkZwjSupport (zwjEmojisToCheck, baselineEmoji, emojiToDomNode) {\n for (const emoji of zwjEmojisToCheck) {\n const domNode = emojiToDomNode(emoji);\n const emojiWidth = calculateTextWidth(domNode);\n if (typeof baselineEmojiWidth === 'undefined') { // calculate the baseline emoji width only once\n baselineEmojiWidth = calculateTextWidth(baselineEmoji);\n }\n // On Windows, some supported emoji are ~50% bigger than the baseline emoji, but what we really want to guard\n // against are the ones that are 2x the size, because those are truly broken (person with red hair = person with\n // floating red wig, black cat = cat with black square, polar bear = bear with snowflake, etc.)\n // So here we set the threshold at 1.8 times the size of the baseline emoji.\n const supported = emojiWidth / 1.8 < baselineEmojiWidth;\n supportedZwjEmojis.set(emoji.unicode, supported);\n }\n}\n\n// Measure after style/layout are complete\n\nconst requestPostAnimationFrame = callback => {\n rAF(() => {\n setTimeout(callback);\n });\n};\n\n// like lodash's uniq\n\nfunction uniq (arr) {\n return uniqBy(arr, _ => _)\n}\n\n/* src/picker/components/Picker/Picker.svelte generated by Svelte v3.46.4 */\n\nconst { Map: Map_1 } = globals;\n\nfunction get_each_context(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_1(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[66] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_2(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_3(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[69] = list[i];\n\treturn child_ctx;\n}\n\nfunction get_each_context_4(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[72] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\n// (43:38) {#each skinTones as skinTone, i (skinTone)}\nfunction create_each_block_4(key_1, ctx) {\n\tlet div;\n\tlet t_value = /*skinTone*/ ctx[72] + \"\";\n\tlet t;\n\tlet div_id_value;\n\tlet div_class_value;\n\tlet div_aria_selected_value;\n\tlet div_title_value;\n\tlet div_aria_label_value;\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"id\", div_id_value = \"skintone-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div, \"class\", div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(div, \"aria-selected\", div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div, \"role\", \"option\");\n\t\t\tattr(div, \"title\", div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tattr(div, \"tabindex\", \"-1\");\n\t\t\tattr(div, \"aria-label\", div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tthis.first = div;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tappend(div, t);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && t_value !== (t_value = /*skinTone*/ ctx[72] + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && div_id_value !== (div_id_value = \"skintone-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div, \"id\", div_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_class_value !== (div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(div, \"class\", div_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_aria_selected_value !== (div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div, \"aria-selected\", div_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_title_value !== (div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"title\", div_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_aria_label_value !== (div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"aria-label\", div_aria_label_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t}\n\t};\n}\n\n// (53:33) {#each groups as group (group.id)}\nfunction create_each_block_3(key_1, ctx) {\n\tlet button;\n\tlet div;\n\tlet t_value = /*group*/ ctx[69].emoji + \"\";\n\tlet t;\n\tlet button_aria_controls_value;\n\tlet button_aria_label_value;\n\tlet button_aria_selected_value;\n\tlet button_title_value;\n\tlet mounted;\n\tlet dispose;\n\n\tfunction click_handler() {\n\t\treturn /*click_handler*/ ctx[49](/*group*/ ctx[69]);\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"class\", \"nav-emoji emoji\");\n\t\t\tattr(button, \"role\", \"tab\");\n\t\t\tattr(button, \"class\", \"nav-button\");\n\t\t\tattr(button, \"aria-controls\", button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id);\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id);\n\t\t\tattr(button, \"title\", button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tappend(button, div);\n\t\t\tappend(div, t);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = listen(button, \"click\", click_handler);\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*groups*/ 4096 && t_value !== (t_value = /*group*/ ctx[69].emoji + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*groups*/ 4096 && button_aria_controls_value !== (button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-controls\", button_aria_controls_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_aria_label_value !== (button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup, groups*/ 12304 && button_aria_selected_value !== (button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_title_value !== (button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tmounted = false;\n\t\t\tdispose();\n\t\t}\n\t};\n}\n\n// (93:100) {:else}\nfunction create_else_block_1(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (93:40) {#if emoji.unicode}\nfunction create_if_block_1(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (88:53) {#each emojiWithCategory.emojis as emoji, i (emoji.id)}\nfunction create_each_block_2(key_1, ctx) {\n\tlet button;\n\tlet button_role_value;\n\tlet button_aria_selected_value;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_class_value;\n\tlet button_id_value;\n\n\tfunction select_block_type(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block_1;\n\t\treturn create_else_block_1;\n\t}\n\n\tlet current_block_type = select_block_type(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem');\n\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '');\n\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\n\t\t\tattr(button, \"class\", button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(button, \"id\", button_id_value = \"emo-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && button_role_value !== (button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem')) {\n\t\t\t\tattr(button, \"role\", button_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_aria_selected_value !== (button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '')) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_class_value !== (button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(button, \"class\", button_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_id_value !== (button_id_value = \"emo-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\n// (69:36) {#each currentEmojisWithCategories as emojiWithCategory, i (emojiWithCategory.category)}\nfunction create_each_block_1(key_1, ctx) {\n\tlet div0;\n\n\tlet t_value = (/*searchMode*/ ctx[4]\n\t? /*i18n*/ ctx[0].searchResultsLabel\n\t: /*emojiWithCategory*/ ctx[66].category\n\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\";\n\n\tlet t;\n\tlet div0_id_value;\n\tlet div0_class_value;\n\tlet div1;\n\tlet each_blocks = [];\n\tlet each_1_lookup = new Map_1();\n\tlet div1_role_value;\n\tlet div1_aria_labelledby_value;\n\tlet div1_id_value;\n\tlet each_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\tconst get_key = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value_2.length; i += 1) {\n\t\tlet child_ctx = get_each_context_2(ctx, each_value_2, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach_1_lookup.set(key, each_blocks[i] = create_each_block_2(key, child_ctx));\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv0 = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tdiv1 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tattr(div0, \"id\", div0_id_value = \"menu-label-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div0, \"class\", div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div0, \"aria-hidden\", \"true\");\n\t\t\tattr(div1, \"class\", \"emoji-menu\");\n\t\t\tattr(div1, \"role\", div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu');\n\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65]);\n\t\t\tattr(div1, \"id\", div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '');\n\t\t\tthis.first = div0;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div0, anchor);\n\t\t\tappend(div0, t);\n\t\t\tinsert(target, div1, anchor);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div1, null);\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentEmojisWithCategories, currentGroup*/ 40977 && t_value !== (t_value = (/*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_id_value !== (div0_id_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div0, \"id\", div0_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_class_value !== (div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div0, \"class\", div0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin*/ 402686256) {\n\t\t\t\teach_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value_2, each_1_lookup, div1, destroy_block, create_each_block_2, null, get_each_context_2);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_role_value !== (div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu')) {\n\t\t\t\tattr(div1, \"role\", div1_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div1_aria_labelledby_value !== (div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_id_value !== (div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '')) {\n\t\t\t\tattr(div1, \"id\", div1_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div0);\n\t\t\tif (detaching) detach(div1);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\t\t}\n\t};\n}\n\n// (102:94) {:else}\nfunction create_else_block(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (102:34) {#if emoji.unicode}\nfunction create_if_block(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (98:102) {#each currentFavorites as emoji, i (emoji.id)}\nfunction create_each_block(key_1, ctx) {\n\tlet button;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_id_value;\n\n\tfunction select_block_type_1(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block;\n\t\treturn create_else_block;\n\t}\n\n\tlet current_block_type = select_block_type_1(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", \"menuitem\");\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\t\t\tattr(button, \"class\", \"emoji\");\n\t\t\tattr(button, \"id\", button_id_value = \"fav-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type_1(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_id_value !== (button_id_value = \"fav-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\nfunction create_fragment(ctx) {\n\tlet section;\n\tlet div0;\n\tlet div4;\n\tlet div1;\n\tlet input;\n\tlet input_placeholder_value;\n\tlet input_aria_expanded_value;\n\tlet input_aria_activedescendant_value;\n\tlet label;\n\tlet t0_value = /*i18n*/ ctx[0].searchLabel + \"\";\n\tlet t0;\n\tlet span0;\n\tlet t1_value = /*i18n*/ ctx[0].searchDescription + \"\";\n\tlet t1;\n\tlet div2;\n\tlet button0;\n\tlet t2;\n\tlet button0_class_value;\n\tlet div2_class_value;\n\tlet span1;\n\tlet t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\";\n\tlet t3;\n\tlet div3;\n\tlet each_blocks_3 = [];\n\tlet each0_lookup = new Map_1();\n\tlet div3_class_value;\n\tlet div3_aria_label_value;\n\tlet div3_aria_activedescendant_value;\n\tlet div3_aria_hidden_value;\n\tlet div5;\n\tlet each_blocks_2 = [];\n\tlet each1_lookup = new Map_1();\n\tlet div5_aria_label_value;\n\tlet div7;\n\tlet div6;\n\tlet div8;\n\tlet t4;\n\tlet div8_class_value;\n\tlet div10;\n\tlet div9;\n\tlet each_blocks_1 = [];\n\tlet each2_lookup = new Map_1();\n\tlet div10_class_value;\n\tlet div10_role_value;\n\tlet div10_aria_label_value;\n\tlet div10_id_value;\n\tlet div11;\n\tlet each_blocks = [];\n\tlet each3_lookup = new Map_1();\n\tlet div11_class_value;\n\tlet div11_aria_label_value;\n\tlet button1;\n\tlet section_aria_label_value;\n\tlet mounted;\n\tlet dispose;\n\tlet each_value_4 = /*skinTones*/ ctx[9];\n\tconst get_key = ctx => /*skinTone*/ ctx[72];\n\n\tfor (let i = 0; i < each_value_4.length; i += 1) {\n\t\tlet child_ctx = get_each_context_4(ctx, each_value_4, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach0_lookup.set(key, each_blocks_3[i] = create_each_block_4(key, child_ctx));\n\t}\n\n\tlet each_value_3 = /*groups*/ ctx[12];\n\tconst get_key_1 = ctx => /*group*/ ctx[69].id;\n\n\tfor (let i = 0; i < each_value_3.length; i += 1) {\n\t\tlet child_ctx = get_each_context_3(ctx, each_value_3, i);\n\t\tlet key = get_key_1(child_ctx);\n\t\teach1_lookup.set(key, each_blocks_2[i] = create_each_block_3(key, child_ctx));\n\t}\n\n\tlet each_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\tconst get_key_2 = ctx => /*emojiWithCategory*/ ctx[66].category;\n\n\tfor (let i = 0; i < each_value_1.length; i += 1) {\n\t\tlet child_ctx = get_each_context_1(ctx, each_value_1, i);\n\t\tlet key = get_key_2(child_ctx);\n\t\teach2_lookup.set(key, each_blocks_1[i] = create_each_block_1(key, child_ctx));\n\t}\n\n\tlet each_value = /*currentFavorites*/ ctx[10];\n\tconst get_key_3 = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value.length; i += 1) {\n\t\tlet child_ctx = get_each_context(ctx, each_value, i);\n\t\tlet key = get_key_3(child_ctx);\n\t\teach3_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));\n\t}\n\n\treturn {\n\t\tc() {\n\t\t\tsection = element(\"section\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tdiv4 = element(\"div\");\n\t\t\tdiv1 = element(\"div\");\n\t\t\tinput = element(\"input\");\n\t\t\tlabel = element(\"label\");\n\t\t\tt0 = text(t0_value);\n\t\t\tspan0 = element(\"span\");\n\t\t\tt1 = text(t1_value);\n\t\t\tdiv2 = element(\"div\");\n\t\t\tbutton0 = element(\"button\");\n\t\t\tt2 = text(/*skinToneButtonText*/ ctx[21]);\n\t\t\tspan1 = element(\"span\");\n\t\t\tt3 = text(t3_value);\n\t\t\tdiv3 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].c();\n\t\t\t}\n\n\t\t\tdiv5 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].c();\n\t\t\t}\n\n\t\t\tdiv7 = element(\"div\");\n\t\t\tdiv6 = element(\"div\");\n\t\t\tdiv8 = element(\"div\");\n\t\t\tt4 = text(/*message*/ ctx[18]);\n\t\t\tdiv10 = element(\"div\");\n\t\t\tdiv9 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].c();\n\t\t\t}\n\n\t\t\tdiv11 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tbutton1 = element(\"button\");\n\t\t\tbutton1.textContent = \"😀\";\n\t\t\tattr(div0, \"class\", \"pad-top\");\n\t\t\tattr(input, \"id\", \"search\");\n\t\t\tattr(input, \"class\", \"search\");\n\t\t\tattr(input, \"type\", \"search\");\n\t\t\tattr(input, \"role\", \"combobox\");\n\t\t\tattr(input, \"enterkeyhint\", \"search\");\n\t\t\tattr(input, \"placeholder\", input_placeholder_value = /*i18n*/ ctx[0].searchLabel);\n\t\t\tattr(input, \"autocapitalize\", \"none\");\n\t\t\tattr(input, \"autocomplete\", \"off\");\n\t\t\tattr(input, \"spellcheck\", \"true\");\n\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length));\n\t\t\tattr(input, \"aria-controls\", \"search-results\");\n\t\t\tattr(input, \"aria-describedby\", \"search-description\");\n\t\t\tattr(input, \"aria-autocomplete\", \"list\");\n\n\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '');\n\n\t\t\tattr(label, \"class\", \"sr-only\");\n\t\t\tattr(label, \"for\", \"search\");\n\t\t\tattr(span0, \"id\", \"search-description\");\n\t\t\tattr(span0, \"class\", \"sr-only\");\n\t\t\tattr(div1, \"class\", \"search-wrapper\");\n\t\t\tattr(button0, \"id\", \"skintone-button\");\n\t\t\tattr(button0, \"class\", button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''));\n\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"aria-describedby\", \"skintone-description\");\n\t\t\tattr(button0, \"aria-haspopup\", \"listbox\");\n\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(button0, \"aria-controls\", \"skintone-list\");\n\n\t\t\tattr(div2, \"class\", div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''));\n\n\t\t\tattr(span1, \"id\", \"skintone-description\");\n\t\t\tattr(span1, \"class\", \"sr-only\");\n\t\t\tattr(div3, \"id\", \"skintone-list\");\n\n\t\t\tattr(div3, \"class\", div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'));\n\n\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? 0\n\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\n\t\t\tattr(div3, \"role\", \"listbox\");\n\t\t\tattr(div3, \"aria-label\", div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel);\n\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(div4, \"class\", \"search-row\");\n\t\t\tattr(div5, \"class\", \"nav\");\n\t\t\tattr(div5, \"role\", \"tablist\");\n\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\tattr(div5, \"aria-label\", div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel);\n\t\t\tattr(div6, \"class\", \"indicator\");\n\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\tattr(div7, \"class\", \"indicator-wrapper\");\n\t\t\tattr(div8, \"class\", div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'));\n\t\t\tattr(div8, \"role\", \"alert\");\n\t\t\tattr(div8, \"aria-live\", \"polite\");\n\n\t\t\tattr(div10, \"class\", div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div10, \"role\", div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel');\n\n\t\t\tattr(div10, \"aria-label\", div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]);\n\n\t\t\tattr(div10, \"id\", div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`);\n\n\t\t\tattr(div10, \"tabindex\", \"0\");\n\t\t\tattr(div11, \"class\", div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''));\n\t\t\tattr(div11, \"role\", \"menu\");\n\t\t\tattr(div11, \"aria-label\", div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel);\n\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\tattr(button1, \"aria-hidden\", \"true\");\n\t\t\tattr(button1, \"tabindex\", \"-1\");\n\t\t\tattr(button1, \"class\", \"abs-pos hidden emoji\");\n\t\t\tattr(section, \"class\", \"picker\");\n\t\t\tattr(section, \"aria-label\", section_aria_label_value = /*i18n*/ ctx[0].regionLabel);\n\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, section, anchor);\n\t\t\tappend(section, div0);\n\t\t\tappend(section, div4);\n\t\t\tappend(div4, div1);\n\t\t\tappend(div1, input);\n\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\tappend(div1, label);\n\t\t\tappend(label, t0);\n\t\t\tappend(div1, span0);\n\t\t\tappend(span0, t1);\n\t\t\tappend(div4, div2);\n\t\t\tappend(div2, button0);\n\t\t\tappend(button0, t2);\n\t\t\tappend(div4, span1);\n\t\t\tappend(span1, t3);\n\t\t\tappend(div4, div3);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].m(div3, null);\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](div3);\n\t\t\tappend(section, div5);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].m(div5, null);\n\t\t\t}\n\n\t\t\tappend(section, div7);\n\t\t\tappend(div7, div6);\n\t\t\tappend(section, div8);\n\t\t\tappend(div8, t4);\n\t\t\tappend(section, div10);\n\t\t\tappend(div10, div9);\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].m(div9, null);\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](div10);\n\t\t\tappend(section, div11);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div11, null);\n\t\t\t}\n\n\t\t\tappend(section, button1);\n\t\t\t/*button1_binding*/ ctx[51](button1);\n\t\t\t/*section_binding*/ ctx[52](section);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(input, \"input\", /*input_input_handler*/ ctx[47]),\n\t\t\t\t\tlisten(input, \"keydown\", /*onSearchKeydown*/ ctx[30]),\n\t\t\t\t\tlisten(button0, \"click\", /*onClickSkinToneButton*/ ctx[35]),\n\t\t\t\t\tlisten(div3, \"focusout\", /*onSkinToneOptionsFocusOut*/ ctx[38]),\n\t\t\t\t\tlisten(div3, \"click\", /*onSkinToneOptionsClick*/ ctx[34]),\n\t\t\t\t\tlisten(div3, \"keydown\", /*onSkinToneOptionsKeydown*/ ctx[36]),\n\t\t\t\t\tlisten(div3, \"keyup\", /*onSkinToneOptionsKeyup*/ ctx[37]),\n\t\t\t\t\tlisten(div5, \"keydown\", /*onNavKeydown*/ ctx[32]),\n\t\t\t\t\taction_destroyer(/*calculateEmojiGridStyle*/ ctx[29].call(null, div9)),\n\t\t\t\t\tlisten(div10, \"click\", /*onEmojiClick*/ ctx[33]),\n\t\t\t\t\tlisten(div11, \"click\", /*onEmojiClick*/ ctx[33])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*i18n*/ 1 && input_placeholder_value !== (input_placeholder_value = /*i18n*/ ctx[0].searchLabel)) {\n\t\t\t\tattr(input, \"placeholder\", input_placeholder_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojis*/ 18 && input_aria_expanded_value !== (input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length))) {\n\t\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSearchItemId*/ 67108864 && input_aria_activedescendant_value !== (input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '')) {\n\t\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t0_value !== (t0_value = /*i18n*/ ctx[0].searchLabel + \"\")) set_data(t0, t0_value);\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t1_value !== (t1_value = /*i18n*/ ctx[0].searchDescription + \"\")) set_data(t1, t1_value);\n\t\t\tif (dirty[0] & /*skinToneButtonText*/ 2097152) set_data(t2, /*skinToneButtonText*/ ctx[21]);\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && button0_class_value !== (button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''))) {\n\t\t\t\tattr(button0, \"class\", button0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpandedAfterAnimation*/ 524288 && div2_class_value !== (div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''))) {\n\t\t\t\tattr(div2, \"class\", div2_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t3_value !== (t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\")) set_data(t3, t3_value);\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone, i18n*/ 1049089) {\n\t\t\t\teach_value_4 = /*skinTones*/ ctx[9];\n\t\t\t\teach_blocks_3 = update_keyed_each(each_blocks_3, dirty, get_key, 1, ctx, each_value_4, each0_lookup, div3, destroy_block, create_each_block_4, null, get_each_context_4);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_class_value !== (div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'))) {\n\t\t\t\tattr(div3, \"class\", div3_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t\t? 0\n\t\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div3_aria_label_value !== (div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel)) {\n\t\t\t\tattr(div3, \"aria-label\", div3_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSkinTone*/ 1048576 && div3_aria_activedescendant_value !== (div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_aria_hidden_value !== (div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6])) {\n\t\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups, i18n, searchMode, currentGroup*/ 12305 | dirty[1] & /*onNavClick*/ 1) {\n\t\t\t\teach_value_3 = /*groups*/ ctx[12];\n\t\t\t\teach_blocks_2 = update_keyed_each(each_blocks_2, dirty, get_key_1, 1, ctx, each_value_3, each1_lookup, div5, destroy_block, create_each_block_3, null, get_each_context_3);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups*/ 4096) {\n\t\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div5_aria_label_value !== (div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel)) {\n\t\t\t\tattr(div5, \"aria-label\", div5_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*isRtl, currentGroupIndex*/ 16779264) {\n\t\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144) set_data(t4, /*message*/ ctx[18]);\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div8_class_value !== (div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'))) {\n\t\t\t\tattr(div8, \"class\", div8_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin, i18n, currentGroup*/ 402694449) {\n\t\t\t\teach_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\t\t\t\teach_blocks_1 = update_keyed_each(each_blocks_1, dirty, get_key_2, 1, ctx, each_value_1, each2_lookup, div9, destroy_block, create_each_block_1, null, get_each_context_1);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*databaseLoaded, message*/ 278528 && div10_class_value !== (div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div10, \"class\", div10_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div10_role_value !== (div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel')) {\n\t\t\t\tattr(div10, \"role\", div10_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentGroup*/ 8209 && div10_aria_label_value !== (div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name])) {\n\t\t\t\tattr(div10, \"aria-label\", div10_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup*/ 8208 && div10_id_value !== (div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`)) {\n\t\t\t\tattr(div10, \"id\", div10_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*labelWithSkin, currentFavorites, currentSkinTone, unicodeWithSkin*/ 402654464) {\n\t\t\t\teach_value = /*currentFavorites*/ ctx[10];\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key_3, 1, ctx, each_value, each3_lookup, div11, destroy_block, create_each_block, null, get_each_context);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div11_class_value !== (div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''))) {\n\t\t\t\tattr(div11, \"class\", div11_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div11_aria_label_value !== (div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel)) {\n\t\t\t\tattr(div11, \"aria-label\", div11_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*scrollbarWidth*/ 33554432) {\n\t\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && section_aria_label_value !== (section_aria_label_value = /*i18n*/ ctx[0].regionLabel)) {\n\t\t\t\tattr(section, \"aria-label\", section_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*pickerStyle*/ 4194304) {\n\t\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t\t}\n\t\t},\n\t\ti: noop,\n\t\to: noop,\n\t\td(detaching) {\n\t\t\tif (detaching) detach(section);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].d();\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](null);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].d();\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].d();\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](null);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\n\t\t\t/*button1_binding*/ ctx[51](null);\n\t\t\t/*section_binding*/ ctx[52](null);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance($$self, $$props, $$invalidate) {\n\tlet { skinToneEmoji } = $$props;\n\tlet { i18n } = $$props;\n\tlet { database } = $$props;\n\tlet { customEmoji } = $$props;\n\tlet { customCategorySorting } = $$props;\n\n\t// private\n\tlet initialLoad = true;\n\n\tlet currentEmojis = [];\n\tlet currentEmojisWithCategories = []; // eslint-disable-line no-unused-vars\n\tlet rawSearchText = '';\n\tlet searchText = '';\n\tlet rootElement;\n\tlet baselineEmoji;\n\tlet tabpanelElement;\n\tlet searchMode = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItem = -1;\n\tlet message; // eslint-disable-line no-unused-vars\n\tlet skinTonePickerExpanded = false;\n\tlet skinTonePickerExpandedAfterAnimation = false; // eslint-disable-line no-unused-vars\n\tlet skinToneDropdown;\n\tlet currentSkinTone = 0;\n\tlet activeSkinTone = 0;\n\tlet skinToneButtonText; // eslint-disable-line no-unused-vars\n\tlet pickerStyle; // eslint-disable-line no-unused-vars\n\tlet skinToneButtonLabel = ''; // eslint-disable-line no-unused-vars\n\tlet skinTones = [];\n\tlet currentFavorites = []; // eslint-disable-line no-unused-vars\n\tlet defaultFavoriteEmojis;\n\tlet numColumns = DEFAULT_NUM_COLUMNS;\n\tlet isRtl = false;\n\tlet scrollbarWidth = 0; // eslint-disable-line no-unused-vars\n\tlet currentGroupIndex = 0;\n\tlet groups$1 = groups;\n\tlet currentGroup;\n\tlet databaseLoaded = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItemId; // eslint-disable-line no-unused-vars\n\n\t//\n\t// Utils/helpers\n\t//\n\tconst focus = id => {\n\t\trootElement.getRootNode().getElementById(id).focus();\n\t};\n\n\t// fire a custom event that crosses the shadow boundary\n\tconst fireEvent = (name, detail) => {\n\t\trootElement.dispatchEvent(new CustomEvent(name, { detail, bubbles: true, composed: true }));\n\t};\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst unicodeWithSkin = (emoji, currentSkinTone) => currentSkinTone && emoji.skins && emoji.skins[currentSkinTone] || emoji.unicode;\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst labelWithSkin = (emoji, currentSkinTone) => uniq([\n\t\temoji.name || unicodeWithSkin(emoji, currentSkinTone),\n\t\t...emoji.shortcodes || []\n\t]).join(', ');\n\n\t// Detect a skintone option button\n\tconst isSkinToneOption = element => (/^skintone-/).test(element.id);\n\n\t//\n\t// Determine the emoji support level (in requestIdleCallback)\n\t//\n\temojiSupportLevelPromise.then(level => {\n\t\t// Can't actually test emoji support in Jest/JSDom, emoji never render in color in Cairo\n\t\t/* istanbul ignore next */\n\t\tif (!level) {\n\t\t\t$$invalidate(18, message = i18n.emojiUnsupportedMessage);\n\t\t}\n\t});\n\n\t//\n\t// Calculate the width of the emoji grid. This serves two purposes:\n\t// 1) Re-calculate the --num-columns var because it may have changed\n\t// 2) Re-calculate the scrollbar width because it may have changed\n\t// (i.e. because the number of items changed)\n\t// 3) Re-calculate whether we're in RTL mode or not.\n\t//\n\t// The benefit of doing this in one place is to align with rAF/ResizeObserver\n\t// and do all the calculations in one go. RTL vs LTR is not strictly width-related,\n\t// but since we're already reading the style here, and since it's already aligned with\n\t// the rAF loop, this is the most appropriate place to do it perf-wise.\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction calculateEmojiGridStyle(node) {\n\t\treturn calculateWidth(node, width => {\n\t\t\t/* istanbul ignore next */\n\t\t\tif (\"production\" !== 'test') {\n\t\t\t\t// jsdom throws errors for this kind of fancy stuff\n\t\t\t\t// read all the style/layout calculations we need to make\n\t\t\t\tconst style = getComputedStyle(rootElement);\n\n\t\t\t\tconst newNumColumns = parseInt(style.getPropertyValue('--num-columns'), 10);\n\t\t\t\tconst newIsRtl = style.getPropertyValue('direction') === 'rtl';\n\t\t\t\tconst parentWidth = node.parentElement.getBoundingClientRect().width;\n\t\t\t\tconst newScrollbarWidth = parentWidth - width;\n\n\t\t\t\t// write to Svelte variables\n\t\t\t\t$$invalidate(46, numColumns = newNumColumns);\n\n\t\t\t\t$$invalidate(25, scrollbarWidth = newScrollbarWidth); // eslint-disable-line no-unused-vars\n\t\t\t\t$$invalidate(24, isRtl = newIsRtl); // eslint-disable-line no-unused-vars\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction checkZwjSupportAndUpdate(zwjEmojisToCheck) {\n\t\tconst rootNode = rootElement.getRootNode();\n\t\tconst emojiToDomNode = emoji => rootNode.getElementById(`emo-${emoji.id}`);\n\t\tcheckZwjSupport(zwjEmojisToCheck, baselineEmoji, emojiToDomNode);\n\n\t\t// force update\n\t\t$$invalidate(1, currentEmojis = currentEmojis); // eslint-disable-line no-self-assign\n\t}\n\n\tfunction isZwjSupported(emoji) {\n\t\treturn !emoji.unicode || !hasZwj(emoji) || supportedZwjEmojis.get(emoji.unicode);\n\t}\n\n\tasync function filterEmojisByVersion(emojis) {\n\t\tconst emojiSupportLevel = await emojiSupportLevelPromise;\n\n\t\t// !version corresponds to custom emoji\n\t\treturn emojis.filter(({ version }) => !version || version <= emojiSupportLevel);\n\t}\n\n\tasync function summarizeEmojis(emojis) {\n\t\treturn summarizeEmojisForUI(emojis, await emojiSupportLevelPromise);\n\t}\n\n\tasync function getEmojisByGroup(group) {\n\n\t\tif (typeof group === 'undefined') {\n\t\t\treturn [];\n\t\t}\n\n\t\t// -1 is custom emoji\n\t\tconst emoji = group === -1\n\t\t? customEmoji\n\t\t: await database.getEmojiByGroup(group);\n\n\t\treturn summarizeEmojis(await filterEmojisByVersion(emoji));\n\t}\n\n\tasync function getEmojisBySearchQuery(query) {\n\t\treturn summarizeEmojis(await filterEmojisByVersion(await database.getEmojiBySearchQuery(query)));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSearchKeydown(event) {\n\t\tif (!searchMode || !currentEmojis.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst goToNextOrPrevious = previous => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(5, activeSearchItem = incrementOrDecrement(previous, activeSearchItem, currentEmojis));\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn goToNextOrPrevious(false);\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn goToNextOrPrevious(true);\n\t\t\tcase 'Enter':\n\t\t\t\tif (activeSearchItem !== -1) {\n\t\t\t\t\thalt(event);\n\t\t\t\t\treturn clickEmoji(currentEmojis[activeSearchItem].id);\n\t\t\t\t} else if (currentEmojis.length) {\n\t\t\t\t\t$$invalidate(5, activeSearchItem = 0);\n\t\t\t\t}\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on nav\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavClick(group) {\n\t\t$$invalidate(2, rawSearchText = '');\n\t\t$$invalidate(44, searchText = '');\n\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t$$invalidate(11, currentGroupIndex = groups$1.findIndex(_ => _.id === group.id));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavKeydown(event) {\n\t\tconst { target, key } = event;\n\n\t\tconst doFocus = el => {\n\t\t\tif (el) {\n\t\t\t\thalt(event);\n\t\t\t\tel.focus();\n\t\t\t}\n\t\t};\n\n\t\tswitch (key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\treturn doFocus(target.previousSibling);\n\t\t\tcase 'ArrowRight':\n\t\t\t\treturn doFocus(target.nextSibling);\n\t\t\tcase 'Home':\n\t\t\t\treturn doFocus(target.parentElement.firstChild);\n\t\t\tcase 'End':\n\t\t\t\treturn doFocus(target.parentElement.lastChild);\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on an emoji\n\t//\n\tasync function clickEmoji(unicodeOrName) {\n\t\tconst emoji = await database.getEmojiByUnicodeOrName(unicodeOrName);\n\t\tconst emojiSummary = [...currentEmojis, ...currentFavorites].find(_ => _.id === unicodeOrName);\n\t\tconst skinTonedUnicode = emojiSummary.unicode && unicodeWithSkin(emojiSummary, currentSkinTone);\n\t\tawait database.incrementFavoriteEmojiCount(unicodeOrName);\n\n\t\tfireEvent('emoji-click', {\n\t\t\temoji,\n\t\t\tskinTone: currentSkinTone,\n\t\t\t...skinTonedUnicode && { unicode: skinTonedUnicode },\n\t\t\t...emojiSummary.name && { name: emojiSummary.name }\n\t\t});\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onEmojiClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!target.classList.contains('emoji')) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst id = target.id.substring(4); // replace 'emo-' or 'fav-' prefix\n\n\t\t/* no await */\n\t\tclickEmoji(id);\n\t}\n\n\t//\n\t// Handle user input on the skintone picker\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!isSkinToneOption(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst skinTone = parseInt(target.id.slice(9), 10); // remove 'skintone-' prefix\n\t\t$$invalidate(8, currentSkinTone = skinTone);\n\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\tfocus('skintone-button');\n\t\tfireEvent('skin-tone-change', { skinTone });\n\n\t\t/* no await */\n\t\tdatabase.setPreferredSkinTone(skinTone);\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onClickSkinToneButton(event) {\n\t\t$$invalidate(6, skinTonePickerExpanded = !skinTonePickerExpanded);\n\t\t$$invalidate(20, activeSkinTone = currentSkinTone);\n\n\t\tif (skinTonePickerExpanded) {\n\t\t\thalt(event);\n\t\t\trAF(() => focus(`skintone-${activeSkinTone}`));\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeydown(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst changeActiveSkinTone = async nextSkinTone => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(20, activeSkinTone = nextSkinTone);\n\t\t\tawait tick();\n\t\t\tfocus(`skintone-${activeSkinTone}`);\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(true, activeSkinTone, skinTones));\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(false, activeSkinTone, skinTones));\n\t\t\tcase 'Home':\n\t\t\t\treturn changeActiveSkinTone(0);\n\t\t\tcase 'End':\n\t\t\t\treturn changeActiveSkinTone(skinTones.length - 1);\n\t\t\tcase 'Enter':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t\tcase 'Escape':\n\t\t\t\thalt(event);\n\t\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t\t\treturn focus('skintone-button');\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeyup(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase ' ':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsFocusOut(event) {\n\t\t// On blur outside of the skintone options, collapse the skintone picker.\n\t\t// Except if focus is just moving to another skintone option, e.g. pressing up/down to change focus\n\t\tconst { relatedTarget } = event;\n\n\t\tif (!relatedTarget || !isSkinToneOption(relatedTarget)) {\n\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t}\n\t}\n\n\tfunction input_input_handler() {\n\t\trawSearchText = this.value;\n\t\t$$invalidate(2, rawSearchText);\n\t}\n\n\tfunction div3_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tskinToneDropdown = $$value;\n\t\t\t$$invalidate(7, skinToneDropdown);\n\t\t});\n\t}\n\n\tconst click_handler = group => onNavClick(group);\n\n\tfunction div10_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\ttabpanelElement = $$value;\n\t\t\t$$invalidate(3, tabpanelElement);\n\t\t});\n\t}\n\n\tfunction button1_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tbaselineEmoji = $$value;\n\t\t\t$$invalidate(17, baselineEmoji);\n\t\t});\n\t}\n\n\tfunction section_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\trootElement = $$value;\n\t\t\t$$invalidate(16, rootElement);\n\t\t});\n\t}\n\n\t$$self.$$set = $$props => {\n\t\tif ('skinToneEmoji' in $$props) $$invalidate(40, skinToneEmoji = $$props.skinToneEmoji);\n\t\tif ('i18n' in $$props) $$invalidate(0, i18n = $$props.i18n);\n\t\tif ('database' in $$props) $$invalidate(39, database = $$props.database);\n\t\tif ('customEmoji' in $$props) $$invalidate(41, customEmoji = $$props.customEmoji);\n\t\tif ('customCategorySorting' in $$props) $$invalidate(42, customCategorySorting = $$props.customCategorySorting);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[1] & /*customEmoji, database*/ 1280) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the customEmoji\n\t\t\t//\n\t\t\t{\n\t\t\t\tif (customEmoji && database) {\n\t\t\t\t\t$$invalidate(39, database.customEmoji = customEmoji, database);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n*/ 1 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the database object\n\t\t\t//\n\t\t\t{\n\t\t\t\t// show a Loading message if it takes a long time, or show an error if there's a network/IDB error\n\t\t\t\tasync function handleDatabaseLoading() {\n\t\t\t\t\tlet showingLoadingMessage = false;\n\n\t\t\t\t\tconst timeoutHandle = setTimeout(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tshowingLoadingMessage = true;\n\t\t\t\t\t\t\t$$invalidate(18, message = i18n.loadingMessage);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTIMEOUT_BEFORE_LOADING_MESSAGE\n\t\t\t\t\t);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait database.ready();\n\t\t\t\t\t\t$$invalidate(14, databaseLoaded = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t} catch(err) {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t$$invalidate(18, message = i18n.networkErrorMessage);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tclearTimeout(timeoutHandle);\n\n\t\t\t\t\t\tif (showingLoadingMessage) {\n\t\t\t\t\t\t\t// Seems safer than checking the i18n string, which may change\n\t\t\t\t\t\t\tshowingLoadingMessage = false;\n\n\t\t\t\t\t\t\t$$invalidate(18, message = ''); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (database) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\thandleDatabaseLoading();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) {\n\t\t\t{\n\t\t\t\tif (customEmoji && customEmoji.length) {\n\t\t\t\t\t$$invalidate(12, groups$1 = [customGroup, ...groups]);\n\t\t\t\t} else if (groups$1 !== groups) {\n\t\t\t\t\tif (currentGroupIndex) {\n\t\t\t\t\t\t// If the current group is anything other than \"custom\" (which is first), decrement.\n\t\t\t\t\t\t// This fixes the odd case where you set customEmoji, then pick a category, then unset customEmoji\n\t\t\t\t\t\t$$invalidate(11, currentGroupIndex--, currentGroupIndex);\n\t\t\t\t\t}\n\n\t\t\t\t\t$$invalidate(12, groups$1 = groups);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Handle user input on the search input\n\t\t\t//\n\t\t\t{\n\t\t\t\trIC(() => {\n\t\t\t\t\t$$invalidate(44, searchText = (rawSearchText || '').trim()); // defer to avoid input delays, plus we can trim here\n\t\t\t\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144) {\n\t\t\t//\n\t\t\t// Update the current group based on the currentGroupIndex\n\t\t\t//\n\t\t\t$$invalidate(13, currentGroup = groups$1[currentGroupIndex]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded, currentGroup*/ 24576 | $$self.$$.dirty[1] & /*searchText*/ 8192) {\n\t\t\t//\n\t\t\t// Set or update the currentEmojis. Check for invalid ZWJ renderings\n\t\t\t// (i.e. double emoji).\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateEmojis() {\n\n\t\t\t\t\tif (!databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(1, currentEmojis = []);\n\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t} else if (searchText.length >= MIN_SEARCH_TEXT_LENGTH) {\n\t\t\t\t\t\tconst currentSearchText = searchText;\n\t\t\t\t\t\tconst newEmojis = await getEmojisBySearchQuery(currentSearchText);\n\n\t\t\t\t\t\tif (currentSearchText === searchText) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = true);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (currentGroup) {\n\t\t\t\t\t\tconst currentGroupId = currentGroup.id;\n\t\t\t\t\t\tconst newEmojis = await getEmojisByGroup(currentGroupId);\n\n\t\t\t\t\t\tif (currentGroupId === currentGroup.id) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdateEmojis();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, searchMode*/ 4112) {\n\t\t\t//\n\t\t\t// Global styles for the entire picker\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(22, pickerStyle = `\n --font-family: ${FONT_FAMILY};\n --num-groups: ${groups$1.length}; \n --indicator-opacity: ${searchMode ? 0 : 1}; \n --num-skintones: ${NUM_SKIN_TONES};`);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the preferred skin tone\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updatePreferredSkinTone() {\n\t\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(8, currentSkinTone = await database.getPreferredSkinTone());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdatePreferredSkinTone();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[1] & /*skinToneEmoji*/ 512) {\n\t\t\t$$invalidate(9, skinTones = Array(NUM_SKIN_TONES).fill().map((_, i) => applySkinTone(skinToneEmoji, i)));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTones, currentSkinTone*/ 768) {\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(21, skinToneButtonText = skinTones[currentSkinTone]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n, currentSkinTone*/ 257) {\n\t\t\t$$invalidate(23, skinToneButtonLabel = i18n.skinToneLabel.replace('{skinTone}', i18n.skinTones[currentSkinTone]));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the favorites emojis\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateDefaultFavoriteEmojis() {\n\t\t\t\t\t$$invalidate(45, defaultFavoriteEmojis = (await Promise.all(MOST_COMMONLY_USED_EMOJI.map(unicode => database.getEmojiByUnicodeOrName(unicode)))).filter(Boolean)); // filter because in Jest tests we don't have all the emoji in the DB\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateDefaultFavoriteEmojis();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database, numColumns, defaultFavoriteEmojis*/ 49408) {\n\t\t\t{\n\t\t\t\tasync function updateFavorites() {\n\t\t\t\t\tconst dbFavorites = await database.getTopFavoriteEmoji(numColumns);\n\t\t\t\t\tconst favorites = await summarizeEmojis(uniqBy([...dbFavorites, ...defaultFavoriteEmojis], _ => _.unicode || _.name).slice(0, numColumns));\n\t\t\t\t\t$$invalidate(10, currentFavorites = favorites);\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded && defaultFavoriteEmojis) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateFavorites();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, tabpanelElement*/ 10) {\n\t\t\t// Some emojis have their ligatures rendered as two or more consecutive emojis\n\t\t\t// We want to treat these the same as unsupported emojis, so we compare their\n\t\t\t// widths against the baseline widths and remove them as necessary\n\t\t\t{\n\t\t\t\tconst zwjEmojisToCheck = currentEmojis.filter(emoji => emoji.unicode).filter(emoji => hasZwj(emoji) && !supportedZwjEmojis.has(emoji.unicode)); // filter custom emoji\n\n\t\t\t\tif (zwjEmojisToCheck.length) {\n\t\t\t\t\t// render now, check their length later\n\t\t\t\t\trAF(() => checkZwjSupportAndUpdate(zwjEmojisToCheck));\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(1, currentEmojis = currentEmojis.filter(isZwjSupported));\n\n\t\t\t\t\trAF(() => {\n\t\t\t\t\t\t// Avoid Svelte doing an invalidation on the \"setter\" here.\n\t\t\t\t\t\t// At best the invalidation is useless, at worst it can cause infinite loops:\n\t\t\t\t\t\t// https://github.com/nolanlawson/emoji-picker-element/pull/180\n\t\t\t\t\t\t// https://github.com/sveltejs/svelte/issues/6521\n\t\t\t\t\t\t// Also note tabpanelElement can be null if the element is disconnected\n\t\t\t\t\t\t// immediately after connected, hence `|| {}`\n\t\t\t\t\t\t(tabpanelElement || {}).scrollTop = 0; // reset scroll top to 0 when emojis change\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, currentFavorites*/ 1026 | $$self.$$.dirty[1] & /*initialLoad*/ 4096) {\n\t\t\t{\n\t\t\t\t// consider initialLoad to be complete when the first tabpanel and favorites are rendered\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (\"production\" !== 'production' || false) {\n\t\t\t\t\tif (currentEmojis.length && currentFavorites.length && initialLoad) {\n\t\t\t\t\t\t$$invalidate(43, initialLoad = false);\n\t\t\t\t\t\trequestPostAnimationFrame(() => (void 0));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*searchMode, currentEmojis*/ 18 | $$self.$$.dirty[1] & /*customCategorySorting*/ 2048) {\n\t\t\t//\n\t\t\t// Derive currentEmojisWithCategories from currentEmojis. This is always done even if there\n\t\t\t// are no categories, because it's just easier to code the HTML this way.\n\t\t\t//\n\t\t\t{\n\t\t\t\tfunction calculateCurrentEmojisWithCategories() {\n\t\t\t\t\tif (searchMode) {\n\t\t\t\t\t\treturn [{ category: '', emojis: currentEmojis }];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst categoriesToEmoji = new Map();\n\n\t\t\t\t\tfor (const emoji of currentEmojis) {\n\t\t\t\t\t\tconst category = emoji.category || '';\n\t\t\t\t\t\tlet emojis = categoriesToEmoji.get(category);\n\n\t\t\t\t\t\tif (!emojis) {\n\t\t\t\t\t\t\temojis = [];\n\t\t\t\t\t\t\tcategoriesToEmoji.set(category, emojis);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\temojis.push(emoji);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [...categoriesToEmoji.entries()].map(([category, emojis]) => ({ category, emojis })).sort((a, b) => customCategorySorting(a.category, b.category));\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\t$$invalidate(15, currentEmojisWithCategories = calculateCurrentEmojisWithCategories());\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*activeSearchItem, currentEmojis*/ 34) {\n\t\t\t//\n\t\t\t// Handle active search item (i.e. pressing up or down while searching)\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(26, activeSearchItemId = activeSearchItem !== -1 && currentEmojis[activeSearchItem].id);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTonePickerExpanded, skinToneDropdown*/ 192) {\n\t\t\t// To make the animation nicer, change the z-index of the skintone picker button\n\t\t\t// *after* the animation has played. This makes it appear that the picker box\n\t\t\t// is expanding \"below\" the button\n\t\t\t{\n\t\t\t\tif (skinTonePickerExpanded) {\n\t\t\t\t\tskinToneDropdown.addEventListener(\n\t\t\t\t\t\t'transitionend',\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ once: true }\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = false); // eslint-disable-line no-unused-vars\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\ti18n,\n\t\tcurrentEmojis,\n\t\trawSearchText,\n\t\ttabpanelElement,\n\t\tsearchMode,\n\t\tactiveSearchItem,\n\t\tskinTonePickerExpanded,\n\t\tskinToneDropdown,\n\t\tcurrentSkinTone,\n\t\tskinTones,\n\t\tcurrentFavorites,\n\t\tcurrentGroupIndex,\n\t\tgroups$1,\n\t\tcurrentGroup,\n\t\tdatabaseLoaded,\n\t\tcurrentEmojisWithCategories,\n\t\trootElement,\n\t\tbaselineEmoji,\n\t\tmessage,\n\t\tskinTonePickerExpandedAfterAnimation,\n\t\tactiveSkinTone,\n\t\tskinToneButtonText,\n\t\tpickerStyle,\n\t\tskinToneButtonLabel,\n\t\tisRtl,\n\t\tscrollbarWidth,\n\t\tactiveSearchItemId,\n\t\tunicodeWithSkin,\n\t\tlabelWithSkin,\n\t\tcalculateEmojiGridStyle,\n\t\tonSearchKeydown,\n\t\tonNavClick,\n\t\tonNavKeydown,\n\t\tonEmojiClick,\n\t\tonSkinToneOptionsClick,\n\t\tonClickSkinToneButton,\n\t\tonSkinToneOptionsKeydown,\n\t\tonSkinToneOptionsKeyup,\n\t\tonSkinToneOptionsFocusOut,\n\t\tdatabase,\n\t\tskinToneEmoji,\n\t\tcustomEmoji,\n\t\tcustomCategorySorting,\n\t\tinitialLoad,\n\t\tsearchText,\n\t\tdefaultFavoriteEmojis,\n\t\tnumColumns,\n\t\tinput_input_handler,\n\t\tdiv3_binding,\n\t\tclick_handler,\n\t\tdiv10_binding,\n\t\tbutton1_binding,\n\t\tsection_binding\n\t];\n}\n\nclass Picker extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\n\t\tinit(\n\t\t\tthis,\n\t\t\toptions,\n\t\t\tinstance,\n\t\t\tcreate_fragment,\n\t\t\tsafe_not_equal,\n\t\t\t{\n\t\t\t\tskinToneEmoji: 40,\n\t\t\t\ti18n: 0,\n\t\t\t\tdatabase: 39,\n\t\t\t\tcustomEmoji: 41,\n\t\t\t\tcustomCategorySorting: 42\n\t\t\t},\n\t\t\tnull,\n\t\t\t[-1, -1, -1]\n\t\t);\n\t}\n}\n\nconst DEFAULT_DATA_SOURCE = 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json';\nconst DEFAULT_LOCALE = 'en';\n\nvar enI18n = {\n categoriesLabel: 'Categories',\n emojiUnsupportedMessage: 'Your browser does not support color emoji.',\n favoritesLabel: 'Favorites',\n loadingMessage: 'Loading…',\n networkErrorMessage: 'Could not load emoji.',\n regionLabel: 'Emoji picker',\n searchDescription: 'When search results are available, press up or down to select and enter to choose.',\n searchLabel: 'Search',\n searchResultsLabel: 'Search results',\n skinToneDescription: 'When expanded, press up or down to select and enter to choose.',\n skinToneLabel: 'Choose a skin tone (currently {skinTone})',\n skinTonesLabel: 'Skin tones',\n skinTones: [\n 'Default',\n 'Light',\n 'Medium-Light',\n 'Medium',\n 'Medium-Dark',\n 'Dark'\n ],\n categories: {\n custom: 'Custom',\n 'smileys-emotion': 'Smileys and emoticons',\n 'people-body': 'People and body',\n 'animals-nature': 'Animals and nature',\n 'food-drink': 'Food and drink',\n 'travel-places': 'Travel and places',\n activities: 'Activities',\n objects: 'Objects',\n symbols: 'Symbols',\n flags: 'Flags'\n }\n};\n\nconst PROPS = [\n 'customEmoji',\n 'customCategorySorting',\n 'database',\n 'dataSource',\n 'i18n',\n 'locale',\n 'skinToneEmoji'\n];\n\nclass PickerElement extends HTMLElement {\n constructor (props) {\n super();\n this.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = \":host{--emoji-size:1.375rem;--emoji-padding:0.5rem;--category-emoji-size:var(--emoji-size);--category-emoji-padding:var(--emoji-padding);--indicator-height:3px;--input-border-radius:0.5rem;--input-border-size:1px;--input-font-size:1rem;--input-line-height:1.5;--input-padding:0.25rem;--num-columns:8;--outline-size:2px;--border-size:1px;--skintone-border-radius:1rem;--category-font-size:1rem;display:flex;width:min-content;height:400px}:host,:host(.light){--background:#fff;--border-color:#e0e0e0;--indicator-color:#385ac1;--input-border-color:#999;--input-font-color:#111;--input-placeholder-color:#999;--outline-color:#999;--category-font-color:#111;--button-active-background:#e6e6e6;--button-hover-background:#d9d9d9}:host(.dark){--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}@media (prefers-color-scheme:dark){:host{--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}}:host([hidden]){display:none}button{margin:0;padding:0;border:0;background:0 0;box-shadow:none;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0}input{padding:0;margin:0;line-height:1.15;font-family:inherit}input[type=search]{-webkit-appearance:none}:focus{outline:var(--outline-color) solid var(--outline-size);outline-offset:calc(-1*var(--outline-size))}:host([data-js-focus-visible]) :focus:not([data-focus-visible-added]){outline:0}:focus:not(:focus-visible){outline:0}.hide-focus{outline:0}*{box-sizing:border-box}.picker{contain:content;display:flex;flex-direction:column;background:var(--background);border:var(--border-size) solid var(--border-color);width:100%;height:100%;overflow:hidden;--total-emoji-size:calc(var(--emoji-size) + (2 * var(--emoji-padding)));--total-category-emoji-size:calc(var(--category-emoji-size) + (2 * var(--category-emoji-padding)))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{opacity:0;pointer-events:none}.abs-pos{position:absolute;left:0;top:0}.gone{display:none!important}.skintone-button-wrapper,.skintone-list{background:var(--background);z-index:3}.skintone-button-wrapper.expanded{z-index:1}.skintone-list{position:absolute;inset-inline-end:0;top:0;z-index:2;overflow:visible;border-bottom:var(--border-size) solid var(--border-color);border-radius:0 0 var(--skintone-border-radius) var(--skintone-border-radius);will-change:transform;transition:transform .2s ease-in-out;transform-origin:center 0}@media (prefers-reduced-motion:reduce){.skintone-list{transition-duration:.001s}}@supports not (inset-inline-end:0){.skintone-list{right:0}}.skintone-list.no-animate{transition:none}.tabpanel{overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:transform;min-height:0;flex:1;contain:content}.emoji-menu{display:grid;grid-template-columns:repeat(var(--num-columns),var(--total-emoji-size));justify-content:space-around;align-items:flex-start;width:100%}.category{padding:var(--emoji-padding);font-size:var(--category-font-size);color:var(--category-font-color)}.custom-emoji,.emoji,button.emoji{height:var(--total-emoji-size);width:var(--total-emoji-size)}.emoji,button.emoji{font-size:var(--emoji-size);display:flex;align-items:center;justify-content:center;border-radius:100%;line-height:1;overflow:hidden;font-family:var(--font-family);cursor:pointer}@media (hover:hover) and (pointer:fine){.emoji:hover,button.emoji:hover{background:var(--button-hover-background)}}.emoji.active,.emoji:active,button.emoji.active,button.emoji:active{background:var(--button-active-background)}.custom-emoji{padding:var(--emoji-padding);object-fit:contain;pointer-events:none;background-repeat:no-repeat;background-position:center center;background-size:var(--emoji-size) var(--emoji-size)}.nav,.nav-button{align-items:center}.nav{display:grid;justify-content:space-between;contain:content}.nav-button{display:flex;justify-content:center}.nav-emoji{font-size:var(--category-emoji-size);width:var(--total-category-emoji-size);height:var(--total-category-emoji-size)}.indicator-wrapper{display:flex;border-bottom:1px solid var(--border-color)}.indicator{width:calc(100%/var(--num-groups));height:var(--indicator-height);opacity:var(--indicator-opacity);background-color:var(--indicator-color);will-change:transform,opacity;transition:opacity .1s linear,transform .25s ease-in-out}@media (prefers-reduced-motion:reduce){.indicator{will-change:opacity;transition:opacity .1s linear}}.pad-top,input.search{background:var(--background);width:100%}.pad-top{height:var(--emoji-padding);z-index:3}.search-row{display:flex;align-items:center;position:relative;padding-inline-start:var(--emoji-padding);padding-bottom:var(--emoji-padding)}.search-wrapper{flex:1;min-width:0}input.search{padding:var(--input-padding);border-radius:var(--input-border-radius);border:var(--input-border-size) solid var(--input-border-color);color:var(--input-font-color);font-size:var(--input-font-size);line-height:var(--input-line-height)}input.search::placeholder{color:var(--input-placeholder-color)}.favorites{display:flex;flex-direction:row;border-top:var(--border-size) solid var(--border-color);contain:content}.message{padding:var(--emoji-padding)}\";\n this.shadowRoot.appendChild(style);\n this._ctx = {\n // Set defaults\n locale: DEFAULT_LOCALE,\n dataSource: DEFAULT_DATA_SOURCE,\n skinToneEmoji: DEFAULT_SKIN_TONE_EMOJI,\n customCategorySorting: DEFAULT_CATEGORY_SORTING,\n customEmoji: null,\n i18n: enI18n,\n ...props\n };\n // Handle properties set before the element was upgraded\n for (const prop of PROPS) {\n if (prop !== 'database' && Object.prototype.hasOwnProperty.call(this, prop)) {\n this._ctx[prop] = this[prop];\n delete this[prop];\n }\n }\n this._dbFlush(); // wait for a flush before creating the db, in case the user calls e.g. a setter or setAttribute\n }\n\n connectedCallback () {\n this._cmp = new Picker({\n target: this.shadowRoot,\n props: this._ctx\n });\n }\n\n disconnectedCallback () {\n this._cmp.$destroy();\n this._cmp = undefined;\n\n const { database } = this._ctx;\n if (database) {\n database.close()\n // only happens if the database failed to load in the first place, so we don't care)\n .catch(err => console.error(err));\n }\n }\n\n static get observedAttributes () {\n return ['locale', 'data-source', 'skin-tone-emoji'] // complex objects aren't supported, also use kebab-case\n }\n\n attributeChangedCallback (attrName, oldValue, newValue) {\n // convert from kebab-case to camelcase\n // see https://github.com/sveltejs/svelte/issues/3852#issuecomment-665037015\n this._set(\n attrName.replace(/-([a-z])/g, (_, up) => up.toUpperCase()),\n newValue\n );\n }\n\n _set (prop, newValue) {\n this._ctx[prop] = newValue;\n if (this._cmp) {\n this._cmp.$set({ [prop]: newValue });\n }\n if (['locale', 'dataSource'].includes(prop)) {\n this._dbFlush();\n }\n }\n\n _dbCreate () {\n const { locale, dataSource, database } = this._ctx;\n // only create a new database if we really need to\n if (!database || database.locale !== locale || database.dataSource !== dataSource) {\n this._set('database', new Database({ locale, dataSource }));\n }\n }\n\n // Update the Database in one microtask if the locale/dataSource change. We do one microtask\n // so we don't create two Databases if e.g. both the locale and the dataSource change\n _dbFlush () {\n Promise.resolve().then(() => (\n this._dbCreate()\n ));\n }\n}\n\nconst definitions = {};\n\nfor (const prop of PROPS) {\n definitions[prop] = {\n get () {\n if (prop === 'database') {\n // in rare cases, the microtask may not be flushed yet, so we need to instantiate the DB\n // now if the user is asking for it\n this._dbCreate();\n }\n return this._ctx[prop]\n },\n set (val) {\n if (prop === 'database') {\n throw new Error('database is read-only')\n }\n this._set(prop, val);\n }\n };\n}\n\nObject.defineProperties(PickerElement.prototype, definitions);\n\n/* istanbul ignore else */\nif (!customElements.get('emoji-picker')) { // if already defined, do nothing (e.g. same script imported twice)\n customElements.define('emoji-picker', PickerElement);\n}\n\nexport { PickerElement as default };\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=2c0ab9be&\"\nimport script from \"./Loader.vue?vue&type=script&lang=js&\"\nexport * from \"./Loader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{\n\t\t'vac-box-search': _vm.showSearchBar,\n\t\t'vac-box-empty': !_vm.showSearchBar\n\t}},[(_vm.showSearch)?[(!_vm.loadingRooms && _vm.rooms.length)?_c('div',{staticClass:\"vac-icon-search\"},[_vm._t(\"search-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"search\"}})]})],2):_vm._e(),(!_vm.loadingRooms && _vm.rooms.length)?_c('input',{staticClass:\"vac-input\",attrs:{\"type\":\"search\",\"placeholder\":_vm.textMessages.SEARCH,\"autocomplete\":\"off\"},on:{\"input\":function($event){return _vm.$emit('search-room', $event)}}}):_vm._e()]:_vm._e(),(_vm.showAddRoom)?_c('div',{staticClass:\"vac-svg-button vac-add-icon\",on:{\"click\":function($event){return _vm.$emit('add-room')}}},[_vm._t(\"add-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"add\"}})]})],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"version\":\"1.1\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":(\"0 0 \" + _vm.size + \" \" + _vm.size)}},[_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path}}),(_vm.svgItem[_vm.name].path2)?_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path2}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SvgIcon.vue?vue&type=template&id=e01c0bf4&\"\nimport script from \"./SvgIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsSearch.vue?vue&type=template&id=1fc42a9b&\"\nimport script from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-container\"},[_vm._t(\"room-list-item\",function(){return [_vm._t(\"room-list-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_c('div',{staticClass:\"vac-name-container vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-title-container\"},[(_vm.userStatus)?_c('div',{staticClass:\"vac-state-circle\",class:{ 'vac-state-online': _vm.userStatus === 'online' }}):_vm._e(),_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.room.lastMessage)?_c('div',{staticClass:\"vac-text-date\"},[_vm._v(\" \"+_vm._s(_vm.room.lastMessage.timestamp)+\" \")]):_vm._e()]),_c('div',{staticClass:\"vac-text-last\",class:{\n\t\t\t\t\t'vac-message-new':\n\t\t\t\t\t\t_vm.room.lastMessage && _vm.room.lastMessage.new && !_vm.typingUsers\n\t\t\t\t}},[(_vm.isMessageCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.room.lastMessage.distributed\n\t\t\t\t\t\t\t\t\t? 'double-checkmark'\n\t\t\t\t\t\t\t\t\t: 'checkmark',\"param\":_vm.room.lastMessage.seen ? 'seen' : ''}})]},null,{ message: _vm.room.lastMessage })],2):_vm._e(),(_vm.room.lastMessage && !_vm.room.lastMessage.deleted && _vm.isAudio)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]}),_vm._v(\" \"+_vm._s(_vm.formattedDuration)+\" \")],2):(_vm.room.lastMessage)?_c('format-message',{attrs:{\"content\":_vm.getLastMessage,\"deleted\":!!_vm.room.lastMessage.deleted && !_vm.typingUsers,\"users\":_vm.room.users,\"linkify\":false,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"single-line\":true},scopedSlots:_vm._u([{key:\"deleted-icon\",fn:function(data){return [_vm._t(\"deleted-icon\",null,null,data)]}}],null,true)}):_vm._e(),(!_vm.room.lastMessage && _vm.typingUsers)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_vm._e(),_c('div',{staticClass:\"vac-room-options-container\"},[(_vm.room.unreadCount)?_c('div',{staticClass:\"vac-badge-counter vac-room-badge\"},[_vm._v(\" \"+_vm._s(_vm.room.unreadCount)+\" \")]):_vm._e(),_vm._t(\"room-list-options\",function(){return [(_vm.roomActions.length)?_c('div',{staticClass:\"vac-svg-button vac-list-room-options\",on:{\"click\":function($event){$event.stopPropagation();_vm.roomMenuOpened = _vm.room.roomId}}},[_vm._t(\"room-list-options-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"room\"}})]})],2):_vm._e(),(_vm.roomActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.roomMenuOpened === _vm.room.roomId)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeRoomMenu),expression:\"closeRoomMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.roomActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.roomActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]},null,{ room: _vm.room })],2)],1)])]},null,{ room: _vm.room })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-format-message-wrapper\",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:\"vac-format-container\"},[_c(message.url ? 'a' : 'span',{tag:\"component\",class:{\n\t\t\t\t\t'vac-text-ellipsis': _vm.singleLine,\n\t\t\t\t\t'vac-text-bold': message.bold,\n\t\t\t\t\t'vac-text-italic': _vm.deleted || message.italic,\n\t\t\t\t\t'vac-text-strike': message.strike,\n\t\t\t\t\t'vac-text-underline': message.underline,\n\t\t\t\t\t'vac-text-inline-code': !_vm.singleLine && message.inline,\n\t\t\t\t\t'vac-text-multiline-code': !_vm.singleLine && message.multiline,\n\t\t\t\t\t'vac-text-tag': !_vm.singleLine && !_vm.reply && message.tag\n\t\t\t\t},attrs:{\"href\":message.href,\"target\":message.href ? _vm.linkOptions.target : null,\"rel\":message.href ? _vm.linkOptions.rel : null},on:{\"click\":function($event){return _vm.openTag(message)}}},[_vm._t(\"deleted-icon\",function(){return [(_vm.deleted)?_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}}):_vm._e()]},null,{ deleted: _vm.deleted }),(message.url && message.image)?[_c('div',{staticClass:\"vac-image-link-container\"},[_c('div',{staticClass:\"vac-image-link\",style:({\n\t\t\t\t\t\t\t\t'background-image': (\"url('\" + (message.value) + \"')\"),\n\t\t\t\t\t\t\t\theight: message.height\n\t\t\t\t\t\t\t})})]),_c('div',{staticClass:\"vac-image-link-message\"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',{domProps:{\"innerHTML\":_vm._s(message.value)}},[_vm._v(\" \"+_vm._s(message.value)+\" \")])]],2)],1)}),0):_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.formattedContent)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","const linkify = require('linkifyjs')\n// require('linkifyjs/plugins/hashtag')(linkify)\n\nexport default (text, doLinkify, textFormatting) => {\n\tconst typeMarkdown = {\n\t\tbold: textFormatting.bold,\n\t\titalic: textFormatting.italic,\n\t\tstrike: textFormatting.strike,\n\t\tunderline: textFormatting.underline,\n\t\tmultilineCode: textFormatting.multilineCode,\n\t\tinlineCode: textFormatting.inlineCode\n\t}\n\n\tconst pseudoMarkdown = {\n\t\t[typeMarkdown.bold]: {\n\t\t\tend: '\\\\' + typeMarkdown.bold,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'bold'\n\t\t},\n\t\t[typeMarkdown.italic]: {\n\t\t\tend: typeMarkdown.italic,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'italic'\n\t\t},\n\t\t[typeMarkdown.strike]: {\n\t\t\tend: typeMarkdown.strike,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'strike'\n\t\t},\n\t\t[typeMarkdown.underline]: {\n\t\t\tend: typeMarkdown.underline,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'underline'\n\t\t},\n\t\t[typeMarkdown.multilineCode]: {\n\t\t\tend: typeMarkdown.multilineCode,\n\t\t\tallowed_chars: '(.|\\n)',\n\t\t\ttype: 'multiline-code'\n\t\t},\n\t\t[typeMarkdown.inlineCode]: {\n\t\t\tend: typeMarkdown.inlineCode,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'inline-code'\n\t\t},\n\t\t'': {\n\t\t\tallowed_chars: '.',\n\t\t\tend: '',\n\t\t\ttype: 'tag'\n\t\t}\n\t}\n\n\tconst json = compileToJSON(text, pseudoMarkdown)\n\n\tconst html = compileToHTML(json, pseudoMarkdown)\n\n\tconst result = [].concat.apply([], html)\n\n\tif (doLinkify) linkifyResult(result)\n\n\treturn result\n}\n\nfunction compileToJSON(str, pseudoMarkdown) {\n\tlet result = []\n\tlet minIndexOf = -1\n\tlet minIndexOfKey = null\n\n\tlet links = linkify.find(str)\n\tlet minIndexFromLink = false\n\n\tif (links.length > 0) {\n\t\tminIndexOf = str.indexOf(links[0].value)\n\t\tminIndexFromLink = true\n\t}\n\n\tObject.keys(pseudoMarkdown).forEach(startingValue => {\n\t\tconst io = str.indexOf(startingValue)\n\t\tif (io >= 0 && (minIndexOf < 0 || io < minIndexOf)) {\n\t\t\tminIndexOf = io\n\t\t\tminIndexOfKey = startingValue\n\t\t\tminIndexFromLink = false\n\t\t}\n\t})\n\n\tif (minIndexFromLink && minIndexOfKey !== -1) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tlet strLink = str.substr(minIndexOf, links[0].value.length)\n\t\tlet strRight = str.substr(minIndexOf + links[0].value.length)\n\t\tresult.push(strLeft)\n\t\tresult.push(strLink)\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t}\n\n\tif (minIndexOfKey) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tconst char = minIndexOfKey\n\t\tlet strRight = str.substr(minIndexOf + char.length)\n\n\t\tif (str.replace(/\\s/g, '').length === char.length * 2) {\n\t\t\treturn [str]\n\t\t}\n\n\t\tconst match = strRight.match(\n\t\t\tnew RegExp(\n\t\t\t\t'^(' +\n\t\t\t\t\t(pseudoMarkdown[char].allowed_chars || '.') +\n\t\t\t\t\t'*' +\n\t\t\t\t\t(pseudoMarkdown[char].end ? '?' : '') +\n\t\t\t\t\t')' +\n\t\t\t\t\t(pseudoMarkdown[char].end\n\t\t\t\t\t\t? '(' + pseudoMarkdown[char].end + ')'\n\t\t\t\t\t\t: ''),\n\t\t\t\t'm'\n\t\t\t)\n\t\t)\n\t\tif (!match || !match[1]) {\n\t\t\tstrLeft = strLeft + char\n\t\t\tresult.push(strLeft)\n\t\t} else {\n\t\t\tif (strLeft) {\n\t\t\t\tresult.push(strLeft)\n\t\t\t}\n\t\t\tconst object = {\n\t\t\t\tstart: char,\n\t\t\t\tcontent: compileToJSON(match[1], pseudoMarkdown),\n\t\t\t\tend: match[2],\n\t\t\t\ttype: pseudoMarkdown[char].type\n\t\t\t}\n\t\t\tresult.push(object)\n\t\t\tstrRight = strRight.substr(match[0].length)\n\t\t}\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t} else {\n\t\tif (str) {\n\t\t\treturn [str]\n\t\t} else {\n\t\t\treturn []\n\t\t}\n\t}\n}\n\nfunction compileToHTML(json, pseudoMarkdown) {\n\tconst result = []\n\n\tjson.forEach(item => {\n\t\tif (typeof item === 'string') {\n\t\t\tresult.push({ types: [], value: item })\n\t\t} else {\n\t\t\tif (pseudoMarkdown[item.start]) {\n\t\t\t\tresult.push(parseContent(item))\n\t\t\t}\n\t\t}\n\t})\n\n\treturn result\n}\n\nfunction parseContent(item) {\n\tconst result = []\n\titerateContent(item, result, [])\n\treturn result\n}\n\nfunction iterateContent(item, result, types) {\n\titem.content.forEach(it => {\n\t\tif (typeof it === 'string') {\n\t\t\tresult.push({\n\t\t\t\ttypes: removeDuplicates(types.concat([item.type])),\n\t\t\t\tvalue: it\n\t\t\t})\n\t\t} else {\n\t\t\titerateContent(\n\t\t\t\tit,\n\t\t\t\tresult,\n\t\t\t\tremoveDuplicates([it.type].concat([item.type]).concat(types))\n\t\t\t)\n\t\t}\n\t})\n}\n\nfunction removeDuplicates(items) {\n\treturn [...new Set(items)]\n}\n\nfunction linkifyResult(array) {\n\tconst result = []\n\n\tarray.forEach(arr => {\n\t\tconst links = linkify.find(arr.value)\n\n\t\tif (links.length) {\n\t\t\tconst spaces = arr.value.replace(links[0].value, '')\n\t\t\tresult.push({ types: arr.types, value: spaces })\n\n\t\t\tarr.types = ['url'].concat(arr.types)\n\t\t\tarr.href = links[0].href\n\t\t\tarr.value = links[0].value\n\t\t}\n\n\t\tresult.push(arr)\n\t})\n\n\treturn result\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormatMessage.vue?vue&type=template&id=3a015d3f&\"\nimport script from \"./FormatMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./FormatMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (room, currentUserId, textMessages) => {\n\tif (room.typingUsers && room.typingUsers.length) {\n\t\tconst typingUsers = room.users.filter(user => {\n\t\t\tif (user._id === currentUserId) return\n\t\t\tif (room.typingUsers.indexOf(user._id) === -1) return\n\t\t\tif (user.status && user.status.state === 'offline') return\n\t\t\treturn true\n\t\t})\n\n\t\tif (!typingUsers.length) return\n\n\t\tif (room.users.length === 2) {\n\t\t\treturn textMessages.IS_TYPING\n\t\t} else {\n\t\t\treturn (\n\t\t\t\ttypingUsers.map(user => user.username).join(', ') +\n\t\t\t\t' ' +\n\t\t\t\ttextMessages.IS_TYPING\n\t\t\t)\n\t\t}\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomContent.vue?vue&type=template&id=6888cbad&\"\nimport script from \"./RoomContent.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (items, prop, val, startsWith = false) => {\n\tif (!val || val === '') return items\n\n\treturn items.filter(v => {\n\t\tif (startsWith) return formatString(v[prop]).startsWith(formatString(val))\n\t\treturn formatString(v[prop]).includes(formatString(val))\n\t})\n}\n\nfunction formatString(string) {\n\treturn string\n\t\t.toLowerCase()\n\t\t.normalize('NFD')\n\t\t.replace(/[\\u0300-\\u036f]/g, '')\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsList.vue?vue&type=template&id=e9cbf0d4&\"\nimport script from \"./RoomsList.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isMobile && !_vm.showRoomsList) || !_vm.isMobile || _vm.singleRoom),expression:\"(isMobile && !showRoomsList) || !isMobile || singleRoom\"}],staticClass:\"vac-col-messages\",on:{\"touchstart\":_vm.touchStart}},[(_vm.showNoRoom)?_vm._t(\"no-room-selected\",function(){return [_c('div',{staticClass:\"vac-container-center vac-room-empty\"},[_c('div',[_vm._v(_vm._s(_vm.textMessages.ROOM_EMPTY))])])]}):_c('room-header',{attrs:{\"current-user-id\":_vm.currentUserId,\"text-messages\":_vm.textMessages,\"single-room\":_vm.singleRoom,\"show-rooms-list\":_vm.showRoomsList,\"is-mobile\":_vm.isMobile,\"room-info-enabled\":_vm.roomInfoEnabled,\"menu-actions\":_vm.menuActions,\"room\":_vm.room,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"message-selection-actions\":_vm.messageSelectionActions,\"selected-messages-total\":_vm.selectedMessages.length},on:{\"toggle-rooms-list\":function($event){return _vm.$emit('toggle-rooms-list')},\"room-info\":function($event){return _vm.$emit('room-info')},\"menu-action-handler\":function($event){return _vm.$emit('menu-action-handler', $event)},\"message-selection-action-handler\":_vm.messageSelectionActionHandler,\"cancel-message-selection\":function($event){_vm.messageSelectionEnabled = false}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{ref:\"scrollContainer\",staticClass:\"vac-container-scroll\",attrs:{\"id\":\"messages-list\"},on:{\"scroll\":_vm.onContainerScroll}},[_c('loader',{attrs:{\"show\":_vm.loadingMessages},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-messages-container\"},[_c('div',{class:{ 'vac-messages-hidden': _vm.loadingMessages }},[_c('transition',{attrs:{\"name\":\"vac-fade-message\"}},[_c('div',[(_vm.showNoMessages)?_c('div',{staticClass:\"vac-text-started\"},[_vm._t(\"messages-empty\",function(){return [_vm._v(\" \"+_vm._s(_vm.textMessages.MESSAGES_EMPTY)+\" \")]})],2):_vm._e(),(_vm.showMessagesStarted)?_c('div',{staticClass:\"vac-text-started\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.CONVERSATION_STARTED)+\" \"+_vm._s(_vm.messages[0].date)+\" \")]):_vm._e()])]),(_vm.messages.length && !_vm.messagesLoaded)?_c('div',{attrs:{\"id\":\"infinite-loader-messages\"}},[_c('loader',{attrs:{\"show\":true,\"infinite\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e(),_c('transition-group',{key:_vm.roomId,attrs:{\"name\":\"vac-fade-message\",\"tag\":\"span\"}},_vm._l((_vm.messages),function(m,i){return _c('div',{key:m.indexId || m._id},[_c('room-message',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":m,\"index\":i,\"messages\":_vm.messages,\"edited-message-id\":_vm.editedMessageId,\"message-actions\":_vm.messageActions,\"room-users\":_vm.room.users,\"text-messages\":_vm.textMessages,\"new-messages\":_vm.newMessages,\"show-reaction-emojis\":_vm.showReactionEmojis,\"show-new-messages-divider\":_vm.showNewMessagesDivider,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"username-options\":_vm.usernameOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"selected-messages\":_vm.selectedMessages},on:{\"message-added\":_vm.onMessageAdded,\"message-action-handler\":_vm.messageActionHandler,\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag,\"open-failed-message\":function($event){return _vm.$emit('open-failed-message', $event)},\"send-message-reaction\":_vm.sendMessageReaction,\"select-message\":_vm.selectMessage,\"unselect-message\":_vm.unselectMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),0)],1)])],1),(!_vm.loadingMessages)?_c('div',[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollIcon)?_c('div',{staticClass:\"vac-icon-scroll\",on:{\"click\":_vm.scrollToBottom}},[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollMessagesCount)?_c('div',{staticClass:\"vac-badge-counter vac-messages-count\"},[_vm._v(\" \"+_vm._s(_vm.scrollMessagesCount)+\" \")]):_vm._e()]),_vm._t(\"scroll-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"scroll\"}})]})],2):_vm._e()])],1):_vm._e(),_c('room-footer',{attrs:{\"room\":_vm.room,\"room-id\":_vm.roomId,\"room-message\":_vm.roomMessage,\"text-messages\":_vm.textMessages,\"show-send-icon\":_vm.showSendIcon,\"show-files\":_vm.showFiles,\"show-audio\":_vm.showAudio,\"show-emojis\":_vm.showEmojis,\"show-footer\":_vm.showFooter,\"accepted-files\":_vm.acceptedFiles,\"textarea-action-enabled\":_vm.textareaActionEnabled,\"user-tags-enabled\":_vm.userTagsEnabled,\"emojis-suggestion-enabled\":_vm.emojisSuggestionEnabled,\"templates-text\":_vm.templatesText,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"audio-bit-rate\":_vm.audioBitRate,\"audio-sample-rate\":_vm.audioSampleRate,\"init-reply-message\":_vm.initReplyMessage,\"init-edit-message\":_vm.initEditMessage},on:{\"update-edited-message-id\":function($event){_vm.editedMessageId = $event},\"edit-message\":function($event){return _vm.$emit('edit-message', $event)},\"send-message\":function($event){return _vm.$emit('send-message', $event)},\"typing-message\":function($event){return _vm.$emit('typing-message', $event)},\"textarea-action-handler\":function($event){return _vm.$emit('textarea-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-header vac-app-border-b\"},[_vm._t(\"room-header\",function(){return [_c('div',{staticClass:\"vac-room-wrapper\"},[_c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageSelectionEnabled)?_c('div',{staticClass:\"vac-room-selection\"},[_vm._l((_vm.messageSelectionActions),function(action){return _c('div',{key:action.name,attrs:{\"id\":action.name}},[_c('div',{staticClass:\"vac-selection-button\",on:{\"click\":function($event){return _vm.messageSelectionActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \"),_c('span',{staticClass:\"vac-selection-button-count\"},[_vm._v(\" \"+_vm._s(_vm.selectedMessagesTotal)+\" \")])])])}),_c('div',{staticClass:\"vac-selection-cancel vac-item-clickable\",on:{\"click\":function($event){return _vm.$emit('cancel-message-selection')}}},[_vm._v(\" \"+_vm._s(_vm.textMessages.CANCEL_SELECT_MESSAGE)+\" \")])],2):_vm._e()]),(!_vm.messageSelectionEnabled && _vm.messageSelectionAnimationEnded)?[(!_vm.singleRoom)?_c('div',{staticClass:\"vac-svg-button vac-toggle-button\",class:{ 'vac-rotate-icon-init': !_vm.isMobile, 'vac-rotate-icon': !_vm.showRoomsList && !_vm.isMobile },on:{\"click\":function($event){return _vm.$emit('toggle-rooms-list')}}},[_vm._t(\"toggle-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"toggle\"}})]})],2):_vm._e(),_c('div',{staticClass:\"vac-info-wrapper\",class:{ 'vac-item-clickable': _vm.roomInfoEnabled },on:{\"click\":function($event){return _vm.$emit('room-info')}}},[_vm._t(\"room-header-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_vm._t(\"room-header-info\",function(){return [_c('div',{staticClass:\"vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.typingUsers)?_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.userStatus)+\" \")])])]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2),(_vm.room.roomId)?_vm._t(\"room-options\",function(){return [(_vm.menuActions.length)?_c('div',{staticClass:\"vac-svg-button vac-room-options\",on:{\"click\":function($event){_vm.menuOpened = !_vm.menuOpened}}},[_vm._t(\"menu-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"menu\"}})]})],2):_vm._e(),(_vm.menuActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.menuOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.menuActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.menuActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]}):_vm._e()]:_vm._e()],2)]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\t\t\t\n\t\t\n\t\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomHeader.vue?vue&type=template&id=938fbc28&\"\nimport script from \"./RoomHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(Object.keys(_vm.room).length && _vm.showFooter),expression:\"Object.keys(room).length && showFooter\"}],staticClass:\"vac-room-footer\",class:{\n\t\t'vac-app-box-shadow': _vm.shadowFooter\n\t},attrs:{\"id\":\"room-footer\"}},[_c('room-emojis',{attrs:{\"filtered-emojis\":_vm.filteredEmojis,\"select-item\":_vm.selectEmojiItem,\"active-up-or-down\":_vm.activeUpOrDownEmojis},on:{\"select-emoji\":function($event){return _vm.selectEmoji($event)},\"activate-item\":function($event){_vm.activeUpOrDownEmojis = 0}}}),_c('room-users-tag',{attrs:{\"filtered-users-tag\":_vm.filteredUsersTag,\"select-item\":_vm.selectUsersTagItem,\"active-up-or-down\":_vm.activeUpOrDownUsersTag},on:{\"select-user-tag\":function($event){return _vm.selectUserTag($event)},\"activate-item\":function($event){_vm.activeUpOrDownUsersTag = 0}}}),_c('room-templates-text',{attrs:{\"filtered-templates-text\":_vm.filteredTemplatesText,\"select-item\":_vm.selectTemplatesTextItem,\"active-up-or-down\":_vm.activeUpOrDownTemplatesText},on:{\"select-template-text\":function($event){return _vm.selectTemplateText($event)},\"activate-item\":function($event){_vm.activeUpOrDownTemplatesText = 0}}}),_c('room-message-reply',{attrs:{\"room\":_vm.room,\"message-reply\":_vm.messageReply,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('room-files',{attrs:{\"files\":_vm.files},on:{\"remove-file\":_vm.removeFile,\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-box-footer\",class:{ 'vac-box-footer-border': !_vm.files.length }},[(_vm.showAudio && !_vm.files.length)?_c('div',{staticClass:\"vac-icon-textarea-left\"},[(_vm.isRecording)?[_c('div',{staticClass:\"vac-svg-button vac-icon-audio-stop\",on:{\"click\":_vm.stopRecorder}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2),_c('div',{staticClass:\"vac-dot-audio-record\"}),_c('div',{staticClass:\"vac-dot-audio-record-time\"},[_vm._v(\" \"+_vm._s(_vm.recordedTime)+\" \")]),_c('div',{staticClass:\"vac-svg-button vac-icon-audio-confirm\",on:{\"click\":function($event){return _vm.toggleRecorder(false)}}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"checkmark\"}})]})],2)]:_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.toggleRecorder(true)}}},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]})],2)],2):_vm._e(),_c('textarea',{ref:\"roomTextarea\",staticClass:\"vac-textarea\",class:{\n\t\t\t\t'vac-textarea-outline': _vm.editedMessage._id\n\t\t\t},style:({\n\t\t\t\t'min-height': \"20px\",\n\t\t\t\t'padding-left': \"12px\"\n\t\t\t}),attrs:{\"id\":\"roomTextarea\",\"placeholder\":_vm.textMessages.TYPE_MESSAGE},on:{\"input\":_vm.onChangeInput,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.escapeTextarea.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.updateActiveUpOrDown(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.updateActiveUpOrDown(1)}],\"paste\":_vm.onPasteImage}}),_c('div',{staticClass:\"vac-icon-textarea\"},[(_vm.editedMessage._id)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.resetMessage}},[_vm._t(\"edit-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2):_vm._e(),(_vm.showEmojis)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(function () { return (_vm.emojiOpened = false); }),expression:\"() => (emojiOpened = false)\"}]},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{attrs:{\"emoji-opened\":_vm.emojiOpened,\"position-top\":true},on:{\"add-emoji\":_vm.addEmoji,\"open-emoji\":function($event){_vm.emojiOpened = $event}},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.addEmoji},{ emojiOpened: _vm.emojiOpened })],2):_vm._e(),(_vm.showFiles)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.launchFilePicker}},[_vm._t(\"paperclip-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"paperclip\"}})]})],2):_vm._e(),(_vm.textareaActionEnabled)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.textareaActionHandler}},[_vm._t(\"custom-action-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"deleted\"}})]})],2):_vm._e(),(_vm.showFiles)?_c('input',{ref:\"file\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\",\"accept\":_vm.acceptedFiles},on:{\"change\":function($event){return _vm.onFileChange($event.target.files)}}}):_vm._e(),(_vm.showSendIcon)?_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-send-disabled': _vm.isMessageEmpty },on:{\"click\":_vm.sendMessage}},[_vm._t(\"send-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"send\",\"param\":_vm.isMessageEmpty || _vm.isFileLoading ? 'disabled' : ''}})]})],2):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import Picker from './picker.js'\nimport Database from './database.js'\nexport { Picker, Database }\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-emoji-wrapper\"},[_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{\"click\":_vm.openEmoji}},[_vm._t(\"emoji-picker-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"emoji\",\"param\":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{\"name\":\"vac-slide-up\",\"appear\":\"\"}},[_c('div',{staticClass:\"vac-emoji-picker\",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({\n\t\t\t\t\theight: (_vm.emojiPickerHeight + \"px\"),\n\t\t\t\t\ttop: _vm.positionTop ? _vm.emojiPickerHeight : (_vm.emojiPickerTop + \"px\"),\n\t\t\t\t\tright: _vm.emojiPickerRight,\n\t\t\t\t\tdisplay: _vm.emojiPickerTop || !_vm.emojiReaction ? 'initial' : 'none'\n\t\t\t\t})},[(_vm.emojiOpened)?_c('emoji-picker',{ref:\"emojiPicker\"}):_vm._e()],1)])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmojiPickerContainer.vue?vue&type=template&id=44125154&\"\nimport script from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.files.length)?_c('div',{staticClass:\"vac-room-files-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-files-box\"},_vm._l((_vm.files),function(file,i){return _c('div',{key:i},[_c('room-file',{attrs:{\"file\":file,\"index\":i},on:{\"remove-file\":function($event){return _vm.$emit('remove-file', $event)}}})],1)}),0),_c('div',{staticClass:\"vac-icon-close\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-file-container\"},[_c('loader',{attrs:{\"show\":_vm.file.loading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-svg-button vac-icon-remove\",on:{\"click\":function($event){return _vm.$emit('remove-file', _vm.index)}}},[_vm._t(\"image-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close\",\"param\":\"image\"}})]})],2),(_vm.isImage)?_c('div',{staticClass:\"vac-message-image\",class:{ 'vac-blur-loading': _vm.file.loading },style:({\n\t\t\t'background-image': (\"url('\" + (_vm.file.localUrl || _vm.file.url) + \"')\")\n\t\t})}):(_vm.isVideo)?_c('video',{class:{ 'vac-blur-loading': _vm.file.loading },attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.localUrl || _vm.file.url}})]):_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-blur-loading': _vm.file.loading }},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.file.name)+\" \")]),(_vm.file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.file.extension)+\" \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFile.vue?vue&type=template&id=c0a62836&\"\nimport script from \"./RoomFile.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFiles.vue?vue&type=template&id=60413016&\"\nimport script from \"./RoomFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageReply)?_c('div',{staticClass:\"vac-reply-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-reply-box\"},[_c('div',{staticClass:\"vac-reply-info\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.messageReply.username)+\" \")]),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.messageReply.content,\"users\":_vm.room.users,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)]),(_vm.isImage)?_c('img',{staticClass:\"vac-image-reply\",attrs:{\"src\":_vm.firstFile.url}}):(_vm.isVideo)?_c('video',{staticClass:\"vac-image-reply\",attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})]):(_vm.isAudio)?_c('audio-player',{staticClass:\"vac-audio-reply\",attrs:{\"src\":_vm.firstFile.url},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-image-reply vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"vac-icon-reply\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"vac-audio-player\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.playback}},[(_vm.isPlaying)?_vm._t(\"audio-pause-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-pause\"}})]}):_vm._t(\"audio-play-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-play\"}})]})],2),_c('audio-control',{attrs:{\"percentage\":_vm.progress,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"change-linehead\":_vm.onUpdateProgress,\"hover-audio-progress\":function($event){return _vm.$emit('hover-audio-progress', $event)}}}),_c('audio',{attrs:{\"id\":_vm.playerUniqId,\"src\":_vm.audioSource}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"progress\",staticClass:\"vac-player-bar\",on:{\"mousedown\":_vm.onMouseDown,\"mouseover\":function($event){return _vm.$emit('hover-audio-progress', true)},\"mouseout\":function($event){return _vm.$emit('hover-audio-progress', false)}}},[_c('div',{staticClass:\"vac-player-progress\"},[_c('div',{staticClass:\"vac-line-container\"},[_c('div',{staticClass:\"vac-line-progress\",style:({ width: (_vm.percentage + \"%\") })}),_c('div',{staticClass:\"vac-line-dot\",class:{ 'vac-line-dot__active': _vm.isMouseDown },style:({ left: (_vm.percentage + \"%\") })})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=1721db79&\"\nimport script from \"./AudioControl.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioControl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioPlayer.vue?vue&type=template&id=d8b85268&\"\nimport script from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessageReply.vue?vue&type=template&id=86b41b08&\"\nimport script from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredUsersTag.length)?_c('div',{staticClass:\"vac-tags-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredUsersTag),function(user,index){return _c('div',{key:user._id,staticClass:\"vac-tags-box\",class:{ 'vac-tags-box-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-user-tag', user)}}},[_c('div',{staticClass:\"vac-tags-info\"},[(user.avatar)?_c('div',{staticClass:\"vac-avatar vac-tags-avatar\",style:({ 'background-image': (\"url('\" + (user.avatar) + \"')\") })}):_vm._e(),_c('div',{staticClass:\"vac-tags-username\"},[_vm._v(\" \"+_vm._s(user.username)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomUsersTag.vue?vue&type=template&id=082c6732&\"\nimport script from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredEmojis.length)?_c('div',{staticClass:\"vac-emojis-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredEmojis),function(emoji,index){return _c('div',{key:emoji,staticClass:\"vac-emoji-element\",class:{ 'vac-emoji-element-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-emoji', emoji)}}},[_vm._v(\" \"+_vm._s(emoji)+\" \")])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomEmojis.vue?vue&type=template&id=b6026542&\"\nimport script from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredTemplatesText.length)?_c('div',{staticClass:\"vac-template-container vac-app-box-shadow\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredTemplatesText),function(template,index){return _c('div',{key:index,staticClass:\"vac-template-box\",class:{ 'vac-template-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-template-text', template)}}},[_c('div',{staticClass:\"vac-template-info\"},[_c('div',{staticClass:\"vac-template-tag\"},[_vm._v(\" /\"+_vm._s(template.tag)+\" \")]),_c('div',{staticClass:\"vac-template-text\"},[_vm._v(\" \"+_vm._s(template.text)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomTemplatesText.vue?vue&type=template&id=113f1c86&\"\nimport script from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nlet lamejs\ntry {\n\tlamejs = require('lamejs')\n} catch (_) {\n\tlamejs = { missing: true }\n}\n\nconst { Mp3Encoder } = lamejs\n\nexport default class {\n\tconstructor(config) {\n\t\tif (lamejs.missing) {\n\t\t\tthrow new Error(\n\t\t\t\t'You must add lamejs in your dependencies to use the audio recorder. Please run \"npm install lamejs --save\"'\n\t\t\t)\n\t\t}\n\n\t\tthis.bitRate = config.bitRate\n\t\tthis.sampleRate = config.sampleRate\n\t\tthis.dataBuffer = []\n\t\tthis.encoder = new Mp3Encoder(1, this.sampleRate, this.bitRate)\n\t}\n\n\tencode(arrayBuffer) {\n\t\tconst maxSamples = 1152\n\t\tconst samples = this._convertBuffer(arrayBuffer)\n\t\tlet remaining = samples.length\n\n\t\tfor (let i = 0; remaining >= 0; i += maxSamples) {\n\t\t\tconst left = samples.subarray(i, i + maxSamples)\n\t\t\tconst buffer = this.encoder.encodeBuffer(left)\n\t\t\tthis.dataBuffer.push(new Int8Array(buffer))\n\t\t\tremaining -= maxSamples\n\t\t}\n\t}\n\n\tfinish() {\n\t\tthis.dataBuffer.push(this.encoder.flush())\n\t\tconst blob = new Blob(this.dataBuffer, { type: 'audio/mp3' })\n\t\tthis.dataBuffer = []\n\n\t\treturn {\n\t\t\tid: Date.now(),\n\t\t\tblob: blob,\n\t\t\turl: URL.createObjectURL(blob)\n\t\t}\n\t}\n\n\t_floatTo16BitPCM(input, output) {\n\t\tfor (let i = 0; i < input.length; i++) {\n\t\t\tconst s = Math.max(-1, Math.min(1, input[i]))\n\t\t\toutput[i] = s < 0 ? s * 0x8000 : s * 0x7fff\n\t\t}\n\t}\n\n\t_convertBuffer(arrayBuffer) {\n\t\tconst data = new Float32Array(arrayBuffer)\n\t\tconst out = new Int16Array(arrayBuffer.length)\n\t\tthis._floatTo16BitPCM(data, out)\n\t\treturn out\n\t}\n}\n","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nimport Mp3Encoder from './mp3-encoder'\n\nexport default class {\n\tconstructor(options = {}) {\n\t\tthis.beforeRecording = options.beforeRecording\n\t\tthis.pauseRecording = options.pauseRecording\n\t\tthis.afterRecording = options.afterRecording\n\t\tthis.micFailed = options.micFailed\n\n\t\tthis.encoderOptions = {\n\t\t\tbitRate: options.bitRate,\n\t\t\tsampleRate: options.sampleRate\n\t\t}\n\n\t\tthis.bufferSize = 4096\n\t\tthis.records = []\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.duration = 0\n\t\tthis.volume = 0\n\n\t\tthis._duration = 0\n\t}\n\n\tstart() {\n\t\tconst constraints = {\n\t\t\tvideo: false,\n\t\t\taudio: {\n\t\t\t\tchannelCount: 1,\n\t\t\t\techoCancellation: false\n\t\t\t}\n\t\t}\n\n\t\tthis.beforeRecording && this.beforeRecording('start recording')\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia(constraints)\n\t\t\t.then(this._micCaptured.bind(this))\n\t\t\t.catch(this._micError.bind(this))\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = true\n\n\t\tif (!this.lameEncoder) {\n\t\t\tthis.lameEncoder = new Mp3Encoder(this.encoderOptions)\n\t\t}\n\t}\n\n\tstop() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\t\tthis.context.close()\n\n\t\tlet record = null\n\n\t\trecord = this.lameEncoder.finish()\n\n\t\trecord.duration = this.duration\n\t\tthis.records.push(record)\n\n\t\tthis._duration = 0\n\t\tthis.duration = 0\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.afterRecording && this.afterRecording(record)\n\t}\n\n\tpause() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\n\t\tthis._duration = this.duration\n\t\tthis.isPause = true\n\n\t\tthis.pauseRecording && this.pauseRecording('pause recording')\n\t}\n\n\t_micCaptured(stream) {\n\t\tthis.context = new (window.AudioContext || window.webkitAudioContext)()\n\t\tthis.duration = this._duration\n\t\tthis.input = this.context.createMediaStreamSource(stream)\n\t\tthis.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1)\n\t\tthis.stream = stream\n\n\t\tthis.processor.onaudioprocess = ev => {\n\t\t\tconst sample = ev.inputBuffer.getChannelData(0)\n\t\t\tlet sum = 0.0\n\n\t\t\tif (this.lameEncoder) {\n\t\t\t\tthis.lameEncoder.encode(sample)\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < sample.length; ++i) {\n\t\t\t\tsum += sample[i] * sample[i]\n\t\t\t}\n\n\t\t\tthis.duration =\n\t\t\t\tparseFloat(this._duration) +\n\t\t\t\tparseFloat(this.context.currentTime.toFixed(2))\n\t\t\tthis.volume = Math.sqrt(sum / sample.length).toFixed(2)\n\t\t}\n\n\t\tthis.input.connect(this.processor)\n\t\tthis.processor.connect(this.context.destination)\n\t}\n\n\t_micError(error) {\n\t\tthis.micFailed && this.micFailed(error)\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFooter.vue?vue&type=template&id=457f6483&\"\nimport script from \"./RoomFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFooter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"message\",staticClass:\"vac-message-wrapper\",attrs:{\"id\":_vm.message._id}},[(_vm.showDate)?_c('div',{staticClass:\"vac-card-info vac-card-date\"},[_vm._v(\" \"+_vm._s(_vm.message.date)+\" \")]):_vm._e(),(_vm.newMessage._id === _vm.message._id)?_c('div',{staticClass:\"vac-line-new\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.NEW_MESSAGES)+\" \")]):_vm._e(),(_vm.message.system)?_c('div',{staticClass:\"vac-card-info vac-card-system\"},[_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_c('div',{staticClass:\"vac-message-box\",class:{ 'vac-offset-current': _vm.message.senderId === _vm.currentUserId },on:{\"click\":_vm.selectMessage}},[_vm._t(\"message\",function(){return [(_vm.message.avatar && _vm.message.senderId !== _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasSenderUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-offset\"}):_vm._e(),_c('div',{staticClass:\"vac-message-container\",class:{\n\t\t\t\t\t'vac-message-container-offset': _vm.messageOffset\n\t\t\t\t}},[_c('div',{staticClass:\"vac-message-card\",class:{\n\t\t\t\t\t\t'vac-message-highlight': _vm.isMessageHover,\n\t\t\t\t\t\t'vac-message-current': _vm.message.senderId === _vm.currentUserId,\n\t\t\t\t\t\t'vac-message-deleted': _vm.message.deleted,\n\t\t\t\t\t\t'vac-item-clickable': _vm.messageSelectionEnabled,\n\t\t\t\t\t\t'vac-message-selected': _vm.isMessageSelected\n\t\t\t\t\t},on:{\"mouseover\":_vm.onHoverMessage,\"mouseleave\":_vm.onLeaveMessage}},[(_vm.showUsername)?_c('div',{staticClass:\"vac-text-username\",class:{\n\t\t\t\t\t\t\t'vac-username-reply': !_vm.message.deleted && _vm.message.replyMessage\n\t\t\t\t\t\t}},[_c('span',[_vm._v(_vm._s(_vm.message.username))])]):_vm._e(),(!_vm.message.deleted && _vm.message.replyMessage)?_c('message-reply',{attrs:{\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),(_vm.message.deleted)?_c('div',[_vm._t(\"deleted-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}})]}),_c('span',[_vm._v(_vm._s(_vm.textMessages.MESSAGE_DELETED))])],2):(!_vm.message.files || !_vm.message.files.length)?_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(!_vm.isAudio || _vm.message.files.length > 1)?_c('message-files',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):[_c('audio-player',{attrs:{\"message-id\":_vm.message._id,\"src\":_vm.message.files[0].url,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.message.deleted)?_c('div',{staticClass:\"vac-progress-time\"},[_vm._v(\" \"+_vm._s(_vm.progressTime)+\" \")]):_vm._e()],_c('div',{staticClass:\"vac-text-timestamp\"},[(_vm.message.edited && !_vm.message.deleted)?_c('div',{staticClass:\"vac-icon-edited\"},[_vm._t(\"pencil-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"pencil\"}})]})],2):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.message.timestamp))]),(_vm.isCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.message.distributed ? 'double-checkmark' : 'checkmark',\"param\":_vm.message.seen ? 'seen' : ''}})]},null,{ message: _vm.message })],2):_vm._e()]),_c('message-actions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"message-actions\":_vm.messageActions,\"show-reaction-emojis\":_vm.showReactionEmojis,\"message-hover\":_vm.messageHover,\"hover-message-id\":_vm.hoverMessageId,\"hover-audio-progress\":_vm.hoverAudioProgress},on:{\"update-message-hover\":function($event){_vm.messageHover = $event},\"update-options-opened\":function($event){_vm.optionsOpened = $event},\"update-emoji-opened\":function($event){_vm.emojiOpened = $event},\"message-action-handler\":_vm.messageActionHandler,\"send-message-reaction\":_vm.sendMessageReaction},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2),_c('message-reactions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message},on:{\"send-message-reaction\":_vm.sendMessageReaction}})],1),_vm._t(\"message-failure\",function(){return [(_vm.message.failure && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-failure-container vac-svg-button\",class:{\n\t\t\t\t\t\t'vac-failure-container-avatar':\n\t\t\t\t\t\t\t_vm.message.avatar && _vm.message.senderId === _vm.currentUserId\n\t\t\t\t\t},on:{\"click\":function($event){return _vm.$emit('open-failed-message', { message: _vm.message })}}},[_c('div',{staticClass:\"vac-failure-text\"},[_vm._v(\" ! \")])]):_vm._e()]},null,{ message: _vm.message }),(_vm.message.avatar && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar vac-avatar-current\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasCurrentUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-current-offset\"}):_vm._e()]},null,{ message: _vm.message })],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-reply-message\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.replyUsername)+\" \")]),(_vm.isImage)?_c('div',{staticClass:\"vac-image-reply-container\"},[_c('div',{staticClass:\"vac-message-image vac-message-image-reply\",style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.firstFile.url) + \"')\")\n\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-reply-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})])]):(_vm.isAudio)?_c('audio-player',{attrs:{\"src\":_vm.firstFile.url},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.message.replyMessage.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReply.vue?vue&type=template&id=514045b4&\"\nimport script from \"./MessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-files-container\"},[_vm._l((_vm.imageVideoFiles),function(file,idx){return _c('div',{key:idx + 'iv'},[_c('message-file',{attrs:{\"file\":file,\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"index\":idx,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":function($event){return _vm.$emit('open-file', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_vm._l((_vm.otherFiles),function(file,idx){return _c('div',{key:idx + 'a',staticClass:\"vac-file-wrapper\"},[(file.progress >= 0)?_c('progress-bar',{style:({ top: '44px' }),attrs:{\"progress\":file.progress}}):_vm._e(),_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-file-container-progress': file.progress >= 0 },on:{\"click\":function($event){return _vm.openFile($event, file, 'download')}}},[_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(file.name)+\" \")]),(file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(file.extension)+\" \")]):_vm._e()])],1)}),_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":function($event){return _vm.$emit('open-user-tag', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-fade-spinner\",\"appear\":\"\"}},[_c('div',{ref:\"progress\",staticClass:\"vac-progress-wrapper\"},[_c('svg',{attrs:{\"height\":_vm.radius * 2,\"width\":_vm.radius * 2}},[_c('circle',{style:({\n\t\t\t\t\tstrokeDashoffset: _vm.strokeDashoffset,\n\t\t\t\t\tstrokeLinecap: 'round'\n\t\t\t\t}),attrs:{\"stroke\":\"rgba(255, 255, 255, 0.7)\",\"stroke-dasharray\":_vm.circumference + ' ' + _vm.circumference,\"stroke-width\":_vm.stroke,\"fill\":\"transparent\",\"r\":_vm.normalizedRadius,\"cx\":_vm.radius,\"cy\":_vm.radius}})]),_c('div',{staticClass:\"vac-progress-content\",style:({\n\t\t\t\theight: _vm.radius * 2 - 19 + 'px',\n\t\t\t\twidth: _vm.radius * 2 - 19 + 'px'\n\t\t\t})},[_c('div',{staticClass:\"vac-progress-text\"},[_vm._v(\" \"+_vm._s(_vm.progress)),_c('span',{staticClass:\"vac-progress-pourcent\"},[_vm._v(\"%\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressBar.vue?vue&type=template&id=561521ed&\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-file-container\"},[(_vm.isImage)?_c('div',{ref:'imageRef' + _vm.index,staticClass:\"vac-message-image-container\",on:{\"mouseover\":function($event){_vm.imageHover = true},\"mouseleave\":function($event){_vm.imageHover = false},\"click\":function($event){return _vm.openFile($event, 'preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"progress\":_vm.file.progress}}):_c('loader',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"show\":_vm.isImageLoading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-message-image\",class:{\n\t\t\t\t'vac-blur-loading':\n\t\t\t\t\t_vm.isImageLoading && _vm.message.senderId === _vm.currentUserId\n\t\t\t},style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.isImageLoading ? _vm.file.preview || _vm.file.url : _vm.file.url) + \"')\"),\n\t\t\t\t'max-height': ((_vm.imageResponsive.maxHeight) + \"px\")\n\t\t\t})},[_c('transition',{attrs:{\"name\":\"vac-fade-image\"}},[(!_vm.messageSelectionEnabled && _vm.imageHover && !_vm.isImageLoading)?_c('div',{staticClass:\"vac-image-buttons\"},[_c('div',{staticClass:\"vac-svg-button vac-button-view\",on:{\"click\":function($event){return _vm.openFile($event, 'preview')}}},[_vm._t(\"eye-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"eye\"}})]})],2),_c('div',{staticClass:\"vac-svg-button vac-button-download\",on:{\"click\":function($event){return _vm.openFile($event, 'download')}}},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2)]):_vm._e()])],1)],1):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-container\",on:{\"click\":function($event){$event.preventDefault();return _vm.openFile('preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{attrs:{\"progress\":_vm.file.progress}}):_vm._e(),_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFile.vue?vue&type=template&id=442d693d&\"\nimport script from \"./MessageFile.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFiles.vue?vue&type=template&id=ebb72a26&\"\nimport script from \"./MessageFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-actions-wrapper\"},[_c('div',{staticClass:\"vac-options-container\",style:({\n\t\t\tdisplay: _vm.hoverAudioProgress ? 'none' : 'initial',\n\t\t\twidth:\n\t\t\t\t_vm.filteredMessageActions.length && _vm.showReactionEmojis ? '70px' : '45px'\n\t\t})},[_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},[(_vm.isMessageActions || _vm.isMessageReactions)?_c('div',{key:\"1\",staticClass:\"vac-blur-container\",class:{\n\t\t\t\t\t'vac-options-me': _vm.message.senderId === _vm.currentUserId\n\t\t\t\t}}):_vm._e(),(_vm.isMessageActions)?_c('div',{key:\"2\",ref:\"actionIcon\",staticClass:\"vac-svg-button vac-message-options\",on:{\"click\":_vm.openOptions}},[_vm._t(\"dropdown-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"message\"}})]})],2):_vm._e(),(_vm.isMessageReactions)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeEmoji),expression:\"closeEmoji\"}],key:\"3\"},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{staticClass:\"vac-message-emojis\",style:({ right: _vm.isMessageActions ? '30px' : '5px' }),attrs:{\"emoji-opened\":_vm.emojiOpened,\"emoji-reaction\":true,\"position-right\":_vm.message.senderId === _vm.currentUserId},on:{\"add-emoji\":_vm.sendMessageReaction,\"open-emoji\":_vm.openEmoji},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-reaction-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.sendMessageReaction},{ emojiOpened: _vm.emojiOpened })],2):_vm._e()])],1),(_vm.filteredMessageActions.length)?_c('transition',{attrs:{\"name\":_vm.message.senderId === _vm.currentUserId\n\t\t\t\t? 'vac-slide-left'\n\t\t\t\t: 'vac-slide-right'}},[(_vm.optionsOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeOptions),expression:\"closeOptions\"}],ref:\"menuOptions\",staticClass:\"vac-menu-options\",class:{\n\t\t\t\t'vac-menu-left': _vm.message.senderId !== _vm.currentUserId\n\t\t\t},style:({ top: (_vm.menuOptionsTop + \"px\") })},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.filteredMessageActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.messageActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageActions.vue?vue&type=template&id=27f1a961&\"\nimport script from \"./MessageActions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageActions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.message.deleted)?_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},_vm._l((_vm.message.reactions),function(reaction,key){return _c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(reaction.length),expression:\"reaction.length\"}],key:key + 0,staticClass:\"vac-button-reaction\",class:{\n\t\t\t'vac-reaction-me': reaction.indexOf(_vm.currentUserId) !== -1\n\t\t},style:({\n\t\t\tfloat: _vm.message.senderId === _vm.currentUserId ? 'right' : 'left'\n\t\t}),on:{\"click\":function($event){return _vm.sendMessageReaction({ unicode: key }, reaction)}}},[_vm._v(\" \"+_vm._s(key)),_c('span',[_vm._v(_vm._s(reaction.length))])])}),0):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReactions.vue?vue&type=template&id=3fc44a38&\"\nimport script from \"./MessageReactions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReactions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessage.vue?vue&type=template&id=545cd2c3&\"\nimport script from \"./RoomMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Room.vue?vue&type=template&id=5c60aee1&\"\nimport script from \"./Room.vue?vue&type=script&lang=js&\"\nexport * from \"./Room.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal\",staticClass:\"vac-media-preview\",attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeModal.apply(null, arguments)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeModal.apply(null, arguments)}}},[_c('transition',{attrs:{\"name\":\"vac-bounce-preview\",\"appear\":\"\"}},[(_vm.isImage)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('div',{staticClass:\"vac-image-preview\",style:({\n\t\t\t\t\t'background-image': (\"url('\" + (_vm.file.url) + \"')\")\n\t\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\",\"autoplay\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])]):_vm._e()]),_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"preview-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\",\"param\":\"preview\"}})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MediaPreview.vue?vue&type=template&id=2d3ea15a&\"\nimport script from \"./MediaPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaPreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\tROOMS_EMPTY: 'No rooms',\n\tROOM_EMPTY: 'No room selected',\n\tNEW_MESSAGES: 'New Messages',\n\tMESSAGE_DELETED: 'This message was deleted',\n\tMESSAGES_EMPTY: 'No messages',\n\tCONVERSATION_STARTED: 'Conversation started on:',\n\tTYPE_MESSAGE: 'Type message',\n\tSEARCH: 'Search',\n\tIS_ONLINE: 'is online',\n\tLAST_SEEN: 'last seen ',\n\tIS_TYPING: 'is writing...',\n\tCANCEL_SELECT_MESSAGE: 'Cancel'\n}\n","export const defaultThemeStyles = {\n\tlight: {\n\t\tgeneral: {\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorButtonClear: '#1976d2',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#fff',\n\t\t\tcolorPlaceholder: '#9ca6af',\n\t\t\tcolorCaret: '#1976d2',\n\t\t\tcolorSpinner: '#333',\n\t\t\tborderStyle: '1px solid #e1e4e8',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#fff',\n\t\t\tcolorRoomName: '#0a0a0a',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#f8f9fa',\n\t\t\tborderStyleInput: '1px solid #e1e4e8',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#e5e5e6',\n\t\t\tbackgroundTagActive: '#e5e5e6',\n\t\t\tbackgroundTag: '#f8f9fa'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#f8f9fa'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6',\n\t\t\tbackgroundActive: '#e5effa',\n\t\t\tcolorActive: '#1976d2',\n\t\t\tborderColorSearch: '#e1e5e8'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundMe: '#ccf2cf',\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#dadfe2',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#757e85',\n\t\t\tcolorUsername: '#9ca6af',\n\t\t\tcolorTimestamp: '#828c94',\n\t\t\tbackgroundDate: '#e5effa',\n\t\t\tcolorDate: '#505a62',\n\t\t\tbackgroundSystem: '#e5effa',\n\t\t\tcolorSystem: '#505a62',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.08)',\n\t\t\tcolorReplyUsername: '#0a0a0a',\n\t\t\tcolorReply: '#6e6e6e',\n\t\t\tcolorTag: '#0d579c',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#1976d2',\n\t\t\tbackgroundScrollCounter: '#0696c7',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: '#eee',\n\t\t\tborderStyleReaction: '1px solid #eee',\n\t\t\tbackgroundReactionHover: '#fff',\n\t\t\tborderStyleReactionHover: '1px solid #ddd',\n\t\t\tcolorReactionCounter: '#0a0a0a',\n\t\t\tbackgroundReactionMe: '#cfecf5',\n\t\t\tborderStyleReactionMe: '1px solid #3b98b8',\n\t\t\tbackgroundReactionHoverMe: '#cfecf5',\n\t\t\tborderStyleReactionHoverMe: '1px solid #3b98b8',\n\t\t\tcolorReactionCounterMe: '#0b59b3',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundAudioProgress: '#455247',\n\t\t\tbackgroundAudioProgressSelector: '#455247',\n\t\t\tcolorFileExtension: '#757e85'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#0a0a0a',\n\t\t\tcolorMessage: '#67717a',\n\t\t\tcolorTimestamp: '#a2aeb8',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#9ca6af',\n\t\t\tbackgroundCounterBadge: '#0696c7',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#fff'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#9ca6af',\n\t\t\tadd: '#1976d2',\n\t\t\ttoggle: '#0a0a0a',\n\t\t\tmenu: '#0a0a0a',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#1976d2',\n\t\t\tcloseOutline: '#000',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#1976d2',\n\t\t\tsendDisabled: '#9ca6af',\n\t\t\temoji: '#1976d2',\n\t\t\temojiReaction: 'rgba(0, 0, 0, 0.3)',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#9e9e9e',\n\t\t\tcheckmark: '#9e9e9e',\n\t\t\tcheckmarkSeen: '#0696c7',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#9e9e9e',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#1976d2',\n\t\t\taudioPlay: '#455247',\n\t\t\taudioPause: '#455247',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t},\n\tdark: {\n\t\tgeneral: {\n\t\t\tcolor: '#fff',\n\t\t\tcolorButtonClear: '#fff',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#202223',\n\t\t\tcolorPlaceholder: '#596269',\n\t\t\tcolorCaret: '#fff',\n\t\t\tcolorSpinner: '#fff',\n\t\t\tborderStyle: 'none',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#181a1b',\n\t\t\tcolorRoomName: '#fff',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#131415',\n\t\t\tborderStyleInput: 'none',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#1b1c1c',\n\t\t\tbackgroundTagActive: '#1b1c1c',\n\t\t\tbackgroundTag: '#131415'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#131415'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#181a1b',\n\t\t\tbackgroundHover: '#202224',\n\t\t\tbackgroundActive: '#151617',\n\t\t\tcolorActive: '#fff',\n\t\t\tborderColorSearch: '#181a1b'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#2a2c33',\n\t\t\tbackgroundHover: '#26282e'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#22242a',\n\t\t\tbackgroundMe: '#1f7e80',\n\t\t\tcolor: '#fff',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#1b1c21',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#a2a5a8',\n\t\t\tcolorUsername: '#b3bac9',\n\t\t\tcolorTimestamp: '#ebedf2',\n\t\t\tbackgroundDate: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorDate: '#bec5cc',\n\t\t\tbackgroundSystem: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorSystem: '#bec5cc',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.18)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.18)',\n\t\t\tcolorReplyUsername: '#fff',\n\t\t\tcolorReply: '#d6d6d6',\n\t\t\tcolorTag: '#f0c60a',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#fff',\n\t\t\tbackgroundScrollCounter: '#1976d2',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: 'none',\n\t\t\tborderStyleReaction: 'none',\n\t\t\tbackgroundReactionHover: '#202223',\n\t\t\tborderStyleReactionHover: 'none',\n\t\t\tcolorReactionCounter: '#fff',\n\t\t\tbackgroundReactionMe: '#4e9ad1',\n\t\t\tborderStyleReactionMe: 'none',\n\t\t\tbackgroundReactionHoverMe: '#4e9ad1',\n\t\t\tborderStyleReactionHoverMe: 'none',\n\t\t\tcolorReactionCounterMe: '#fff',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(255, 255, 255, 0.15)',\n\t\t\tbackgroundAudioProgress: '#b7d4d3',\n\t\t\tbackgroundAudioProgressSelector: '#b7d4d3',\n\t\t\tcolorFileExtension: '#a2a5a8'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#fff',\n\t\t\tcolorMessage: '#6c7278',\n\t\t\tcolorTimestamp: '#6c7278',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#596269',\n\t\t\tbackgroundCounterBadge: '#1976d2',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#343740'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#596269',\n\t\t\tadd: '#fff',\n\t\t\ttoggle: '#fff',\n\t\t\tmenu: '#fff',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#fff',\n\t\t\tcloseOutline: '#fff',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#fff',\n\t\t\tsendDisabled: '#646a70',\n\t\t\temoji: '#fff',\n\t\t\temojiReaction: '#fff',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#ebedf2',\n\t\t\tcheckmark: '#ebedf2',\n\t\t\tcheckmarkSeen: '#f0d90a',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#fff',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#fff',\n\t\t\taudioPlay: '#b7d4d3',\n\t\t\taudioPause: '#b7d4d3',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t}\n}\n\nexport const cssThemeVars = ({\n\tgeneral,\n\tcontainer,\n\theader,\n\tfooter,\n\tsidemenu,\n\tcontent,\n\tdropdown,\n\tmessage,\n\tmarkdown,\n\troom,\n\temoji,\n\ticons\n}) => {\n\treturn {\n\t\t// general\n\t\t'--chat-color': general.color,\n\t\t'--chat-color-button-clear': general.colorButtonClear,\n\t\t'--chat-color-button': general.colorButton,\n\t\t'--chat-bg-color-button': general.backgroundColorButton,\n\t\t'--chat-bg-color-input': general.backgroundInput,\n\t\t'--chat-color-spinner': general.colorSpinner,\n\t\t'--chat-color-placeholder': general.colorPlaceholder,\n\t\t'--chat-color-caret': general.colorCaret,\n\t\t'--chat-border-style': general.borderStyle,\n\t\t'--chat-bg-scroll-icon': general.backgroundScrollIcon,\n\n\t\t// container\n\t\t'--chat-container-border': container.border,\n\t\t'--chat-container-border-radius': container.borderRadius,\n\t\t'--chat-container-box-shadow': container.boxShadow,\n\n\t\t// header\n\t\t'--chat-header-bg-color': header.background,\n\t\t'--chat-header-color-name': header.colorRoomName,\n\t\t'--chat-header-color-info': header.colorRoomInfo,\n\n\t\t// footer\n\t\t'--chat-footer-bg-color': footer.background,\n\t\t'--chat-border-style-input': footer.borderStyleInput,\n\t\t'--chat-border-color-input-selected': footer.borderInputSelected,\n\t\t'--chat-footer-bg-color-reply': footer.backgroundReply,\n\t\t'--chat-footer-bg-color-tag-active': footer.backgroundTagActive,\n\t\t'--chat-footer-bg-color-tag': footer.backgroundTag,\n\n\t\t// content\n\t\t'--chat-content-bg-color': content.background,\n\n\t\t// sidemenu\n\t\t'--chat-sidemenu-bg-color': sidemenu.background,\n\t\t'--chat-sidemenu-bg-color-hover': sidemenu.backgroundHover,\n\t\t'--chat-sidemenu-bg-color-active': sidemenu.backgroundActive,\n\t\t'--chat-sidemenu-color-active': sidemenu.colorActive,\n\t\t'--chat-sidemenu-border-color-search': sidemenu.borderColorSearch,\n\n\t\t// dropdown\n\t\t'--chat-dropdown-bg-color': dropdown.background,\n\t\t'--chat-dropdown-bg-color-hover': dropdown.backgroundHover,\n\n\t\t// message\n\t\t'--chat-message-bg-color': message.background,\n\t\t'--chat-message-bg-color-me': message.backgroundMe,\n\t\t'--chat-message-color-started': message.colorStarted,\n\t\t'--chat-message-bg-color-deleted': message.backgroundDeleted,\n\t\t'--chat-message-bg-color-selected': message.backgroundSelected,\n\t\t'--chat-message-color-deleted': message.colorDeleted,\n\t\t'--chat-message-color-username': message.colorUsername,\n\t\t'--chat-message-color-timestamp': message.colorTimestamp,\n\t\t'--chat-message-bg-color-date': message.backgroundDate,\n\t\t'--chat-message-color-date': message.colorDate,\n\t\t'--chat-message-bg-color-system': message.backgroundSystem,\n\t\t'--chat-message-color-system': message.colorSystem,\n\t\t'--chat-message-color': message.color,\n\t\t'--chat-message-bg-color-media': message.backgroundMedia,\n\t\t'--chat-message-bg-color-reply': message.backgroundReply,\n\t\t'--chat-message-color-reply-username': message.colorReplyUsername,\n\t\t'--chat-message-color-reply-content': message.colorReply,\n\t\t'--chat-message-color-tag': message.colorTag,\n\t\t'--chat-message-bg-color-image': message.backgroundImage,\n\t\t'--chat-message-color-new-messages': message.colorNewMessages,\n\t\t'--chat-message-bg-color-scroll-counter': message.backgroundScrollCounter,\n\t\t'--chat-message-color-scroll-counter': message.colorScrollCounter,\n\t\t'--chat-message-bg-color-reaction': message.backgroundReaction,\n\t\t'--chat-message-border-style-reaction': message.borderStyleReaction,\n\t\t'--chat-message-bg-color-reaction-hover': message.backgroundReactionHover,\n\t\t'--chat-message-border-style-reaction-hover':\n\t\t\tmessage.borderStyleReactionHover,\n\t\t'--chat-message-color-reaction-counter': message.colorReactionCounter,\n\t\t'--chat-message-bg-color-reaction-me': message.backgroundReactionMe,\n\t\t'--chat-message-border-style-reaction-me': message.borderStyleReactionMe,\n\t\t'--chat-message-bg-color-reaction-hover-me':\n\t\t\tmessage.backgroundReactionHoverMe,\n\t\t'--chat-message-border-style-reaction-hover-me':\n\t\t\tmessage.borderStyleReactionHoverMe,\n\t\t'--chat-message-color-reaction-counter-me': message.colorReactionCounterMe,\n\t\t'--chat-message-bg-color-audio-record': message.backgroundAudioRecord,\n\t\t'--chat-message-bg-color-audio-line': message.backgroundAudioLine,\n\t\t'--chat-message-bg-color-audio-progress': message.backgroundAudioProgress,\n\t\t'--chat-message-bg-color-audio-progress-selector':\n\t\t\tmessage.backgroundAudioProgressSelector,\n\t\t'--chat-message-color-file-extension': message.colorFileExtension,\n\n\t\t// markdown\n\t\t'--chat-markdown-bg': markdown.background,\n\t\t'--chat-markdown-border': markdown.border,\n\t\t'--chat-markdown-color': markdown.color,\n\t\t'--chat-markdown-color-multi': markdown.colorMulti,\n\n\t\t// room\n\t\t'--chat-room-color-username': room.colorUsername,\n\t\t'--chat-room-color-message': room.colorMessage,\n\t\t'--chat-room-color-timestamp': room.colorTimestamp,\n\t\t'--chat-room-color-online': room.colorStateOnline,\n\t\t'--chat-room-color-offline': room.colorStateOffline,\n\t\t'--chat-room-bg-color-badge': room.backgroundCounterBadge,\n\t\t'--chat-room-color-badge': room.colorCounterBadge,\n\n\t\t// emoji\n\t\t'--chat-emoji-bg-color': emoji.background,\n\n\t\t// icons\n\t\t'--chat-icon-color-search': icons.search,\n\t\t'--chat-icon-color-add': icons.add,\n\t\t'--chat-icon-color-toggle': icons.toggle,\n\t\t'--chat-icon-color-menu': icons.menu,\n\t\t'--chat-icon-color-close': icons.close,\n\t\t'--chat-icon-color-close-image': icons.closeImage,\n\t\t'--chat-icon-color-file': icons.file,\n\t\t'--chat-icon-color-paperclip': icons.paperclip,\n\t\t'--chat-icon-color-close-outline': icons.closeOutline,\n\t\t'--chat-icon-color-close-preview': icons.closePreview,\n\t\t'--chat-icon-color-send': icons.send,\n\t\t'--chat-icon-color-send-disabled': icons.sendDisabled,\n\t\t'--chat-icon-color-emoji': icons.emoji,\n\t\t'--chat-icon-color-emoji-reaction': icons.emojiReaction,\n\t\t'--chat-icon-color-document': icons.document,\n\t\t'--chat-icon-color-pencil': icons.pencil,\n\t\t'--chat-icon-color-checkmark': icons.checkmark,\n\t\t'--chat-icon-color-checkmark-seen': icons.checkmarkSeen,\n\t\t'--chat-icon-color-eye': icons.eye,\n\t\t'--chat-icon-color-dropdown-message': icons.dropdownMessage,\n\t\t'--chat-icon-bg-dropdown-message': icons.dropdownMessageBackground,\n\t\t'--chat-icon-color-dropdown-room': icons.dropdownRoom,\n\t\t'--chat-icon-color-dropdown-scroll': icons.dropdownScroll,\n\t\t'--chat-icon-color-microphone': icons.microphone,\n\t\t'--chat-icon-color-audio-play': icons.audioPlay,\n\t\t'--chat-icon-color-audio-pause': icons.audioPause,\n\t\t'--chat-icon-color-audio-cancel': icons.audioCancel,\n\t\t'--chat-icon-color-audio-confirm': icons.audioConfirm\n\t}\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChatWindow.vue?vue&type=template&id=1349ffc2&\"\nimport script from \"./ChatWindow.vue?vue&type=script&lang=js&\"\nexport * from \"./ChatWindow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChatWindow.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ChatWindow from './ChatWindow'\n\nObject.defineProperty(ChatWindow, 'install', {\n\tconfigurable: false,\n\tenumerable: false,\n\tvalue(Vue) {\n\t\tVue.component('ChatWindow', ChatWindow)\n\t}\n})\n\nexport default ChatWindow\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\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","/* eslint-disable es-x/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","//package mp3;\n\n/**\n * Layer III side information.\n *\n * @author Ken\n *\n */\n\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction ScaleFac(arrL, arrS, arr21, arr12) {\n\n this.l = new_int(1 + Encoder.SBMAX_l);\n this.s = new_int(1 + Encoder.SBMAX_s);\n this.psfb21 = new_int(1 + Encoder.PSFB21);\n this.psfb12 = new_int(1 + Encoder.PSFB12);\n var l = this.l;\n var s = this.s;\n\n if (arguments.length == 4) {\n //public ScaleFac(final int[] arrL, final int[] arrS, final int[] arr21,\n // final int[] arr12) {\n this.arrL = arguments[0];\n this.arrS = arguments[1];\n this.arr21 = arguments[2];\n this.arr12 = arguments[3];\n\n System.arraycopy(this.arrL, 0, l, 0, Math.min(this.arrL.length, this.l.length));\n System.arraycopy(this.arrS, 0, s, 0, Math.min(this.arrS.length, this.s.length));\n System.arraycopy(this.arr21, 0, this.psfb21, 0, Math.min(this.arr21.length, this.psfb21.length));\n System.arraycopy(this.arr12, 0, this.psfb12, 0, Math.min(this.arr12.length, this.psfb12.length));\n }\n}\n\nmodule.exports = ScaleFac;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-advanced-chat.umd.min.js b/dist/vue-advanced-chat.umd.min.js index 1a47cc47..3bd69d45 100644 --- a/dist/vue-advanced-chat.umd.min.js +++ b/dist/vue-advanced-chat.umd.min.js @@ -1,2 +1,2 @@ -(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["vue-advanced-chat"]=t():e["vue-advanced-chat"]=t()})("undefined"!==typeof self?self:this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="fb15")}({"00b4":function(e,t,n){"use strict";n("ac1f");var r=n("23e7"),o=n("da84"),a=n("c65b"),i=n("e330"),s=n("1626"),c=n("861d"),l=function(){var e=!1,t=/[ac]/;return t.exec=function(){return e=!0,/./.exec.apply(this,arguments)},!0===t.test("abc")&&e}(),u=o.Error,f=i(/./.test);r({target:"RegExp",proto:!0,forced:!l},{test:function(e){var t=this.exec;if(!s(t))return f(this,e);var n=a(t,this,e);if(null!==n&&!c(n))throw new u("RegExp exec method returned something other than an Object or null");return!!n}})},"00ee":function(e,t,n){var r=n("b622"),o=r("toStringTag"),a={};a[o]="z",e.exports="[object z]"===String(a)},"0137":function(e,t,n){},"01b4":function(e,t){var n=function(){this.head=null,this.tail=null};n.prototype={add:function(e){var t={item:e,next:null};this.head?this.tail.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return this.head=e.next,this.tail===e&&(this.tail=null),e.item}},e.exports=n},"0206":function(e,t){function n(e){return new Int8Array(e)}function r(e){return new Int16Array(e)}function o(e){return new Int32Array(e)}function a(e){return new Float32Array(e)}function i(e){return new Float64Array(e)}function s(e){if(1==e.length)return a(e[0]);var t=e[0];e=e.slice(1);for(var n=[],r=0;r]*>)/g,u=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,t,n,r,f,d){var h=n+e.length,m=r.length,p=u;return void 0!==f&&(f=o(f),p=l),s(d,p,(function(o,s){var l;switch(i(s,0)){case"$":return"$";case"&":return e;case"`":return c(t,0,n);case"'":return c(t,h);case"<":l=f[c(s,1,-1)];break;default:var u=+s;if(0===u)return o;if(u>m){var d=a(u/10);return 0===d?o:d<=m?void 0===r[d-1]?i(s,1):r[d-1]+i(s,1):o}l=r[u-1]}return void 0===l?"":l}))}},"0ccb":function(e,t,n){var r=n("e330"),o=n("50c4"),a=n("577e"),i=n("1148"),s=n("1d80"),c=r(i),l=r("".slice),u=Math.ceil,f=function(e){return function(t,n,r){var i,f,d=a(s(t)),h=o(n),m=d.length,p=void 0===r?" ":a(r);return h<=m||""==p?d:(i=h-m,f=c(p,u(i/p.length)),f.length>i&&(f=l(f,0,i)),e?d+f:f+d)}};e.exports={start:f(!1),end:f(!0)}},"0cfb":function(e,t,n){var r=n("83ab"),o=n("d039"),a=n("cc12");e.exports=!r&&!o((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},"0d03":function(e,t,n){var r=n("e330"),o=n("6eeb"),a=Date.prototype,i="Invalid Date",s="toString",c=r(a[s]),l=r(a.getTime);String(new Date(NaN))!=i&&o(a,s,(function(){var e=l(this);return e===e?c(this):i}))},"0d3b":function(e,t,n){var r=n("d039"),o=n("b622"),a=n("c430"),i=o("iterator");e.exports=!r((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,n="";return e.pathname="c%20d",t.forEach((function(e,r){t["delete"]("b"),n+=r+e})),a&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[i]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host}))},"0d51":function(e,t,n){var r=n("da84"),o=r.String;e.exports=function(e){try{return o(e)}catch(t){return"Object"}}},"107c":function(e,t,n){var r=n("d039"),o=n("da84"),a=o.RegExp;e.exports=r((function(){var e=a("(?
b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$c")}))},1148:function(e,t,n){"use strict";var r=n("da84"),o=n("5926"),a=n("577e"),i=n("1d80"),s=r.RangeError;e.exports=function(e){var t=a(i(this)),n="",r=o(e);if(r<0||r==1/0)throw s("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))1&r&&(n+=t);return n}},"129f":function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e===1/t:e!=e&&t!=t}},"13d5":function(e,t,n){"use strict";var r=n("23e7"),o=n("d58f").left,a=n("a640"),i=n("2d00"),s=n("605d"),c=a("reduce"),l=!s&&i>79&&i<83;r({target:"Array",proto:!0,forced:!c||l},{reduce:function(e){var t=arguments.length;return o(this,e,t,t>1?arguments[1]:void 0)}})},1448:function(e,t,n){var r=n("dfb9"),o=n("b6b7");e.exports=function(e,t){return r(o(e),t)}},"145e":function(e,t,n){"use strict";var r=n("7b0b"),o=n("23cb"),a=n("07fa"),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=r(this),s=a(n),c=o(e,s),l=o(t,s),u=arguments.length>2?arguments[2]:void 0,f=i((void 0===u?s:o(u,s))-l,s-c),d=1;l0)l in n?n[c]=n[l]:delete n[c],c+=d,l+=d;return n}},"14c3":function(e,t,n){var r=n("da84"),o=n("c65b"),a=n("825a"),i=n("1626"),s=n("c6b6"),c=n("9263"),l=r.TypeError;e.exports=function(e,t){var n=e.exec;if(i(n)){var r=o(n,e,t);return null!==r&&a(r),r}if("RegExp"===s(e))return o(c,e,t);throw l("RegExp#exec called on incompatible receiver")}},"159b":function(e,t,n){var r=n("da84"),o=n("fdbc"),a=n("785a"),i=n("17c2"),s=n("9112"),c=function(e){if(e&&e.forEach!==i)try{s(e,"forEach",i)}catch(t){e.forEach=i}};for(var l in o)o[l]&&c(r[l]&&r[l].prototype);c(a)},1626:function(e,t){e.exports=function(e){return"function"==typeof e}},1652:function(e,t,n){"use strict";t.__esModule=!0,t.stateify=t.TokenState=t.CharacterState=void 0;var r=n("254c");function o(){return function(e){this.j=[],this.T=e||null}}var a=o();a.prototype={defaultTransition:!1,on:function(e,t){if(e instanceof Array){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=this.next(new e(""));return n===this.defaultTransition?(n=new this.constructor(t),this.on(e,n)):t&&(n.T=t),n},test:function(e,t){return e instanceof t}});function c(e,t,n,r){var o=0,a=e.length,s=t,c=[],l=void 0;while(o=a)return[];while(o1?arguments[1]:void 0)}},"182d":function(e,t,n){var r=n("da84"),o=n("f8cd"),a=r.RangeError;e.exports=function(e,t){var n=o(e);if(n%t)throw a("Wrong offset");return n}},"19aa":function(e,t,n){var r=n("da84"),o=n("3a9b"),a=r.TypeError;e.exports=function(e,t){if(o(t,e))return e;throw a("Incorrect invocation")}},"1a2d":function(e,t,n){var r=n("e330"),o=n("7b0b"),a=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return a(o(e),t)}},"1a98":function(e,t,n){"use strict";n.r(t),n.d(t,"detectMobile",(function(){return r}));n("e323"),n("ac1f"),n("00b4"),n("d9e2"),n("d401");function r(){var e=o(),t=e.substr(0,4);return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw(n|u)|c55\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(t)}function o(){var e=navigator.userAgent||navigator.vendor||window.opera||null;if(!e)throw new Error("Failed to look for user agent information.");return e}},"1be4":function(e,t,n){var r=n("d066");e.exports=r("document","documentElement")},"1c7e":function(e,t,n){var r=n("b622"),o=r("iterator"),a=!1;try{var i=0,s={next:function(){return{done:!!i++}},return:function(){a=!0}};s[o]=function(){return this},Array.from(s,(function(){throw 2}))}catch(c){}e.exports=function(e,t){if(!t&&!a)return!1;var n=!1;try{var r={};r[o]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch(c){}return n}},"1cdc":function(e,t,n){var r=n("342f");e.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},"1d1c":function(e,t,n){var r=n("23e7"),o=n("83ab"),a=n("37e8").f;r({target:"Object",stat:!0,forced:Object.defineProperties!==a,sham:!o},{defineProperties:a})},"1d80":function(e,t,n){var r=n("da84"),o=r.TypeError;e.exports=function(e){if(void 0==e)throw o("Can't call method on "+e);return e}},"1dde":function(e,t,n){var r=n("d039"),o=n("b622"),a=n("2d00"),i=o("species");e.exports=function(e){return a>=51||!r((function(){var t=[],n=t.constructor={};return n[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},"219c":function(e,t,n){"use strict";var r=n("da84"),o=n("e330"),a=n("d039"),i=n("59ed"),s=n("addb"),c=n("ebb5"),l=n("04d1"),u=n("d998"),f=n("2d00"),d=n("512c"),h=r.Array,m=c.aTypedArray,p=c.exportTypedArrayMethod,g=r.Uint16Array,_=g&&o(g.prototype.sort),v=!!_&&!(a((function(){_(new g(2),null)}))&&a((function(){_(new g(2),{})}))),b=!!_&&!a((function(){if(f)return f<74;if(l)return l<67;if(u)return!0;if(d)return d<602;var e,t,n=new g(516),r=h(516);for(e=0;e<516;e++)t=e%4,n[e]=515-e,r[e]=e-2*t+3;for(_(n,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(n[e]!==r[e])return!0})),y=function(e){return function(t,n){return void 0!==e?+e(t,n)||0:n!==n?-1:t!==t?1:0===t&&0===n?1/t>0&&1/n<0?1:-1:t>n}};p("sort",(function(e){return void 0!==e&&i(e),b?_(this,e):s(m(this),y(e))}),!b||v)},2266:function(e,t,n){var r=n("da84"),o=n("0366"),a=n("c65b"),i=n("825a"),s=n("0d51"),c=n("e95a"),l=n("07fa"),u=n("3a9b"),f=n("9a1f"),d=n("35a1"),h=n("2a62"),m=r.TypeError,p=function(e,t){this.stopped=e,this.result=t},g=p.prototype;e.exports=function(e,t,n){var r,_,v,b,y,w,x,S=n&&n.that,k=!(!n||!n.AS_ENTRIES),M=!(!n||!n.IS_ITERATOR),A=!(!n||!n.INTERRUPTED),R=o(t,S),E=function(e){return r&&h(r,"normal",e),new p(!0,e)},T=function(e){return k?(i(e),A?R(e[0],e[1],E):R(e[0],e[1])):A?R(e,E):R(e)};if(M)r=e;else{if(_=d(e),!_)throw m(s(e)+" is not iterable");if(c(_)){for(v=0,b=l(e);b>v;v++)if(y=T(e[v]),y&&u(g,y))return y;return new p(!1)}r=f(e,_)}w=r.next;while(!(x=a(w,r)).done){try{y=T(x.value)}catch(O){h(r,"throw",O)}if("object"==typeof y&&y&&u(g,y))return y}return new p(!1)}},2315:function(e,t,n){"use strict";var r=n("23e7"),o=n("857a"),a=n("af03");r({target:"String",proto:!0,forced:a("strike")},{strike:function(){return o(this,"strike","","")}})},"23cb":function(e,t,n){var r=n("5926"),o=Math.max,a=Math.min;e.exports=function(e,t){var n=r(e);return n<0?o(n+t,0):a(n,t)}},"23e7":function(e,t,n){var r=n("da84"),o=n("06cf").f,a=n("9112"),i=n("6eeb"),s=n("ce4e"),c=n("e893"),l=n("94ca");e.exports=function(e,t){var n,u,f,d,h,m,p=e.target,g=e.global,_=e.stat;if(u=g?r:_?r[p]||s(p,{}):(r[p]||{}).prototype,u)for(f in t){if(h=t[f],e.noTargetGet?(m=o(u,f),d=m&&m.value):d=u[f],n=l(g?f:p+(_?".":"#")+f,e.forced),!n&&void 0!==d){if(typeof h==typeof d)continue;c(h,d)}(e.sham||d&&d.sham)&&a(h,"sham",!0),i(u,f,h,e)}}},"241c":function(e,t,n){var r=n("ca84"),o=n("7839"),a=o.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,a)}},2466:function(e,t){function n(){this.sum=0,this.seen=0,this.want=0,this.pos=0,this.size=0,this.bag=null,this.nVbrNumFrames=0,this.nBytesWritten=0,this.TotalFrameSize=0}e.exports=n},2474:function(e,t,n){var r=n("0206"),o=(r.System,r.VbrMode),a=r.Float,i=r.ShortBlock,s=r.Util,c=r.Arrays,l=(r.new_array_n,r.new_byte,r.new_double,r.new_float),u=r.new_float_n,f=r.new_int,d=(r.new_int_n,r.assert),h=n("8100"),m=n("4b5e");function p(){var e=new h,t=2.302585092994046,n=2,r=16,p=2,g=16,_=.34,v=1/217621504/(m.BLKSIZE/2),b=.01,y=.8,w=.6,x=.3,S=3.5,k=21,M=.2302585093;function A(e){return e}function R(e,t){for(var n=0,r=0;r=0;--p){var g=o[a+0][p],_=o[a+1][p];o[a+0][p]=(g+_)*s.SQRT2*.5,o[a+1][p]=(g-_)*s.SQRT2*.5}for(var v=2;v>=0;--v)for(p=m.BLKSIZE_s-1;p>=0;--p){g=i[c+0][v][p],_=i[c+1][v][p];i[c+0][v][p]=(g+_)*s.SQRT2*.5,i[c+1][v][p]=(g-_)*s.SQRT2*.5}}n[0]=A(o[a+0][0]),n[0]*=n[0];for(p=m.BLKSIZE/2-1;p>=0;--p){var b=o[a+0][m.BLKSIZE/2-p],y=o[a+0][m.BLKSIZE/2+p];n[m.BLKSIZE/2-p]=A(.5*(b*b+y*y))}for(v=2;v>=0;--v){r[v][0]=i[c+0][v][0],r[v][0]*=r[v][0];for(p=m.BLKSIZE_s/2-1;p>=0;--p){b=i[c+0][v][m.BLKSIZE_s/2-p],y=i[c+0][v][m.BLKSIZE_s/2+p];r[v][m.BLKSIZE_s/2-p]=A(.5*(b*b+y*y))}}var w=0;for(p=11;pe){if(!(t=t*O)return e+t;i=e/t}if(d(e>=0),d(t>=0),e+=t,r+3<=6){if(i>=T)return e;var c=0|s.FAST_LOG10_X(i,16);return e*H[c]}var l,u;c=0|s.FAST_LOG10_X(i,16);return t=0!=a?o.ATH.cb_s[n]*o.ATH.adjust:o.ATH.cb_l[n]*o.ATH.adjust,d(t>=0),et?(l=1,c<=13&&(l=U[c]),u=s.FAST_LOG10_X(e/t,10/15),e*((N[c]-l)*u+l)):c>13?e:e*U[c]:e*N[c]}var F=[1.7782755904,1.35879*1.35879,1.38454*1.38454,1.39497*1.39497,1.40548*1.40548,1.3537*1.3537,1.6999465924,1.22321*1.22321,1.3169398564,1];function q(e,t,n){var r;if(e<0&&(e=0),t<0&&(t=0),e<=0)return t;if(t<=0)return e;if(r=t>e?t/e:e/t,-2<=n&&n<=2){if(r>=T)return e+t;var o=0|s.FAST_LOG10_X(r,16);return(e+t)*F[o]}return r1){for(var r=0;r1.58*e.thm[1].l[t]||e.thm[1].l[t]>1.58*e.thm[0].l[t])){var n=e.mld_l[t]*e.en[3].l[t],r=Math.max(e.thm[2].l[t],Math.min(e.thm[3].l[t],n));n=e.mld_l[t]*e.en[2].l[t];var o=Math.max(e.thm[3].l[t],Math.min(e.thm[2].l[t],n));e.thm[2].l[t]=r,e.thm[3].l[t]=o}for(t=0;t1.58*e.thm[1].s[t][a]||e.thm[1].s[t][a]>1.58*e.thm[0].s[t][a])){n=e.mld_s[t]*e.en[3].s[t][a],r=Math.max(e.thm[2].s[t][a],Math.min(e.thm[3].s[t][a],n));n=e.mld_s[t]*e.en[2].s[t][a];o=Math.max(e.thm[3].s[t][a],Math.min(e.thm[2].s[t][a],n));e.thm[2].s[t][a]=r,e.thm[3].s[t][a]=o}}function z(e,t,n){var r=t,o=Math.pow(10,n);t*=2,r*=2;for(var a=0;a0)}e.thm[2].l[a]=Math.min(l,e.thm[2].l[a]),e.thm[3].l[a]=Math.min(u,e.thm[3].l[a])}o*=m.BLKSIZE_s/m.BLKSIZE;for(a=0;a0)}e.thm[2].s[a][s]=Math.min(e.thm[2].s[a][s],l),e.thm[3].s[a][s]=Math.min(e.thm[3].s[a][s],u)}}function Y(e,t,n,r,o){var a,i,s=0,c=0;for(a=i=0;a=0),d(n[i]>=0),s+=t[i],c+=n[i],i++;if(e.en[r].s[a][o]=s,e.thm[r].s[a][o]=c,i>=u){++a;break}d(t[i]>=0),d(n[i]>=0);var h=e.PSY.bo_s_weight[a],p=1-h;s=h*t[i],c=h*n[i],e.en[r].s[a][o]+=s,e.thm[r].s[a][o]+=c,s=p*t[i],c=p*n[i]}for(;a=0),d(n[a]>=0),i+=t[a],s+=n[a],a++;if(e.en[r].l[o]=i,e.thm[r].l[o]=s,a>=l){++o;break}d(t[a]>=0),d(n[a]>=0);var f=e.PSY.bo_l_weight[o],h=1-f;i=f*t[a],s=f*n[a],e.en[r].l[o]+=i,e.thm[r].l[o]+=s,i=h*t[a],s=h*n[a]}for(;o=0)}for(;s<=m.CBANDS;++s)n[s]=0,r[s]=0}function K(e,t,n,r){var o=e.internal_flags;e.short_blocks!=i.short_block_coupled||0!=t[0]&&0!=t[1]||(t[0]=t[1]=0);for(var a=0;a=1?e:n<=0?t:t>0?Math.pow(e/t,n)*t:0}var W=[11.8,13.6,17.2,32,46.5,51.3,57.5,67.1,71.5,84.6,97.6,130];function Q(e,n){for(var r=309.07,o=0;o0){var c=i*n,l=e.en.s[o][a];l>c&&(l>1e10*c?r+=W[o]*(10*t):(d(c>0),r+=W[o]*s.FAST_LOG10(l/c)))}}return r}var J=[6.8,5.8,5.8,6.4,6.5,9.9,12.1,14.4,15,18.9,21.6,26.9,34.2,40.2,46.8,56.5,60.7,73.9,85.7,93.4,126.1];function ee(e,n){for(var r=281.0575,o=0;o0){var i=a*n,c=e.en.l[o];c>i&&(c>1e10*i?r+=J[o]*(10*t):(d(i>0),r+=J[o]*s.FAST_LOG10(c/i)))}}return r}function te(e,t,n,r,o){var a,i;for(a=i=0;a=0),c+=u,l=0),d(c>=0),d(n[a]>=0),d(r[a]>=0),d(o[a]>=0)}}function ne(e,t,n,r){var o=P.length-1,a=0,i=n[a]+n[a+1];if(d(i>=0),i>0){var s=t[a];s0),i=20*(2*s-i)/(i*(e.numlines_l[a]+e.numlines_l[a+1]-1));var c=0|i;c>o&&(c=o),r[a]=c}else r[a]=0;for(a=1;a=0),i>0){s=t[a-1];s0),i=20*(3*s-i)/(i*(e.numlines_l[a-1]+e.numlines_l[a]+e.numlines_l[a+1]-1));c=0|i;c>o&&(c=o),r[a]=c}else r[a]=0;if(d(a>0),d(a==e.npart_l-1),i=n[a-1]+n[a],d(i>=0),i>0){s=t[a-1];s0),i=20*(2*s-i)/(i*(e.numlines_l[a-1]+e.numlines_l[a]-1));c=0|i;c>o&&(c=o),r[a]=c}else r[a]=0;d(a==e.npart_l-1)}var re=[-1730326e-23,-.01703172,-1349528e-23,.0418072,-673278e-22,-.0876324,-30835e-21,.1863476,-1104424e-22,-.627638];function oe(t,n,r,o,a,i,c,l){var u=t.internal_flags;if(o<2)e.fft_long(u,c[l],o,n,r);else if(2==o)for(var f=m.BLKSIZE-1;f>=0;--f){var d=c[l+0][f],h=c[l+1][f];c[l+0][f]=(d+h)*s.SQRT2*.5,c[l+1][f]=(d-h)*s.SQRT2*.5}i[0]=A(c[l+0][0]),i[0]*=i[0];for(f=m.BLKSIZE/2-1;f>=0;--f){var p=c[l+0][m.BLKSIZE/2-f],g=c[l+0][m.BLKSIZE/2+f];i[m.BLKSIZE/2-f]=A(.5*(p*p+g*g))}var _=0;for(f=11;f=0;--f){var d=c[l+0][a][f],h=c[l+1][a][f];c[l+0][a][f]=(d+h)*s.SQRT2*.5,c[l+1][a][f]=(d-h)*s.SQRT2*.5}i[a][0]=c[l+0][a][0],i[a][0]*=i[a][0];for(f=m.BLKSIZE_s/2-1;f>=0;--f){var p=c[l+0][a][m.BLKSIZE_s/2-f],g=c[l+0][a][m.BLKSIZE_s/2+f];i[a][m.BLKSIZE_s/2-f]=A(.5*(p*p+g*g))}}function ie(e,t,n,r){var o=e.internal_flags;2==e.athaa_loudapprox&&n<2&&(o.loudness_sq[t][n]=o.loudness_sq_save[n],o.loudness_sq_save[n]=R(r,o))}this.L3psycho_anal_ns=function(e,t,a,i,s,h,p,g,_,v){var b,S,M,A,R,T,O,B,I,L,j=e.internal_flags,C=u([2,m.BLKSIZE]),N=u([2,3,m.BLKSIZE_s]),H=l(m.CBANDS+1),U=l(m.CBANDS+1),F=l(m.CBANDS+2),q=f(2),W=f(2),J=u([2,576]),oe=f(m.CBANDS+2),ae=f(m.CBANDS+2);for(c.fill(ae,0),b=j.channels_out,e.mode==MPEGMode.JOINT_STEREO&&(b=4),I=e.VBR==o.vbr_off?0==j.ResvMax?0:j.ResvSize/j.ResvMax*.5:e.VBR==o.vbr_rh||e.VBR==o.vbr_mtrh||e.VBR==o.vbr_mt?.6:1,S=0;S2&&(h[i][S].en.assign(j.en[S+2]),h[i][S].thm.assign(j.thm[S+2]))}for(S=0;S0),pe[A]=he[A]/j.nsPsy.last_en_subshort[S][A+4],me[0]+=he[A];if(2==S)for(A=0;A<576;A++){var xe,Se;xe=J[0][A],Se=J[1][A],J[0][A]=xe+Se,J[1][A]=xe-Se}var ke=J[1&S],Me=0;for(A=0;A<9;A++){for(var Ae=Me+64,Re=1;Mehe[A+3-2]?(d(he[A+3-2]>0),Re/=he[A+3-2]):he[A+3-2]>10*Re?(d(Re>0),Re=he[A+3-2]/(10*Re)):Re=0,pe[A+3]=Re}if(e.analysis){var Ee=pe[0];for(A=1;A<12;A++)Eede&&(be[A/3]=A%3+1);for(A=1;A<4;A++){var Te;me[A-1]>me[A]?(d(me[A]>0),Te=me[A-1]/me[A]):(d(me[A-1]>0),Te=me[A]/me[A-1]),Te<1.7&&(be[A]=0,1==A&&(be[0]=0))}for(0!=be[0]&&0!=j.nsPsy.lastAttacks[S]&&(be[0]=0),3!=j.nsPsy.lastAttacks[S]&&be[0]+be[1]+be[2]+be[3]==0||(ge=0,0!=be[1]&&0!=be[0]&&(be[1]=0),0!=be[2]&&0!=be[1]&&(be[2]=0),0!=be[3]&&0!=be[2]&&(be[3]=0)),S<2?W[S]=ge:0==ge&&(W[0]=W[1]=0),_[S]=j.tot_ener[S],fe=N,ue=C,E(e,ye,we,ue,1&S,fe,1&S,i,S,t,a),te(j,ye,H,_e,ve),ne(j,_e,ve,oe),B=0;B<3;B++){var Oe,Be;for(G(e,we,U,F,S,B),Y(j,U,F,S,B),O=0;O=2||1==be[B+1]){var Ie=0!=B?B-1:2;Re=Z(j.thm[S].s[O][Ie],Be,w*I);Be=Math.min(Be,Re)}if(1==be[B]){Ie=0!=B?B-1:2,Re=Z(j.thm[S].s[O][Ie],Be,x*I);Be=Math.min(Be,Re)}else if(0!=B&&3==be[B-1]||0==B&&3==j.nsPsy.lastAttacks[S]){Ie=2!=B?B+1:0,Re=Z(j.thm[S].s[O][Ie],Be,x*I);Be=Math.min(Be,Re)}Oe=he[3*B+3]+he[3*B+4]+he[3*B+5],6*he[3*B+5]0&&V(e,e.interChRatio),e.mode==MPEGMode.JOINT_STEREO)&&($(j),L=e.msfix,Math.abs(L)>0&&z(j,L,e.ATHlower*j.ATH.adjust));for(K(e,W,v,q),S=0;S1?(Ce=g,Ue=-2,Ne=m.NORM_TYPE,v[0]!=m.SHORT_TYPE&&v[1]!=m.SHORT_TYPE||(Ne=m.SHORT_TYPE),He=h[i][S-2]):(Ce=p,Ue=0,Ne=v[S],He=s[i][S]),Ne==m.SHORT_TYPE?Ce[Ue+S]=Q(He,j.masking_lower):Ce[Ue+S]=ee(He,j.masking_lower),e.analysis&&(j.pinfo.pe[i][S]=Ce[Ue+S])}return 0};var se=[-1730326e-23,-.01703172,-1349528e-23,.0418072,-673278e-22,-.0876324,-30835e-21,.1863476,-1104424e-22,-.627638];function ce(e,t,n,r,o,a,i,s,c,f){for(var h=u([2,576]),m=e.internal_flags,p=m.channels_out,g=e.mode==MPEGMode.JOINT_STEREO?4:p,_=0;_2&&(a[r][_].en.assign(m.en[_+2]),a[r][_].thm.assign(m.thm[_+2]))}for(_=0;_0;++b,--x){var B=h[0][b],I=h[1][b];h[0][b]=B+I,h[1][b]=B-I}for(b=0;b<3;b++)M[b]=m.nsPsy.last_en_subshort[_][b+6],d(m.nsPsy.last_en_subshort[_][b+4]>0),S[b]=M[b]/m.nsPsy.last_en_subshort[_][b+4],A[0]+=M[b];for(b=0;b<9;b++){for(var L=E+64,j=1;EM[b+3-2]?(d(M[b+3-2]>0),j/=M[b+3-2]):M[b+3-2]>10*j?(d(j>0),j=M[b+3-2]/(10*j)):j=0,S[b+3]=j}for(b=0;b<3;++b){var P=M[3*b+3]+M[3*b+4]+M[3*b+5],C=1;6*M[3*b+5]T&&(c[_][b/3]=b%3+1);for(b=1;b<4;b++){var H=A[b-1],U=A[b],D=Math.max(H,U);D<4e4&&H<1.7*U&&U<1.7*H&&(1==b&&c[_][0]<=c[_][b]&&(c[_][0]=0),c[_][b]=0)}c[_][0]<=m.nsPsy.lastAttacks[_]&&(c[_][0]=0),3!=m.nsPsy.lastAttacks[_]&&c[_][0]+c[_][1]+c[_][2]+c[_][3]==0||(O=0,0!=c[_][1]&&0!=c[_][0]&&(c[_][1]=0),0!=c[_][2]&&0!=c[_][1]&&(c[_][2]=0),0!=c[_][3]&&0!=c[_][2]&&(c[_][3]=0)),_<2?f[_]=O:0==O&&(f[0]=f[1]=0),i[_]=m.tot_ener[_]}}function le(e,t,n){if(0==n)for(var r=0;r=0),i>0){var s=t[a];s0),i=20*(2*s-i)/(i*(e.numlines_s[a]+e.numlines_s[a+1]-1));var c=0|i;c>o&&(c=o),r[a]=c}else r[a]=0;for(a=1;a=0),i>0){s=t[a-1];s0),i=20*(3*s-i)/(i*(e.numlines_s[a-1]+e.numlines_s[a]+e.numlines_s[a+1]-1));c=0|i;c>o&&(c=o),r[a]=c}else r[a]=0;if(d(a>0),d(a==e.npart_s-1),i=n[a-1]+n[a],d(i>=0),i>0){s=t[a-1];s0),i=20*(2*s-i)/(i*(e.numlines_s[a-1]+e.numlines_s[a]-1));c=0|i;c>o&&(c=o),r[a]=c}else r[a]=0;d(a==e.npart_s-1)}function de(e,t,n,r,o,a){var i,s,c,u=e.internal_flags,f=new float[m.CBANDS],h=l(m.CBANDS),p=new int[m.CBANDS];for(c=s=0;c=0),f[c]=_,d(v>0),h[c]=g/v,d(h[c]>=0)}for(d(c==u.npart_s),d(129==s);cx&&(r[c]=x),u.masking_lower>1&&(r[c]*=u.masking_lower),r[c]>n[c]&&(r[c]=n[c]),u.masking_lower<1&&(r[c]*=u.masking_lower),d(r[c]>=0)}for(;c0?Math.min(_,M):Math.min(_,o[s]*x)}else{var A=r*e.nb_2[i][s],R=n*e.nb_1[i][s];A<=0&&(A=_),R<=0&&(R=_),M=e.blocktype_old[1&i]==m.NORM_TYPE?Math.min(R,A):R,a[s]=Math.min(_,M)}e.nb_2[i][s]=e.nb_1[i][s],e.nb_1[i][s]=_,g=c[s],g*=e.minval_l[s],g*=v,a[s]>g&&(a[s]=g),e.masking_lower>1&&(a[s]*=e.masking_lower),a[s]>o[s]&&(a[s]=o[s]),e.masking_lower<1&&(a[s]*=e.masking_lower),d(a[s]>=0)}for(;s0?Math.pow(10,o):1,f=0;f0){var w,x,S=r[f]*u;if(w=Math.min(Math.max(p,S),Math.max(g,S)),_=Math.max(c,S),v=Math.max(s,S),x=_+v,x>0&&w*l0)}c=Math.min(_,c),s=Math.min(v,s)}c>h&&(c=h),s>m&&(s=m),t[2][f]=c,t[3][f]=s}}function _e(e,t){var n,r=e;return n=r>=0?27*-r:r*t,n<=-72?0:Math.exp(n*M)}function ve(e){var t=0,n=0,r=0;for(r=0;_e(r,e)>1e-20;r-=1);o=r,a=0;while(Math.abs(a-o)>1e-12)r=(a+o)/2,_e(r,e)>0?a=r:o=r;t=o;var o,a;r=0;for(r=0;_e(r,e)>1e-20;r+=1);o=0,a=r;while(Math.abs(a-o)>1e-12)r=(a+o)/2,_e(r,e)>0?o=r:a=r;n=a;var i,s=0,c=1e3;for(i=0;i<=c;++i){r=t+i*(n-t)/c;var l=_e(r,e);s+=l}var u=(c+1)/(s*(n-t));return u}function be(e){var t,n,r,o;return t=e,t*=t>=0?3:1.5,t>=.5&&t<=2.5?(o=t-.5,n=8*(o*o-2*o)):n=0,t+=.474,r=15.811389+7.5*t-17.5*Math.sqrt(1+t*t),r<=-60?0:(t=Math.exp((n+r)*M),t/=.6609193,t)}function ye(e){return e<0&&(e=0),e*=.001,13*Math.atan(.76*e)+3.5*Math.atan(e*e/56.25)}function we(e,t,n,r,o,a,i,s,c,u,h,p){var g,v=l(m.CBANDS+1),b=s/(p>15?1152:384),y=f(m.HBLKSIZE);s/=c;var w=0,x=0;for(g=0;gc/2){w=c/2,++g;break}}d(gc/2&&(A=c/2),n[k]=(y[M]+y[A])/2,t[k]=y[A];var O=b*E;i[k]=(O-v[t[k]])/(v[t[k]+1]-v[t[k]]),i[k]<0?i[k]=0:i[k]>1&&(i[k]=1),T=ye(s*u[k]*h),T=Math.min(T,15.5)/15.5,a[k]=Math.pow(10,1.25*(1-Math.cos(Math.PI*T))-2.5)}w=0;for(var B=0;B0)break;for(e[f][0]=i,i=t-1;i>0;i--)if(s[f][i]>0)break;e[f][1]=i,c+=e[f][1]-e[f][0]+1}var g=l(c),_=0;for(f=0;f=2||1==E[B][L+1]){var N=0!=L?L-1:2,H=Z(g.thm[B].s[j][N],C,w*R);C=Math.min(C,H)}else if(1==E[B][L]){N=0!=L?L-1:2,H=Z(g.thm[B].s[j][N],C,x*R);C=Math.min(C,H)}else if(0!=L&&3==E[B][L-1]||0==L&&3==g.nsPsy.lastAttacks[B]){N=2!=L?L+1:0,H=Z(g.thm[B].s[j][N],C,x*R);C=Math.min(C,H)}C*=A[B][L],P[L]=C}for(L=0;L<3;L++)g.thm[B].s[j][L]=P[L]}}for(B=0;B1?(U=s,D=-2,F=m.NORM_TYPE,d[0]!=m.SHORT_TYPE&&d[1]!=m.SHORT_TYPE||(F=m.SHORT_TYPE),q=a[r][B-2]):(U=i,D=0,F=d[B],q=o[r][B]),F==m.SHORT_TYPE?U[D+B]=Q(q,g.masking_lower):U[D+B]=ee(q,g.masking_lower),e.analysis&&(g.pinfo.pe[r][B]=U[D+B])}return 0},this.psymodel_init=function(n){var r,i=n.internal_flags,s=!0,c=13,u=24,f=0,h=0,p=-8.25,g=-4.5,_=l(m.CBANDS),v=l(m.CBANDS),y=l(m.CBANDS),w=n.out_samplerate;switch(n.experimentalZ){default:case 0:s=!0;break;case 1:s=n.VBR!=o.vbr_mtrh&&n.VBR!=o.vbr_mt;break;case 2:s=!1;break;case 3:c=8,f=-1.75,h=-.0125,p=-8.25,g=-2.25;break}for(i.ms_ener_ratio_old=.25,i.blocktype_old[0]=i.blocktype_old[1]=m.NORM_TYPE,r=0;r<4;++r){for(var x=0;x=c&&(M=h*(_[r]-c)/(u-c)+f*(u-_[r])/(u-c)),y[r]=Math.pow(10,M/10),i.numlines_l[r]>0?i.rnumlines_l[r]=1/i.numlines_l[r]:i.rnumlines_l[r]=0}i.s3_ll=xe(i.s3ind,i.npart_l,_,v,y,s);var A;x=0;for(r=0;rO&&(T=O)}i.ATH.cb_l[r]=T,T=20*_[r]/10-20,T>6&&(T=100),T<-15&&(T=-15),T-=8,i.minval_l[r]=Math.pow(10,T/10)*i.numlines_l[r]}for(i.npart_s=we(i.numlines_s,i.bo_s,i.bm_s,_,v,i.mld_s,i.PSY.bo_s_weight,w,m.BLKSIZE_s,i.scalefac_band.s,m.BLKSIZE_s/384,m.SBMAX_s),d(i.npart_s=c&&(M=g*(_[r]-c)/(u-c)+p*(u-_[r])/(u-c)),y[r]=Math.pow(10,M/10),T=a.MAX_VALUE;for(R=0;RO&&(T=O)}i.ATH.cb_s[r]=T,T=7*_[r]/12-7,_[r]>12&&(T*=1+3.1*Math.log(1+T)),_[r]<12&&(T*=1+2.3*Math.log(1-T)),T<-15&&(T=-15),T-=8,i.minval_s[r]=Math.pow(10,T/10)*i.numlines_s[r]}i.s3_ss=xe(i.s3ind_s,i.npart_s,_,v,y,s),C(),e.init_fft(i),i.decay=Math.exp(-1*t/(b*w/192)),A=S,0!=(2&n.exp_nspsytune)&&(A=1),Math.abs(n.msfix)>0&&(A=n.msfix),n.msfix=A;for(var B=0;Bi.npart_l-1&&(i.s3ind[B][1]=i.npart_l-1);var I=576*i.mode_gr/w;if(i.ATH.decay=Math.pow(10,-1.2*I),i.ATH.adjust=.01,i.ATH.adjustLimit=1,d(i.bo_l[m.SBMAX_l-1]<=i.npart_l),d(i.bo_s[m.SBMAX_s-1]<=i.npart_s),-1!=n.ATHtype){var L=n.out_samplerate/m.BLKSIZE,j=0;for(E=0,r=0;r=0;)i.ATH.eql_w[r]*=j}for(B=x=0;B1?arguments[1]:void 0)}})},"254c":function(e,t,n){"use strict";function r(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=Object.create(e.prototype);for(var o in n)r[o]=n[o];return r.constructor=t,t.prototype=r,t}t.__esModule=!0,t.inherits=r},"25a1":function(e,t,n){"use strict";var r=n("ebb5"),o=n("d58f").right,a=r.aTypedArray,i=r.exportTypedArrayMethod;i("reduceRight",(function(e){var t=arguments.length;return o(a(this),e,t,t>1?arguments[1]:void 0)}))},"25f0":function(e,t,n){"use strict";var r=n("e330"),o=n("5e77").PROPER,a=n("6eeb"),i=n("825a"),s=n("3a9b"),c=n("577e"),l=n("d039"),u=n("ad6d"),f="toString",d=RegExp.prototype,h=d[f],m=r(u),p=l((function(){return"/a/b"!=h.call({source:"a",flags:"b"})})),g=o&&h.name!=f;(p||g)&&a(RegExp.prototype,f,(function(){var e=i(this),t=c(e.source),n=e.flags,r=c(void 0===n&&s(d,e)&&!("flags"in d)?m(e):n);return"/"+t+"/"+r}),{unsafe:!0})},2626:function(e,t,n){"use strict";var r=n("d066"),o=n("9bf2"),a=n("b622"),i=n("83ab"),s=a("species");e.exports=function(e){var t=r(e),n=o.f;i&&t&&!t[s]&&n(t,s,{configurable:!0,get:function(){return this}})}},2695:function(e,t,n){var r=n("0206"),o=(r.System,r.VbrMode,r.Float,r.ShortBlock,r.Util,r.Arrays,r.new_array_n,r.new_byte,r.new_double,r.new_float,r.new_float_n,r.new_int),a=(r.new_int_n,r.assert,n("f3b5"));function i(){this.tt=[[null,null],[null,null]],this.main_data_begin=0,this.private_bits=0,this.resvDrain_pre=0,this.resvDrain_post=0,this.scfsi=[o(4),o(4)];for(var e=0;e<2;e++)for(var t=0;t<2;t++)this.tt[e][t]=new a}e.exports=i},"277d":function(e,t,n){var r=n("23e7"),o=n("e8b5");r({target:"Array",stat:!0},{isArray:o})},2954:function(e,t,n){"use strict";var r=n("ebb5"),o=n("b6b7"),a=n("d039"),i=n("f36a"),s=r.aTypedArray,c=r.exportTypedArrayMethod,l=a((function(){new Int8Array(1).slice()}));c("slice",(function(e,t){var n=i(s(this),e,t),r=o(this),a=0,c=n.length,l=new r(c);while(c>a)l[a]=n[a++];return l}),l)},"2a62":function(e,t,n){var r=n("c65b"),o=n("825a"),a=n("dc4a");e.exports=function(e,t,n){var i,s;o(e);try{if(i=a(e,"return"),!i){if("throw"===t)throw n;return n}i=r(i,e)}catch(c){s=!0,i=c}if("throw"===t)throw n;if(s)throw i;return o(i),n}},"2b3d":function(e,t,n){"use strict";n("3ca3");var r,o=n("23e7"),a=n("83ab"),i=n("0d3b"),s=n("da84"),c=n("0366"),l=n("e330"),u=n("37e8").f,f=n("6eeb"),d=n("19aa"),h=n("1a2d"),m=n("60da"),p=n("4df4"),g=n("4dae"),_=n("6547").codeAt,v=n("5fb2"),b=n("577e"),y=n("d44e"),w=n("d6d6"),x=n("9861"),S=n("69f3"),k=S.set,M=S.getterFor("URL"),A=x.URLSearchParams,R=x.getState,E=s.URL,T=s.TypeError,O=s.parseInt,B=Math.floor,I=Math.pow,L=l("".charAt),j=l(/./.exec),P=l([].join),C=l(1..toString),N=l([].pop),H=l([].push),U=l("".replace),D=l([].shift),F=l("".split),q=l("".slice),V=l("".toLowerCase),$=l([].unshift),z="Invalid authority",Y="Invalid scheme",X="Invalid host",G="Invalid port",K=/[a-z]/i,Z=/[\d+-.a-z]/i,W=/\d/,Q=/^0x/i,J=/^[0-7]+$/,ee=/^\d+$/,te=/^[\da-f]+$/i,ne=/[\0\t\n\r #%/:<>?@[\\\]^|]/,re=/[\0\t\n\r #/:<>?@[\\\]^|]/,oe=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,ae=/[\t\n\r]/g,ie=function(e){var t,n,r,o,a,i,s,c=F(e,".");if(c.length&&""==c[c.length-1]&&c.length--,t=c.length,t>4)return e;for(n=[],r=0;r1&&"0"==L(o,0)&&(a=j(Q,o)?16:8,o=q(o,8==a?1:2)),""===o)i=0;else{if(!j(10==a?ee:8==a?J:te,o))return e;i=O(o,a)}H(n,i)}for(r=0;r=I(256,5-t))return null}else if(i>255)return null;for(s=N(n),r=0;r6)return;r=0;while(d()){if(o=null,r>0){if(!("."==d()&&r<4))return;f++}if(!j(W,d()))return;while(j(W,d())){if(a=O(d(),10),null===o)o=a;else{if(0==o)return;o=10*o+a}if(o>255)return;f++}c[l]=256*c[l]+o,r++,2!=r&&4!=r||l++}if(4!=r)return;break}if(":"==d()){if(f++,!d())return}else if(d())return;c[l++]=t}else{if(null!==u)return;f++,l++,u=l}}if(null!==u){i=l-u,l=7;while(0!=l&&i>0)s=c[l],c[l--]=c[u+i-1],c[u+--i]=s}else if(8!=l)return;return c},ce=function(e){for(var t=null,n=1,r=null,o=0,a=0;a<8;a++)0!==e[a]?(o>n&&(t=r,n=o),r=null,o=0):(null===r&&(r=a),++o);return o>n&&(t=r,n=o),t},le=function(e){var t,n,r,o;if("number"==typeof e){for(t=[],n=0;n<4;n++)$(t,e%256),e=B(e/256);return P(t,".")}if("object"==typeof e){for(t="",r=ce(e),n=0;n<8;n++)o&&0===e[n]||(o&&(o=!1),r===n?(t+=n?":":"::",o=!0):(t+=C(e[n],16),n<7&&(t+=":")));return"["+t+"]"}return e},ue={},fe=m({},ue,{" ":1,'"':1,"<":1,">":1,"`":1}),de=m({},fe,{"#":1,"?":1,"{":1,"}":1}),he=m({},de,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),me=function(e,t){var n=_(e,0);return n>32&&n<127&&!h(t,e)?e:encodeURIComponent(e)},pe={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ge=function(e,t){var n;return 2==e.length&&j(K,L(e,0))&&(":"==(n=L(e,1))||!t&&"|"==n)},_e=function(e){var t;return e.length>1&&ge(q(e,0,2))&&(2==e.length||"/"===(t=L(e,2))||"\\"===t||"?"===t||"#"===t)},ve=function(e){return"."===e||"%2e"===V(e)},be=function(e){return e=V(e),".."===e||"%2e."===e||".%2e"===e||"%2e%2e"===e},ye={},we={},xe={},Se={},ke={},Me={},Ae={},Re={},Ee={},Te={},Oe={},Be={},Ie={},Le={},je={},Pe={},Ce={},Ne={},He={},Ue={},De={},Fe=function(e,t,n){var r,o,a,i=b(e);if(t){if(o=this.parse(i),o)throw T(o);this.searchParams=null}else{if(void 0!==n&&(r=new Fe(n,!0)),o=this.parse(i,null,r),o)throw T(o);a=R(new A),a.bindURL(this),this.searchParams=a}};Fe.prototype={type:"URL",parse:function(e,t,n){var o,a,i,s,c=this,l=t||ye,u=0,f="",d=!1,m=!1,_=!1;e=b(e),t||(c.scheme="",c.username="",c.password="",c.host=null,c.port=null,c.path=[],c.query=null,c.fragment=null,c.cannotBeABaseURL=!1,e=U(e,oe,"")),e=U(e,ae,""),o=p(e);while(u<=o.length){switch(a=o[u],l){case ye:if(!a||!j(K,a)){if(t)return Y;l=xe;continue}f+=V(a),l=we;break;case we:if(a&&(j(Z,a)||"+"==a||"-"==a||"."==a))f+=V(a);else{if(":"!=a){if(t)return Y;f="",l=xe,u=0;continue}if(t&&(c.isSpecial()!=h(pe,f)||"file"==f&&(c.includesCredentials()||null!==c.port)||"file"==c.scheme&&!c.host))return;if(c.scheme=f,t)return void(c.isSpecial()&&pe[c.scheme]==c.port&&(c.port=null));f="","file"==c.scheme?l=Le:c.isSpecial()&&n&&n.scheme==c.scheme?l=Se:c.isSpecial()?l=Re:"/"==o[u+1]?(l=ke,u++):(c.cannotBeABaseURL=!0,H(c.path,""),l=He)}break;case xe:if(!n||n.cannotBeABaseURL&&"#"!=a)return Y;if(n.cannotBeABaseURL&&"#"==a){c.scheme=n.scheme,c.path=g(n.path),c.query=n.query,c.fragment="",c.cannotBeABaseURL=!0,l=De;break}l="file"==n.scheme?Le:Me;continue;case Se:if("/"!=a||"/"!=o[u+1]){l=Me;continue}l=Ee,u++;break;case ke:if("/"==a){l=Te;break}l=Ne;continue;case Me:if(c.scheme=n.scheme,a==r)c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=g(n.path),c.query=n.query;else if("/"==a||"\\"==a&&c.isSpecial())l=Ae;else if("?"==a)c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=g(n.path),c.query="",l=Ue;else{if("#"!=a){c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=g(n.path),c.path.length--,l=Ne;continue}c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=g(n.path),c.query=n.query,c.fragment="",l=De}break;case Ae:if(!c.isSpecial()||"/"!=a&&"\\"!=a){if("/"!=a){c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,l=Ne;continue}l=Te}else l=Ee;break;case Re:if(l=Ee,"/"!=a||"/"!=L(f,u+1))continue;u++;break;case Ee:if("/"!=a&&"\\"!=a){l=Te;continue}break;case Te:if("@"==a){d&&(f="%40"+f),d=!0,i=p(f);for(var v=0;v65535)return G;c.port=c.isSpecial()&&x===pe[c.scheme]?null:x,f=""}if(t)return;l=Ce;continue}return G}f+=a;break;case Le:if(c.scheme="file","/"==a||"\\"==a)l=je;else{if(!n||"file"!=n.scheme){l=Ne;continue}if(a==r)c.host=n.host,c.path=g(n.path),c.query=n.query;else if("?"==a)c.host=n.host,c.path=g(n.path),c.query="",l=Ue;else{if("#"!=a){_e(P(g(o,u),""))||(c.host=n.host,c.path=g(n.path),c.shortenPath()),l=Ne;continue}c.host=n.host,c.path=g(n.path),c.query=n.query,c.fragment="",l=De}}break;case je:if("/"==a||"\\"==a){l=Pe;break}n&&"file"==n.scheme&&!_e(P(g(o,u),""))&&(ge(n.path[0],!0)?H(c.path,n.path[0]):c.host=n.host),l=Ne;continue;case Pe:if(a==r||"/"==a||"\\"==a||"?"==a||"#"==a){if(!t&&ge(f))l=Ne;else if(""==f){if(c.host="",t)return;l=Ce}else{if(s=c.parseHost(f),s)return s;if("localhost"==c.host&&(c.host=""),t)return;f="",l=Ce}continue}f+=a;break;case Ce:if(c.isSpecial()){if(l=Ne,"/"!=a&&"\\"!=a)continue}else if(t||"?"!=a)if(t||"#"!=a){if(a!=r&&(l=Ne,"/"!=a))continue}else c.fragment="",l=De;else c.query="",l=Ue;break;case Ne:if(a==r||"/"==a||"\\"==a&&c.isSpecial()||!t&&("?"==a||"#"==a)){if(be(f)?(c.shortenPath(),"/"==a||"\\"==a&&c.isSpecial()||H(c.path,"")):ve(f)?"/"==a||"\\"==a&&c.isSpecial()||H(c.path,""):("file"==c.scheme&&!c.path.length&&ge(f)&&(c.host&&(c.host=""),f=L(f,0)+":"),H(c.path,f)),f="","file"==c.scheme&&(a==r||"?"==a||"#"==a))while(c.path.length>1&&""===c.path[0])D(c.path);"?"==a?(c.query="",l=Ue):"#"==a&&(c.fragment="",l=De)}else f+=me(a,de);break;case He:"?"==a?(c.query="",l=Ue):"#"==a?(c.fragment="",l=De):a!=r&&(c.path[0]+=me(a,ue));break;case Ue:t||"#"!=a?a!=r&&("'"==a&&c.isSpecial()?c.query+="%27":c.query+="#"==a?"%23":me(a,ue)):(c.fragment="",l=De);break;case De:a!=r&&(c.fragment+=me(a,fe));break}u++}},parseHost:function(e){var t,n,r;if("["==L(e,0)){if("]"!=L(e,e.length-1))return X;if(t=se(q(e,1,-1)),!t)return X;this.host=t}else if(this.isSpecial()){if(e=v(e),j(ne,e))return X;if(t=ie(e),null===t)return X;this.host=t}else{if(j(re,e))return X;for(t="",n=p(e),r=0;r1?arguments[1]:void 0,r=k(t,new Fe(e,!1,n));a||(t.href=r.serialize(),t.origin=r.getOrigin(),t.protocol=r.getProtocol(),t.username=r.getUsername(),t.password=r.getPassword(),t.host=r.getHost(),t.hostname=r.getHostname(),t.port=r.getPort(),t.pathname=r.getPathname(),t.search=r.getSearch(),t.searchParams=r.getSearchParams(),t.hash=r.getHash())},Ve=qe.prototype,$e=function(e,t){return{get:function(){return M(this)[e]()},set:t&&function(e){return M(this)[t](e)},configurable:!0,enumerable:!0}};if(a&&u(Ve,{href:$e("serialize","setHref"),origin:$e("getOrigin"),protocol:$e("getProtocol","setProtocol"),username:$e("getUsername","setUsername"),password:$e("getPassword","setPassword"),host:$e("getHost","setHost"),hostname:$e("getHostname","setHostname"),port:$e("getPort","setPort"),pathname:$e("getPathname","setPathname"),search:$e("getSearch","setSearch"),searchParams:$e("getSearchParams"),hash:$e("getHash","setHash")}),f(Ve,"toJSON",(function(){return M(this).serialize()}),{enumerable:!0}),f(Ve,"toString",(function(){return M(this).serialize()}),{enumerable:!0}),E){var ze=E.createObjectURL,Ye=E.revokeObjectURL;ze&&f(qe,"createObjectURL",c(ze,E)),Ye&&f(qe,"revokeObjectURL",c(Ye,E))}y(qe,"URL"),o({global:!0,forced:!i,sham:!a},{URL:qe})},"2ba4":function(e,t,n){var r=n("40d5"),o=Function.prototype,a=o.apply,i=o.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?i.bind(a):function(){return i.apply(a,arguments)})},"2c3e":function(e,t,n){var r=n("da84"),o=n("83ab"),a=n("9f7f").MISSED_STICKY,i=n("c6b6"),s=n("9bf2").f,c=n("69f3").get,l=RegExp.prototype,u=r.TypeError;o&&a&&s(l,"sticky",{configurable:!0,get:function(){if(this!==l){if("RegExp"===i(this))return!!c(this).sticky;throw u("Incompatible receiver, RegExp required")}}})},"2ca0":function(e,t,n){"use strict";var r=n("23e7"),o=n("e330"),a=n("06cf").f,i=n("50c4"),s=n("577e"),c=n("5a34"),l=n("1d80"),u=n("ab13"),f=n("c430"),d=o("".startsWith),h=o("".slice),m=Math.min,p=u("startsWith"),g=!f&&!p&&!!function(){var e=a(String.prototype,"startsWith");return e&&!e.writable}();r({target:"String",proto:!0,forced:!g&&!p},{startsWith:function(e){var t=s(l(this));c(e);var n=i(m(arguments.length>1?arguments[1]:void 0,t.length)),r=s(e);return d?d(t,r,n):h(t,n,n+r.length)===r}})},"2cf4":function(e,t,n){var r,o,a,i,s=n("da84"),c=n("2ba4"),l=n("0366"),u=n("1626"),f=n("1a2d"),d=n("d039"),h=n("1be4"),m=n("f36a"),p=n("cc12"),g=n("d6d6"),_=n("1cdc"),v=n("605d"),b=s.setImmediate,y=s.clearImmediate,w=s.process,x=s.Dispatch,S=s.Function,k=s.MessageChannel,M=s.String,A=0,R={},E="onreadystatechange";try{r=s.location}catch(L){}var T=function(e){if(f(R,e)){var t=R[e];delete R[e],t()}},O=function(e){return function(){T(e)}},B=function(e){T(e.data)},I=function(e){s.postMessage(M(e),r.protocol+"//"+r.host)};b&&y||(b=function(e){g(arguments.length,1);var t=u(e)?e:S(e),n=m(arguments,1);return R[++A]=function(){c(t,void 0,n)},o(A),A},y=function(e){delete R[e]},v?o=function(e){w.nextTick(O(e))}:x&&x.now?o=function(e){x.now(O(e))}:k&&!_?(a=new k,i=a.port2,a.port1.onmessage=B,o=l(i.postMessage,i)):s.addEventListener&&u(s.postMessage)&&!s.importScripts&&r&&"file:"!==r.protocol&&!d(I)?(o=I,s.addEventListener("message",B,!1)):o=E in p("script")?function(e){h.appendChild(p("script"))[E]=function(){h.removeChild(this),T(e)}}:function(e){setTimeout(O(e),0)}),e.exports={set:b,clear:y}},"2d00":function(e,t,n){var r,o,a=n("da84"),i=n("342f"),s=a.process,c=a.Deno,l=s&&s.versions||c&&c.version,u=l&&l.v8;u&&(r=u.split("."),o=r[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&i&&(r=i.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=i.match(/Chrome\/(\d+)/),r&&(o=+r[1]))),e.exports=o},"2d78":function(e,t,n){"use strict";t.__esModule=!0,t.tokenize=t.test=t.scanner=t.parser=t.options=t.inherits=t.find=void 0;var r=n("254c"),o=n("316e"),a=u(o),i=n("b7fe"),s=u(i),c=n("4128"),l=u(c);function u(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var f=function(e){return l.run(s.run(e))},d=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=f(e),r=[],o=0;o1&&void 0!==arguments[1]?arguments[1]:null,n=f(e);return 1===n.length&&n[0].isLink&&(!t||n[0].type===t)};t.find=d,t.inherits=r.inherits,t.options=a,t.parser=l,t.scanner=s,t.test=h,t.tokenize=f},"2f21":function(e,t,n){var r=n("0206"),o=r.System,a=(r.VbrMode,r.Float,r.ShortBlock,r.Util,r.Arrays);r.new_array_n,r.new_byte,r.new_double,r.new_float,r.new_float_n,r.new_int,r.new_int_n,r.assert;function i(){var e=64.82,t=(i.YULE_ORDER,.95),n=(i.MAX_SAMP_FREQ,i.RMS_WINDOW_TIME_NUMERATOR),r=i.RMS_WINDOW_TIME_DENOMINATOR,s=(i.MAX_SAMPLES_PER_WINDOW,[[.038575994352,-3.84664617118067,-.02160367184185,7.81501653005538,-.00123395316851,-11.34170355132042,-9291677959e-14,13.05504219327545,-.01655260341619,-12.28759895145294,.02161526843274,9.4829380631979,-.02074045215285,-5.87257861775999,.00594298065125,2.75465861874613,.00306428023191,-.86984376593551,.00012025322027,.13919314567432,.00288463683916],[.0541865640643,-3.47845948550071,-.02911007808948,6.36317777566148,-.00848709379851,-8.54751527471874,-.00851165645469,9.4769360780128,-.00834990904936,-8.81498681370155,.02245293253339,6.85401540936998,-.02596338512915,-4.39470996079559,.01624864962975,2.19611684890774,-.00240879051584,-.75104302451432,.00674613682247,.13149317958808,-.00187763777362],[.15457299681924,-2.37898834973084,-.09331049056315,2.84868151156327,-.06247880153653,-2.64577170229825,.02163541888798,2.23697657451713,-.05588393329856,-1.67148153367602,.04781476674921,1.00595954808547,.00222312597743,-.45953458054983,.03174092540049,.16378164858596,-.01390589421898,-.05032077717131,.00651420667831,.0234789740702,-.00881362733839],[.30296907319327,-1.61273165137247,-.22613988682123,1.0797749225997,-.08587323730772,-.2565625775407,.03282930172664,-.1627671912044,-.00915702933434,-.22638893773906,-.02364141202522,.39120800788284,-.00584456039913,-.22138138954925,.06276101321749,.04500235387352,-828086748e-14,.02005851806501,.00205861885564,.00302439095741,-.02950134983287],[.33642304856132,-1.49858979367799,-.2557224142557,.87350271418188,-.11828570177555,.12205022308084,.11921148675203,-.80774944671438,-.07834489609479,.47854794562326,-.0046997791438,-.12453458140019,-.0058950022444,-.04067510197014,.05724228140351,.08333755284107,.00832043980773,-.04237348025746,-.0163538138454,.02977207319925,-.0176017656815],[.4491525660845,-.62820619233671,-.14351757464547,.29661783706366,-.22784394429749,-.372563729424,-.01419140100551,.00213767857124,.04078262797139,-.42029820170918,-.12398163381748,.22199650564824,.04097565135648,.00613424350682,.10478503600251,.06747620744683,-.01863887810927,.05784820375801,-.03193428438915,.03222754072173,.00541907748707],[.56619470757641,-1.04800335126349,-.75464456939302,.29156311971249,.1624213774223,-.26806001042947,.16744243493672,.00819999645858,-.18901604199609,.45054734505008,.3093178284183,-.33032403314006,-.27562961986224,.0673936833311,.00647310677246,-.04784254229033,.08647503780351,.01639907836189,-.0378898455484,.01807364323573,-.00588215443421],[.58100494960553,-.51035327095184,-.53174909058578,-.31863563325245,-.14289799034253,-.20256413484477,.17520704835522,.1472815413433,.02377945217615,.38952639978999,.15558449135573,-.23313271880868,-.25344790059353,-.05246019024463,.01628462406333,-.02505961724053,.06920467763959,.02442357316099,-.03721611395801,.01818801111503,-.00749618797172],[.53648789255105,-.2504987195602,-.42163034350696,-.43193942311114,-.00275953611929,-.03424681017675,.04267842219415,-.04678328784242,-.10214864179676,.26408300200955,.14590772289388,.15113130533216,-.02459864859345,-.17556493366449,-.11202315195388,-.18823009262115,-.04060034127,.05477720428674,.0478866554818,.0470440968812,-.02217936801134]]),c=[[.98621192462708,-1.97223372919527,-1.97242384925416,.97261396931306,.98621192462708],[.98500175787242,-1.96977855582618,-1.97000351574484,.9702284756635,.98500175787242],[.97938932735214,-1.95835380975398,-1.95877865470428,.95920349965459,.97938932735214],[.97531843204928,-1.95002759149878,-1.95063686409857,.95124613669835,.97531843204928],[.97316523498161,-1.94561023566527,-1.94633046996323,.94705070426118,.97316523498161],[.96454515552826,-1.92783286977036,-1.92909031105652,.93034775234268,.96454515552826],[.96009142950541,-1.91858953033784,-1.92018285901082,.92177618768381,.96009142950541],[.95856916599601,-1.9154210807478,-1.91713833199203,.91885558323625,.95856916599601],[.94597685600279,-1.88903307939452,-1.89195371200558,.89487434461664,.94597685600279]];function l(e,t,n,r,o,a){while(0!=o--)n[r]=1e-10+e[t+0]*a[0]-n[r-1]*a[1]+e[t-1]*a[2]-n[r-2]*a[3]+e[t-2]*a[4]-n[r-3]*a[5]+e[t-3]*a[6]-n[r-4]*a[7]+e[t-4]*a[8]-n[r-5]*a[9]+e[t-5]*a[10]-n[r-6]*a[11]+e[t-6]*a[12]-n[r-7]*a[13]+e[t-7]*a[14]-n[r-8]*a[15]+e[t-8]*a[16]-n[r-9]*a[17]+e[t-9]*a[18]-n[r-10]*a[19]+e[t-10]*a[20],++r,++t}function u(e,t,n,r,o,a){while(0!=o--)n[r]=e[t+0]*a[0]-n[r-1]*a[1]+e[t-1]*a[2]-n[r-2]*a[3]+e[t-2]*a[4],++r,++t}function f(e,t){for(var o=0;o0;)if((s-=n[o])<=0)break;return e-o/i.STEPS_per_dB}this.InitGainAnalysis=function(e,t){return f(e,t)!=INIT_GAIN_ANALYSIS_OK?INIT_GAIN_ANALYSIS_ERROR:(e.linpre=MAX_ORDER,e.rinpre=MAX_ORDER,e.lstep=MAX_ORDER,e.rstep=MAX_ORDER,e.lout=MAX_ORDER,e.rout=MAX_ORDER,a.fill(e.B,0),INIT_GAIN_ANALYSIS_OK)},this.AnalyzeSamples=function(e,t,n,r,a,f,h){var m,p,g,_,v,b,y;if(0==f)return GAIN_ANALYSIS_OK;switch(y=0,v=f,h){case 1:r=t,a=n;break;case 2:break;default:return GAIN_ANALYSIS_ERROR}f0){b=v>e.sampleWindow-e.totsamp?e.sampleWindow-e.totsamp:v,yMAX_ORDER-y&&(b=MAX_ORDER-y)):(m=n+y,p=t,g=a+y,_=r),l(p,m,e.lstepbuf,e.lstep+e.totsamp,b,s[e.reqindex]),l(_,g,e.rstepbuf,e.rstep+e.totsamp,b,s[e.reqindex]),u(e.lstepbuf,e.lstep+e.totsamp,e.loutbuf,e.lout+e.totsamp,b,c[e.reqindex]),u(e.rstepbuf,e.rstep+e.totsamp,e.routbuf,e.rout+e.totsamp,b,c[e.reqindex]),m=e.lout+e.totsamp,p=e.loutbuf,g=e.rout+e.totsamp,_=e.routbuf;var w=b%8;while(0!=w--)e.lsum+=d(p[m++]),e.rsum+=d(_[g++]);w=b/8;while(0!=w--)e.lsum+=d(p[m+0])+d(p[m+1])+d(p[m+2])+d(p[m+3])+d(p[m+4])+d(p[m+5])+d(p[m+6])+d(p[m+7]),m+=8,e.rsum+=d(_[g+0])+d(_[g+1])+d(_[g+2])+d(_[g+3])+d(_[g+4])+d(_[g+5])+d(_[g+6])+d(_[g+7]),g+=8;if(v-=b,y+=b,e.totsamp+=b,e.totsamp==e.sampleWindow){var x=10*i.STEPS_per_dB*Math.log10((e.lsum+e.rsum)/e.totsamp*.5+1e-37),S=x<=0?0:0|x;S>=e.A.length&&(S=e.A.length-1),e.A[S]++,e.lsum=e.rsum=0,o.arraycopy(e.loutbuf,e.totsamp,e.loutbuf,0,MAX_ORDER),o.arraycopy(e.routbuf,e.totsamp,e.routbuf,0,MAX_ORDER),o.arraycopy(e.lstepbuf,e.totsamp,e.lstepbuf,0,MAX_ORDER),o.arraycopy(e.rstepbuf,e.totsamp,e.rstepbuf,0,MAX_ORDER),e.totsamp=0}if(e.totsamp>e.sampleWindow)return GAIN_ANALYSIS_ERROR}return f1?[e,arguments[1]]:[e])}))},"342f":function(e,t,n){var r=n("d066");e.exports=r("navigator","userAgent")||""},"35a1":function(e,t,n){var r=n("f5df"),o=n("dc4a"),a=n("3f8c"),i=n("b622"),s=i("iterator");e.exports=function(e){if(void 0!=e)return o(e,s)||o(e,"@@iterator")||a[r(e)]}},"37e8":function(e,t,n){var r=n("83ab"),o=n("aed9"),a=n("9bf2"),i=n("825a"),s=n("fc6a"),c=n("df75");t.f=r&&!o?Object.defineProperties:function(e,t){i(e);var n,r=s(t),o=c(t),l=o.length,u=0;while(l>u)a.f(e,n=o[u++],r[n]);return e}},3967:function(e,t,n){var r=n("0206"),o=(r.System,r.VbrMode);r.Float,r.ShortBlock,r.Util,r.Arrays,r.new_array_n,r.new_byte,r.new_double,r.new_float,r.new_float_n,r.new_int,r.new_int_n,r.assert;function a(){function e(e,t,n,r,o,a,i,s,c,l,u,f,d,h,m){this.vbr_q=e,this.quant_comp=t,this.quant_comp_s=n,this.expY=r,this.st_lrm=o,this.st_s=a,this.masking_adj=i,this.masking_adj_short=s,this.ath_lower=c,this.ath_curve=l,this.ath_sensitivity=u,this.interch=f,this.safejoint=d,this.sfb21mod=h,this.msfix=m}function t(e,t,n,r,o,a,i,s,c,l,u,f,d,h){this.quant_comp=t,this.quant_comp_s=n,this.safejoint=r,this.nsmsfix=o,this.st_lrm=a,this.st_s=i,this.nsbass=s,this.scale=c,this.masking_adj=l,this.ath_lower=u,this.ath_curve=f,this.interch=d,this.sfscale=h}var n;this.setModules=function(e){n=e};var r=[new e(0,9,9,0,5.2,125,-4.2,-6.3,4.8,1,0,0,2,21,.97),new e(1,9,9,0,5.3,125,-3.6,-5.6,4.5,1.5,0,0,2,21,1.35),new e(2,9,9,0,5.6,125,-2.2,-3.5,2.8,2,0,0,2,21,1.49),new e(3,9,9,1,5.8,130,-1.8,-2.8,2.6,3,-4,0,2,20,1.64),new e(4,9,9,1,6,135,-.7,-1.1,1.1,3.5,-8,0,2,0,1.79),new e(5,9,9,1,6.4,140,.5,.4,-7.5,4,-12,2e-4,0,0,1.95),new e(6,9,9,1,6.6,145,.67,.65,-14.7,6.5,-19,4e-4,0,0,2.3),new e(7,9,9,1,6.6,145,.8,.75,-19.7,8,-22,6e-4,0,0,2.7),new e(8,9,9,1,6.6,145,1.2,1.15,-27.5,10,-23,7e-4,0,0,0),new e(9,9,9,1,6.6,145,1.6,1.6,-36,11,-25,8e-4,0,0,0),new e(10,9,9,1,6.6,145,2,2,-36,12,-25,8e-4,0,0,0)],a=[new e(0,9,9,0,4.2,25,-7,-4,7.5,1,0,0,2,26,.97),new e(1,9,9,0,4.2,25,-5.6,-3.6,4.5,1.5,0,0,2,21,1.35),new e(2,9,9,0,4.2,25,-4.4,-1.8,2,2,0,0,2,18,1.49),new e(3,9,9,1,4.2,25,-3.4,-1.25,1.1,3,-4,0,2,15,1.64),new e(4,9,9,1,4.2,25,-2.2,.1,0,3.5,-8,0,2,0,1.79),new e(5,9,9,1,4.2,25,-1,1.65,-7.7,4,-12,2e-4,0,0,1.95),new e(6,9,9,1,4.2,25,-0,2.47,-7.7,6.5,-19,4e-4,0,0,2),new e(7,9,9,1,4.2,25,.5,2,-14.5,8,-22,6e-4,0,0,2),new e(8,9,9,1,4.2,25,1,2.4,-22,10,-23,7e-4,0,0,2),new e(9,9,9,1,4.2,25,1.5,2.95,-30,11,-25,8e-4,0,0,2),new e(10,9,9,1,4.2,25,2,2.95,-36,12,-30,8e-4,0,0,2)];function i(e,t,n){var i=e.VBR==o.vbr_rh?r:a,s=e.VBR_q_frac,c=i[t],u=i[t+1],f=c;c.st_lrm=c.st_lrm+s*(u.st_lrm-c.st_lrm),c.st_s=c.st_s+s*(u.st_s-c.st_s),c.masking_adj=c.masking_adj+s*(u.masking_adj-c.masking_adj),c.masking_adj_short=c.masking_adj_short+s*(u.masking_adj_short-c.masking_adj_short),c.ath_lower=c.ath_lower+s*(u.ath_lower-c.ath_lower),c.ath_curve=c.ath_curve+s*(u.ath_curve-c.ath_curve),c.ath_sensitivity=c.ath_sensitivity+s*(u.ath_sensitivity-c.ath_sensitivity),c.interch=c.interch+s*(u.interch-c.interch),c.msfix=c.msfix+s*(u.msfix-c.msfix),l(e,f.vbr_q),0!=n?e.quant_comp=f.quant_comp:Math.abs(e.quant_comp- -1)>0||(e.quant_comp=f.quant_comp),0!=n?e.quant_comp_short=f.quant_comp_s:Math.abs(e.quant_comp_short- -1)>0||(e.quant_comp_short=f.quant_comp_s),0!=f.expY&&(e.experimentalY=0!=f.expY),0!=n?e.internal_flags.nsPsy.attackthre=f.st_lrm:Math.abs(e.internal_flags.nsPsy.attackthre- -1)>0||(e.internal_flags.nsPsy.attackthre=f.st_lrm),0!=n?e.internal_flags.nsPsy.attackthre_s=f.st_s:Math.abs(e.internal_flags.nsPsy.attackthre_s- -1)>0||(e.internal_flags.nsPsy.attackthre_s=f.st_s),0!=n?e.maskingadjust=f.masking_adj:Math.abs(e.maskingadjust-0)>0||(e.maskingadjust=f.masking_adj),0!=n?e.maskingadjust_short=f.masking_adj_short:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=f.masking_adj_short),0!=n?e.ATHlower=-f.ath_lower/10:Math.abs(10*-e.ATHlower-0)>0||(e.ATHlower=-f.ath_lower/10),0!=n?e.ATHcurve=f.ath_curve:Math.abs(e.ATHcurve- -1)>0||(e.ATHcurve=f.ath_curve),0!=n?e.athaa_sensitivity=f.ath_sensitivity:Math.abs(e.athaa_sensitivity- -1)>0||(e.athaa_sensitivity=f.ath_sensitivity),f.interch>0&&(0!=n?e.interChRatio=f.interch:Math.abs(e.interChRatio- -1)>0||(e.interChRatio=f.interch)),f.safejoint>0&&(e.exp_nspsytune=e.exp_nspsytune|f.safejoint),f.sfb21mod>0&&(e.exp_nspsytune=e.exp_nspsytune|f.sfb21mod<<20),0!=n?e.msfix=f.msfix:Math.abs(e.msfix- -1)>0||(e.msfix=f.msfix),0==n&&(e.VBR_q=t,e.VBR_q_frac=s)}var s=[new t(8,9,9,0,0,6.6,145,0,.95,0,-30,11,.0012,1),new t(16,9,9,0,0,6.6,145,0,.95,0,-25,11,.001,1),new t(24,9,9,0,0,6.6,145,0,.95,0,-20,11,.001,1),new t(32,9,9,0,0,6.6,145,0,.95,0,-15,11,.001,1),new t(40,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new t(48,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new t(56,9,9,0,0,6.6,145,0,.95,0,-6,11,8e-4,1),new t(64,9,9,0,0,6.6,145,0,.95,0,-2,11,8e-4,1),new t(80,9,9,0,0,6.6,145,0,.95,0,0,8,7e-4,1),new t(96,9,9,0,2.5,6.6,145,0,.95,0,1,5.5,6e-4,1),new t(112,9,9,0,2.25,6.6,145,0,.95,0,2,4.5,5e-4,1),new t(128,9,9,0,1.95,6.4,140,0,.95,0,3,4,2e-4,1),new t(160,9,9,1,1.79,6,135,0,.95,-2,5,3.5,0,1),new t(192,9,9,1,1.49,5.6,125,0,.97,-4,7,3,0,0),new t(224,9,9,1,1.25,5.2,125,0,.98,-6,9,2,0,0),new t(256,9,9,1,.97,5.2,125,0,1,-8,10,1,0,0),new t(320,9,9,1,.9,5.2,125,0,1,-10,12,0,0,0)];function c(e,t,r){var a=t,i=n.nearestBitrateFullIndex(t);if(e.VBR=o.vbr_abr,e.VBR_mean_bitrate_kbps=a,e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320),e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.brate=e.VBR_mean_bitrate_kbps,e.VBR_mean_bitrate_kbps>320&&(e.disable_reservoir=!0),s[i].safejoint>0&&(e.exp_nspsytune=2|e.exp_nspsytune),s[i].sfscale>0&&(e.internal_flags.noise_shaping=2),Math.abs(s[i].nsbass)>0){var c=int(4*s[i].nsbass);c<0&&(c+=64),e.exp_nspsytune=e.exp_nspsytune|c<<2}return 0!=r?e.quant_comp=s[i].quant_comp:Math.abs(e.quant_comp- -1)>0||(e.quant_comp=s[i].quant_comp),0!=r?e.quant_comp_short=s[i].quant_comp_s:Math.abs(e.quant_comp_short- -1)>0||(e.quant_comp_short=s[i].quant_comp_s),0!=r?e.msfix=s[i].nsmsfix:Math.abs(e.msfix- -1)>0||(e.msfix=s[i].nsmsfix),0!=r?e.internal_flags.nsPsy.attackthre=s[i].st_lrm:Math.abs(e.internal_flags.nsPsy.attackthre- -1)>0||(e.internal_flags.nsPsy.attackthre=s[i].st_lrm),0!=r?e.internal_flags.nsPsy.attackthre_s=s[i].st_s:Math.abs(e.internal_flags.nsPsy.attackthre_s- -1)>0||(e.internal_flags.nsPsy.attackthre_s=s[i].st_s),0!=r?e.scale=s[i].scale:Math.abs(e.scale- -1)>0||(e.scale=s[i].scale),0!=r?e.maskingadjust=s[i].masking_adj:Math.abs(e.maskingadjust-0)>0||(e.maskingadjust=s[i].masking_adj),s[i].masking_adj>0?0!=r?e.maskingadjust_short=.9*s[i].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=.9*s[i].masking_adj):0!=r?e.maskingadjust_short=1.1*s[i].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=1.1*s[i].masking_adj),0!=r?e.ATHlower=-s[i].ath_lower/10:Math.abs(10*-e.ATHlower-0)>0||(e.ATHlower=-s[i].ath_lower/10),0!=r?e.ATHcurve=s[i].ath_curve:Math.abs(e.ATHcurve- -1)>0||(e.ATHcurve=s[i].ath_curve),0!=r?e.interChRatio=s[i].interch:Math.abs(e.interChRatio- -1)>0||(e.interChRatio=s[i].interch),t}function l(e,t){var n=0;return 0>t&&(n=-1,t=0),91?arguments[1]:void 0)}))},"3a9b":function(e,t,n){var r=n("e330");e.exports=r({}.isPrototypeOf)},"3bbe":function(e,t,n){var r=n("da84"),o=n("1626"),a=r.String,i=r.TypeError;e.exports=function(e){if("object"==typeof e||o(e))return e;throw i("Can't set "+a(e)+" as a prototype")}},"3c5d":function(e,t,n){"use strict";var r=n("da84"),o=n("c65b"),a=n("ebb5"),i=n("07fa"),s=n("182d"),c=n("7b0b"),l=n("d039"),u=r.RangeError,f=r.Int8Array,d=f&&f.prototype,h=d&&d.set,m=a.aTypedArray,p=a.exportTypedArrayMethod,g=!l((function(){var e=new Uint8ClampedArray(2);return o(h,e,{length:1,0:3},1),3!==e[1]})),_=g&&a.NATIVE_ARRAY_BUFFER_VIEWS&&l((function(){var e=new f(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));p("set",(function(e){m(this);var t=s(arguments.length>1?arguments[1]:void 0,1),n=c(e);if(g)return o(h,this,n,t);var r=this.length,a=i(n),l=0;if(a+t>r)throw u("Wrong length");while(l=n.length?{value:void 0,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},"3f8c":function(e,t){e.exports={}},"3fcc":function(e,t,n){"use strict";var r=n("ebb5"),o=n("b727").map,a=n("b6b7"),i=r.aTypedArray,s=r.exportTypedArrayMethod;s("map",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:void 0,(function(e,t){return new(a(e))(t)}))}))},"408a":function(e,t,n){var r=n("e330");e.exports=r(1..valueOf)},"40d5":function(e,t,n){var r=n("d039");e.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},4128:function(e,t,n){"use strict";t.__esModule=!0,t.start=t.run=t.TOKENS=t.State=void 0;var r=n("1652"),o=n("bea1"),a=s(o),i=n("7656");function s(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var c=function(e){return new r.TokenState(e)},l=c(),u=c(),f=c(),d=c(),h=c(),m=c(),p=c(),g=c(o.URL),_=c(),v=c(o.URL),b=c(o.URL),y=c(),w=c(),x=c(),S=c(),k=c(),M=c(o.URL),A=c(o.URL),R=c(o.URL),E=c(o.URL),T=c(),O=c(),B=c(),I=c(),L=c(),j=c(),P=c(o.EMAIL),C=c(),N=c(o.EMAIL),H=c(o.MAILTOEMAIL),U=c(),D=c(),F=c(),q=c(),V=c(o.NL);l.on(i.NL,V).on(i.PROTOCOL,u).on(i.MAILTO,f).on(i.SLASH,d),u.on(i.SLASH,d),d.on(i.SLASH,h),l.on(i.TLD,m).on(i.DOMAIN,m).on(i.LOCALHOST,g).on(i.NUM,m),h.on(i.TLD,b).on(i.DOMAIN,b).on(i.NUM,b).on(i.LOCALHOST,b),m.on(i.DOT,p),L.on(i.DOT,j),p.on(i.TLD,g).on(i.DOMAIN,m).on(i.NUM,m).on(i.LOCALHOST,m),j.on(i.TLD,P).on(i.DOMAIN,L).on(i.NUM,L).on(i.LOCALHOST,L),g.on(i.DOT,p),P.on(i.DOT,j),g.on(i.COLON,_).on(i.SLASH,b),_.on(i.NUM,v),v.on(i.SLASH,b),P.on(i.COLON,C),C.on(i.NUM,N);var $=[i.DOMAIN,i.AT,i.LOCALHOST,i.NUM,i.PLUS,i.POUND,i.PROTOCOL,i.SLASH,i.TLD,i.UNDERSCORE,i.SYM,i.AMPERSAND],z=[i.COLON,i.DOT,i.QUERY,i.PUNCTUATION,i.CLOSEBRACE,i.CLOSEBRACKET,i.CLOSEANGLEBRACKET,i.CLOSEPAREN,i.OPENBRACE,i.OPENBRACKET,i.OPENANGLEBRACKET,i.OPENPAREN];b.on(i.OPENBRACE,w).on(i.OPENBRACKET,x).on(i.OPENANGLEBRACKET,S).on(i.OPENPAREN,k),y.on(i.OPENBRACE,w).on(i.OPENBRACKET,x).on(i.OPENANGLEBRACKET,S).on(i.OPENPAREN,k),w.on(i.CLOSEBRACE,b),x.on(i.CLOSEBRACKET,b),S.on(i.CLOSEANGLEBRACKET,b),k.on(i.CLOSEPAREN,b),M.on(i.CLOSEBRACE,b),A.on(i.CLOSEBRACKET,b),R.on(i.CLOSEANGLEBRACKET,b),E.on(i.CLOSEPAREN,b),T.on(i.CLOSEBRACE,b),O.on(i.CLOSEBRACKET,b),B.on(i.CLOSEANGLEBRACKET,b),I.on(i.CLOSEPAREN,b),w.on($,M),x.on($,A),S.on($,R),k.on($,E),w.on(z,T),x.on(z,O),S.on(z,B),k.on(z,I),M.on($,M),A.on($,A),R.on($,R),E.on($,E),M.on(z,M),A.on(z,A),R.on(z,R),E.on(z,E),T.on($,M),O.on($,A),B.on($,R),I.on($,E),T.on(z,T),O.on(z,O),B.on(z,B),I.on(z,I),b.on($,b),y.on($,b),b.on(z,y),y.on(z,y),f.on(i.TLD,H).on(i.DOMAIN,H).on(i.NUM,H).on(i.LOCALHOST,H),H.on($,H).on(z,U),U.on($,H).on(z,U);var Y=[i.DOMAIN,i.NUM,i.PLUS,i.POUND,i.QUERY,i.UNDERSCORE,i.SYM,i.AMPERSAND,i.TLD];m.on(Y,D).on(i.AT,F),g.on(Y,D).on(i.AT,F),p.on(Y,D),D.on(Y,D).on(i.AT,F).on(i.DOT,q),q.on(Y,D),F.on(i.TLD,L).on(i.DOMAIN,L).on(i.LOCALHOST,P);var X=function(e){var t=e.length,n=0,r=[],a=[];while(n=0&&d++,n++,u++;if(d<0)for(var h=n-u;h0&&(r.push(new o.TEXT(a)),a=[]),n-=d,u-=d;var m=f.emit();r.push(new m(e.slice(n-u,n)))}}return a.length>0&&r.push(new o.TEXT(a)),r};t.State=r.TokenState,t.TOKENS=a,t.run=X,t.start=l},4160:function(e,t,n){"use strict";var r=n("23e7"),o=n("17c2");r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},"428f":function(e,t,n){var r=n("da84");e.exports=r},"44ad":function(e,t,n){var r=n("da84"),o=n("e330"),a=n("d039"),i=n("c6b6"),s=r.Object,c=o("".split);e.exports=a((function(){return!s("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?c(e,""):s(e)}:s},"44d2":function(e,t,n){var r=n("b622"),o=n("7c73"),a=n("9bf2"),i=r("unscopables"),s=Array.prototype;void 0==s[i]&&a.f(s,i,{configurable:!0,value:o(null)}),e.exports=function(e){s[i][e]=!0}},"44de":function(e,t,n){var r=n("da84");e.exports=function(e,t){var n=r.console;n&&n.error&&(1==arguments.length?n.error(e):n.error(e,t))}},"44e7":function(e,t,n){var r=n("861d"),o=n("c6b6"),a=n("b622"),i=a("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==o(e))}},"45fc":function(e,t,n){"use strict";var r=n("23e7"),o=n("b727").some,a=n("a640"),i=a("some");r({target:"Array",proto:!0,forced:!i},{some:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},"466d":function(e,t,n){"use strict";var r=n("c65b"),o=n("d784"),a=n("825a"),i=n("50c4"),s=n("577e"),c=n("1d80"),l=n("dc4a"),u=n("8aa5"),f=n("14c3");o("match",(function(e,t,n){return[function(t){var n=c(this),o=void 0==t?void 0:l(t,e);return o?r(o,t,n):new RegExp(t)[e](s(n))},function(e){var r=a(this),o=s(e),c=n(t,r,o);if(c.done)return c.value;if(!r.global)return f(r,o);var l=r.unicode;r.lastIndex=0;var d,h=[],m=0;while(null!==(d=f(r,o))){var p=s(d[0]);h[m]=p,""===p&&(r.lastIndex=u(o,i(r.lastIndex),l)),m++}return 0===m?null:h}]}))},"46f3":function(e,t,n){"use strict";function r(){return function(e){e&&(this.v=e)}}t.__esModule=!0,t.createTokenClass=r},4795:function(e,t,n){var r=n("23e7"),o=n("da84"),a=n("2ba4"),i=n("1626"),s=n("342f"),c=n("f36a"),l=n("d6d6"),u=/MSIE .\./.test(s),f=o.Function,d=function(e){return function(t,n){var r=l(arguments.length,1)>2,o=i(t)?t:f(t),s=r?c(arguments,2):void 0;return e(r?function(){a(o,this,s)}:o,n)}};r({global:!0,bind:!0,forced:u},{setTimeout:d(o.setTimeout),setInterval:d(o.setInterval)})},4840:function(e,t,n){var r=n("825a"),o=n("5087"),a=n("b622"),i=a("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[i])?t:o(n)}},"485a":function(e,t,n){var r=n("da84"),o=n("c65b"),a=n("1626"),i=n("861d"),s=r.TypeError;e.exports=function(e,t){var n,r;if("string"===t&&a(n=e.toString)&&!i(r=o(n,e)))return r;if(a(n=e.valueOf)&&!i(r=o(n,e)))return r;if("string"!==t&&a(n=e.toString)&&!i(r=o(n,e)))return r;throw s("Can't convert object to primitive value")}},4930:function(e,t,n){var r=n("2d00"),o=n("d039");e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},"498a":function(e,t,n){"use strict";var r=n("23e7"),o=n("58a8").trim,a=n("c8d2");r({target:"String",proto:!0,forced:a("trim")},{trim:function(){return o(this)}})},"4a65":function(e,t,n){var r=n("0206"),o=(r.System,r.VbrMode,r.Float,r.ShortBlock,r.Util,r.Arrays,r.new_array_n,r.new_byte,r.new_double,r.new_float),a=(r.new_float_n,r.new_int),i=(r.new_int_n,r.assert),s=n("f052"),c=n("4b5e"),l=n("9828"),u=n("bd8b");function f(e){var t=e;this.quantize=t,this.iteration_loop=function(e,t,n,r){var f,d=e.internal_flags,h=o(l.SFBMAX),m=o(576),p=a(2),g=0,_=d.l3_side,v=new s(g);this.quantize.rv.ResvFrameBegin(e,v),g=v.bits;for(var b=0;b.03125)e.ATH.adjust>=1?e.ATH.adjust=1:e.ATH.adjust=r?(e.ATH.adjust*=.075*r+.925,e.ATH.adjust=r?e.ATH.adjust=r:e.ATH.adjust=f.FFTOFFSET),u(o.mf_size>=f.BLKSIZE+e.framesize-f.FFTOFFSET),u(o.mf_size>=512+e.framesize-32)}}this.lame_encode_mp3_frame=function(e,n,s,u,w,x){var S,k=i([2,2]);k[0][0]=new t,k[0][1]=new t,k[1][0]=new t,k[1][1]=new t;var M,A=i([2,2]);A[0][0]=new t,A[0][1]=new t,A[1][0]=new t,A[1][1]=new t;var R,E,T,O=[null,null],B=e.internal_flags,I=c([2,4]),L=[.5,.5],j=[[0,0],[0,0]],P=[[0,0],[0,0]];if(O[0]=n,O[1]=s,0==B.lame_encode_frame_init&&y(e,O),B.padding=0,(B.slot_lag-=B.frac_SpF)<0&&(B.slot_lag+=e.out_samplerate,B.padding=1),0!=B.psymodel){var C,N=[null,null],H=0,U=l(2);for(T=0;T0&&(L[T]=I[T][3]/L[T])),E=0;E@^][^\s!#%&*+<=>@^]*>/,P=/a/g,C=/a/g,N=new M(P)!==P,H=p.MISSED_STICKY,U=p.UNSUPPORTED_Y,D=r&&(!N||H||x||S||_((function(){return C[k]=!1,M(P)!=P||M(C)==C||"/a/i"!=M(P,"i")}))),F=function(e){for(var t,n=e.length,r=0,o="",a=!1;r<=n;r++)t=O(e,r),"\\"!==t?a||"."!==t?("["===t?a=!0:"]"===t&&(a=!1),o+=t):o+="[\\s\\S]":o+=t+O(e,++r);return o},q=function(e){for(var t,n=e.length,r=0,o="",a=[],i={},s=!1,c=!1,l=0,u="";r<=n;r++){if(t=O(e,r),"\\"===t)t+=O(e,++r);else if("]"===t)s=!1;else if(!s)switch(!0){case"["===t:s=!0;break;case"("===t:T(j,L(e,r+1))&&(r+=2,c=!0),o+=t,l++;continue;case">"===t&&c:if(""===u||v(i,u))throw new R("Invalid capture group name");i[u]=!0,a[a.length]=[u,l],c=!1,u="";continue}c?u+=t:o+=t}return[o,a]};if(i("RegExp",D)){for(var V=function(e,t){var n,r,o,a,i,l,u=f(A,this),m=d(e),p=void 0===t,g=[],_=e;if(!u&&m&&p&&e.constructor===V)return e;if((m||f(A,e))&&(e=e.source,p&&(t="flags"in _?_.flags:E(_))),e=void 0===e?"":h(e),t=void 0===t?"":h(t),_=e,x&&"dotAll"in P&&(r=!!t&&I(t,"s")>-1,r&&(t=B(t,/s/g,""))),n=t,H&&"sticky"in P&&(o=!!t&&I(t,"y")>-1,o&&U&&(t=B(t,/y/g,""))),S&&(a=q(e),e=a[0],g=a[1]),i=s(M(e,t),u?this:A,V),(r||o||g.length)&&(l=b(i),r&&(l.dotAll=!0,l.raw=V(F(e),n)),o&&(l.sticky=!0),g.length&&(l.groups=g)),e!==_)try{c(i,"source",""===_?"(?:)":_)}catch(v){}return i},$=function(e){e in V||l(V,e,{configurable:!0,get:function(){return M[e]},set:function(t){M[e]=t}})},z=u(M),Y=0;z.length>Y;)$(z[Y++]);A.constructor=V,V.prototype=A,g(o,"RegExp",V)}y("RegExp")},"4d64":function(e,t,n){var r=n("fc6a"),o=n("23cb"),a=n("07fa"),i=function(e){return function(t,n,i){var s,c=r(t),l=a(c),u=o(i,l);if(e&&n!=n){while(l>u)if(s=c[u++],s!=s)return!0}else for(;l>u;u++)if((e||u in c)&&c[u]===n)return e||u||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},"4dae":function(e,t,n){var r=n("da84"),o=n("23cb"),a=n("07fa"),i=n("8418"),s=r.Array,c=Math.max;e.exports=function(e,t,n){for(var r=a(e),l=o(t,r),u=o(void 0===n?r:n,r),f=s(c(u-l,0)),d=0;l1?arguments[1]:void 0)}})},"4df4":function(e,t,n){"use strict";var r=n("da84"),o=n("0366"),a=n("c65b"),i=n("7b0b"),s=n("9bdd"),c=n("e95a"),l=n("68ee"),u=n("07fa"),f=n("8418"),d=n("9a1f"),h=n("35a1"),m=r.Array;e.exports=function(e){var t=i(e),n=l(this),r=arguments.length,p=r>1?arguments[1]:void 0,g=void 0!==p;g&&(p=o(p,r>2?arguments[2]:void 0));var _,v,b,y,w,x,S=h(t),k=0;if(!S||this==m&&c(S))for(_=u(t),v=n?new this(_):m(_);_>k;k++)x=g?p(t[k],k):t[k],f(v,k,x);else for(y=d(t,S),w=y.next,v=n?new this:[];!(b=a(w,y)).done;k++)x=g?s(y,p,[b.value,k],!0):b.value,f(v,k,x);return v.length=k,v}},"4e82":function(e,t,n){"use strict";var r=n("23e7"),o=n("e330"),a=n("59ed"),i=n("7b0b"),s=n("07fa"),c=n("577e"),l=n("d039"),u=n("addb"),f=n("a640"),d=n("04d1"),h=n("d998"),m=n("2d00"),p=n("512c"),g=[],_=o(g.sort),v=o(g.push),b=l((function(){g.sort(void 0)})),y=l((function(){g.sort(null)})),w=f("sort"),x=!l((function(){if(m)return m<70;if(!(d&&d>3)){if(h)return!0;if(p)return p<603;var e,t,n,r,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(r=0;r<47;r++)g.push({k:t+r,v:n})}for(g.sort((function(e,t){return t.v-e.v})),r=0;rc(n)?1:-1}};r({target:"Array",proto:!0,forced:S},{sort:function(e){void 0!==e&&a(e);var t=i(this);if(x)return void 0===e?_(t):_(t,e);var n,r,o=[],c=s(t);for(r=0;r0?o(r(e),9007199254740991):0}},"512c":function(e,t,n){var r=n("342f"),o=r.match(/AppleWebKit\/(\d+)\./);e.exports=!!o&&+o[1]},5319:function(e,t,n){"use strict";var r=n("2ba4"),o=n("c65b"),a=n("e330"),i=n("d784"),s=n("d039"),c=n("825a"),l=n("1626"),u=n("5926"),f=n("50c4"),d=n("577e"),h=n("1d80"),m=n("8aa5"),p=n("dc4a"),g=n("0cb2"),_=n("14c3"),v=n("b622"),b=v("replace"),y=Math.max,w=Math.min,x=a([].concat),S=a([].push),k=a("".indexOf),M=a("".slice),A=function(e){return void 0===e?e:String(e)},R=function(){return"$0"==="a".replace(/./,"$0")}(),E=function(){return!!/./[b]&&""===/./[b]("a","$0")}(),T=!s((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")}));i("replace",(function(e,t,n){var a=E?"$":"$0";return[function(e,n){var r=h(this),a=void 0==e?void 0:p(e,b);return a?o(a,e,r,n):o(t,d(r),e,n)},function(e,o){var i=c(this),s=d(e);if("string"==typeof o&&-1===k(o,a)&&-1===k(o,"$<")){var h=n(t,i,s,o);if(h.done)return h.value}var p=l(o);p||(o=d(o));var v=i.global;if(v){var b=i.unicode;i.lastIndex=0}var R=[];while(1){var E=_(i,s);if(null===E)break;if(S(R,E),!v)break;var T=d(E[0]);""===T&&(i.lastIndex=m(s,f(i.lastIndex),b))}for(var O="",B=0,I=0;I=B&&(O+=M(s,B,j)+U,B=j+L.length)}return O+M(s,B)}]}),!T||!R||E)},5692:function(e,t,n){var r=n("c430"),o=n("c6cd");(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.21.1",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE",source:"https://github.com/zloirock/core-js"})},"56ef":function(e,t,n){var r=n("d066"),o=n("e330"),a=n("241c"),i=n("7418"),s=n("825a"),c=o([].concat);e.exports=r("Reflect","ownKeys")||function(e){var t=a.f(s(e)),n=i.f;return n?c(t,n(e)):t}},"577e":function(e,t,n){var r=n("da84"),o=n("f5df"),a=r.String;e.exports=function(e){if("Symbol"===o(e))throw TypeError("Cannot convert a Symbol value to a string");return a(e)}},5899:function(e,t){e.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},"58a8":function(e,t,n){var r=n("e330"),o=n("1d80"),a=n("577e"),i=n("5899"),s=r("".replace),c="["+i+"]",l=RegExp("^"+c+c+"*"),u=RegExp(c+c+"*$"),f=function(e){return function(t){var n=a(o(t));return 1&e&&(n=s(n,l,"")),2&e&&(n=s(n,u,"")),n}};e.exports={start:f(1),end:f(2),trim:f(3)}},"58b1":function(e,t,n){var r=n("0206"),o=r.assert;function a(){var e;this.setModules=function(t){e=t},this.ResvFrameBegin=function(t,n){var r,a=t.internal_flags,i=a.l3_side,s=e.getframebits(t);n.bits=(s-8*a.sideinfo_len)/a.mode_gr;var c=2048*a.mode_gr-8;t.brate>320?r=8*int(1e3*t.brate/(t.out_samplerate/1152)/8+.5):(r=11520,t.strict_ISO&&(r=8*int(32e4/(t.out_samplerate/1152)/8+.5))),a.ResvMax=r-s,a.ResvMax>c&&(a.ResvMax=c),(a.ResvMax<0||t.disable_reservoir)&&(a.ResvMax=0);var l=n.bits*a.mode_gr+Math.min(a.ResvSize,a.ResvMax);return l>r&&(l=r),o(0==a.ResvMax%8),o(a.ResvMax>=0),i.resvDrain_pre=0,null!=a.pinfo&&(a.pinfo.mean_bits=n.bits/2,a.pinfo.resvsize=a.ResvSize),l},this.ResvMaxBits=function(e,t,n,r){var o,a=e.internal_flags,i=a.ResvSize,s=a.ResvMax;0!=r&&(i+=t),0!=(1&a.substep_shaping)&&(s*=.9),n.bits=t,10*i>9*s?(o=i-9*s/10,n.bits+=o,a.substep_shaping|=128):(o=0,a.substep_shaping&=127,e.disable_reservoir||0!=(1&a.substep_shaping)||(n.bits-=.1*t));var c=i<6*a.ResvMax/10?i:6*a.ResvMax/10;return c-=o,c<0&&(c=0),c},this.ResvAdjust=function(e,t){e.ResvSize-=t.part2_3_length+t.part2_length},this.ResvFrameEnd=function(e,t){var n,r=e.l3_side;e.ResvSize+=t*e.mode_gr;var a=0;r.resvDrain_post=0,r.resvDrain_pre=0,0!=(n=e.ResvSize%8)&&(a+=n),n=e.ResvSize-a-e.ResvMax,n>0&&(o(0==n%8),o(n>=0),a+=n);var i=Math.min(8*r.main_data_begin,a)/8;r.resvDrain_pre+=8*i,a-=8*i,e.ResvSize-=8*i,r.main_data_begin-=i,r.resvDrain_post+=a,e.ResvSize-=a}}e.exports=a},5926:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){var t=+e;return t!==t||0===t?0:(t>0?r:n)(t)}},"59ed":function(e,t,n){var r=n("da84"),o=n("1626"),a=n("0d51"),i=r.TypeError;e.exports=function(e){if(o(e))return e;throw i(a(e)+" is not a function")}},"5a34":function(e,t,n){var r=n("da84"),o=n("44e7"),a=r.TypeError;e.exports=function(e){if(o(e))throw a("The method doesn't accept regular expressions");return e}},"5b81":function(e,t,n){"use strict";var r=n("23e7"),o=n("da84"),a=n("c65b"),i=n("e330"),s=n("1d80"),c=n("1626"),l=n("44e7"),u=n("577e"),f=n("dc4a"),d=n("ad6d"),h=n("0cb2"),m=n("b622"),p=n("c430"),g=m("replace"),_=RegExp.prototype,v=o.TypeError,b=i(d),y=i("".indexOf),w=i("".replace),x=i("".slice),S=Math.max,k=function(e,t,n){return n>e.length?-1:""===t?n:y(e,t,n)};r({target:"String",proto:!0},{replaceAll:function(e,t){var n,r,o,i,d,m,M,A,R,E=s(this),T=0,O=0,B="";if(null!=e){if(n=l(e),n&&(r=u(s("flags"in _?e.flags:b(e))),!~y(r,"g")))throw v("`.replaceAll` does not allow non-global regexes");if(o=f(e,g),o)return a(o,e,E,t);if(p&&n)return w(u(E),e,t)}i=u(E),d=u(e),m=c(t),m||(t=u(t)),M=d.length,A=S(1,M),T=k(i,d,0);while(-1!==T)R=m?u(t(d,T,i)):h(d,i,T,[],void 0,t),B+=x(i,O,T)+R,O=T+M,T=k(i,d,T+A);return O=55296&&o<=56319&&n>1,e+=y(e/t);while(e>_*c>>1)e=y(e/_),r+=i;return y(r+(_+1)*e/(e+l))},B=function(e){var t=[];e=E(e);var n,r,o=e.length,l=d,u=0,m=f;for(n=0;n=l&&ry((a-u)/x))throw v(g);for(u+=(b-l)*x,l=b,n=0;na)throw v(g);if(r==l){var M=u,A=i;while(1){var R=A<=m?s:A>=m+c?c:A-m;if(Mi){var p,g=f(arguments[i++]),_=d?m(s(g),d(g)):s(g),v=_.length,b=0;while(v>b)p=_[b++],r&&!a(h,g,p)||(n[p]=g[p])}return n}:d},"621a":function(e,t,n){"use strict";var r=n("da84"),o=n("e330"),a=n("83ab"),i=n("a981"),s=n("5e77"),c=n("9112"),l=n("e2cc"),u=n("d039"),f=n("19aa"),d=n("5926"),h=n("50c4"),m=n("0b25"),p=n("77a7"),g=n("e163"),_=n("d2bb"),v=n("241c").f,b=n("9bf2").f,y=n("81d5"),w=n("4dae"),x=n("d44e"),S=n("69f3"),k=s.PROPER,M=s.CONFIGURABLE,A=S.get,R=S.set,E="ArrayBuffer",T="DataView",O="prototype",B="Wrong length",I="Wrong index",L=r[E],j=L,P=j&&j[O],C=r[T],N=C&&C[O],H=Object.prototype,U=r.Array,D=r.RangeError,F=o(y),q=o([].reverse),V=p.pack,$=p.unpack,z=function(e){return[255&e]},Y=function(e){return[255&e,e>>8&255]},X=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},G=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},K=function(e){return V(e,23,4)},Z=function(e){return V(e,52,8)},W=function(e,t){b(e[O],t,{get:function(){return A(this)[t]}})},Q=function(e,t,n,r){var o=m(n),a=A(e);if(o+t>a.byteLength)throw D(I);var i=A(a.buffer).bytes,s=o+a.byteOffset,c=w(i,s,s+t);return r?c:q(c)},J=function(e,t,n,r,o,a){var i=m(n),s=A(e);if(i+t>s.byteLength)throw D(I);for(var c=A(s.buffer).bytes,l=i+s.byteOffset,u=r(+o),f=0;fre;)(te=ne[re++])in j||c(j,te,L[te]);P.constructor=j}_&&g(N)!==H&&_(N,H);var oe=new C(new j(2)),ae=o(N.setInt8);oe.setInt8(0,2147483648),oe.setInt8(1,2147483649),!oe.getInt8(0)&&oe.getInt8(1)||l(N,{setInt8:function(e,t){ae(this,e,t<<24>>24)},setUint8:function(e,t){ae(this,e,t<<24>>24)}},{unsafe:!0})}else j=function(e){f(this,P);var t=m(e);R(this,{bytes:F(U(t),0),byteLength:t}),a||(this.byteLength=t)},P=j[O],C=function(e,t,n){f(this,N),f(e,P);var r=A(e).byteLength,o=d(t);if(o<0||o>r)throw D("Wrong offset");if(n=void 0===n?r-o:h(n),o+n>r)throw D(B);R(this,{buffer:e,byteLength:n,byteOffset:o}),a||(this.buffer=e,this.byteLength=n,this.byteOffset=o)},N=C[O],a&&(W(j,"byteLength"),W(C,"buffer"),W(C,"byteLength"),W(C,"byteOffset")),l(N,{getInt8:function(e){return Q(this,1,e)[0]<<24>>24},getUint8:function(e){return Q(this,1,e)[0]},getInt16:function(e){var t=Q(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=Q(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return G(Q(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return G(Q(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return $(Q(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return $(Q(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){J(this,1,e,z,t)},setUint8:function(e,t){J(this,1,e,z,t)},setInt16:function(e,t){J(this,2,e,Y,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){J(this,2,e,Y,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){J(this,4,e,X,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){J(this,4,e,X,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){J(this,4,e,K,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){J(this,8,e,Z,t,arguments.length>2?arguments[2]:void 0)}});x(j,E),x(C,T),e.exports={ArrayBuffer:j,DataView:C}},"649e":function(e,t,n){"use strict";var r=n("ebb5"),o=n("b727").some,a=r.aTypedArray,i=r.exportTypedArrayMethod;i("some",(function(e){return o(a(this),e,arguments.length>1?arguments[1]:void 0)}))},"64e5":function(e,t,n){"use strict";var r=n("da84"),o=n("e330"),a=n("d039"),i=n("0ccb").start,s=r.RangeError,c=Math.abs,l=Date.prototype,u=l.toISOString,f=o(l.getTime),d=o(l.getUTCDate),h=o(l.getUTCFullYear),m=o(l.getUTCHours),p=o(l.getUTCMilliseconds),g=o(l.getUTCMinutes),_=o(l.getUTCMonth),v=o(l.getUTCSeconds);e.exports=a((function(){return"0385-07-25T07:06:39.999Z"!=u.call(new Date(-50000000000001))}))||!a((function(){u.call(new Date(NaN))}))?function(){if(!isFinite(f(this)))throw s("Invalid time value");var e=this,t=h(e),n=p(e),r=t<0?"-":t>9999?"+":"";return r+i(c(t),r?6:4,0)+"-"+i(_(e)+1,2,0)+"-"+i(d(e),2,0)+"T"+i(m(e),2,0)+":"+i(g(e),2,0)+":"+i(v(e),2,0)+"."+i(n,3,0)+"Z"}:u},6547:function(e,t,n){var r=n("e330"),o=n("5926"),a=n("577e"),i=n("1d80"),s=r("".charAt),c=r("".charCodeAt),l=r("".slice),u=function(e){return function(t,n){var r,u,f=a(i(t)),d=o(n),h=f.length;return d<0||d>=h?e?"":void 0:(r=c(f,d),r<55296||r>56319||d+1===h||(u=c(f,d+1))<56320||u>57343?e?s(f,d):r:e?l(f,d,d+2):u-56320+(r-55296<<10)+65536)}};e.exports={codeAt:u(!1),charAt:u(!0)}},6566:function(e,t,n){"use strict";var r=n("9bf2").f,o=n("7c73"),a=n("e2cc"),i=n("0366"),s=n("19aa"),c=n("2266"),l=n("7dd0"),u=n("2626"),f=n("83ab"),d=n("f183").fastKey,h=n("69f3"),m=h.set,p=h.getterFor;e.exports={getConstructor:function(e,t,n,l){var u=e((function(e,r){s(e,h),m(e,{type:t,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),void 0!=r&&c(r,e[l],{that:e,AS_ENTRIES:n})})),h=u.prototype,g=p(t),_=function(e,t,n){var r,o,a=g(e),i=v(e,t);return i?i.value=n:(a.last=i={index:o=d(t,!0),key:t,value:n,previous:r=a.last,next:void 0,removed:!1},a.first||(a.first=i),r&&(r.next=i),f?a.size++:e.size++,"F"!==o&&(a.index[o]=i)),e},v=function(e,t){var n,r=g(e),o=d(t);if("F"!==o)return r.index[o];for(n=r.first;n;n=n.next)if(n.key==t)return n};return a(h,{clear:function(){var e=this,t=g(e),n=t.index,r=t.first;while(r)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete n[r.index],r=r.next;t.first=t.last=void 0,f?t.size=0:e.size=0},delete:function(e){var t=this,n=g(t),r=v(t,e);if(r){var o=r.next,a=r.previous;delete n.index[r.index],r.removed=!0,a&&(a.next=o),o&&(o.previous=a),n.first==r&&(n.first=o),n.last==r&&(n.last=a),f?n.size--:t.size--}return!!r},forEach:function(e){var t,n=g(this),r=i(e,arguments.length>1?arguments[1]:void 0);while(t=t?t.next:n.first){r(t.value,t.key,this);while(t&&t.removed)t=t.previous}},has:function(e){return!!v(this,e)}}),a(h,n?{get:function(e){var t=v(this,e);return t&&t.value},set:function(e,t){return _(this,0===e?0:e,t)}}:{add:function(e){return _(this,e=0===e?0:e,e)}}),f&&r(h,"size",{get:function(){return g(this).size}}),u},setStrong:function(e,t,n){var r=t+" Iterator",o=p(t),a=p(r);l(e,t,(function(e,t){m(this,{type:r,target:e,state:o(e),kind:t,last:void 0})}),(function(){var e=a(this),t=e.kind,n=e.last;while(n&&n.removed)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),u(t)}}},"65f0":function(e,t,n){var r=n("0b42");e.exports=function(e,t){return new(r(e))(0===t?0:t)}},"67b2":function(e,t){function n(e){var t=e;this.ordinal=function(){return t}}n.STEREO=new n(0),n.JOINT_STEREO=new n(1),n.DUAL_CHANNEL=new n(2),n.MONO=new n(3),n.NOT_SET=new n(4),e.exports=n},"68ee":function(e,t,n){var r=n("e330"),o=n("d039"),a=n("1626"),i=n("f5df"),s=n("d066"),c=n("8925"),l=function(){},u=[],f=s("Reflect","construct"),d=/^\s*(?:class|function)\b/,h=r(d.exec),m=!d.exec(l),p=function(e){if(!a(e))return!1;try{return f(l,u,e),!0}catch(t){return!1}},g=function(e){if(!a(e))return!1;switch(i(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return m||!!h(d,c(e))}catch(t){return!0}};g.sham=!0,e.exports=!f||o((function(){var e;return p(p.call)||!p(Object)||!p((function(){e=!0}))||e}))?g:p},"69b2":function(e,t,n){var r=n("0206"),o=r.System,a=(r.VbrMode,r.Float,r.ShortBlock,r.Util,r.Arrays),i=(r.new_array_n,r.new_byte),s=(r.new_double,r.new_float,r.new_float_n),c=r.new_int,l=(r.new_int_n,r.assert),u=n("d9be"),f=n("5f84"),d=n("4b5e"),h=n("bd8b");function m(){var e=this,t=32773,n=32,r=null,m=null,p=null,g=null;this.setModules=function(e,t,n,o){r=e,m=t,p=n,g=o};var _=null,v=0,b=0,y=0;function w(e){o.arraycopy(e.header[e.w_ptr].buf,0,_,b,e.sideinfo_len),b+=e.sideinfo_len,v+=8*e.sideinfo_len,e.w_ptr=e.w_ptr+1&h.MAX_HEADER_BUF-1}function x(e,t,r){l(r0){var o;0==y&&(y=8,b++,l(b=v),e.header[e.w_ptr].write_timing==v&&w(e),_[b]=0),o=Math.min(r,y),r-=o,y-=o,l(r>r<0){var o;0==y&&(y=8,b++,l(b>r<=0),t>=8&&(x(r,76,8),t-=8),t>=8&&(x(r,65,8),t-=8),t>=8&&(x(r,77,8),t-=8),t>=8&&(x(r,69,8),t-=8),t>=32){var o=p.getLameShortVersion();if(t>=32)for(n=0;n=8;++n)t-=8,x(r,o.charAt(n),8)}for(;t>=1;t-=1)x(r,r.ancillary_flag,1),r.ancillary_flag^=e.disable_reservoir?0:1;l(0==t)}function M(e,t,r){var o=e.header[e.h_ptr].ptr;while(r>0){var a=Math.min(r,8-(7&o));r-=a,l(r>3]|=t>>r<<8-(7&o)-a,o+=a}e.header[e.h_ptr].ptr=o}function A(e,n){e<<=8;for(var r=0;r<8;r++)e<<=1,n<<=1,0!=(65536&(n^e))&&(n^=t);return n}function R(e,t){var n,r,i,s=e.internal_flags;if(n=s.l3_side,s.header[s.h_ptr].ptr=0,a.fill(s.header[s.h_ptr].buf,0,s.sideinfo_len,0),e.out_samplerate<16e3?M(s,4094,12):M(s,4095,12),M(s,e.version,1),M(s,1,2),M(s,e.error_protection?0:1,1),M(s,s.bitrate_index,4),M(s,s.samplerate_index,2),M(s,s.padding,1),M(s,e.extension,1),M(s,e.mode.ordinal(),2),M(s,s.mode_ext,2),M(s,e.copyright,1),M(s,e.original,1),M(s,e.emphasis,2),e.error_protection&&M(s,0,16),1==e.version){for(l(n.main_data_begin>=0),M(s,n.main_data_begin,9),2==s.channels_out?M(s,n.private_bits,3):M(s,n.private_bits,5),i=0;i=0),M(s,n.main_data_begin,8),M(s,n.private_bits,s.channels_out),r=0,i=0;i0;--n){var s,c=0,u=0;s=t.l3_enc[a+0],0!=s&&(u+=8,t.xr[i+0]<0&&c++,l(s<=1)),s=t.l3_enc[a+1],0!=s&&(u+=4,c*=2,t.xr[i+1]<0&&c++,l(s<=1)),s=t.l3_enc[a+2],0!=s&&(u+=2,c*=2,t.xr[i+2]<0&&c++,l(s<=1)),s=t.l3_enc[a+3],0!=s&&(u++,c*=2,t.xr[i+3]<0&&c++,l(s<=1)),a+=4,i+=4,x(e,c+r.table[u],r.hlen[u]),o+=r.hlen[u]}return o}function T(e,t,r,o,a){var i=f.ht[t],s=0;if(l(t<32),0==t)return s;for(var c=r;c15){if(g>14){var v=g-15;l(v<=i.linmax),p|=v<<1,d=h,g=15}if(_>14){var b=_-15;l(b<=i.linmax),p<<=h,p|=b,d+=h,_=15}m=16}0!=_&&(p<<=1,a.xr[c+1]<0&&p++,u--),l((g|_)<16),g=g*m+_,d-=u,u+=i.hlen[g],l(u<=n),l(d<=n),x(e,i.table[g],u),x(e,p,d),s+=u+d}return s}function O(e,t){var n=3*e.scalefac_band.s[3];n>t.big_values&&(n=t.big_values);var r=T(e,t.table_select[0],0,n,t);return r+=T(e,t.table_select[1],n,t.big_values,t),r}function B(e,t){var n,r,o,a;n=t.big_values,l(0<=n&&n<=576);var i=t.region0_count+1;return l(0<=i),l(in&&(o=n),a>n&&(a=n),r=T(e,t.table_select[0],0,o,t),r+=T(e,t.table_select[1],o,a,t),r+=T(e,t.table_select[2],a,n,t),r}function I(e){var t,n,r,o,a=0,i=e.internal_flags,s=i.l3_side;if(1==e.version)for(t=0;t<2;t++)for(n=0;n=0&&(a=1+s-c,s>8),t[5]=byte(255&n)},this.flush_bitstream=function(e){var t,n,o=e.internal_flags,a=o.h_ptr-1;if(-1==a&&(a=h.MAX_HEADER_BUF-1),t=o.l3_side,!((n=j(e,new L))<0)){if(k(e,n),l(o.header[a].write_timing+this.getframebits(e)==v),o.ResvSize=0,t.main_data_begin=0,o.findReplayGain){var i=r.GetTitleGain(o.rgdata);l(NEQ(i,GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES)),o.RadioGain=0|Math.floor(10*i+.5)}o.findPeakSample&&(o.noclipGainChange=0|Math.ceil(20*Math.log10(o.PeakSample/32767)*10),o.noclipGainChange>0&&(EQ(e.scale,1)||EQ(e.scale,0))?o.noclipScale=Math.floor(32767/o.PeakSample*100)/100:o.noclipScale=-1)}},this.add_dummy_byte=function(e,t,n){var r,o=e.internal_flags;while(n-- >0)for(S(o,t,8),r=0;r ResvSize"),8*t.main_data_begin!=n.ResvSize&&(o.err.printf("bit reservoir error: \nl3_side.main_data_begin: %d \nResvoir size: %d \nresv drain (post) %d \nresv drain (pre) %d \nheader and sideinfo: %d \ndata bits: %d \ntotal bits: %d (remainder: %d) \nbitsperframe: %d \n",8*t.main_data_begin,n.ResvSize,t.resvDrain_post,t.resvDrain_pre,8*n.sideinfo_len,a-t.resvDrain_post-8*n.sideinfo_len,a,a%8,r),o.err.println("This is a fatal error. It has several possible causes:"),o.err.println("90%% LAME compiled with buggy version of gcc using advanced optimizations"),o.err.println(" 9%% Your system is overclocked"),o.err.println(" 1%% bug in LAME encoding library"),n.ResvSize=8*t.main_data_begin),l(v%8==0),v>1e9){var i;for(i=0;ia)return-1;if(o.arraycopy(_,0,t,n,u),b=-1,y=0,0!=i){var f=c(1);if(f[0]=e.nMusicCRC,g.updateMusicCRC(f,t,n,u),e.nMusicCRC=f[0],u>0&&(e.VBR_seek_table.nBytesWritten+=u),e.decode_on_the_fly){var d,h=s([2,1152]),p=u,v=-1;while(0!=v)if(v=m.hip_decode1_unclipped(e.hip,t,n,p,h[0],h[1]),p=0,-1==v&&(v=0),v>0){if(l(v<=1152),e.findPeakSample){for(d=0;de.PeakSample?e.PeakSample=h[0][d]:-h[0][d]>e.PeakSample&&(e.PeakSample=-h[0][d]);if(e.channels_out>1)for(d=0;de.PeakSample?e.PeakSample=h[1][d]:-h[1][d]>e.PeakSample&&(e.PeakSample=-h[1][d])}if(e.findReplayGain&&r.AnalyzeSamples(e.rgdata,h[0],0,h[1],0,v,e.channels_out)==GainAnalysis.GAIN_ANALYSIS_ERROR)return-6}}}return u},this.init_bit_stream_w=function(e){_=i(Lame.LAME_MAXMP3BUFFER),e.h_ptr=e.w_ptr=0,e.header[e.h_ptr].write_timing=0,b=-1,y=0,v=0}}m.EQ=function(e,t){return Math.abs(e)>Math.abs(t)?Math.abs(e-t)<=1e-6*Math.abs(e):Math.abs(e-t)<=1e-6*Math.abs(t)},m.NEQ=function(e,t){return!m.EQ(e,t)},e.exports=m},"69f3":function(e,t,n){var r,o,a,i=n("7f9a"),s=n("da84"),c=n("e330"),l=n("861d"),u=n("9112"),f=n("1a2d"),d=n("c6cd"),h=n("f772"),m=n("d012"),p="Object already initialized",g=s.TypeError,_=s.WeakMap,v=function(e){return a(e)?o(e):r(e,{})},b=function(e){return function(t){var n;if(!l(t)||(n=o(t)).type!==e)throw g("Incompatible receiver, "+e+" required");return n}};if(i||d.state){var y=d.state||(d.state=new _),w=c(y.get),x=c(y.has),S=c(y.set);r=function(e,t){if(x(y,e))throw new g(p);return t.facade=e,S(y,e,t),t},o=function(e){return w(y,e)||{}},a=function(e){return x(y,e)}}else{var k=h("state");m[k]=!0,r=function(e,t){if(f(e,k))throw new g(p);return t.facade=e,u(e,k,t),t},o=function(e){return f(e,k)?e[k]:{}},a=function(e){return f(e,k)}}e.exports={set:r,get:o,has:a,enforce:v,getterFor:b}},"6d61":function(e,t,n){"use strict";var r=n("23e7"),o=n("da84"),a=n("e330"),i=n("94ca"),s=n("6eeb"),c=n("f183"),l=n("2266"),u=n("19aa"),f=n("1626"),d=n("861d"),h=n("d039"),m=n("1c7e"),p=n("d44e"),g=n("7156");e.exports=function(e,t,n){var _=-1!==e.indexOf("Map"),v=-1!==e.indexOf("Weak"),b=_?"set":"add",y=o[e],w=y&&y.prototype,x=y,S={},k=function(e){var t=a(w[e]);s(w,e,"add"==e?function(e){return t(this,0===e?0:e),this}:"delete"==e?function(e){return!(v&&!d(e))&&t(this,0===e?0:e)}:"get"==e?function(e){return v&&!d(e)?void 0:t(this,0===e?0:e)}:"has"==e?function(e){return!(v&&!d(e))&&t(this,0===e?0:e)}:function(e,n){return t(this,0===e?0:e,n),this})},M=i(e,!f(y)||!(v||w.forEach&&!h((function(){(new y).entries().next()}))));if(M)x=n.getConstructor(t,e,_,b),c.enable();else if(i(e,!0)){var A=new x,R=A[b](v?{}:-0,1)!=A,E=h((function(){A.has(1)})),T=m((function(e){new y(e)})),O=!v&&h((function(){var e=new y,t=5;while(t--)e[b](t,t);return!e.has(-0)}));T||(x=t((function(e,t){u(e,w);var n=g(new y,e,x);return void 0!=t&&l(t,n[b],{that:n,AS_ENTRIES:_}),n})),x.prototype=w,w.constructor=x),(E||O)&&(k("delete"),k("has"),_&&k("get")),(O||R)&&k(b),v&&w.clear&&delete w.clear}return S[e]=x,r({global:!0,forced:x!=y},S),p(x,e),v||n.setStrong(x,e,_),x}},"6eba":function(e,t,n){var r=n("23e7"),o=n("da84"),a=n("e330"),i=o.Date,s=a(i.prototype.getTime);r({target:"Date",stat:!0},{now:function(){return s(new i)}})},"6eeb":function(e,t,n){var r=n("da84"),o=n("1626"),a=n("1a2d"),i=n("9112"),s=n("ce4e"),c=n("8925"),l=n("69f3"),u=n("5e77").CONFIGURABLE,f=l.get,d=l.enforce,h=String(String).split("String");(e.exports=function(e,t,n,c){var l,f=!!c&&!!c.unsafe,m=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet,g=c&&void 0!==c.name?c.name:t;o(n)&&("Symbol("===String(g).slice(0,7)&&(g="["+String(g).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!a(n,"name")||u&&n.name!==g)&&i(n,"name",g),l=d(n),l.source||(l.source=h.join("string"==typeof g?g:""))),e!==r?(f?!p&&e[t]&&(m=!0):delete e[t],m?e[t]=n:i(e,t,n)):m?e[t]=n:s(t,n)})(Function.prototype,"toString",(function(){return o(this)&&f(this).source||c(this)}))},"6f53":function(e,t,n){var r=n("83ab"),o=n("e330"),a=n("df75"),i=n("fc6a"),s=n("d1e7").f,c=o(s),l=o([].push),u=function(e){return function(t){var n,o=i(t),s=a(o),u=s.length,f=0,d=[];while(u>f)n=s[f++],r&&!c(o,n)||l(d,e?[n,o[n]]:o[n]);return d}};e.exports={entries:u(!0),values:u(!1)}},7156:function(e,t,n){var r=n("1626"),o=n("861d"),a=n("d2bb");e.exports=function(e,t,n){var i,s;return a&&r(i=t.constructor)&&i!==n&&o(s=i.prototype)&&s!==n.prototype&&a(e,s),e}},"725d":function(e,t,n){var r=n("0206"),o=(r.System,r.VbrMode,r.Float,r.ShortBlock,r.Util,r.Arrays,r.new_array_n,r.new_byte,r.new_double,r.new_float),a=(r.new_float_n,r.new_int),i=(r.new_int_n,r.assert,n("2f21"));function s(){this.linprebuf=o(2*i.MAX_ORDER),this.linpre=0,this.lstepbuf=o(i.MAX_SAMPLES_PER_WINDOW+i.MAX_ORDER),this.lstep=0,this.loutbuf=o(i.MAX_SAMPLES_PER_WINDOW+i.MAX_ORDER),this.lout=0,this.rinprebuf=o(2*i.MAX_ORDER),this.rinpre=0,this.rstepbuf=o(i.MAX_SAMPLES_PER_WINDOW+i.MAX_ORDER),this.rstep=0,this.routbuf=o(i.MAX_SAMPLES_PER_WINDOW+i.MAX_ORDER),this.rout=0,this.sampleWindow=0,this.totsamp=0,this.lsum=0,this.rsum=0,this.freqindex=0,this.first=0,this.A=a(0|i.STEPS_per_dB*i.MAX_dB),this.B=a(0|i.STEPS_per_dB*i.MAX_dB)}e.exports=s},7276:function(e,t){function n(){this.over_noise=0,this.tot_noise=0,this.max_noise=0,this.over_count=0,this.over_SSD=0,this.bits=0}e.exports=n},"72f7":function(e,t,n){"use strict";var r=n("ebb5").exportTypedArrayMethod,o=n("d039"),a=n("da84"),i=n("e330"),s=a.Uint8Array,c=s&&s.prototype||{},l=[].toString,u=i([].join);o((function(){l.call({})}))&&(l=function(){return u(this)});var f=c.toString!=l;r("toString",l,f)},"735e":function(e,t,n){"use strict";var r=n("ebb5"),o=n("c65b"),a=n("81d5"),i=r.aTypedArray,s=r.exportTypedArrayMethod;s("fill",(function(e){var t=arguments.length;return o(a,i(this),e,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}))},7418:function(e,t){t.f=Object.getOwnPropertySymbols},"746f":function(e,t,n){var r=n("428f"),o=n("1a2d"),a=n("e538"),i=n("9bf2").f;e.exports=function(e){var t=r.Symbol||(r.Symbol={});o(t,e)||i(t,e,{value:a.f(e)})}},"74e8":function(e,t,n){"use strict";var r=n("23e7"),o=n("da84"),a=n("c65b"),i=n("83ab"),s=n("8aa7"),c=n("ebb5"),l=n("621a"),u=n("19aa"),f=n("5c6c"),d=n("9112"),h=n("eac5"),m=n("50c4"),p=n("0b25"),g=n("182d"),_=n("a04b"),v=n("1a2d"),b=n("f5df"),y=n("861d"),w=n("d9b5"),x=n("7c73"),S=n("3a9b"),k=n("d2bb"),M=n("241c").f,A=n("a078"),R=n("b727").forEach,E=n("2626"),T=n("9bf2"),O=n("06cf"),B=n("69f3"),I=n("7156"),L=B.get,j=B.set,P=T.f,C=O.f,N=Math.round,H=o.RangeError,U=l.ArrayBuffer,D=U.prototype,F=l.DataView,q=c.NATIVE_ARRAY_BUFFER_VIEWS,V=c.TYPED_ARRAY_CONSTRUCTOR,$=c.TYPED_ARRAY_TAG,z=c.TypedArray,Y=c.TypedArrayPrototype,X=c.aTypedArrayConstructor,G=c.isTypedArray,K="BYTES_PER_ELEMENT",Z="Wrong length",W=function(e,t){X(e);var n=0,r=t.length,o=new e(r);while(r>n)o[n]=t[n++];return o},Q=function(e,t){P(e,t,{get:function(){return L(this)[t]}})},J=function(e){var t;return S(D,e)||"ArrayBuffer"==(t=b(e))||"SharedArrayBuffer"==t},ee=function(e,t){return G(e)&&!w(t)&&t in e&&h(+t)&&t>=0},te=function(e,t){return t=_(t),ee(e,t)?f(2,e[t]):C(e,t)},ne=function(e,t,n){return t=_(t),!(ee(e,t)&&y(n)&&v(n,"value"))||v(n,"get")||v(n,"set")||n.configurable||v(n,"writable")&&!n.writable||v(n,"enumerable")&&!n.enumerable?P(e,t,n):(e[t]=n.value,e)};i?(q||(O.f=te,T.f=ne,Q(Y,"buffer"),Q(Y,"byteOffset"),Q(Y,"byteLength"),Q(Y,"length")),r({target:"Object",stat:!0,forced:!q},{getOwnPropertyDescriptor:te,defineProperty:ne}),e.exports=function(e,t,n){var i=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,f="set"+e,h=o[c],_=h,v=_&&_.prototype,b={},w=function(e,t){var n=L(e);return n.view[l](t*i+n.byteOffset,!0)},S=function(e,t,r){var o=L(e);n&&(r=(r=N(r))<0?0:r>255?255:255&r),o.view[f](t*i+o.byteOffset,r,!0)},T=function(e,t){P(e,t,{get:function(){return w(this,t)},set:function(e){return S(this,t,e)},enumerable:!0})};q?s&&(_=t((function(e,t,n,r){return u(e,v),I(function(){return y(t)?J(t)?void 0!==r?new h(t,g(n,i),r):void 0!==n?new h(t,g(n,i)):new h(t):G(t)?W(_,t):a(A,_,t):new h(p(t))}(),e,_)})),k&&k(_,z),R(M(h),(function(e){e in _||d(_,e,h[e])})),_.prototype=v):(_=t((function(e,t,n,r){u(e,v);var o,s,c,l=0,f=0;if(y(t)){if(!J(t))return G(t)?W(_,t):a(A,_,t);o=t,f=g(n,i);var d=t.byteLength;if(void 0===r){if(d%i)throw H(Z);if(s=d-f,s<0)throw H(Z)}else if(s=m(r)*i,s+f>d)throw H(Z);c=s/i}else c=p(t),s=c*i,o=new U(s);j(e,{buffer:o,byteOffset:f,byteLength:s,length:c,view:new F(o)});while(l"),I=i(")"),L=i("&");t.Base=a,t.DOMAIN=s,t.AT=c,t.COLON=l,t.DOT=u,t.PUNCTUATION=f,t.LOCALHOST=d,t.NL=h,t.NUM=m,t.PLUS=p,t.POUND=g,t.QUERY=b,t.PROTOCOL=_,t.MAILTO=v,t.SLASH=y,t.UNDERSCORE=w,t.SYM=x,t.TLD=S,t.WS=k,t.OPENBRACE=M,t.OPENBRACKET=A,t.OPENANGLEBRACKET=R,t.OPENPAREN=E,t.CLOSEBRACE=T,t.CLOSEBRACKET=O,t.CLOSEANGLEBRACKET=B,t.CLOSEPAREN=I,t.AMPERSAND=L},"77a7":function(e,t,n){var r=n("da84"),o=r.Array,a=Math.abs,i=Math.pow,s=Math.floor,c=Math.log,l=Math.LN2,u=function(e,t,n){var r,u,f,d=o(n),h=8*n-t-1,m=(1<>1,g=23===t?i(2,-24)-i(2,-77):0,_=e<0||0===e&&1/e<0?1:0,v=0;e=a(e),e!=e||e===1/0?(u=e!=e?1:0,r=m):(r=s(c(e)/l),f=i(2,-r),e*f<1&&(r--,f*=2),e+=r+p>=1?g/f:g*i(2,1-p),e*f>=2&&(r++,f/=2),r+p>=m?(u=0,r=m):r+p>=1?(u=(e*f-1)*i(2,t),r+=p):(u=e*i(2,p-1)*i(2,t),r=0));while(t>=8)d[v++]=255&u,u/=256,t-=8;r=r<0)d[v++]=255&r,r/=256,h-=8;return d[--v]|=128*_,d},f=function(e,t){var n,r=e.length,o=8*r-t-1,a=(1<>1,c=o-7,l=r-1,u=e[l--],f=127&u;u>>=7;while(c>0)f=256*f+e[l--],c-=8;n=f&(1<<-c)-1,f>>=-c,c+=t;while(c>0)n=256*n+e[l--],c-=8;if(0===f)f=1-s;else{if(f===a)return n?NaN:u?-1/0:1/0;n+=i(2,t),f-=s}return(u?-1:1)*n*i(2,f-t)};e.exports={pack:u,unpack:f}},7839:function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"785a":function(e,t,n){var r=n("cc12"),o=r("span").classList,a=o&&o.constructor&&o.constructor.prototype;e.exports=a===Object.prototype?void 0:a},"7a82":function(e,t,n){var r=n("23e7"),o=n("83ab"),a=n("9bf2").f;r({target:"Object",stat:!0,forced:Object.defineProperty!==a,sham:!o},{defineProperty:a})},"7b0b":function(e,t,n){var r=n("da84"),o=n("1d80"),a=r.Object;e.exports=function(e){return a(o(e))}},"7c73":function(e,t,n){var r,o=n("825a"),a=n("37e8"),i=n("7839"),s=n("d012"),c=n("1be4"),l=n("cc12"),u=n("f772"),f=">",d="<",h="prototype",m="script",p=u("IE_PROTO"),g=function(){},_=function(e){return d+m+f+e+d+"/"+m+f},v=function(e){e.write(_("")),e.close();var t=e.parentWindow.Object;return e=null,t},b=function(){var e,t=l("iframe"),n="java"+m+":";return t.style.display="none",c.appendChild(t),t.src=String(n),e=t.contentWindow.document,e.open(),e.write(_("document.F=Object")),e.close(),e.F},y=function(){try{r=new ActiveXObject("htmlfile")}catch(t){}y="undefined"!=typeof document?document.domain&&r?v(r):b():v(r);var e=i.length;while(e--)delete y[h][i[e]];return y()};s[p]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(g[h]=o(e),n=new g,g[h]=null,n[p]=e):n=y(),void 0===t?n:a.f(n,t)}},"7db0":function(e,t,n){"use strict";var r=n("23e7"),o=n("b727").find,a=n("44d2"),i="find",s=!0;i in[]&&Array(1)[i]((function(){s=!1})),r({target:"Array",proto:!0,forced:s},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),a(i)},"7dd0":function(e,t,n){"use strict";var r=n("23e7"),o=n("c65b"),a=n("c430"),i=n("5e77"),s=n("1626"),c=n("9ed3"),l=n("e163"),u=n("d2bb"),f=n("d44e"),d=n("9112"),h=n("6eeb"),m=n("b622"),p=n("3f8c"),g=n("ae93"),_=i.PROPER,v=i.CONFIGURABLE,b=g.IteratorPrototype,y=g.BUGGY_SAFARI_ITERATORS,w=m("iterator"),x="keys",S="values",k="entries",M=function(){return this};e.exports=function(e,t,n,i,m,g,A){c(n,t,i);var R,E,T,O=function(e){if(e===m&&P)return P;if(!y&&e in L)return L[e];switch(e){case x:return function(){return new n(this,e)};case S:return function(){return new n(this,e)};case k:return function(){return new n(this,e)}}return function(){return new n(this)}},B=t+" Iterator",I=!1,L=e.prototype,j=L[w]||L["@@iterator"]||m&&L[m],P=!y&&j||O(m),C="Array"==t&&L.entries||j;if(C&&(R=l(C.call(new e)),R!==Object.prototype&&R.next&&(a||l(R)===b||(u?u(R,b):s(R[w])||h(R,w,M)),f(R,B,!0,!0),a&&(p[B]=M))),_&&m==S&&j&&j.name!==S&&(!a&&v?d(L,"name",S):(I=!0,P=function(){return o(j,this)})),m)if(E={values:O(S),keys:g?P:O(x),entries:O(k)},A)for(T in E)(y||I||!(T in L))&&h(L,T,E[T]);else r({target:t,proto:!0,forced:y||I},E);return a&&!A||L[w]===P||h(L,w,P,{name:m}),p[t]=P,E}},"7e12":function(e,t,n){var r=n("da84"),o=n("d039"),a=n("e330"),i=n("577e"),s=n("58a8").trim,c=n("5899"),l=a("".charAt),u=r.parseFloat,f=r.Symbol,d=f&&f.iterator,h=1/u(c+"-0")!==-1/0||d&&!o((function(){u(Object(d))}));e.exports=h?function(e){var t=s(i(e)),n=u(t);return 0===n&&"-"==l(t,0)?-0:n}:u},"7f9a":function(e,t,n){var r=n("da84"),o=n("1626"),a=n("8925"),i=r.WeakMap;e.exports=o(i)&&/native code/.test(a(i))},8100:function(e,t,n){var r=n("0206"),o=(r.System,r.VbrMode,r.Float,r.ShortBlock,r.Util),a=(r.Arrays,r.new_array_n,r.new_byte,r.new_double,r.new_float),i=(r.new_float_n,r.new_int,r.new_int_n,r.assert,n("4b5e"));function s(){var e=a(i.BLKSIZE),t=a(i.BLKSIZE_s/2),n=[.9238795325112867,.3826834323650898,.9951847266721969,.0980171403295606,.9996988186962042,.02454122852291229,.9999811752826011,.006135884649154475];function r(e,t,r){var a,i,s,c=0;r<<=1;var l=t+r;a=4;do{var u,f,d,h,m,p,g;g=a>>1,h=a,m=a<<1,p=m+h,a=m<<1,i=t,s=i+g;do{S=e[i+0]-e[i+h],x=e[i+0]+e[i+h],R=e[i+m]-e[i+p],M=e[i+m]+e[i+p],e[i+m]=x-M,e[i+0]=x+M,e[i+p]=S-R,e[i+h]=S+R,S=e[s+0]-e[s+h],x=e[s+0]+e[s+h],R=o.SQRT2*e[s+p],M=o.SQRT2*e[s+m],e[s+m]=x-M,e[s+0]=x+M,e[s+p]=S-R,e[s+h]=S+R,s+=a,i+=a}while(i=0);r(n[l],u,i.BLKSIZE_s/2)}},this.fft_long=function(t,n,o,a,c){var l=i.BLKSIZE/8-1,u=i.BLKSIZE/2;do{var f,d,h,m,p,g=255&s[l];f=e[g]*a[o][c+g],p=e[g+512]*a[o][c+g+512],d=f-p,f+=p,h=e[g+256]*a[o][c+g+256],p=e[g+768]*a[o][c+g+768],m=h-p,h+=p,u-=4,n[u+0]=f+h,n[u+2]=f-h,n[u+1]=d+m,n[u+3]=d-m,f=e[g+1]*a[o][c+g+1],p=e[g+513]*a[o][c+g+513],d=f-p,f+=p,h=e[g+257]*a[o][c+g+257],p=e[g+769]*a[o][c+g+769],m=h-p,h+=p,n[u+i.BLKSIZE/2+0]=f+h,n[u+i.BLKSIZE/2+2]=f-h,n[u+i.BLKSIZE/2+1]=d+m,n[u+i.BLKSIZE/2+3]=d-m}while(--l>=0);r(n,u,i.BLKSIZE/2)},this.init_fft=function(n){for(var r=0;r1?arguments[1]:void 0,n),c=i>2?arguments[2]:void 0,l=void 0===c?n:o(c,n);while(l>s)t[s++]=e;return t}},"825a":function(e,t,n){var r=n("da84"),o=n("861d"),a=r.String,i=r.TypeError;e.exports=function(e){if(o(e))return e;throw i(a(e)+" is not an object")}},"82f8":function(e,t,n){"use strict";var r=n("ebb5"),o=n("4d64").includes,a=r.aTypedArray,i=r.exportTypedArrayMethod;i("includes",(function(e){return o(a(this),e,arguments.length>1?arguments[1]:void 0)}))},"83ab":function(e,t,n){var r=n("d039");e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(e,t,n){"use strict";var r=n("a04b"),o=n("9bf2"),a=n("5c6c");e.exports=function(e,t,n){var i=r(t);i in e?o.f(e,i,a(0,n)):e[i]=n}},"841c":function(e,t,n){"use strict";var r=n("c65b"),o=n("d784"),a=n("825a"),i=n("1d80"),s=n("129f"),c=n("577e"),l=n("dc4a"),u=n("14c3");o("search",(function(e,t,n){return[function(t){var n=i(this),o=void 0==t?void 0:l(t,e);return o?r(o,t,n):new RegExp(t)[e](c(n))},function(e){var r=a(this),o=c(e),i=n(t,r,o);if(i.done)return i.value;var l=r.lastIndex;s(l,0)||(r.lastIndex=0);var f=u(r,o);return s(r.lastIndex,l)||(r.lastIndex=l),null===f?-1:f.index}]}))},"857a":function(e,t,n){var r=n("e330"),o=n("1d80"),a=n("577e"),i=/"/g,s=r("".replace);e.exports=function(e,t,n,r){var c=a(o(e)),l="<"+t;return""!==n&&(l+=" "+n+'="'+s(a(r),i,""")+'"'),l+">"+c+""}},"861d":function(e,t,n){var r=n("1626");e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},"874e":function(e,t,n){"use strict";(function(e){var t=n("da58");function r(){}function o(e){return e()}function a(){return Object.create(null)}function i(e){e.forEach(o)}function s(e){return"function"===typeof e}function c(e,t){return e!=e?t==t:e!==t||e&&"object"===typeof e||"function"===typeof e}let l,u;function f(e,t){return l||(l=document.createElement("a")),l.href=t,e===l.href}function d(e){return 0===Object.keys(e).length}function h(e){return e&&s(e.destroy)?e.destroy:r}function m(e,t){e.appendChild(t)}function p(e,t,n){e.insertBefore(t,n||null)}function g(e){e.parentNode.removeChild(e)}function _(e){return document.createElement(e)}function v(e){return document.createTextNode(e)}function b(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}function y(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function w(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function x(e,t){e.value=null==t?"":t}function S(e,t,n,r){null===n?e.style.removeProperty(t):e.style.setProperty(t,n,r?"important":"")}function k(e){u=e}const M=[],A=[],R=[],E=[],T=Promise.resolve();let O=!1;function B(){O||(O=!0,T.then(C))}function I(){return B(),T}function L(e){R.push(e)}const j=new Set;let P=0;function C(){const e=u;do{while(Pv.get(o)?(y.add(r),w(t)):(b.add(o),d--):(c(n,i),d--)}while(d--){const t=e[d];_.has(t.key)||c(t,i)}while(h)w(g[h-1]);return g}function V(e,t,n,r){const{fragment:a,on_mount:c,on_destroy:l,after_update:u}=e.$$;a&&a.m(t,n),r||L(()=>{const t=c.map(o).filter(s);l?l.push(...t):i(t),e.$$.on_mount=[]}),u.forEach(L)}function $(e,t){const n=e.$$;null!==n.fragment&&(i(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function z(e,t){-1===e.$$.dirty[0]&&(M.push(e),B(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const o=r.length?r[0]:n;return h.ctx&&s(h.ctx[t],h.ctx[t]=o)&&(!h.skip_bound&&h.bound[t]&&h.bound[t](o),m&&z(e,t)),n}):[],h.update(),m=!0,i(h.before_update),h.fragment=!!o&&o(h.ctx),t.target&&(h.fragment&&h.fragment.c(),t.intro&&U(e.$$.fragment),V(e,t.target,t.anchor,t.customElement),C()),k(d)}class X{$destroy(){$(this,1),this.$destroy=r}$on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(e){this.$$set&&!d(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const G=[[-1,"✨","custom"],[0,"😀","smileys-emotion"],[1,"👋","people-body"],[3,"🐱","animals-nature"],[4,"🍎","food-drink"],[5,"🏠️","travel-places"],[6,"⚽","activities"],[7,"📝","objects"],[8,"⛔️","symbols"],[9,"🏁","flags"]].map(([e,t,n])=>({id:e,emoji:t,name:n})),K=G.slice(1),Z=G[0],W=2,Q=6,J="function"===typeof requestIdleCallback?requestIdleCallback:setTimeout;function ee(e){return e.unicode.includes("‍")}const te={"🫠":14,"🥲":13.1,"🥻":12.1,"🥰":11,"🤩":5,"👱‍♀️":4,"🤣":3,"👁️‍🗨️":2,"😀":1,"😐️":.7,"😃":.6},ne=1e3,re="🖐️",oe=8,ae=["😊","😒","♥️","👍️","😍","😂","😭","☺️","😔","😩","😏","💕","🙌","😘"],ie='"Twemoji Mozilla","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","EmojiOne Color","Android Emoji",sans-serif',se=(e,t)=>et?1:0,ce=(e,t)=>{const n=document.createElement("canvas");n.width=n.height=1;const r=n.getContext("2d");return r.textBaseline="top",r.font="100px "+ie,r.fillStyle=t,r.scale(.01,.01),r.fillText(e,0,0),r.getImageData(0,0,1,1).data},le=(e,t)=>{const n=[...e].join(","),r=[...t].join(",");return n===r&&!n.startsWith("0,0,0,")};function ue(e){const t=ce(e,"#000"),n=ce(e,"#fff");return t&&n&&le(t,n)}function fe(){const e=Object.entries(te);try{for(const[t,n]of e)if(ue(t))return n}catch(t){}return e[0][1]}const de=new Promise(e=>J(()=>e(fe()))),he=new Map,me="️",pe="\ud83c",ge="‍",_e=127995,ve=57339;function be(e,t){if(0===t)return e;const n=e.indexOf(ge);return-1!==n?e.substring(0,n)+String.fromCodePoint(_e+t-1)+e.substring(n):(e.endsWith(me)&&(e=e.substring(0,e.length-1)),e+pe+String.fromCodePoint(ve+t-1))}function ye(e){e.preventDefault(),e.stopPropagation()}function we(e,t,n){return t+=e?-1:1,t<0?t=n.length-1:t>=n.length&&(t=0),t}function xe(e,t){const n=new Set,r=[];for(const o of e){const e=t(o);n.has(e)||(n.add(e),r.push(o))}return r}function Se(e,t){const n=e=>{const n={};for(const r of e)"number"===typeof r.tone&&r.version<=t&&(n[r.tone]=r.unicode);return n};return e.map(({unicode:e,skins:t,shortcodes:r,url:o,name:a,category:i})=>({unicode:e,name:a,shortcodes:r,url:o,category:i,id:e||a,skins:t&&n(t),title:(r||[]).join(", ")}))}const ke=requestAnimationFrame;let Me,Ae="function"===typeof ResizeObserver;function Re(e,t){let n;return Ae?(n=new ResizeObserver(e=>t(e[0].contentRect.width)),n.observe(e)):ke(()=>t(e.getBoundingClientRect().width)),{destroy(){n&&n.disconnect()}}}function Ee(e){{const t=document.createRange();return t.selectNode(e.firstChild),t.getBoundingClientRect().width}}function Te(e,t,n){for(const r of e){const e=n(r),o=Ee(e);"undefined"===typeof Me&&(Me=Ee(t));const a=o/1.8e)}const{Map:Be}=D;function Ie(e,t,n){const r=e.slice();return r[63]=t[n],r[65]=n,r}function Le(e,t,n){const r=e.slice();return r[66]=t[n],r[65]=n,r}function je(e,t,n){const r=e.slice();return r[63]=t[n],r[65]=n,r}function Pe(e,t,n){const r=e.slice();return r[69]=t[n],r}function Ce(e,t,n){const r=e.slice();return r[72]=t[n],r[65]=n,r}function Ne(e,t){let n,r,o,a,i,s,c,l=t[72]+"";return{key:e,first:null,c(){n=_("div"),r=v(l),y(n,"id",o="skintone-"+t[65]),y(n,"class",a="emoji hide-focus "+(t[65]===t[20]?"active":"")),y(n,"aria-selected",i=t[65]===t[20]),y(n,"role","option"),y(n,"title",s=t[0].skinTones[t[65]]),y(n,"tabindex","-1"),y(n,"aria-label",c=t[0].skinTones[t[65]]),this.first=n},m(e,t){p(e,n,t),m(n,r)},p(e,u){t=e,512&u[0]&&l!==(l=t[72]+"")&&w(r,l),512&u[0]&&o!==(o="skintone-"+t[65])&&y(n,"id",o),1049088&u[0]&&a!==(a="emoji hide-focus "+(t[65]===t[20]?"active":""))&&y(n,"class",a),1049088&u[0]&&i!==(i=t[65]===t[20])&&y(n,"aria-selected",i),513&u[0]&&s!==(s=t[0].skinTones[t[65]])&&y(n,"title",s),513&u[0]&&c!==(c=t[0].skinTones[t[65]])&&y(n,"aria-label",c)},d(e){e&&g(n)}}}function He(e,t){let n,r,o,a,i,s,c,l,u,f=t[69].emoji+"";function d(){return t[49](t[69])}return{key:e,first:null,c(){n=_("button"),r=_("div"),o=v(f),y(r,"class","nav-emoji emoji"),y(n,"role","tab"),y(n,"class","nav-button"),y(n,"aria-controls",a="tab-"+t[69].id),y(n,"aria-label",i=t[0].categories[t[69].name]),y(n,"aria-selected",s=!t[4]&&t[13].id===t[69].id),y(n,"title",c=t[0].categories[t[69].name]),this.first=n},m(e,t){p(e,n,t),m(n,r),m(r,o),l||(u=b(n,"click",d),l=!0)},p(e,r){t=e,4096&r[0]&&f!==(f=t[69].emoji+"")&&w(o,f),4096&r[0]&&a!==(a="tab-"+t[69].id)&&y(n,"aria-controls",a),4097&r[0]&&i!==(i=t[0].categories[t[69].name])&&y(n,"aria-label",i),12304&r[0]&&s!==(s=!t[4]&&t[13].id===t[69].id)&&y(n,"aria-selected",s),4097&r[0]&&c!==(c=t[0].categories[t[69].name])&&y(n,"title",c)},d(e){e&&g(n),l=!1,u()}}}function Ue(e){let t,n;return{c(){t=_("img"),y(t,"class","custom-emoji"),f(t.src,n=e[63].url)||y(t,"src",n),y(t,"alt",""),y(t,"loading","lazy")},m(e,n){p(e,t,n)},p(e,r){32768&r[0]&&!f(t.src,n=e[63].url)&&y(t,"src",n)},d(e){e&&g(t)}}}function De(e){let t,n=e[27](e[63],e[8])+"";return{c(){t=v(n)},m(e,n){p(e,t,n)},p(e,r){33024&r[0]&&n!==(n=e[27](e[63],e[8])+"")&&w(t,n)},d(e){e&&g(t)}}}function Fe(e,t){let n,r,o,a,i,s,c;function l(e,t){return e[63].unicode?De:Ue}let u=l(t),f=u(t);return{key:e,first:null,c(){n=_("button"),f.c(),y(n,"role",r=t[4]?"option":"menuitem"),y(n,"aria-selected",o=t[4]?t[65]==t[5]:""),y(n,"aria-label",a=t[28](t[63],t[8])),y(n,"title",i=t[63].title),y(n,"class",s="emoji "+(t[4]&&t[65]===t[5]?"active":"")),y(n,"id",c="emo-"+t[63].id),this.first=n},m(e,t){p(e,n,t),f.m(n,null)},p(e,d){t=e,u===(u=l(t))&&f?f.p(t,d):(f.d(1),f=u(t),f&&(f.c(),f.m(n,null))),16&d[0]&&r!==(r=t[4]?"option":"menuitem")&&y(n,"role",r),32816&d[0]&&o!==(o=t[4]?t[65]==t[5]:"")&&y(n,"aria-selected",o),33024&d[0]&&a!==(a=t[28](t[63],t[8]))&&y(n,"aria-label",a),32768&d[0]&&i!==(i=t[63].title)&&y(n,"title",i),32816&d[0]&&s!==(s="emoji "+(t[4]&&t[65]===t[5]?"active":""))&&y(n,"class",s),32768&d[0]&&c!==(c="emo-"+t[63].id)&&y(n,"id",c)},d(e){e&&g(n),f.d()}}}function qe(e,t){let n,r,o,a,i,s,c,l,u=(t[4]?t[0].searchResultsLabel:t[66].category?t[66].category:t[15].length>1?t[0].categories.custom:t[0].categories[t[13].name])+"",f=[],d=new Be,h=t[66].emojis;const b=e=>e[63].id;for(let m=0;m1?t[0].categories.custom:t[0].categories[t[13].name])+"")&&w(r,u),32768&m[0]&&o!==(o="menu-label-"+t[65])&&y(n,"id",o),32768&m[0]&&a!==(a="category "+(1===t[15].length&&""===t[15][0].category?"gone":""))&&y(n,"class",a),402686256&m[0]&&(h=t[66].emojis,f=q(f,m,b,1,t,h,d,i,F,Fe,null,je)),16&m[0]&&s!==(s=t[4]?"listbox":"menu")&&y(i,"role",s),32768&m[0]&&c!==(c="menu-label-"+t[65])&&y(i,"aria-labelledby",c),16&m[0]&&l!==(l=t[4]?"search-results":"")&&y(i,"id",l)},d(e){e&&g(n),e&&g(i);for(let t=0;te[72];for(let r=0;r<_e.length;r+=1){let t=Ce(e,_e,r),n=ve(t);ue.set(n,le[r]=Ne(n,t))}let be=e[12];const ye=e=>e[69].id;for(let r=0;re[66].category;for(let r=0;re[63].id;for(let r=0;rb)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar RangeError = global.RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es-x/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n\nvar CONFIGURABLE_LENGTH = !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n defineProperty(value, 'name', { value: name, configurable: true });\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es-x/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar TypeError = global.TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(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 remaining++;\n call($promiseResolve, 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});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.stateify = exports.TokenState = exports.CharacterState = undefined;\n\nvar _class = require('../utils/class');\n\nfunction createStateClass() {\n\treturn function (tClass) {\n\t\tthis.j = [];\n\t\tthis.T = tClass || null;\n\t};\n}\n\n/**\n\tA simple state machine that can emit token classes\n\n\tThe `j` property in this class refers to state jumps. It's a\n\tmultidimensional array where for each element:\n\n\t* index [0] is a symbol or class of symbols to transition to.\n\t* index [1] is a State instance which matches\n\n\tThe type of symbol will depend on the target implementation for this class.\n\tIn Linkify, we have a two-stage scanner. Each stage uses this state machine\n\tbut with a slighly different (polymorphic) implementation.\n\n\tThe `T` property refers to the token class.\n\n\tTODO: Can the `on` and `next` methods be combined?\n\n\t@class BaseState\n*/\nvar BaseState = createStateClass();\nBaseState.prototype = {\n\tdefaultTransition: false,\n\n\t/**\n \t@method constructor\n \t@param {Class} tClass Pass in the kind of token to emit if there are\n \t\tno jumps after this state and the state is accepting.\n */\n\n\t/**\n \tOn the given symbol(s), this machine should go to the given state\n \t\t@method on\n \t@param {Array|Mixed} symbol\n \t@param {BaseState} state Note that the type of this state should be the\n \t\tsame as the current instance (i.e., don't pass in a different\n \t\tsubclass)\n */\n\ton: function on(symbol, state) {\n\t\tif (symbol instanceof Array) {\n\t\t\tfor (var i = 0; i < symbol.length; i++) {\n\t\t\t\tthis.j.push([symbol[i], state]);\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tthis.j.push([symbol, state]);\n\t\treturn this;\n\t},\n\n\n\t/**\n \tGiven the next item, returns next state for that item\n \t@method next\n \t@param {Mixed} item Should be an instance of the symbols handled by\n \t\tthis particular machine.\n \t@return {State} state Returns false if no jumps are available\n */\n\tnext: function next(item) {\n\t\tfor (var i = 0; i < this.j.length; i++) {\n\t\t\tvar jump = this.j[i];\n\t\t\tvar symbol = jump[0]; // Next item to check for\n\t\t\tvar state = jump[1]; // State to jump to if items match\n\n\t\t\t// compare item with symbol\n\t\t\tif (this.test(item, symbol)) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\n\t\t// Nowhere left to jump!\n\t\treturn this.defaultTransition;\n\t},\n\n\n\t/**\n \tDoes this state accept?\n \t`true` only of `this.T` exists\n \t\t@method accepts\n \t@return {Boolean}\n */\n\taccepts: function accepts() {\n\t\treturn !!this.T;\n\t},\n\n\n\t/**\n \tDetermine whether a given item \"symbolizes\" the symbol, where symbol is\n \ta class of items handled by this state machine.\n \t\tThis method should be overriden in extended classes.\n \t\t@method test\n \t@param {Mixed} item Does this item match the given symbol?\n \t@param {Mixed} symbol\n \t@return {Boolean}\n */\n\ttest: function test(item, symbol) {\n\t\treturn item === symbol;\n\t},\n\n\n\t/**\n \tEmit the token for this State (just return it in this case)\n \tIf this emits a token, this instance is an accepting state\n \t@method emit\n \t@return {Class} T\n */\n\temit: function emit() {\n\t\treturn this.T;\n\t}\n};\n\n/**\n\tState machine for string-based input\n\n\t@class CharacterState\n\t@extends BaseState\n*/\nvar CharacterState = (0, _class.inherits)(BaseState, createStateClass(), {\n\t/**\n \tDoes the given character match the given character or regular\n \texpression?\n \t\t@method test\n \t@param {String} char\n \t@param {String|RegExp} charOrRegExp\n \t@return {Boolean}\n */\n\ttest: function test(character, charOrRegExp) {\n\t\treturn character === charOrRegExp || charOrRegExp instanceof RegExp && charOrRegExp.test(character);\n\t}\n});\n\n/**\n\tState machine for input in the form of TextTokens\n\n\t@class TokenState\n\t@extends BaseState\n*/\nvar TokenState = (0, _class.inherits)(BaseState, createStateClass(), {\n\n\t/**\n * Similar to `on`, but returns the state the results in the transition from\n * the given item\n * @method jump\n * @param {Mixed} item\n * @param {Token} [token]\n * @return state\n */\n\tjump: function jump(token) {\n\t\tvar tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\t\tvar state = this.next(new token('')); // dummy temp token\n\t\tif (state === this.defaultTransition) {\n\t\t\t// Make a new state!\n\t\t\tstate = new this.constructor(tClass);\n\t\t\tthis.on(token, state);\n\t\t} else if (tClass) {\n\t\t\tstate.T = tClass;\n\t\t}\n\t\treturn state;\n\t},\n\n\n\t/**\n \tIs the given token an instance of the given token class?\n \t\t@method test\n \t@param {TextToken} token\n \t@param {Class} tokenClass\n \t@return {Boolean}\n */\n\ttest: function test(token, tokenClass) {\n\t\treturn token instanceof tokenClass;\n\t}\n});\n\n/**\n\tGiven a non-empty target string, generates states (if required) for each\n\tconsecutive substring of characters in str starting from the beginning of\n\tthe string. The final state will have a special value, as specified in\n\toptions. All other \"in between\" substrings will have a default end state.\n\n\tThis turns the state machine into a Trie-like data structure (rather than a\n\tintelligently-designed DFA).\n\n\tNote that I haven't really tried these with any strings other than\n\tDOMAIN.\n\n\t@param {String} str\n\t@param {CharacterState} start State to jump from the first character\n\t@param {Class} endToken Token class to emit when the given string has been\n\t\tmatched and no more jumps exist.\n\t@param {Class} defaultToken \"Filler token\", or which token type to emit when\n\t\twe don't have a full match\n\t@return {Array} list of newly-created states\n*/\nfunction stateify(str, start, endToken, defaultToken) {\n\tvar i = 0,\n\t len = str.length,\n\t state = start,\n\t newStates = [],\n\t nextState = void 0;\n\n\t// Find the next state without a jump to the next character\n\twhile (i < len && (nextState = state.next(str[i]))) {\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tif (i >= len) {\n\t\treturn [];\n\t} // no new tokens were added\n\n\twhile (i < len - 1) {\n\t\tnextState = new CharacterState(defaultToken);\n\t\tnewStates.push(nextState);\n\t\tstate.on(str[i], nextState);\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tnextState = new CharacterState(endToken);\n\tnewStates.push(nextState);\n\tstate.on(str[len - 1], nextState);\n\n\treturn newStates;\n}\n\nexports.CharacterState = CharacterState;\nexports.TokenState = TokenState;\nexports.stateify = stateify;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var global = require('../internals/global');\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","export function detectMobile() {\n\tvar userAgent = getUserAgent()\n\n\tvar userAgentPart = userAgent.substr(0, 4)\n\n\treturn (\n\t\t/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(\n\t\t\tuserAgent\n\t\t) ||\n\t\t/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw(n|u)|c55\\/|capi|ccwa|cdm|cell|chtm|cldc|cmd|co(mp|nd)|craw|da(it|ll|ng)|dbte|dcs|devi|dica|dmob|do(c|p)o|ds(12|d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(|_)|g1 u|g560|gene|gf5|gmo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd(m|p|t)|hei|hi(pt|ta)|hp( i|ip)|hsc|ht(c(| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i(20|go|ma)|i230|iac( ||\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|[a-w])|libw|lynx|m1w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|mcr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|([1-8]|c))|phil|pire|pl(ay|uc)|pn2|po(ck|rt|se)|prox|psio|ptg|qaa|qc(07|12|21|32|60|[2-7]|i)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h|oo|p)|sdk\\/|se(c(|0|1)|47|mc|nd|ri)|sgh|shar|sie(|m)|sk0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h|v|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl|tdg|tel(i|m)|tim|tmo|to(pl|sh)|ts(70|m|m3|m5)|tx9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas|your|zeto|zte/i.test(\n\t\t\tuserAgentPart\n\t\t)\n\t)\n}\n\nfunction getUserAgent() {\n\tvar userAgent =\n\t\tnavigator.userAgent || navigator.vendor || window.opera || null\n\n\tif (!userAgent) throw new Error('Failed to look for user agent information.')\n\n\treturn userAgent\n}\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\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-x/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 userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setTimeout = require('../internals/schedulers-fix').setTimeout;\n\n// ie9- setTimeout additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n$({ global: true, bind: true, forced: global.setTimeout !== setTimeout }, {\n setTimeout: setTimeout\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\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","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","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar isCallable = require('../internals/is-callable');\nvar userAgent = require('../internals/engine-user-agent');\nvar arraySlice = require('../internals/array-slice');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar Function = global.Function;\n\nvar wrap = function (scheduler) {\n return MSIE ? function (handler, timeout /* , ...arguments */) {\n var boundArgs = validateArgumentsLength(arguments.length, 1) > 2;\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = boundArgs ? arraySlice(arguments, 2) : undefined;\n return scheduler(boundArgs ? function () {\n apply(fn, this, args);\n } : fn, timeout);\n } : scheduler;\n};\n\n// ie9- setTimeout & setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\nmodule.exports = {\n // `setTimeout` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n setTimeout: wrap(global.setTimeout),\n // `setInterval` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n setInterval: wrap(global.setInterval)\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n un$Sort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return un$Sort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\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);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\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 (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.strike` method\n// https://tc39.es/ecma262/#sec-string.prototype.strike\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, {\n strike: function strike() {\n return createHTML(this, 'strike', '', '');\n }\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\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 options.name - the .name of the function if it does not match the key\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 defineBuiltIn(target, key, sourceProperty, options);\n }\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-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","//package mp3;\n\nfunction VBRSeekInfo() {\n /**\n * What we have seen so far.\n */\n this.sum = 0;\n /**\n * How many frames we have seen in this chunk.\n */\n this.seen = 0;\n /**\n * How many frames we want to collect into one chunk.\n */\n this.want = 0;\n /**\n * Actual position in our bag.\n */\n this.pos = 0;\n /**\n * Size of our bag.\n */\n this.size = 0;\n /**\n * Pointer to our bag.\n */\n this.bag = null;\n this.nVbrNumFrames = 0;\n this.nBytesWritten = 0;\n /* VBR tag data */\n this.TotalFrameSize = 0;\n}\n\nmodule.exports = VBRSeekInfo;\n","/*\n * psymodel.c\n *\n * Copyright (c) 1999-2000 Mark Taylor\n * Copyright (c) 2001-2002 Naoki Shibata\n * Copyright (c) 2000-2003 Takehiro Tominaga\n * Copyright (c) 2000-2008 Robert Hegemann\n * Copyright (c) 2000-2005 Gabriel Bouvigne\n * Copyright (c) 2000-2005 Alexander Leidinger\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */\n\n/* $Id: PsyModel.java,v 1.27 2011/05/24 20:48:06 kenchis Exp $ */\n\n\n/*\n PSYCHO ACOUSTICS\n\n\n This routine computes the psycho acoustics, delayed by one granule.\n\n Input: buffer of PCM data (1024 samples).\n\n This window should be centered over the 576 sample granule window.\n The routine will compute the psycho acoustics for\n this granule, but return the psycho acoustics computed\n for the *previous* granule. This is because the block\n type of the previous granule can only be determined\n after we have computed the psycho acoustics for the following\n granule.\n\n Output: maskings and energies for each scalefactor band.\n block type, PE, and some correlation measures.\n The PE is used by CBR modes to determine if extra bits\n from the bit reservoir should be used. The correlation\n measures are used to determine mid/side or regular stereo.\n */\n/*\n Notation:\n\n barks: a non-linear frequency scale. Mapping from frequency to\n barks is given by freq2bark()\n\n scalefactor bands: The spectrum (frequencies) are broken into\n SBMAX \"scalefactor bands\". Thes bands\n are determined by the MPEG ISO spec. In\n the noise shaping/quantization code, we allocate\n bits among the partition bands to achieve the\n best possible quality\n\n partition bands: The spectrum is also broken into about\n 64 \"partition bands\". Each partition\n band is about .34 barks wide. There are about 2-5\n partition bands for each scalefactor band.\n\n LAME computes all psycho acoustic information for each partition\n band. Then at the end of the computations, this information\n is mapped to scalefactor bands. The energy in each scalefactor\n band is taken as the sum of the energy in all partition bands\n which overlap the scalefactor band. The maskings can be computed\n in the same way (and thus represent the average masking in that band)\n or by taking the minmum value multiplied by the number of\n partition bands used (which represents a minimum masking in that band).\n */\n/*\n The general outline is as follows:\n\n 1. compute the energy in each partition band\n 2. compute the tonality in each partition band\n 3. compute the strength of each partion band \"masker\"\n 4. compute the masking (via the spreading function applied to each masker)\n 5. Modifications for mid/side masking.\n\n Each partition band is considiered a \"masker\". The strength\n of the i'th masker in band j is given by:\n\n s3(bark(i)-bark(j))*strength(i)\n\n The strength of the masker is a function of the energy and tonality.\n The more tonal, the less masking. LAME uses a simple linear formula\n (controlled by NMT and TMN) which says the strength is given by the\n energy divided by a linear function of the tonality.\n */\n/*\n s3() is the \"spreading function\". It is given by a formula\n determined via listening tests.\n\n The total masking in the j'th partition band is the sum over\n all maskings i. It is thus given by the convolution of\n the strength with s3(), the \"spreading function.\"\n\n masking(j) = sum_over_i s3(i-j)*strength(i) = s3 o strength\n\n where \"o\" = convolution operator. s3 is given by a formula determined\n via listening tests. It is normalized so that s3 o 1 = 1.\n\n Note: instead of a simple convolution, LAME also has the\n option of using \"additive masking\"\n\n The most critical part is step 2, computing the tonality of each\n partition band. LAME has two tonality estimators. The first\n is based on the ISO spec, and measures how predictiable the\n signal is over time. The more predictable, the more tonal.\n The second measure is based on looking at the spectrum of\n a single granule. The more peaky the spectrum, the more\n tonal. By most indications, the latter approach is better.\n\n Finally, in step 5, the maskings for the mid and side\n channel are possibly increased. Under certain circumstances,\n noise in the mid & side channels is assumed to also\n be masked by strong maskers in the L or R channels.\n\n\n Other data computed by the psy-model:\n\n ms_ratio side-channel / mid-channel masking ratio (for previous granule)\n ms_ratio_next side-channel / mid-channel masking ratio for this granule\n\n percep_entropy[2] L and R values (prev granule) of PE - A measure of how\n much pre-echo is in the previous granule\n percep_entropy_MS[2] mid and side channel values (prev granule) of percep_entropy\n energy[4] L,R,M,S energy in each channel, prev granule\n blocktype_d[2] block type to use for previous granule\n */\n//package mp3;\n\n//import java.util.Arrays;\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar FFT = require(\"./FFT.js\");\nvar Encoder = require(\"./Encoder.js\");\n\nfunction PsyModel() {\n\n var fft = new FFT();\n\n var LOG10 = 2.30258509299404568402;\n\n var rpelev = 2;\n var rpelev2 = 16;\n var rpelev_s = 2;\n var rpelev2_s = 16;\n\n /* size of each partition band, in barks: */\n var DELBARK = .34;\n\n /* tuned for output level (sensitive to energy scale) */\n var VO_SCALE = (1. / (14752 * 14752) / (Encoder.BLKSIZE / 2));\n\n var temporalmask_sustain_sec = 0.01;\n\n var NS_PREECHO_ATT0 = 0.8;\n var NS_PREECHO_ATT1 = 0.6;\n var NS_PREECHO_ATT2 = 0.3;\n\n var NS_MSFIX = 3.5;\n\n var NSATTACKTHRE = 4.4;\n var NSATTACKTHRE_S = 25;\n\n var NSFIRLEN = 21;\n\n /* size of each partition band, in barks: */\n var LN_TO_LOG10 = 0.2302585093;\n\n function NON_LINEAR_SCALE_ENERGY(x) {\n return x;\n }\n\n /**\n *
\n     *       L3psycho_anal.  Compute psycho acoustics.\n     *\n     *       Data returned to the calling program must be delayed by one\n     *       granule.\n     *\n     *       This is done in two places.\n     *       If we do not need to know the blocktype, the copying\n     *       can be done here at the top of the program: we copy the data for\n     *       the last granule (computed during the last call) before it is\n     *       overwritten with the new data.  It looks like this:\n     *\n     *       0. static psymodel_data\n     *       1. calling_program_data = psymodel_data\n     *       2. compute psymodel_data\n     *\n     *       For data which needs to know the blocktype, the copying must be\n     *       done at the end of this loop, and the old values must be saved:\n     *\n     *       0. static psymodel_data_old\n     *       1. compute psymodel_data\n     *       2. compute possible block type of this granule\n     *       3. compute final block type of previous granule based on #2.\n     *       4. calling_program_data = psymodel_data_old\n     *       5. psymodel_data_old = psymodel_data\n     *     psycho_loudness_approx\n     *       jd - 2001 mar 12\n     *    in:  energy   - BLKSIZE/2 elements of frequency magnitudes ^ 2\n     *         gfp      - uses out_samplerate, ATHtype (also needed for ATHformula)\n     *    returns: loudness^2 approximation, a positive value roughly tuned for a value\n     *             of 1.0 for signals near clipping.\n     *    notes:   When calibrated, feeding this function binary white noise at sample\n     *             values +32767 or -32768 should return values that approach 3.\n     *             ATHformula is used to approximate an equal loudness curve.\n     *    future:  Data indicates that the shape of the equal loudness curve varies\n     *             with intensity.  This function might be improved by using an equal\n     *             loudness curve shaped for typical playback levels (instead of the\n     *             ATH, that is shaped for the threshold).  A flexible realization might\n     *             simply bend the existing ATH curve to achieve the desired shape.\n     *             However, the potential gain may not be enough to justify an effort.\n     * 
\n */\n function psycho_loudness_approx(energy, gfc) {\n var loudness_power = 0.0;\n /* apply weights to power in freq. bands */\n for (var i = 0; i < Encoder.BLKSIZE / 2; ++i)\n loudness_power += energy[i] * gfc.ATH.eql_w[i];\n loudness_power *= VO_SCALE;\n\n return loudness_power;\n }\n\n function compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, wsamp_lPos, wsamp_s, wsamp_sPos, gr_out, chn, buffer, bufPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n /* FFT data for mid and side channel is derived from L & R */\n else if (chn == 2) {\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n for (var b = 2; b >= 0; --b) {\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][b][j];\n var r = wsamp_s[wsamp_sPos + 1][b][j];\n wsamp_s[wsamp_sPos + 0][b][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][b][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 - j];\n var im = (wsamp_l[wsamp_lPos + 0])[Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n for (var b = 2; b >= 0; --b) {\n fftenergy_s[b][0] = (wsamp_s[wsamp_sPos + 0])[b][0];\n fftenergy_s[b][0] *= fftenergy_s[b][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 - j];\n var im = (wsamp_s[wsamp_sPos + 0])[b][Encoder.BLKSIZE_s\n / 2 + j];\n fftenergy_s[b][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n\n /*********************************************************************\n * compute loudness approximation (used for ATH auto-level adjustment)\n *********************************************************************/\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n /* mask_add optimization */\n /* init the limit values used to avoid computing log in mask_add when it is not necessary */\n\n /**\n *
\n     *  For example, with i = 10*log10(m2/m1)/10*16         (= log10(m2/m1)*16)\n     *\n     * abs(i)>8 is equivalent (as i is an integer) to\n     * abs(i)>=9\n     * i>=9 || i<=-9\n     * equivalent to (as i is the biggest integer smaller than log10(m2/m1)*16\n     * or the smallest integer bigger than log10(m2/m1)*16 depending on the sign of log10(m2/m1)*16)\n     * log10(m2/m1)>=9/16 || log10(m2/m1)<=-9/16\n     * exp10 is strictly increasing thus this is equivalent to\n     * m2/m1 >= 10^(9/16) || m2/m1<=10^(-9/16) which are comparisons to constants\n     * 
\n */\n\n /**\n * as in if(i>8)\n */\n var I1LIMIT = 8;\n /**\n * as in if(i>24) . changed 23\n */\n var I2LIMIT = 23;\n /**\n * as in if(m<15)\n */\n var MLIMIT = 15;\n\n var ma_max_i1;\n var ma_max_i2;\n var ma_max_m;\n\n /**\n * This is the masking table:
\n * According to tonality, values are going from 0dB (TMN) to 9.3dB (NMT).
\n * After additive masking computation, 8dB are added, so final values are\n * going from 8dB to 17.3dB\n *\n * pow(10, -0.0..-0.6)\n */\n var tab = [1.0, 0.79433, 0.63096, 0.63096,\n 0.63096, 0.63096, 0.63096, 0.25119, 0.11749];\n\n function init_mask_add_max_values() {\n ma_max_i1 = Math.pow(10, (I1LIMIT + 1) / 16.0);\n ma_max_i2 = Math.pow(10, (I2LIMIT + 1) / 16.0);\n ma_max_m = Math.pow(10, (MLIMIT) / 10.0);\n }\n\n var table1 = [3.3246 * 3.3246,\n 3.23837 * 3.23837, 3.15437 * 3.15437, 3.00412 * 3.00412,\n 2.86103 * 2.86103, 2.65407 * 2.65407, 2.46209 * 2.46209,\n 2.284 * 2.284, 2.11879 * 2.11879, 1.96552 * 1.96552,\n 1.82335 * 1.82335, 1.69146 * 1.69146, 1.56911 * 1.56911,\n 1.46658 * 1.46658, 1.37074 * 1.37074, 1.31036 * 1.31036,\n 1.25264 * 1.25264, 1.20648 * 1.20648, 1.16203 * 1.16203,\n 1.12765 * 1.12765, 1.09428 * 1.09428, 1.0659 * 1.0659,\n 1.03826 * 1.03826, 1.01895 * 1.01895, 1];\n\n var table2 = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n var table3 = [2.35364 * 2.35364,\n 2.29259 * 2.29259, 2.23313 * 2.23313, 2.12675 * 2.12675,\n 2.02545 * 2.02545, 1.87894 * 1.87894, 1.74303 * 1.74303,\n 1.61695 * 1.61695, 1.49999 * 1.49999, 1.39148 * 1.39148,\n 1.29083 * 1.29083, 1.19746 * 1.19746, 1.11084 * 1.11084,\n 1.03826 * 1.03826];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function mask_add(m1, m2, kk, b, gfc, shortblock) {\n var ratio;\n\n if (m2 > m1) {\n if (m2 < (m1 * ma_max_i2))\n ratio = m2 / m1;\n else\n return (m1 + m2);\n } else {\n if (m1 >= (m2 * ma_max_i2))\n return (m1 + m2);\n ratio = m1 / m2;\n }\n\n /* Should always be true, just checking */\n assert(m1 >= 0);\n assert(m2 >= 0);\n\n m1 += m2;\n //if (((long)(b + 3) & 0xffffffff) <= 3 + 3) {\n if ((b + 3) <= 3 + 3) {\n /* approximately, 1 bark = 3 partitions */\n /* 65% of the cases */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n /* 43% of the total */\n return m1;\n }\n\n /* 22% of the total */\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return m1 * table2[i];\n }\n\n /**\n *
\n         * m<15 equ log10((m1+m2)/gfc.ATH.cb[k])<1.5\n         * equ (m1+m2)/gfc.ATH.cb[k]<10^1.5\n         * equ (m1+m2)<10^1.5 * gfc.ATH.cb[k]\n         * 
\n */\n var i = 0 | Util.FAST_LOG10_X(ratio, 16.0);\n if (shortblock != 0) {\n m2 = gfc.ATH.cb_s[kk] * gfc.ATH.adjust;\n } else {\n m2 = gfc.ATH.cb_l[kk] * gfc.ATH.adjust;\n }\n assert(m2 >= 0);\n if (m1 < ma_max_m * m2) {\n /* 3% of the total */\n /* Originally if (m > 0) { */\n if (m1 > m2) {\n var f, r;\n\n f = 1.0;\n if (i <= 13)\n f = table3[i];\n\n r = Util.FAST_LOG10_X(m1 / m2, 10.0 / 15.0);\n return m1 * ((table1[i] - f) * r + f);\n }\n\n if (i > 13)\n return m1;\n\n return m1 * table3[i];\n }\n\n /* 10% of total */\n return m1 * table1[i];\n }\n\n var table2_ = [1.33352 * 1.33352,\n 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497,\n 1.40548 * 1.40548, 1.3537 * 1.3537, 1.30382 * 1.30382,\n 1.22321 * 1.22321, 1.14758 * 1.14758, 1];\n\n /**\n * addition of simultaneous masking Naoki Shibata 2000/7\n */\n function vbrpsy_mask_add(m1, m2, b) {\n var ratio;\n\n if (m1 < 0) {\n m1 = 0;\n }\n if (m2 < 0) {\n m2 = 0;\n }\n if (m1 <= 0) {\n return m2;\n }\n if (m2 <= 0) {\n return m1;\n }\n if (m2 > m1) {\n ratio = m2 / m1;\n } else {\n ratio = m1 / m2;\n }\n if (-2 <= b && b <= 2) {\n /* approximately, 1 bark = 3 partitions */\n /* originally 'if(i > 8)' */\n if (ratio >= ma_max_i1) {\n return m1 + m2;\n } else {\n var i = 0 | (Util.FAST_LOG10_X(ratio, 16.0));\n return (m1 + m2) * table2_[i];\n }\n }\n if (ratio < ma_max_i2) {\n return m1 + m2;\n }\n if (m1 < m2) {\n m1 = m2;\n }\n return m1;\n }\n\n /**\n * compute interchannel masking effects\n */\n function calc_interchannel_masking(gfp, ratio) {\n var gfc = gfp.internal_flags;\n if (gfc.channels_out > 1) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var l = gfc.thm[0].l[sb];\n var r = gfc.thm[1].l[sb];\n gfc.thm[0].l[sb] += r * ratio;\n gfc.thm[1].l[sb] += l * ratio;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var l = gfc.thm[0].s[sb][sblock];\n var r = gfc.thm[1].s[sb][sblock];\n gfc.thm[0].s[sb][sblock] += r * ratio;\n gfc.thm[1].s[sb][sblock] += l * ratio;\n }\n }\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function msfix1(gfc) {\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n /* use this fix if L & R masking differs by 2db or less */\n /* if db = 10*log10(x2/x1) < 2 */\n /* if (x2 < 1.58*x1) { */\n if (gfc.thm[0].l[sb] > 1.58 * gfc.thm[1].l[sb]\n || gfc.thm[1].l[sb] > 1.58 * gfc.thm[0].l[sb])\n continue;\n var mld = gfc.mld_l[sb] * gfc.en[3].l[sb];\n var rmid = Math.max(gfc.thm[2].l[sb],\n Math.min(gfc.thm[3].l[sb], mld));\n\n mld = gfc.mld_l[sb] * gfc.en[2].l[sb];\n var rside = Math.max(gfc.thm[3].l[sb],\n Math.min(gfc.thm[2].l[sb], mld));\n gfc.thm[2].l[sb] = rmid;\n gfc.thm[3].l[sb] = rside;\n }\n\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n if (gfc.thm[0].s[sb][sblock] > 1.58 * gfc.thm[1].s[sb][sblock]\n || gfc.thm[1].s[sb][sblock] > 1.58 * gfc.thm[0].s[sb][sblock])\n continue;\n var mld = gfc.mld_s[sb] * gfc.en[3].s[sb][sblock];\n var rmid = Math.max(gfc.thm[2].s[sb][sblock],\n Math.min(gfc.thm[3].s[sb][sblock], mld));\n\n mld = gfc.mld_s[sb] * gfc.en[2].s[sb][sblock];\n var rside = Math.max(gfc.thm[3].s[sb][sblock],\n Math.min(gfc.thm[2].s[sb][sblock], mld));\n\n gfc.thm[2].s[sb][sblock] = rmid;\n gfc.thm[3].s[sb][sblock] = rside;\n }\n }\n }\n\n /**\n * Adjust M/S maskings if user set \"msfix\"\n *\n * Naoki Shibata 2000\n */\n function ns_msfix(gfc, msfix, athadjust) {\n var msfix2 = msfix;\n var athlower = Math.pow(10, athadjust);\n\n msfix *= 2.0;\n msfix2 *= 2.0;\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_l[gfc.bm_l[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].l[sb], ath),\n Math.max(gfc.thm[1].l[sb], ath));\n thmM = Math.max(gfc.thm[2].l[sb], ath);\n thmS = Math.max(gfc.thm[3].l[sb], ath);\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix2 / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].l[sb] = Math.min(thmM, gfc.thm[2].l[sb]);\n gfc.thm[3].l[sb] = Math.min(thmS, gfc.thm[3].l[sb]);\n }\n\n athlower *= ( Encoder.BLKSIZE_s / Encoder.BLKSIZE);\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmLR, thmM, thmS, ath;\n ath = (gfc.ATH.cb_s[gfc.bm_s[sb]]) * athlower;\n thmLR = Math.min(Math.max(gfc.thm[0].s[sb][sblock], ath),\n Math.max(gfc.thm[1].s[sb][sblock], ath));\n thmM = Math.max(gfc.thm[2].s[sb][sblock], ath);\n thmS = Math.max(gfc.thm[3].s[sb][sblock], ath);\n\n if (thmLR * msfix < thmM + thmS) {\n var f = thmLR * msfix / (thmM + thmS);\n thmM *= f;\n thmS *= f;\n assert(thmM + thmS > 0);\n }\n gfc.thm[2].s[sb][sblock] = Math.min(gfc.thm[2].s[sb][sblock],\n thmM);\n gfc.thm[3].s[sb][sblock] = Math.min(gfc.thm[3].s[sb][sblock],\n thmS);\n }\n }\n }\n\n /**\n * short block threshold calculation (part 2)\n *\n * partition band bo_s[sfb] is at the transition from scalefactor band sfb\n * to the next one sfb+1; enn and thmm have to be split between them\n */\n function convert_partition2scalefac_s(gfc, eb, thr, chn, sblock) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_s; ++b, ++sb) {\n var bo_s_sb = gfc.bo_s[sb];\n var npart_s = gfc.npart_s;\n var b_lim = bo_s_sb < npart_s ? bo_s_sb : npart_s;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].s[sb][sblock] = enn;\n gfc.thm[chn].s[sb][sblock] = thmm;\n\n if (b >= npart_s) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_s_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].s[sb][sblock] += enn;\n gfc.thm[chn].s[sb][sblock] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_s; ++sb) {\n gfc.en[chn].s[sb][sblock] = 0;\n gfc.thm[chn].s[sb][sblock] = 0;\n }\n }\n\n /**\n * longblock threshold calculation (part 2)\n */\n function convert_partition2scalefac_l(gfc, eb, thr, chn) {\n var sb, b;\n var enn = 0.0;\n var thmm = 0.0;\n for (sb = b = 0; sb < Encoder.SBMAX_l; ++b, ++sb) {\n var bo_l_sb = gfc.bo_l[sb];\n var npart_l = gfc.npart_l;\n var b_lim = bo_l_sb < npart_l ? bo_l_sb : npart_l;\n while (b < b_lim) {\n assert(eb[b] >= 0);\n // iff failed, it may indicate some index error elsewhere\n assert(thr[b] >= 0);\n enn += eb[b];\n thmm += thr[b];\n b++;\n }\n gfc.en[chn].l[sb] = enn;\n gfc.thm[chn].l[sb] = thmm;\n\n if (b >= npart_l) {\n ++sb;\n break;\n }\n assert(eb[b] >= 0);\n assert(thr[b] >= 0);\n {\n /* at transition sfb . sfb+1 */\n var w_curr = gfc.PSY.bo_l_weight[sb];\n var w_next = 1.0 - w_curr;\n enn = w_curr * eb[b];\n thmm = w_curr * thr[b];\n gfc.en[chn].l[sb] += enn;\n gfc.thm[chn].l[sb] += thmm;\n enn = w_next * eb[b];\n thmm = w_next * thr[b];\n }\n }\n /* zero initialize the rest */\n for (; sb < Encoder.SBMAX_l; ++sb) {\n gfc.en[chn].l[sb] = 0;\n gfc.thm[chn].l[sb] = 0;\n }\n }\n\n function compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var j, b;\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (var i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var ecb = gfc.s3_ss[j++] * eb[kk];\n ++kk;\n while (kk <= gfc.s3ind_s[b][1]) {\n ecb += gfc.s3_ss[j] * eb[kk];\n ++j;\n ++kk;\n }\n\n { /* limit calculated threshold by previous granule */\n var x = rpelev_s * gfc.nb_s1[chn][b];\n thr[b] = Math.min(ecb, x);\n }\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE) {\n /* limit calculated threshold by even older granule */\n var x = rpelev2_s * gfc.nb_s2[chn][b];\n var y = thr[b];\n thr[b] = Math.min(x, y);\n }\n\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n assert(thr[b] >= 0);\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function block_type_set(gfp, uselongblock, blocktype_d, blocktype) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n blocktype[chn] = Encoder.NORM_TYPE;\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed)\n uselongblock[chn] = 1;\n if (gfp.short_blocks == ShortBlock.short_block_forced)\n uselongblock[chn] = 0;\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype[chn] = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype[chn] = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype[chn];\n // save for next call to l3psy_anal\n }\n }\n\n function NS_INTERP(x, y, r) {\n /* was pow((x),(r))*pow((y),1-(r)) */\n if (r >= 1.0) {\n /* 99.7% of the time */\n return x;\n }\n if (r <= 0.0)\n return y;\n if (y > 0.0) {\n /* rest of the time */\n return (Math.pow(x / y, r) * y);\n }\n /* never happens */\n return 0.0;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_s = [11.8, 13.6, 17.2, 32, 46.5,\n 51.3, 57.5, 67.1, 71.5, 84.6, 97.6, 130,\n /* 255.8 */\n ];\n\n function pecalc_s(mr, masking_lower) {\n var pe_s = 1236.28 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_s - 1; sb++) {\n for (var sblock = 0; sblock < 3; sblock++) {\n var thm = mr.thm.s[sb][sblock];\n assert(sb < regcoef_s.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.s[sb][sblock];\n if (en > x) {\n if (en > x * 1e10) {\n pe_s += regcoef_s[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_s += regcoef_s[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n }\n\n return pe_s;\n }\n\n /**\n * these values are tuned only for 44.1kHz...\n */\n var regcoef_l = [6.8, 5.8, 5.8, 6.4, 6.5, 9.9,\n 12.1, 14.4, 15, 18.9, 21.6, 26.9, 34.2, 40.2, 46.8, 56.5,\n 60.7, 73.9, 85.7, 93.4, 126.1,\n /* 241.3 */\n ];\n\n function pecalc_l(mr, masking_lower) {\n var pe_l = 1124.23 / 4;\n for (var sb = 0; sb < Encoder.SBMAX_l - 1; sb++) {\n var thm = mr.thm.l[sb];\n assert(sb < regcoef_l.length);\n if (thm > 0.0) {\n var x = thm * masking_lower;\n var en = mr.en.l[sb];\n if (en > x) {\n if (en > x * 1e10) {\n pe_l += regcoef_l[sb] * (10.0 * LOG10);\n } else {\n assert(x > 0);\n pe_l += regcoef_l[sb] * Util.FAST_LOG10(en / x);\n }\n }\n }\n }\n return pe_l;\n }\n\n function calc_energy(gfc, fftenergy, eb, max, avg) {\n var b, j;\n\n for (b = j = 0; b < gfc.npart_l; ++b) {\n var ebb = 0, m = 0;\n var i;\n for (i = 0; i < gfc.numlines_l[b]; ++i, ++j) {\n var el = fftenergy[j];\n assert(el >= 0);\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n max[b] = m;\n avg[b] = ebb * gfc.rnumlines_l[b];\n assert(gfc.rnumlines_l[b] >= 0);\n assert(ebb >= 0);\n assert(eb[b] >= 0);\n assert(max[b] >= 0);\n assert(avg[b] >= 0);\n }\n }\n\n function calc_mask_index_l(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_l - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] + gfc.numlines_l[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b]\n + gfc.numlines_l[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_l - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_l[b - 1] + gfc.numlines_l[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_l - 1));\n }\n\n var fircoef = [\n -8.65163e-18 * 2, -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2, 0.0931738 * 2,\n -5.52212e-17 * 2, -0.313819 * 2\n ];\n\n this.L3psycho_anal_ns = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n /*\n * to get a good cache performance, one has to think about the sequence,\n * in which the variables are used.\n */\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n\n /* convolution */\n var eb_l = new_float(Encoder.CBANDS + 1);\n var eb_s = new_float(Encoder.CBANDS + 1);\n var thr = new_float(Encoder.CBANDS + 2);\n\n /* block type */\n var blocktype = new_int(2), uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n var numchn, chn;\n var b, i, j, k;\n var sb, sblock;\n\n /* variables used for --nspsytune */\n var ns_hpfsmpl = new_float_n([2, 576]);\n var pcfact;\n var mask_idx_l = new_int(Encoder.CBANDS + 2), mask_idx_s = new_int(Encoder.CBANDS + 2);\n\n Arrays.fill(mask_idx_s, 0);\n\n numchn = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n if (gfp.mode == MPEGMode.JOINT_STEREO)\n numchn = 4;\n\n if (gfp.VBR == VbrMode.vbr_off)\n pcfact = gfc.ResvMax == 0 ? 0 : ( gfc.ResvSize)\n / gfc.ResvMax * 0.5;\n else if (gfp.VBR == VbrMode.vbr_rh || gfp.VBR == VbrMode.vbr_mtrh\n || gfp.VBR == VbrMode.vbr_mt) {\n pcfact = 0.6;\n } else\n pcfact = 1.0;\n\n /**********************************************************************\n * Apply HPF of fs/4 to the input signal. This is used for attack\n * detection / handling.\n **********************************************************************/\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (chn = 0; chn < gfc.channels_out; chn++) {\n /* apply high pass filter of fs/4 */\n var firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef.length == ((NSFIRLEN - 1) / 2));\n for (i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (numchn > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n\n for (chn = 0; chn < numchn; chn++) {\n var wsamp_l;\n var wsamp_s;\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var attack_intensity = new_float(12);\n var ns_uselongblock = 1;\n var attackThreshold;\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var ns_attacks = [0, 0, 0, 0];\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n\n /*\n * rh 20040301: the following loops do access one off the limits so\n * I increase the array dimensions by one and initialize the\n * accessed values to zero\n */\n assert(gfc.npart_s <= Encoder.CBANDS);\n assert(gfc.npart_l <= Encoder.CBANDS);\n\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n if (chn == 2) {\n for (i = 0; i < 576; i++) {\n var l, r;\n l = ns_hpfsmpl[0][i];\n r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n {\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n for (i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else\n p = 0.0;\n attack_intensity[i + 3] = p;\n }\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (i = 1; i < 12; i++)\n if (x < attack_intensity[i])\n x = attack_intensity[i];\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n for (i = 0; i < 12; i++)\n if (0 == ns_attacks[i / 3]\n && attack_intensity[i] > attackThreshold)\n ns_attacks[i / 3] = (i % 3) + 1;\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n for (i = 1; i < 4; i++) {\n var ratio;\n if (en_short[i - 1] > en_short[i]) {\n assert(en_short[i] > 0);\n ratio = en_short[i - 1] / en_short[i];\n } else {\n assert(en_short[i - 1] > 0);\n ratio = en_short[i] / en_short[i - 1];\n }\n if (ratio < 1.7) {\n ns_attacks[i] = 0;\n if (i == 1)\n ns_attacks[0] = 0;\n }\n }\n\n if (ns_attacks[0] != 0 && gfc.nsPsy.lastAttacks[chn] != 0)\n ns_attacks[0] = 0;\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[0] + ns_attacks[1] + ns_attacks[2] + ns_attacks[3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[1] != 0 && ns_attacks[0] != 0)\n ns_attacks[1] = 0;\n if (ns_attacks[2] != 0 && ns_attacks[1] != 0)\n ns_attacks[2] = 0;\n if (ns_attacks[3] != 0 && ns_attacks[2] != 0)\n ns_attacks[3] = 0;\n }\n\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n\n /*********************************************************************\n * compute FFTs\n *********************************************************************/\n wsamp_s = wsamp_S;\n wsamp_l = wsamp_L;\n compute_ffts(gfp, fftenergy, fftenergy_s, wsamp_l, (chn & 1),\n wsamp_s, (chn & 1), gr_out, chn, buffer, bufPos);\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n /* compute masking thresholds for short blocks */\n for (sblock = 0; sblock < 3; sblock++) {\n var enn, thmm;\n compute_masking_s(gfp, fftenergy_s, eb_s, thr, chn, sblock);\n convert_partition2scalefac_s(gfc, eb_s, thr, chn, sblock);\n /**** short block pre-echo control ****/\n for (sb = 0; sb < Encoder.SBMAX_s; sb++) {\n thmm = gfc.thm[chn].s[sb][sblock];\n\n thmm *= NS_PREECHO_ATT0;\n if (ns_attacks[sblock] >= 2 || ns_attacks[sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n if (ns_attacks[sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n enn = en_subshort[sblock * 3 + 3]\n + en_subshort[sblock * 3 + 4]\n + en_subshort[sblock * 3 + 5];\n if (en_subshort[sblock * 3 + 5] * 6 < enn) {\n thmm *= 0.5;\n if (en_subshort[sblock * 3 + 4] * 6 < enn)\n thmm *= 0.5;\n }\n\n gfc.thm[chn].s[sb][sblock] = thmm;\n }\n }\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[2];\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n k = 0;\n {\n for (b = 0; b < gfc.npart_l; b++) {\n /*\n * convolve the partitioned energy with the spreading\n * function\n */\n var kk = gfc.s3ind[b][0];\n var eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n var ecb = gfc.s3_ll[k++] * eb2;\n while (++kk <= gfc.s3ind[b][1]) {\n eb2 = eb_l[kk] * tab[mask_idx_l[kk]];\n ecb = mask_add(ecb, gfc.s3_ll[k++] * eb2, kk, kk - b,\n gfc, 0);\n }\n ecb *= 0.158489319246111;\n /* pow(10,-0.8) */\n\n /**** long block pre-echo control ****/\n /**\n *
\n                     * dont use long block pre-echo control if previous granule was\n                     * a short block.  This is to avoid the situation:\n                     * frame0:  quiet (very low masking)\n                     * frame1:  surge  (triggers short blocks)\n                     * frame2:  regular frame.  looks like pre-echo when compared to\n                     *          frame0, but all pre-echo was in frame1.\n                     * 
\n */\n /*\n * chn=0,1 L and R channels\n *\n * chn=2,3 S and M channels.\n */\n\n if (gfc.blocktype_old[chn & 1] == Encoder.SHORT_TYPE)\n thr[b] = ecb;\n else\n thr[b] = NS_INTERP(\n Math.min(ecb, Math.min(rpelev\n * gfc.nb_1[chn][b], rpelev2\n * gfc.nb_2[chn][b])), ecb, pcfact);\n\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n }\n }\n for (; b <= Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n /* compute masking thresholds for long blocks */\n convert_partition2scalefac_l(gfc, eb_l, thr, chn);\n }\n /* end loop over chn */\n\n if (gfp.mode == MPEGMode.STEREO || gfp.mode == MPEGMode.JOINT_STEREO) {\n if (gfp.interChRatio > 0.0) {\n calc_interchannel_masking(gfp, gfp.interChRatio);\n }\n }\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n var msfix;\n msfix1(gfc);\n msfix = gfp.msfix;\n if (Math.abs(msfix) > 0.0)\n ns_msfix(gfc, msfix, gfp.ATHlower * gfc.ATH.adjust);\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n block_type_set(gfp, uselongblock, blocktype_d, blocktype);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (chn = 0; chn < numchn; chn++) {\n var ppe;\n var ppePos = 0;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE)\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n else\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n\n if (gfp.analysis)\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n\n }\n return 0;\n }\n\n function vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out, fftenergy, wsamp_l, wsamp_lPos) {\n var gfc = gfp.internal_flags;\n if (chn < 2) {\n fft.fft_long(gfc, wsamp_l[wsamp_lPos], chn, buffer, bufPos);\n } else if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE - 1; j >= 0; --j) {\n var l = wsamp_l[wsamp_lPos + 0][j];\n var r = wsamp_l[wsamp_lPos + 1][j];\n wsamp_l[wsamp_lPos + 0][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_l[wsamp_lPos + 1][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy[0] = NON_LINEAR_SCALE_ENERGY(wsamp_l[wsamp_lPos + 0][0]);\n fftenergy[0] *= fftenergy[0];\n\n for (var j = Encoder.BLKSIZE / 2 - 1; j >= 0; --j) {\n var re = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 - j];\n var im = wsamp_l[wsamp_lPos + 0][Encoder.BLKSIZE / 2 + j];\n fftenergy[Encoder.BLKSIZE / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n /* total energy */\n {\n var totalenergy = 0.0;\n for (var j = 11; j < Encoder.HBLKSIZE; j++)\n totalenergy += fftenergy[j];\n\n gfc.tot_ener[chn] = totalenergy;\n }\n\n if (gfp.analysis) {\n for (var j = 0; j < Encoder.HBLKSIZE; j++) {\n gfc.pinfo.energy[gr_out][chn][j] = gfc.pinfo.energy_save[chn][j];\n gfc.pinfo.energy_save[chn][j] = fftenergy[j];\n }\n gfc.pinfo.pe[gr_out][chn] = gfc.pe[chn];\n }\n }\n\n function vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock, fftenergy_s, wsamp_s, wsamp_sPos) {\n var gfc = gfp.internal_flags;\n\n if (sblock == 0 && chn < 2) {\n fft.fft_short(gfc, wsamp_s[wsamp_sPos], chn, buffer, bufPos);\n }\n if (chn == 2) {\n /* FFT data for mid and side channel is derived from L & R */\n for (var j = Encoder.BLKSIZE_s - 1; j >= 0; --j) {\n var l = wsamp_s[wsamp_sPos + 0][sblock][j];\n var r = wsamp_s[wsamp_sPos + 1][sblock][j];\n wsamp_s[wsamp_sPos + 0][sblock][j] = (l + r) * Util.SQRT2 * 0.5;\n wsamp_s[wsamp_sPos + 1][sblock][j] = (l - r) * Util.SQRT2 * 0.5;\n }\n }\n\n /*********************************************************************\n * compute energies\n *********************************************************************/\n fftenergy_s[sblock][0] = wsamp_s[wsamp_sPos + 0][sblock][0];\n fftenergy_s[sblock][0] *= fftenergy_s[sblock][0];\n for (var j = Encoder.BLKSIZE_s / 2 - 1; j >= 0; --j) {\n var re = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 - j];\n var im = wsamp_s[wsamp_sPos + 0][sblock][Encoder.BLKSIZE_s / 2 + j];\n fftenergy_s[sblock][Encoder.BLKSIZE_s / 2 - j] = NON_LINEAR_SCALE_ENERGY((re\n * re + im * im) * 0.5);\n }\n }\n\n /**\n * compute loudness approximation (used for ATH auto-level adjustment)\n */\n function vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn, fftenergy) {\n var gfc = gfp.internal_flags;\n if (gfp.athaa_loudapprox == 2 && chn < 2) {\n // no loudness for mid/side ch\n gfc.loudness_sq[gr_out][chn] = gfc.loudness_sq_save[chn];\n gfc.loudness_sq_save[chn] = psycho_loudness_approx(fftenergy, gfc);\n }\n }\n\n var fircoef_ = [-8.65163e-18 * 2,\n -0.00851586 * 2, -6.74764e-18 * 2, 0.0209036 * 2,\n -3.36639e-17 * 2, -0.0438162 * 2, -1.54175e-17 * 2,\n 0.0931738 * 2, -5.52212e-17 * 2, -0.313819 * 2];\n\n /**\n * Apply HPF of fs/4 to the input signal. This is used for attack detection\n * / handling.\n */\n function vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, energy, sub_short_factor, ns_attacks, uselongblock) {\n var ns_hpfsmpl = new_float_n([2, 576]);\n var gfc = gfp.internal_flags;\n var n_chn_out = gfc.channels_out;\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4 : n_chn_out;\n /* Don't copy the input buffer into a temporary buffer */\n /* unroll the loop 2 times */\n for (var chn = 0; chn < n_chn_out; chn++) {\n /* apply high pass filter of fs/4 */\n firbuf = buffer[chn];\n var firbufPos = bufPos + 576 - 350 - NSFIRLEN + 192;\n assert(fircoef_.length == ((NSFIRLEN - 1) / 2));\n for (var i = 0; i < 576; i++) {\n var sum1, sum2;\n sum1 = firbuf[firbufPos + i + 10];\n sum2 = 0.0;\n for (var j = 0; j < ((NSFIRLEN - 1) / 2) - 1; j += 2) {\n sum1 += fircoef_[j]\n * (firbuf[firbufPos + i + j] + firbuf[firbufPos + i\n + NSFIRLEN - j]);\n sum2 += fircoef_[j + 1]\n * (firbuf[firbufPos + i + j + 1] + firbuf[firbufPos\n + i + NSFIRLEN - j - 1]);\n }\n ns_hpfsmpl[chn][i] = sum1 + sum2;\n }\n masking_ratio[gr_out][chn].en.assign(gfc.en[chn]);\n masking_ratio[gr_out][chn].thm.assign(gfc.thm[chn]);\n if (n_chn_psy > 2) {\n /* MS maskings */\n /* percep_MS_entropy [chn-2] = gfc . pe [chn]; */\n masking_MS_ratio[gr_out][chn].en.assign(gfc.en[chn + 2]);\n masking_MS_ratio[gr_out][chn].thm.assign(gfc.thm[chn + 2]);\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var attack_intensity = new_float(12);\n var en_subshort = new_float(12);\n var en_short = [0, 0, 0, 0];\n var pf = ns_hpfsmpl[chn & 1];\n var pfPos = 0;\n var attackThreshold = (chn == 3) ? gfc.nsPsy.attackthre_s\n : gfc.nsPsy.attackthre;\n var ns_uselongblock = 1;\n\n if (chn == 2) {\n for (var i = 0, j = 576; j > 0; ++i, --j) {\n var l = ns_hpfsmpl[0][i];\n var r = ns_hpfsmpl[1][i];\n ns_hpfsmpl[0][i] = l + r;\n ns_hpfsmpl[1][i] = l - r;\n }\n }\n /***************************************************************\n * determine the block type (window type)\n ***************************************************************/\n /* calculate energies of each sub-shortblocks */\n for (var i = 0; i < 3; i++) {\n en_subshort[i] = gfc.nsPsy.last_en_subshort[chn][i + 6];\n assert(gfc.nsPsy.last_en_subshort[chn][i + 4] > 0);\n attack_intensity[i] = en_subshort[i]\n / gfc.nsPsy.last_en_subshort[chn][i + 4];\n en_short[0] += en_subshort[i];\n }\n\n for (var i = 0; i < 9; i++) {\n var pfe = pfPos + 576 / 9;\n var p = 1.;\n for (; pfPos < pfe; pfPos++)\n if (p < Math.abs(pf[pfPos]))\n p = Math.abs(pf[pfPos]);\n\n gfc.nsPsy.last_en_subshort[chn][i] = en_subshort[i + 3] = p;\n en_short[1 + i / 3] += p;\n if (p > en_subshort[i + 3 - 2]) {\n assert(en_subshort[i + 3 - 2] > 0);\n p = p / en_subshort[i + 3 - 2];\n } else if (en_subshort[i + 3 - 2] > p * 10.0) {\n assert(p > 0);\n p = en_subshort[i + 3 - 2] / (p * 10.0);\n } else {\n p = 0.0;\n }\n attack_intensity[i + 3] = p;\n }\n /* pulse like signal detection for fatboy.wav and so on */\n for (var i = 0; i < 3; ++i) {\n var enn = en_subshort[i * 3 + 3]\n + en_subshort[i * 3 + 4] + en_subshort[i * 3 + 5];\n var factor = 1.;\n if (en_subshort[i * 3 + 5] * 6 < enn) {\n factor *= 0.5;\n if (en_subshort[i * 3 + 4] * 6 < enn) {\n factor *= 0.5;\n }\n }\n sub_short_factor[chn][i] = factor;\n }\n\n if (gfp.analysis) {\n var x = attack_intensity[0];\n for (var i = 1; i < 12; i++) {\n if (x < attack_intensity[i]) {\n x = attack_intensity[i];\n }\n }\n gfc.pinfo.ers[gr_out][chn] = gfc.pinfo.ers_save[chn];\n gfc.pinfo.ers_save[chn] = x;\n }\n\n /* compare energies between sub-shortblocks */\n for (var i = 0; i < 12; i++) {\n if (0 == ns_attacks[chn][i / 3]\n && attack_intensity[i] > attackThreshold) {\n ns_attacks[chn][i / 3] = (i % 3) + 1;\n }\n }\n\n /*\n * should have energy change between short blocks, in order to avoid\n * periodic signals\n */\n /* Good samples to show the effect are Trumpet test songs */\n /*\n * GB: tuned (1) to avoid too many short blocks for test sample\n * TRUMPET\n */\n /*\n * RH: tuned (2) to let enough short blocks through for test sample\n * FSOL and SNAPS\n */\n for (var i = 1; i < 4; i++) {\n var u = en_short[i - 1];\n var v = en_short[i];\n var m = Math.max(u, v);\n if (m < 40000) { /* (2) */\n if (u < 1.7 * v && v < 1.7 * u) { /* (1) */\n if (i == 1 && ns_attacks[chn][0] <= ns_attacks[chn][i]) {\n ns_attacks[chn][0] = 0;\n }\n ns_attacks[chn][i] = 0;\n }\n }\n }\n\n if (ns_attacks[chn][0] <= gfc.nsPsy.lastAttacks[chn]) {\n ns_attacks[chn][0] = 0;\n }\n\n if (gfc.nsPsy.lastAttacks[chn] == 3\n || (ns_attacks[chn][0] + ns_attacks[chn][1]\n + ns_attacks[chn][2] + ns_attacks[chn][3]) != 0) {\n ns_uselongblock = 0;\n\n if (ns_attacks[chn][1] != 0 && ns_attacks[chn][0] != 0) {\n ns_attacks[chn][1] = 0;\n }\n if (ns_attacks[chn][2] != 0 && ns_attacks[chn][1] != 0) {\n ns_attacks[chn][2] = 0;\n }\n if (ns_attacks[chn][3] != 0 && ns_attacks[chn][2] != 0) {\n ns_attacks[chn][3] = 0;\n }\n }\n if (chn < 2) {\n uselongblock[chn] = ns_uselongblock;\n } else {\n if (ns_uselongblock == 0) {\n uselongblock[0] = uselongblock[1] = 0;\n }\n }\n\n /*\n * there is a one granule delay. Copy maskings computed last call\n * into masking_ratio to return to calling program.\n */\n energy[chn] = gfc.tot_ener[chn];\n }\n }\n\n function vbrpsy_skip_masking_s(gfc, chn, sblock) {\n if (sblock == 0) {\n for (var b = 0; b < gfc.npart_s; b++) {\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = 0;\n }\n }\n }\n\n function vbrpsy_skip_masking_l(gfc, chn) {\n for (var b = 0; b < gfc.npart_l; b++) {\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = 0;\n }\n }\n\n function psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx) {\n var last_tab_entry = tab.length - 1;\n var b = 0;\n var a = avg[b] + avg[b + 1];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n\n for (b = 1; b < gfc.npart_s - 1; b++) {\n a = avg[b - 1] + avg[b] + avg[b + 1];\n assert(b + 1 < gfc.npart_s);\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n if (m < max[b + 1])\n m = max[b + 1];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] + gfc.numlines_s[b + 1] - 1) > 0);\n a = 20.0\n * (m * 3.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b]\n + gfc.numlines_s[b + 1] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n }\n assert(b > 0);\n assert(b == gfc.npart_s - 1);\n\n a = avg[b - 1] + avg[b];\n assert(a >= 0);\n if (a > 0.0) {\n var m = max[b - 1];\n if (m < max[b])\n m = max[b];\n assert((gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1) > 0);\n a = 20.0 * (m * 2.0 - a)\n / (a * (gfc.numlines_s[b - 1] + gfc.numlines_s[b] - 1));\n var k = 0 | a;\n if (k > last_tab_entry)\n k = last_tab_entry;\n mask_idx[b] = k;\n } else {\n mask_idx[b] = 0;\n }\n assert(b == (gfc.npart_s - 1));\n }\n\n function vbrpsy_compute_masking_s(gfp, fftenergy_s, eb, thr, chn, sblock) {\n var gfc = gfp.internal_flags;\n var max = new float[Encoder.CBANDS], avg = new_float(Encoder.CBANDS);\n var i, j, b;\n var mask_idx_s = new int[Encoder.CBANDS];\n\n for (b = j = 0; b < gfc.npart_s; ++b) {\n var ebb = 0, m = 0;\n var n = gfc.numlines_s[b];\n for (i = 0; i < n; ++i, ++j) {\n var el = fftenergy_s[sblock][j];\n ebb += el;\n if (m < el)\n m = el;\n }\n eb[b] = ebb;\n assert(ebb >= 0);\n max[b] = m;\n assert(n > 0);\n avg[b] = ebb / n;\n assert(avg[b] >= 0);\n }\n assert(b == gfc.npart_s);\n assert(j == 129);\n for (; b < Encoder.CBANDS; ++b) {\n max[b] = 0;\n avg[b] = 0;\n }\n psyvbr_calc_mask_index_s(gfc, max, avg, mask_idx_s);\n for (j = b = 0; b < gfc.npart_s; b++) {\n var kk = gfc.s3ind_s[b][0];\n var last = gfc.s3ind_s[b][1];\n var dd, dd_n;\n var x, ecb, avg_mask;\n dd = mask_idx_s[kk];\n dd_n = 1;\n ecb = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ++j;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_s[kk];\n dd_n += 1;\n x = gfc.s3_ss[j] * eb[kk] * tab[mask_idx_s[kk]];\n ecb = vbrpsy_mask_add(ecb, x, kk - b);\n ++j;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n thr[b] = ecb;\n gfc.nb_s2[chn][b] = gfc.nb_s1[chn][b];\n gfc.nb_s1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_s[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb[b]) {\n thr[b] = eb[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_masking_l(gfc, fftenergy, eb_l, thr, chn) {\n var max = new_float(Encoder.CBANDS), avg = new_float(Encoder.CBANDS);\n var mask_idx_l = new_int(Encoder.CBANDS + 2);\n var b;\n\n /*********************************************************************\n * Calculate the energy and the tonality of each partition.\n *********************************************************************/\n calc_energy(gfc, fftenergy, eb_l, max, avg);\n calc_mask_index_l(gfc, max, avg, mask_idx_l);\n\n /*********************************************************************\n * convolve the partitioned energy and unpredictability with the\n * spreading function, s3_l[b][k]\n ********************************************************************/\n var k = 0;\n for (b = 0; b < gfc.npart_l; b++) {\n var x, ecb, avg_mask, t;\n /* convolve the partitioned energy with the spreading function */\n var kk = gfc.s3ind[b][0];\n var last = gfc.s3ind[b][1];\n var dd = 0, dd_n = 0;\n dd = mask_idx_l[kk];\n dd_n += 1;\n ecb = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n ++k;\n ++kk;\n while (kk <= last) {\n dd += mask_idx_l[kk];\n dd_n += 1;\n x = gfc.s3_ll[k] * eb_l[kk] * tab[mask_idx_l[kk]];\n t = vbrpsy_mask_add(ecb, x, kk - b);\n ecb = t;\n ++k;\n ++kk;\n }\n dd = (1 + 2 * dd) / (2 * dd_n);\n avg_mask = tab[dd] * 0.5;\n ecb *= avg_mask;\n\n /**** long block pre-echo control ****/\n /**\n *
\n             * dont use long block pre-echo control if previous granule was\n             * a short block.  This is to avoid the situation:\n             * frame0:  quiet (very low masking)\n             * frame1:  surge  (triggers short blocks)\n             * frame2:  regular frame.  looks like pre-echo when compared to\n             *          frame0, but all pre-echo was in frame1.\n             * 
\n */\n /*\n * chn=0,1 L and R channels chn=2,3 S and M channels.\n */\n if (gfc.blocktype_old[chn & 0x01] == Encoder.SHORT_TYPE) {\n var ecb_limit = rpelev * gfc.nb_1[chn][b];\n if (ecb_limit > 0) {\n thr[b] = Math.min(ecb, ecb_limit);\n } else {\n /**\n *
\n                     * Robert 071209:\n                     * Because we don't calculate long block psy when we know a granule\n                     * should be of short blocks, we don't have any clue how the granule\n                     * before would have looked like as a long block. So we have to guess\n                     * a little bit for this END_TYPE block.\n                     * Most of the time we get away with this sloppyness. (fingers crossed :)\n                     * The speed increase is worth it.\n                     * 
\n */\n thr[b] = Math.min(ecb, eb_l[b] * NS_PREECHO_ATT2);\n }\n } else {\n var ecb_limit_2 = rpelev2 * gfc.nb_2[chn][b];\n var ecb_limit_1 = rpelev * gfc.nb_1[chn][b];\n var ecb_limit;\n if (ecb_limit_2 <= 0) {\n ecb_limit_2 = ecb;\n }\n if (ecb_limit_1 <= 0) {\n ecb_limit_1 = ecb;\n }\n if (gfc.blocktype_old[chn & 0x01] == Encoder.NORM_TYPE) {\n ecb_limit = Math.min(ecb_limit_1, ecb_limit_2);\n } else {\n ecb_limit = ecb_limit_1;\n }\n thr[b] = Math.min(ecb, ecb_limit);\n }\n gfc.nb_2[chn][b] = gfc.nb_1[chn][b];\n gfc.nb_1[chn][b] = ecb;\n {\n /*\n * if THR exceeds EB, the quantization routines will take the\n * difference from other bands. in case of strong tonal samples\n * (tonaltest.wav) this leads to heavy distortions. that's why\n * we limit THR here.\n */\n x = max[b];\n x *= gfc.minval_l[b];\n x *= avg_mask;\n if (thr[b] > x) {\n thr[b] = x;\n }\n }\n if (gfc.masking_lower > 1) {\n thr[b] *= gfc.masking_lower;\n }\n if (thr[b] > eb_l[b]) {\n thr[b] = eb_l[b];\n }\n if (gfc.masking_lower < 1) {\n thr[b] *= gfc.masking_lower;\n }\n assert(thr[b] >= 0);\n }\n for (; b < Encoder.CBANDS; ++b) {\n eb_l[b] = 0;\n thr[b] = 0;\n }\n }\n\n function vbrpsy_compute_block_type(gfp, uselongblock) {\n var gfc = gfp.internal_flags;\n\n if (gfp.short_blocks == ShortBlock.short_block_coupled\n /* force both channels to use the same block type */\n /* this is necessary if the frame is to be encoded in ms_stereo. */\n /* But even without ms_stereo, FhG does this */\n && !(uselongblock[0] != 0 && uselongblock[1] != 0))\n uselongblock[0] = uselongblock[1] = 0;\n\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n /* disable short blocks */\n if (gfp.short_blocks == ShortBlock.short_block_dispensed) {\n uselongblock[chn] = 1;\n }\n if (gfp.short_blocks == ShortBlock.short_block_forced) {\n uselongblock[chn] = 0;\n }\n }\n }\n\n function vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /*\n * update the blocktype of the previous granule, since it depends on\n * what happend in this granule\n */\n for (var chn = 0; chn < gfc.channels_out; chn++) {\n var blocktype = Encoder.NORM_TYPE;\n /* disable short blocks */\n\n if (uselongblock[chn] != 0) {\n /* no attack : use long blocks */\n assert(gfc.blocktype_old[chn] != Encoder.START_TYPE);\n if (gfc.blocktype_old[chn] == Encoder.SHORT_TYPE)\n blocktype = Encoder.STOP_TYPE;\n } else {\n /* attack : use short blocks */\n blocktype = Encoder.SHORT_TYPE;\n if (gfc.blocktype_old[chn] == Encoder.NORM_TYPE) {\n gfc.blocktype_old[chn] = Encoder.START_TYPE;\n }\n if (gfc.blocktype_old[chn] == Encoder.STOP_TYPE)\n gfc.blocktype_old[chn] = Encoder.SHORT_TYPE;\n }\n\n blocktype_d[chn] = gfc.blocktype_old[chn];\n // value returned to calling program\n gfc.blocktype_old[chn] = blocktype;\n // save for next call to l3psy_anal\n }\n }\n\n /**\n * compute M/S thresholds from Johnston & Ferreira 1992 ICASSP paper\n */\n function vbrpsy_compute_MS_thresholds(eb, thr, cb_mld, ath_cb, athadjust, msfix, n) {\n var msfix2 = msfix * 2;\n var athlower = msfix > 0 ? Math.pow(10, athadjust) : 1;\n var rside, rmid;\n for (var b = 0; b < n; ++b) {\n var ebM = eb[2][b];\n var ebS = eb[3][b];\n var thmL = thr[0][b];\n var thmR = thr[1][b];\n var thmM = thr[2][b];\n var thmS = thr[3][b];\n\n /* use this fix if L & R masking differs by 2db or less */\n if (thmL <= 1.58 * thmR && thmR <= 1.58 * thmL) {\n var mld_m = cb_mld[b] * ebS;\n var mld_s = cb_mld[b] * ebM;\n rmid = Math.max(thmM, Math.min(thmS, mld_m));\n rside = Math.max(thmS, Math.min(thmM, mld_s));\n } else {\n rmid = thmM;\n rside = thmS;\n }\n if (msfix > 0) {\n /***************************************************************/\n /* Adjust M/S maskings if user set \"msfix\" */\n /***************************************************************/\n /* Naoki Shibata 2000 */\n var thmLR, thmMS;\n var ath = ath_cb[b] * athlower;\n thmLR = Math.min(Math.max(thmL, ath), Math.max(thmR, ath));\n thmM = Math.max(rmid, ath);\n thmS = Math.max(rside, ath);\n thmMS = thmM + thmS;\n if (thmMS > 0 && (thmLR * msfix2) < thmMS) {\n var f = thmLR * msfix2 / thmMS;\n thmM *= f;\n thmS *= f;\n assert(thmMS > 0);\n }\n rmid = Math.min(thmM, rmid);\n rside = Math.min(thmS, rside);\n }\n if (rmid > ebM) {\n rmid = ebM;\n }\n if (rside > ebS) {\n rside = ebS;\n }\n thr[2][b] = rmid;\n thr[3][b] = rside;\n }\n }\n\n this.L3psycho_anal_vbr = function (gfp, buffer, bufPos, gr_out, masking_ratio, masking_MS_ratio, percep_entropy, percep_MS_entropy, energy, blocktype_d) {\n var gfc = gfp.internal_flags;\n\n /* fft and energy calculation */\n var wsamp_l;\n var wsamp_s;\n var fftenergy = new_float(Encoder.HBLKSIZE);\n var fftenergy_s = new_float_n([3, Encoder.HBLKSIZE_s]);\n var wsamp_L = new_float_n([2, Encoder.BLKSIZE]);\n var wsamp_S = new_float_n([2, 3, Encoder.BLKSIZE_s]);\n var eb = new_float_n([4, Encoder.CBANDS]), thr = new_float_n([4, Encoder.CBANDS]);\n var sub_short_factor = new_float_n([4, 3]);\n var pcfact = 0.6;\n\n /* block type */\n var ns_attacks = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0],\n [0, 0, 0, 0]];\n var uselongblock = new_int(2);\n\n /* usual variables like loop indices, etc.. */\n\n /* chn=2 and 3 = Mid and Side channels */\n var n_chn_psy = (gfp.mode == MPEGMode.JOINT_STEREO) ? 4\n : gfc.channels_out;\n\n vbrpsy_attack_detection(gfp, buffer, bufPos, gr_out, masking_ratio,\n masking_MS_ratio, energy, sub_short_factor, ns_attacks,\n uselongblock);\n\n vbrpsy_compute_block_type(gfp, uselongblock);\n\n /* LONG BLOCK CASE */\n {\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n wsamp_l = wsamp_L;\n vbrpsy_compute_fft_l(gfp, buffer, bufPos, chn, gr_out,\n fftenergy, wsamp_l, ch01);\n\n vbrpsy_compute_loudness_approximation_l(gfp, gr_out, chn,\n fftenergy);\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_compute_masking_l(gfc, fftenergy, eb[chn], thr[chn],\n chn);\n } else {\n vbrpsy_skip_masking_l(gfc, chn);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 2) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_l,\n gfc.ATH.cb_l, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_l);\n }\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n if (uselongblock[ch01] != 0) {\n convert_partition2scalefac_l(gfc, eb[chn], thr[chn], chn);\n }\n }\n }\n\n /* SHORT BLOCKS CASE */\n {\n for (var sblock = 0; sblock < 3; sblock++) {\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n vbrpsy_skip_masking_s(gfc, chn, sblock);\n } else {\n /* compute masking thresholds for short blocks */\n wsamp_s = wsamp_S;\n vbrpsy_compute_fft_s(gfp, buffer, bufPos, chn, sblock,\n fftenergy_s, wsamp_s, ch01);\n vbrpsy_compute_masking_s(gfp, fftenergy_s, eb[chn],\n thr[chn], chn, sblock);\n }\n }\n if ((uselongblock[0] + uselongblock[1]) == 0) {\n /* M/S channel */\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n vbrpsy_compute_MS_thresholds(eb, thr, gfc.mld_cb_s,\n gfc.ATH.cb_s, gfp.ATHlower * gfc.ATH.adjust,\n gfp.msfix, gfc.npart_s);\n }\n /* L/R channel */\n }\n /* TODO: apply adaptive ATH masking here ?? */\n for (var chn = 0; chn < n_chn_psy; ++chn) {\n var ch01 = chn & 0x01;\n if (0 == uselongblock[ch01]) {\n convert_partition2scalefac_s(gfc, eb[chn], thr[chn],\n chn, sblock);\n }\n }\n }\n\n /**** short block pre-echo control ****/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ch01 = chn & 0x01;\n\n if (uselongblock[ch01] != 0) {\n continue;\n }\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n var new_thmm = new_float(3);\n for (var sblock = 0; sblock < 3; sblock++) {\n var thmm = gfc.thm[chn].s[sb][sblock];\n thmm *= NS_PREECHO_ATT0;\n\n if (ns_attacks[chn][sblock] >= 2\n || ns_attacks[chn][sblock + 1] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT1 * pcfact);\n thmm = Math.min(thmm, p);\n } else if (ns_attacks[chn][sblock] == 1) {\n var idx = (sblock != 0) ? sblock - 1 : 2;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n } else if ((sblock != 0 && ns_attacks[chn][sblock - 1] == 3)\n || (sblock == 0 && gfc.nsPsy.lastAttacks[chn] == 3)) {\n var idx = (sblock != 2) ? sblock + 1 : 0;\n var p = NS_INTERP(gfc.thm[chn].s[sb][idx], thmm,\n NS_PREECHO_ATT2 * pcfact);\n thmm = Math.min(thmm, p);\n }\n\n /* pulse like signal detection for fatboy.wav and so on */\n thmm *= sub_short_factor[chn][sblock];\n\n new_thmm[sblock] = thmm;\n }\n for (var sblock = 0; sblock < 3; sblock++) {\n gfc.thm[chn].s[sb][sblock] = new_thmm[sblock];\n }\n }\n }\n }\n for (var chn = 0; chn < n_chn_psy; chn++) {\n gfc.nsPsy.lastAttacks[chn] = ns_attacks[chn][2];\n }\n\n /***************************************************************\n * determine final block type\n ***************************************************************/\n vbrpsy_apply_block_type(gfp, uselongblock, blocktype_d);\n\n /*********************************************************************\n * compute the value of PE to return ... no delay and advance\n *********************************************************************/\n for (var chn = 0; chn < n_chn_psy; chn++) {\n var ppe;\n var ppePos;\n var type;\n var mr;\n\n if (chn > 1) {\n ppe = percep_MS_entropy;\n ppePos = -2;\n type = Encoder.NORM_TYPE;\n if (blocktype_d[0] == Encoder.SHORT_TYPE\n || blocktype_d[1] == Encoder.SHORT_TYPE)\n type = Encoder.SHORT_TYPE;\n mr = masking_MS_ratio[gr_out][chn - 2];\n } else {\n ppe = percep_entropy;\n ppePos = 0;\n type = blocktype_d[chn];\n mr = masking_ratio[gr_out][chn];\n }\n\n if (type == Encoder.SHORT_TYPE) {\n ppe[ppePos + chn] = pecalc_s(mr, gfc.masking_lower);\n } else {\n ppe[ppePos + chn] = pecalc_l(mr, gfc.masking_lower);\n }\n\n if (gfp.analysis) {\n gfc.pinfo.pe[gr_out][chn] = ppe[ppePos + chn];\n }\n }\n return 0;\n }\n\n function s3_func_x(bark, hf_slope) {\n var tempx = bark, tempy;\n\n if (tempx >= 0) {\n tempy = -tempx * 27;\n } else {\n tempy = tempx * hf_slope;\n }\n if (tempy <= -72.0) {\n return 0;\n }\n return Math.exp(tempy * LN_TO_LOG10);\n }\n\n function norm_s3_func_x(hf_slope) {\n var lim_a = 0, lim_b = 0;\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x -= 1)\n ;\n l = x;\n h = 0;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n h = x;\n } else {\n l = x;\n }\n }\n lim_a = l;\n }\n {\n var x = 0, l, h;\n for (x = 0; s3_func_x(x, hf_slope) > 1e-20; x += 1)\n ;\n l = 0;\n h = x;\n while (Math.abs(h - l) > 1e-12) {\n x = (h + l) / 2;\n if (s3_func_x(x, hf_slope) > 0) {\n l = x;\n } else {\n h = x;\n }\n }\n lim_b = h;\n }\n {\n var sum = 0;\n var m = 1000;\n var i;\n for (i = 0; i <= m; ++i) {\n var x = lim_a + i * (lim_b - lim_a) / m;\n var y = s3_func_x(x, hf_slope);\n sum += y;\n }\n {\n var norm = (m + 1) / (sum * (lim_b - lim_a));\n /* printf( \"norm = %lf\\n\",norm); */\n return norm;\n }\n }\n }\n\n /**\n * The spreading function. Values returned in units of energy\n */\n function s3_func(bark) {\n var tempx, x, tempy, temp;\n tempx = bark;\n if (tempx >= 0)\n tempx *= 3;\n else\n tempx *= 1.5;\n\n if (tempx >= 0.5 && tempx <= 2.5) {\n temp = tempx - 0.5;\n x = 8.0 * (temp * temp - 2.0 * temp);\n } else\n x = 0.0;\n tempx += 0.474;\n tempy = 15.811389 + 7.5 * tempx - 17.5\n * Math.sqrt(1.0 + tempx * tempx);\n\n if (tempy <= -60.0)\n return 0.0;\n\n tempx = Math.exp((x + tempy) * LN_TO_LOG10);\n\n /**\n *
\n         * Normalization.  The spreading function should be normalized so that:\n         * +inf\n         * /\n         * |  s3 [ bark ]  d(bark)   =  1\n         * /\n         * -inf\n         * 
\n */\n tempx /= .6609193;\n return tempx;\n }\n\n /**\n * see for example \"Zwicker: Psychoakustik, 1982; ISBN 3-540-11401-7\n */\n function freq2bark(freq) {\n /* input: freq in hz output: barks */\n if (freq < 0)\n freq = 0;\n freq = freq * 0.001;\n return 13.0 * Math.atan(.76 * freq) + 3.5\n * Math.atan(freq * freq / (7.5 * 7.5));\n }\n\n function init_numline(numlines, bo, bm, bval, bval_width, mld, bo_w, sfreq, blksize, scalepos, deltafreq, sbmax) {\n var b_frq = new_float(Encoder.CBANDS + 1);\n var sample_freq_frac = sfreq / (sbmax > 15 ? 2 * 576 : 2 * 192);\n var partition = new_int(Encoder.HBLKSIZE);\n var i;\n sfreq /= blksize;\n var j = 0;\n var ni = 0;\n /* compute numlines, the number of spectral lines in each partition band */\n /* each partition band should be about DELBARK wide. */\n for (i = 0; i < Encoder.CBANDS; i++) {\n var bark1;\n var j2;\n bark1 = freq2bark(sfreq * j);\n\n b_frq[i] = sfreq * j;\n\n for (j2 = j; freq2bark(sfreq * j2) - bark1 < DELBARK\n && j2 <= blksize / 2; j2++)\n ;\n\n numlines[i] = j2 - j;\n ni = i + 1;\n\n while (j < j2) {\n assert(j < Encoder.HBLKSIZE);\n partition[j++] = i;\n }\n if (j > blksize / 2) {\n j = blksize / 2;\n ++i;\n break;\n }\n }\n assert(i < Encoder.CBANDS);\n b_frq[i] = sfreq * j;\n\n for (var sfb = 0; sfb < sbmax; sfb++) {\n var i1, i2, start, end;\n var arg;\n start = scalepos[sfb];\n end = scalepos[sfb + 1];\n\n i1 = 0 | Math.floor(.5 + deltafreq * (start - .5));\n if (i1 < 0)\n i1 = 0;\n i2 = 0 | Math.floor(.5 + deltafreq * (end - .5));\n\n if (i2 > blksize / 2)\n i2 = blksize / 2;\n\n bm[sfb] = (partition[i1] + partition[i2]) / 2;\n bo[sfb] = partition[i2];\n var f_tmp = sample_freq_frac * end;\n /*\n * calculate how much of this band belongs to current scalefactor\n * band\n */\n bo_w[sfb] = (f_tmp - b_frq[bo[sfb]])\n / (b_frq[bo[sfb] + 1] - b_frq[bo[sfb]]);\n if (bo_w[sfb] < 0) {\n bo_w[sfb] = 0;\n } else {\n if (bo_w[sfb] > 1) {\n bo_w[sfb] = 1;\n }\n }\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n arg = freq2bark(sfreq * scalepos[sfb] * deltafreq);\n arg = ( Math.min(arg, 15.5) / 15.5);\n\n mld[sfb] = Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /* compute bark values of each critical band */\n j = 0;\n for (var k = 0; k < ni; k++) {\n var w = numlines[k];\n var bark1, bark2;\n\n bark1 = freq2bark(sfreq * (j));\n bark2 = freq2bark(sfreq * (j + w - 1));\n bval[k] = .5 * (bark1 + bark2);\n\n bark1 = freq2bark(sfreq * (j - .5));\n bark2 = freq2bark(sfreq * (j + w - .5));\n bval_width[k] = bark2 - bark1;\n j += w;\n }\n\n return ni;\n }\n\n function init_s3_values(s3ind, npart, bval, bval_width, norm, use_old_s3) {\n var s3 = new_float_n([Encoder.CBANDS, Encoder.CBANDS]);\n /*\n * The s3 array is not linear in the bark scale.\n *\n * bval[x] should be used to get the bark value.\n */\n var j;\n var numberOfNoneZero = 0;\n\n /**\n *
\n         * s[i][j], the value of the spreading function,\n         * centered at band j (masker), for band i (maskee)\n         *\n         * i.e.: sum over j to spread into signal barkval=i\n         * NOTE: i and j are used opposite as in the ISO docs\n         * 
\n */\n if (use_old_s3) {\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n var v = s3_func(bval[i] - bval[j]) * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n } else {\n for (j = 0; j < npart; j++) {\n var hf_slope = 15 + Math.min(21 / bval[j], 12);\n var s3_x_norm = norm_s3_func_x(hf_slope);\n for (var i = 0; i < npart; i++) {\n var v = s3_x_norm\n * s3_func_x(bval[i] - bval[j], hf_slope)\n * bval_width[j];\n s3[i][j] = v * norm[i];\n }\n }\n }\n for (var i = 0; i < npart; i++) {\n for (j = 0; j < npart; j++) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][0] = j;\n\n for (j = npart - 1; j > 0; j--) {\n if (s3[i][j] > 0.0)\n break;\n }\n s3ind[i][1] = j;\n numberOfNoneZero += (s3ind[i][1] - s3ind[i][0] + 1);\n }\n\n var p = new_float(numberOfNoneZero);\n var k = 0;\n for (var i = 0; i < npart; i++)\n for (j = s3ind[i][0]; j <= s3ind[i][1]; j++)\n p[k++] = s3[i][j];\n\n return p;\n }\n\n function stereo_demask(f) {\n /* setup stereo demasking thresholds */\n /* formula reverse enginerred from plot in paper */\n var arg = freq2bark(f);\n arg = (Math.min(arg, 15.5) / 15.5);\n\n return Math.pow(10.0,\n 1.25 * (1 - Math.cos(Math.PI * arg)) - 2.5);\n }\n\n /**\n * NOTE: the bitrate reduction from the inter-channel masking effect is low\n * compared to the chance of getting annyoing artefacts. L3psycho_anal_vbr\n * does not use this feature. (Robert 071216)\n */\n this.psymodel_init = function (gfp) {\n var gfc = gfp.internal_flags;\n var i;\n var useOldS3 = true;\n var bvl_a = 13, bvl_b = 24;\n var snr_l_a = 0, snr_l_b = 0;\n var snr_s_a = -8.25, snr_s_b = -4.5;\n var bval = new_float(Encoder.CBANDS);\n var bval_width = new_float(Encoder.CBANDS);\n var norm = new_float(Encoder.CBANDS);\n var sfreq = gfp.out_samplerate;\n\n switch (gfp.experimentalZ) {\n default:\n case 0:\n useOldS3 = true;\n break;\n case 1:\n useOldS3 = (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) ? false\n : true;\n break;\n case 2:\n useOldS3 = false;\n break;\n case 3:\n bvl_a = 8;\n snr_l_a = -1.75;\n snr_l_b = -0.0125;\n snr_s_a = -8.25;\n snr_s_b = -2.25;\n break;\n }\n gfc.ms_ener_ratio_old = .25;\n gfc.blocktype_old[0] = gfc.blocktype_old[1] = Encoder.NORM_TYPE;\n // the vbr header is long blocks\n\n for (i = 0; i < 4; ++i) {\n for (var j = 0; j < Encoder.CBANDS; ++j) {\n gfc.nb_1[i][j] = 1e20;\n gfc.nb_2[i][j] = 1e20;\n gfc.nb_s1[i][j] = gfc.nb_s2[i][j] = 1.0;\n }\n for (var sb = 0; sb < Encoder.SBMAX_l; sb++) {\n gfc.en[i].l[sb] = 1e20;\n gfc.thm[i].l[sb] = 1e20;\n }\n for (var j = 0; j < 3; ++j) {\n for (var sb = 0; sb < Encoder.SBMAX_s; sb++) {\n gfc.en[i].s[sb][j] = 1e20;\n gfc.thm[i].s[sb][j] = 1e20;\n }\n gfc.nsPsy.lastAttacks[i] = 0;\n }\n for (var j = 0; j < 9; j++)\n gfc.nsPsy.last_en_subshort[i][j] = 10.;\n }\n\n /* init. for loudness approx. -jd 2001 mar 27 */\n gfc.loudness_sq_save[0] = gfc.loudness_sq_save[1] = 0.0;\n\n /*************************************************************************\n * now compute the psychoacoustic model specific constants\n ************************************************************************/\n /* compute numlines, bo, bm, bval, bval_width, mld */\n\n gfc.npart_l = init_numline(gfc.numlines_l, gfc.bo_l, gfc.bm_l, bval,\n bval_width, gfc.mld_l, gfc.PSY.bo_l_weight, sfreq,\n Encoder.BLKSIZE, gfc.scalefac_band.l, Encoder.BLKSIZE\n / (2.0 * 576), Encoder.SBMAX_l);\n assert(gfc.npart_l < Encoder.CBANDS);\n /* compute the spreading function */\n for (i = 0; i < gfc.npart_l; i++) {\n var snr = snr_l_a;\n if (bval[i] >= bvl_a) {\n snr = snr_l_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_l_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n if (gfc.numlines_l[i] > 0) {\n gfc.rnumlines_l[i] = 1.0 / gfc.numlines_l[i];\n } else {\n gfc.rnumlines_l[i] = 0;\n }\n }\n gfc.s3_ll = init_s3_values(gfc.s3ind, gfc.npart_l, bval, bval_width,\n norm, useOldS3);\n\n /* compute long block specific values, ATH and MINVAL */\n var j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var x;\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_l[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE);\n var level;\n /*\n * ATH below 100 Hz constant, not further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_l[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_l[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n /*\n * FIXME: it does work to reduce low-freq problems in S53-Wind-Sax\n * and lead-voice samples, but introduces some 3 kbps bit bloat too.\n * TODO: Further refinement of the shape of this hack.\n */\n x = -20 + bval[i] * 20 / 10;\n if (x > 6) {\n x = 100;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8.;\n gfc.minval_l[i] = (Math.pow(10.0, x / 10.) * gfc.numlines_l[i]);\n }\n\n /************************************************************************\n * do the same things for short blocks\n ************************************************************************/\n gfc.npart_s = init_numline(gfc.numlines_s, gfc.bo_s, gfc.bm_s, bval,\n bval_width, gfc.mld_s, gfc.PSY.bo_s_weight, sfreq,\n Encoder.BLKSIZE_s, gfc.scalefac_band.s, Encoder.BLKSIZE_s\n / (2.0 * 192), Encoder.SBMAX_s);\n assert(gfc.npart_s < Encoder.CBANDS);\n\n /* SNR formula. short block is normalized by SNR. is it still right ? */\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var x;\n var snr = snr_s_a;\n if (bval[i] >= bvl_a) {\n snr = snr_s_b * (bval[i] - bvl_a) / (bvl_b - bvl_a) + snr_s_a\n * (bvl_b - bval[i]) / (bvl_b - bvl_a);\n }\n norm[i] = Math.pow(10.0, snr / 10.0);\n\n /* ATH */\n x = Float.MAX_VALUE;\n for (var k = 0; k < gfc.numlines_s[i]; k++, j++) {\n var freq = sfreq * j / (1000.0 * Encoder.BLKSIZE_s);\n var level;\n /* freq = Min(.1,freq); */\n /*\n * ATH below 100 Hz constant, not\n * further climbing\n */\n level = this.ATHformula(freq * 1000, gfp) - 20;\n // scale to FFT units; returned value is in dB\n level = Math.pow(10., 0.1 * level);\n // convert from dB . energy\n level *= gfc.numlines_s[i];\n if (x > level)\n x = level;\n }\n gfc.ATH.cb_s[i] = x;\n\n /*\n * MINVAL. For low freq, the strength of the masking is limited by\n * minval this is an ISO MPEG1 thing, dont know if it is really\n * needed\n */\n x = (-7.0 + bval[i] * 7.0 / 12.0);\n if (bval[i] > 12) {\n x *= 1 + Math.log(1 + x) * 3.1;\n }\n if (bval[i] < 12) {\n x *= 1 + Math.log(1 - x) * 2.3;\n }\n if (x < -15) {\n x = -15;\n }\n x -= 8;\n gfc.minval_s[i] = Math.pow(10.0, x / 10)\n * gfc.numlines_s[i];\n }\n\n gfc.s3_ss = init_s3_values(gfc.s3ind_s, gfc.npart_s, bval, bval_width,\n norm, useOldS3);\n\n init_mask_add_max_values();\n fft.init_fft(gfc);\n\n /* setup temporal masking */\n gfc.decay = Math.exp(-1.0 * LOG10\n / (temporalmask_sustain_sec * sfreq / 192.0));\n\n {\n var msfix;\n msfix = NS_MSFIX;\n if ((gfp.exp_nspsytune & 2) != 0)\n msfix = 1.0;\n if (Math.abs(gfp.msfix) > 0.0)\n msfix = gfp.msfix;\n gfp.msfix = msfix;\n\n /*\n * spread only from npart_l bands. Normally, we use the spreading\n * function to convolve from npart_l down to npart_l bands\n */\n for (var b = 0; b < gfc.npart_l; b++)\n if (gfc.s3ind[b][1] > gfc.npart_l - 1)\n gfc.s3ind[b][1] = gfc.npart_l - 1;\n }\n\n /*\n * prepare for ATH auto adjustment: we want to decrease the ATH by 12 dB\n * per second\n */\n var frame_duration = (576. * gfc.mode_gr / sfreq);\n gfc.ATH.decay = Math.pow(10., -12. / 10. * frame_duration);\n gfc.ATH.adjust = 0.01;\n /* minimum, for leading low loudness */\n gfc.ATH.adjustLimit = 1.0;\n /* on lead, allow adjust up to maximum */\n\n assert(gfc.bo_l[Encoder.SBMAX_l - 1] <= gfc.npart_l);\n assert(gfc.bo_s[Encoder.SBMAX_s - 1] <= gfc.npart_s);\n\n if (gfp.ATHtype != -1) {\n /* compute equal loudness weights (eql_w) */\n var freq;\n var freq_inc = gfp.out_samplerate\n / (Encoder.BLKSIZE);\n var eql_balance = 0.0;\n freq = 0.0;\n for (i = 0; i < Encoder.BLKSIZE / 2; ++i) {\n /* convert ATH dB to relative power (not dB) */\n /* to determine eql_w */\n freq += freq_inc;\n gfc.ATH.eql_w[i] = 1. / Math.pow(10, this.ATHformula(freq, gfp) / 10);\n eql_balance += gfc.ATH.eql_w[i];\n }\n eql_balance = 1.0 / eql_balance;\n for (i = Encoder.BLKSIZE / 2; --i >= 0;) { /* scale weights */\n gfc.ATH.eql_w[i] *= eql_balance;\n }\n }\n {\n for (var b = j = 0; b < gfc.npart_s; ++b) {\n for (i = 0; i < gfc.numlines_s[b]; ++i) {\n ++j;\n }\n }\n assert(j == 129);\n for (var b = j = 0; b < gfc.npart_l; ++b) {\n for (i = 0; i < gfc.numlines_l[b]; ++i) {\n ++j;\n }\n }\n assert(j == 513);\n }\n j = 0;\n for (i = 0; i < gfc.npart_l; i++) {\n var freq = sfreq * (j + gfc.numlines_l[i] / 2) / (1.0 * Encoder.BLKSIZE);\n gfc.mld_cb_l[i] = stereo_demask(freq);\n j += gfc.numlines_l[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_l[i] = 1;\n }\n j = 0;\n for (i = 0; i < gfc.npart_s; i++) {\n var freq = sfreq * (j + gfc.numlines_s[i] / 2) / (1.0 * Encoder.BLKSIZE_s);\n gfc.mld_cb_s[i] = stereo_demask(freq);\n j += gfc.numlines_s[i];\n }\n for (; i < Encoder.CBANDS; ++i) {\n gfc.mld_cb_s[i] = 1;\n }\n return 0;\n }\n\n /**\n * Those ATH formulas are returning their minimum value for input = -1\n */\n function ATHformula_GB(f, value) {\n /**\n *
\n         *  from Painter & Spanias\n         *           modified by Gabriel Bouvigne to better fit the reality\n         *           ath =    3.640 * pow(f,-0.8)\n         *           - 6.800 * exp(-0.6*pow(f-3.4,2.0))\n         *           + 6.000 * exp(-0.15*pow(f-8.7,2.0))\n         *           + 0.6* 0.001 * pow(f,4.0);\n         *\n         *\n         *           In the past LAME was using the Painter &Spanias formula.\n         *           But we had some recurrent problems with HF content.\n         *           We measured real ATH values, and found the older formula\n         *           to be inaccurate in the higher part. So we made this new\n         *           formula and this solved most of HF problematic test cases.\n         *           The tradeoff is that in VBR mode it increases a lot the\n         *           bitrate.\n         * 
\n */\n\n /*\n * This curve can be adjusted according to the VBR scale: it adjusts\n * from something close to Painter & Spanias on V9 up to Bouvigne's\n * formula for V0. This way the VBR bitrate is more balanced according\n * to the -V value.\n */\n\n // the following Hack allows to ask for the lowest value\n if (f < -.3)\n f = 3410;\n\n // convert to khz\n f /= 1000;\n f = Math.max(0.1, f);\n var ath = 3.640 * Math.pow(f, -0.8) - 6.800\n * Math.exp(-0.6 * Math.pow(f - 3.4, 2.0)) + 6.000\n * Math.exp(-0.15 * Math.pow(f - 8.7, 2.0))\n + (0.6 + 0.04 * value) * 0.001 * Math.pow(f, 4.0);\n return ath;\n }\n\n this.ATHformula = function (f, gfp) {\n var ath;\n switch (gfp.ATHtype) {\n case 0:\n ath = ATHformula_GB(f, 9);\n break;\n case 1:\n // over sensitive, should probably be removed\n ath = ATHformula_GB(f, -1);\n break;\n case 2:\n ath = ATHformula_GB(f, 0);\n break;\n case 3:\n // modification of GB formula by Roel\n ath = ATHformula_GB(f, 1) + 6;\n break;\n case 4:\n ath = ATHformula_GB(f, gfp.ATHcurve);\n break;\n default:\n ath = ATHformula_GB(f, 0);\n break;\n }\n return ath;\n }\n\n}\n\nmodule.exports = PsyModel;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","\"use strict\";\n\nexports.__esModule = true;\nexports.inherits = inherits;\nfunction inherits(parent, child) {\n\tvar props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar extended = Object.create(parent.prototype);\n\tfor (var p in props) {\n\t\textended[p] = props[p];\n\t}\n\textended.constructor = child;\n\tchild.prototype = extended;\n\treturn child;\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n defineBuiltIn(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var pattern = $toString(R.source);\n var flags = $toString(getRegExpFlags(R));\n return '/' + pattern + '/' + flags;\n }, { unsafe: true });\n}\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","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GrInfo = require('./GrInfo.js');\n\nfunction IIISideInfo() {\n this.tt = [[null, null], [null, null]];\n this.main_data_begin = 0;\n this.private_bits = 0;\n this.resvDrain_pre = 0;\n this.resvDrain_post = 0;\n this.scfsi = [new_int(4), new_int(4)];\n\n for (var gr = 0; gr < 2; gr++) {\n for (var ch = 0; ch < 2; ch++) {\n this.tt[gr][ch] = new GrInfo();\n }\n }\n}\n\nmodule.exports = IIISideInfo;\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar MISSED_STICKY = require('../internals/regexp-sticky-helpers').MISSED_STICKY;\nvar classof = require('../internals/classof-raw');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar getInternalState = require('../internals/internal-state').get;\n\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\n\n// `RegExp.prototype.sticky` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky\nif (DESCRIPTORS && MISSED_STICKY) {\n defineBuiltInAccessor(RegExpPrototype, 'sticky', {\n configurable: true,\n get: function sticky() {\n if (this === RegExpPrototype) return undefined;\n // We can't use InternalStateModule.getterFor because\n // we don't add metadata for regexps created by a literal.\n if (classof(this) === 'RegExp') {\n return !!getInternalState(this).sticky;\n }\n throw TypeError('Incompatible receiver, RegExp required');\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es-x/no-string-prototype-startswith -- safe\nvar un$StartsWith = uncurryThis(''.startsWith);\nvar stringSlice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return un$StartsWith\n ? un$StartsWith(that, search, index)\n : stringSlice(that, index, index + search.length) === search;\n }\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setInterval = require('../internals/schedulers-fix').setInterval;\n\n// ie9- setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n$({ global: true, bind: true, forced: global.setInterval !== setInterval }, {\n setInterval: setInterval\n});\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, 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(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, 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);\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 isCallable(global.postMessage) &&\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 global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","'use strict';\n\nexports.__esModule = true;\nexports.tokenize = exports.test = exports.scanner = exports.parser = exports.options = exports.inherits = exports.find = undefined;\n\nvar _class = require('./linkify/utils/class');\n\nvar _options = require('./linkify/utils/options');\n\nvar options = _interopRequireWildcard(_options);\n\nvar _scanner = require('./linkify/core/scanner');\n\nvar scanner = _interopRequireWildcard(_scanner);\n\nvar _parser = require('./linkify/core/parser');\n\nvar parser = _interopRequireWildcard(_parser);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nif (!Array.isArray) {\n\tArray.isArray = function (arg) {\n\t\treturn Object.prototype.toString.call(arg) === '[object Array]';\n\t};\n}\n\n/**\n\tConverts a string into tokens that represent linkable and non-linkable bits\n\t@method tokenize\n\t@param {String} str\n\t@return {Array} tokens\n*/\nvar tokenize = function tokenize(str) {\n\treturn parser.run(scanner.run(str));\n};\n\n/**\n\tReturns a list of linkable items in the given string.\n*/\nvar find = function find(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\tvar filtered = [];\n\n\tfor (var i = 0; i < tokens.length; i++) {\n\t\tvar token = tokens[i];\n\t\tif (token.isLink && (!type || token.type === type)) {\n\t\t\tfiltered.push(token.toObject());\n\t\t}\n\t}\n\n\treturn filtered;\n};\n\n/**\n\tIs the given string valid linkable text of some sort\n\tNote that this does not trim the text for you.\n\n\tOptionally pass in a second `type` param, which is the type of link to test\n\tfor.\n\n\tFor example,\n\n\t\ttest(str, 'email');\n\n\tWill return `true` if str is a valid email.\n*/\nvar test = function test(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\treturn tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].type === type);\n};\n\n// Scanner and parser provide states and tokens for the lexicographic stage\n// (will be used to add additional link types)\nexports.find = find;\nexports.inherits = _class.inherits;\nexports.options = options;\nexports.parser = parser;\nexports.scanner = scanner;\nexports.test = test;\nexports.tokenize = tokenize;","/*\n * ReplayGainAnalysis - analyzes input samples and give the recommended dB change\n * Copyright (C) 2001 David Robinson and Glen Sawyer\n * Improvements and optimizations added by Frank Klemm, and by Marcel Muller \n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n *\n * concept and filter values by David Robinson (David@Robinson.org)\n * -- blame him if you think the idea is flawed\n * original coding by Glen Sawyer (mp3gain@hotmail.com)\n * -- blame him if you think this runs too slowly, or the coding is otherwise flawed\n *\n * lots of code improvements by Frank Klemm ( http://www.uni-jena.de/~pfk/mpp/ )\n * -- credit him for all the _good_ programming ;)\n *\n *\n * For an explanation of the concepts and the basic algorithms involved, go to:\n * http://www.replaygain.org/\n */\n\n/*\n * Here's the deal. Call\n *\n * InitGainAnalysis ( long samplefreq );\n *\n * to initialize everything. Call\n *\n * AnalyzeSamples ( var Float_t* left_samples,\n * var Float_t* right_samples,\n * size_t num_samples,\n * int num_channels );\n *\n * as many times as you want, with as many or as few samples as you want.\n * If mono, pass the sample buffer in through left_samples, leave\n * right_samples NULL, and make sure num_channels = 1.\n *\n * GetTitleGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * SINCE THE LAST TIME you called GetTitleGain() OR InitGainAnalysis().\n *\n * GetAlbumGain()\n *\n * will return the recommended dB level change for all samples analyzed\n * since InitGainAnalysis() was called and finalized with GetTitleGain().\n *\n * Pseudo-code to process an album:\n *\n * Float_t l_samples [4096];\n * Float_t r_samples [4096];\n * size_t num_samples;\n * unsigned int num_songs;\n * unsigned int i;\n *\n * InitGainAnalysis ( 44100 );\n * for ( i = 1; i <= num_songs; i++ ) {\n * while ( ( num_samples = getSongSamples ( song[i], left_samples, right_samples ) ) > 0 )\n * AnalyzeSamples ( left_samples, right_samples, num_samples, 2 );\n * fprintf (\"Recommended dB change for song %2d: %+6.2 dB\\n\", i, GetTitleGain() );\n * }\n * fprintf (\"Recommended dB change for whole album: %+6.2 dB\\n\", GetAlbumGain() );\n */\n\n/*\n * So here's the main source of potential code confusion:\n *\n * The filters applied to the incoming samples are IIR filters,\n * meaning they rely on up to number of previous samples\n * AND up to number of previous filtered samples.\n *\n * I set up the AnalyzeSamples routine to minimize memory usage and interface\n * complexity. The speed isn't compromised too much (I don't think), but the\n * internal complexity is higher than it should be for such a relatively\n * simple routine.\n *\n * Optimization/clarity suggestions are welcome.\n */\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\n/**\n * Table entries per dB\n */\nGainAnalysis.STEPS_per_dB = 100.;\n/**\n * Table entries for 0...MAX_dB (normal max. values are 70...80 dB)\n */\nGainAnalysis.MAX_dB = 120.;\nGainAnalysis.GAIN_NOT_ENOUGH_SAMPLES = -24601;\nGainAnalysis.GAIN_ANALYSIS_ERROR = 0;\nGainAnalysis.GAIN_ANALYSIS_OK = 1;\nGainAnalysis.INIT_GAIN_ANALYSIS_ERROR = 0;\nGainAnalysis.INIT_GAIN_ANALYSIS_OK = 1;\n\nGainAnalysis.YULE_ORDER = 10;\nGainAnalysis.MAX_ORDER = GainAnalysis.YULE_ORDER;\n\nGainAnalysis.MAX_SAMP_FREQ = 48000;\nGainAnalysis.RMS_WINDOW_TIME_NUMERATOR = 1;\nGainAnalysis.RMS_WINDOW_TIME_DENOMINATOR = 20;\nGainAnalysis.MAX_SAMPLES_PER_WINDOW = ((GainAnalysis.MAX_SAMP_FREQ * GainAnalysis.RMS_WINDOW_TIME_NUMERATOR) / GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR + 1);\n\nfunction GainAnalysis() {\n /**\n * calibration value for 89dB\n */\n var PINK_REF = 64.82;\n\n var YULE_ORDER = GainAnalysis.YULE_ORDER;\n /**\n * percentile which is louder than the proposed level\n */\n var RMS_PERCENTILE = 0.95;\n /**\n * maximum allowed sample frequency [Hz]\n */\n var MAX_SAMP_FREQ = GainAnalysis.MAX_SAMP_FREQ;\n var RMS_WINDOW_TIME_NUMERATOR = GainAnalysis.RMS_WINDOW_TIME_NUMERATOR;\n /**\n * numerator / denominator = time slice size [s]\n */\n var RMS_WINDOW_TIME_DENOMINATOR = GainAnalysis.RMS_WINDOW_TIME_DENOMINATOR;\n /**\n * max. Samples per Time slice\n */\n var MAX_SAMPLES_PER_WINDOW = GainAnalysis.MAX_SAMPLES_PER_WINDOW;\n\n\n var ABYule = [\n [0.03857599435200, -3.84664617118067, -0.02160367184185,\n 7.81501653005538, -0.00123395316851, -11.34170355132042,\n -0.00009291677959, 13.05504219327545, -0.01655260341619,\n -12.28759895145294, 0.02161526843274, 9.48293806319790,\n -0.02074045215285, -5.87257861775999, 0.00594298065125,\n 2.75465861874613, 0.00306428023191, -0.86984376593551,\n 0.00012025322027, 0.13919314567432, 0.00288463683916],\n [0.05418656406430, -3.47845948550071, -0.02911007808948,\n 6.36317777566148, -0.00848709379851, -8.54751527471874,\n -0.00851165645469, 9.47693607801280, -0.00834990904936,\n -8.81498681370155, 0.02245293253339, 6.85401540936998,\n -0.02596338512915, -4.39470996079559, 0.01624864962975,\n 2.19611684890774, -0.00240879051584, -0.75104302451432,\n 0.00674613682247, 0.13149317958808, -0.00187763777362],\n [0.15457299681924, -2.37898834973084, -0.09331049056315,\n 2.84868151156327, -0.06247880153653, -2.64577170229825,\n 0.02163541888798, 2.23697657451713, -0.05588393329856,\n -1.67148153367602, 0.04781476674921, 1.00595954808547,\n 0.00222312597743, -0.45953458054983, 0.03174092540049,\n 0.16378164858596, -0.01390589421898, -0.05032077717131,\n 0.00651420667831, 0.02347897407020, -0.00881362733839],\n [0.30296907319327, -1.61273165137247, -0.22613988682123,\n 1.07977492259970, -0.08587323730772, -0.25656257754070,\n 0.03282930172664, -0.16276719120440, -0.00915702933434,\n -0.22638893773906, -0.02364141202522, 0.39120800788284,\n -0.00584456039913, -0.22138138954925, 0.06276101321749,\n 0.04500235387352, -0.00000828086748, 0.02005851806501,\n 0.00205861885564, 0.00302439095741, -0.02950134983287],\n [0.33642304856132, -1.49858979367799, -0.25572241425570,\n 0.87350271418188, -0.11828570177555, 0.12205022308084,\n 0.11921148675203, -0.80774944671438, -0.07834489609479,\n 0.47854794562326, -0.00469977914380, -0.12453458140019,\n -0.00589500224440, -0.04067510197014, 0.05724228140351,\n 0.08333755284107, 0.00832043980773, -0.04237348025746,\n -0.01635381384540, 0.02977207319925, -0.01760176568150],\n [0.44915256608450, -0.62820619233671, -0.14351757464547,\n 0.29661783706366, -0.22784394429749, -0.37256372942400,\n -0.01419140100551, 0.00213767857124, 0.04078262797139,\n -0.42029820170918, -0.12398163381748, 0.22199650564824,\n 0.04097565135648, 0.00613424350682, 0.10478503600251,\n 0.06747620744683, -0.01863887810927, 0.05784820375801,\n -0.03193428438915, 0.03222754072173, 0.00541907748707],\n [0.56619470757641, -1.04800335126349, -0.75464456939302,\n 0.29156311971249, 0.16242137742230, -0.26806001042947,\n 0.16744243493672, 0.00819999645858, -0.18901604199609,\n 0.45054734505008, 0.30931782841830, -0.33032403314006,\n -0.27562961986224, 0.06739368333110, 0.00647310677246,\n -0.04784254229033, 0.08647503780351, 0.01639907836189,\n -0.03788984554840, 0.01807364323573, -0.00588215443421],\n [0.58100494960553, -0.51035327095184, -0.53174909058578,\n -0.31863563325245, -0.14289799034253, -0.20256413484477,\n 0.17520704835522, 0.14728154134330, 0.02377945217615,\n 0.38952639978999, 0.15558449135573, -0.23313271880868,\n -0.25344790059353, -0.05246019024463, 0.01628462406333,\n -0.02505961724053, 0.06920467763959, 0.02442357316099,\n -0.03721611395801, 0.01818801111503, -0.00749618797172],\n [0.53648789255105, -0.25049871956020, -0.42163034350696,\n -0.43193942311114, -0.00275953611929, -0.03424681017675,\n 0.04267842219415, -0.04678328784242, -0.10214864179676,\n 0.26408300200955, 0.14590772289388, 0.15113130533216,\n -0.02459864859345, -0.17556493366449, -0.11202315195388,\n -0.18823009262115, -0.04060034127000, 0.05477720428674,\n 0.04788665548180, 0.04704409688120, -0.02217936801134]];\n\n var ABButter = [\n [0.98621192462708, -1.97223372919527, -1.97242384925416,\n 0.97261396931306, 0.98621192462708],\n [0.98500175787242, -1.96977855582618, -1.97000351574484,\n 0.97022847566350, 0.98500175787242],\n [0.97938932735214, -1.95835380975398, -1.95877865470428,\n 0.95920349965459, 0.97938932735214],\n [0.97531843204928, -1.95002759149878, -1.95063686409857,\n 0.95124613669835, 0.97531843204928],\n [0.97316523498161, -1.94561023566527, -1.94633046996323,\n 0.94705070426118, 0.97316523498161],\n [0.96454515552826, -1.92783286977036, -1.92909031105652,\n 0.93034775234268, 0.96454515552826],\n [0.96009142950541, -1.91858953033784, -1.92018285901082,\n 0.92177618768381, 0.96009142950541],\n [0.95856916599601, -1.91542108074780, -1.91713833199203,\n 0.91885558323625, 0.95856916599601],\n [0.94597685600279, -1.88903307939452, -1.89195371200558,\n 0.89487434461664, 0.94597685600279]];\n\n\n /**\n * When calling this procedure, make sure that ip[-order] and op[-order]\n * point to real data\n */\n //private void filterYule(final float[] input, int inputPos, float[] output,\n //int outputPos, int nSamples, final float[] kernel) {\n function filterYule(input, inputPos, output, outputPos, nSamples, kernel) {\n\n while ((nSamples--) != 0) {\n /* 1e-10 is a hack to avoid slowdown because of denormals */\n output[outputPos] = 1e-10 + input[inputPos + 0] * kernel[0]\n - output[outputPos - 1] * kernel[1] + input[inputPos - 1]\n * kernel[2] - output[outputPos - 2] * kernel[3]\n + input[inputPos - 2] * kernel[4] - output[outputPos - 3]\n * kernel[5] + input[inputPos - 3] * kernel[6]\n - output[outputPos - 4] * kernel[7] + input[inputPos - 4]\n * kernel[8] - output[outputPos - 5] * kernel[9]\n + input[inputPos - 5] * kernel[10] - output[outputPos - 6]\n * kernel[11] + input[inputPos - 6] * kernel[12]\n - output[outputPos - 7] * kernel[13] + input[inputPos - 7]\n * kernel[14] - output[outputPos - 8] * kernel[15]\n + input[inputPos - 8] * kernel[16] - output[outputPos - 9]\n * kernel[17] + input[inputPos - 9] * kernel[18]\n - output[outputPos - 10] * kernel[19]\n + input[inputPos - 10] * kernel[20];\n ++outputPos;\n ++inputPos;\n }\n }\n\n//private void filterButter(final float[] input, int inputPos,\n// float[] output, int outputPos, int nSamples, final float[] kernel) {\n function filterButter(input, inputPos, output, outputPos, nSamples, kernel) {\n\n while ((nSamples--) != 0) {\n output[outputPos] = input[inputPos + 0] * kernel[0]\n - output[outputPos - 1] * kernel[1] + input[inputPos - 1]\n * kernel[2] - output[outputPos - 2] * kernel[3]\n + input[inputPos - 2] * kernel[4];\n ++outputPos;\n ++inputPos;\n }\n }\n\n /**\n * @return INIT_GAIN_ANALYSIS_OK if successful, INIT_GAIN_ANALYSIS_ERROR if\n * not\n */\n function ResetSampleFrequency(rgData, samplefreq) {\n /* zero out initial values */\n for (var i = 0; i < MAX_ORDER; i++)\n rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n\n switch (0 | (samplefreq)) {\n case 48000:\n rgData.reqindex = 0;\n break;\n case 44100:\n rgData.reqindex = 1;\n break;\n case 32000:\n rgData.reqindex = 2;\n break;\n case 24000:\n rgData.reqindex = 3;\n break;\n case 22050:\n rgData.reqindex = 4;\n break;\n case 16000:\n rgData.reqindex = 5;\n break;\n case 12000:\n rgData.reqindex = 6;\n break;\n case 11025:\n rgData.reqindex = 7;\n break;\n case 8000:\n rgData.reqindex = 8;\n break;\n default:\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n\n rgData.sampleWindow = 0 | ((samplefreq * RMS_WINDOW_TIME_NUMERATOR\n + RMS_WINDOW_TIME_DENOMINATOR - 1) / RMS_WINDOW_TIME_DENOMINATOR);\n\n rgData.lsum = 0.;\n rgData.rsum = 0.;\n rgData.totsamp = 0;\n\n Arrays.ill(rgData.A, 0);\n\n return INIT_GAIN_ANALYSIS_OK;\n }\n\n this.InitGainAnalysis = function (rgData, samplefreq) {\n if (ResetSampleFrequency(rgData, samplefreq) != INIT_GAIN_ANALYSIS_OK) {\n return INIT_GAIN_ANALYSIS_ERROR;\n }\n\n rgData.linpre = MAX_ORDER;\n rgData.rinpre = MAX_ORDER;\n rgData.lstep = MAX_ORDER;\n rgData.rstep = MAX_ORDER;\n rgData.lout = MAX_ORDER;\n rgData.rout = MAX_ORDER;\n\n Arrays.fill(rgData.B, 0);\n\n return INIT_GAIN_ANALYSIS_OK;\n };\n\n /**\n * square\n */\n function fsqr(d) {\n return d * d;\n }\n\n this.AnalyzeSamples = function (rgData, left_samples, left_samplesPos, right_samples, right_samplesPos, num_samples,\n num_channels) {\n var curleft;\n var curleftBase;\n var curright;\n var currightBase;\n var batchsamples;\n var cursamples;\n var cursamplepos;\n\n if (num_samples == 0)\n return GAIN_ANALYSIS_OK;\n\n cursamplepos = 0;\n batchsamples = num_samples;\n\n switch (num_channels) {\n case 1:\n right_samples = left_samples;\n right_samplesPos = left_samplesPos;\n break;\n case 2:\n break;\n default:\n return GAIN_ANALYSIS_ERROR;\n }\n\n if (num_samples < MAX_ORDER) {\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER, num_samples);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER, num_samples);\n } else {\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER, MAX_ORDER);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER, MAX_ORDER);\n }\n\n while (batchsamples > 0) {\n cursamples = batchsamples > rgData.sampleWindow - rgData.totsamp ? rgData.sampleWindow\n - rgData.totsamp\n : batchsamples;\n if (cursamplepos < MAX_ORDER) {\n curleft = rgData.linpre + cursamplepos;\n curleftBase = rgData.linprebuf;\n curright = rgData.rinpre + cursamplepos;\n currightBase = rgData.rinprebuf;\n if (cursamples > MAX_ORDER - cursamplepos)\n cursamples = MAX_ORDER - cursamplepos;\n } else {\n curleft = left_samplesPos + cursamplepos;\n curleftBase = left_samples;\n curright = right_samplesPos + cursamplepos;\n currightBase = right_samples;\n }\n\n filterYule(curleftBase, curleft, rgData.lstepbuf, rgData.lstep\n + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n filterYule(currightBase, curright, rgData.rstepbuf, rgData.rstep\n + rgData.totsamp, cursamples, ABYule[rgData.reqindex]);\n\n filterButter(rgData.lstepbuf, rgData.lstep + rgData.totsamp,\n rgData.loutbuf, rgData.lout + rgData.totsamp, cursamples,\n ABButter[rgData.reqindex]);\n filterButter(rgData.rstepbuf, rgData.rstep + rgData.totsamp,\n rgData.routbuf, rgData.rout + rgData.totsamp, cursamples,\n ABButter[rgData.reqindex]);\n\n curleft = rgData.lout + rgData.totsamp;\n /* Get the squared values */\n curleftBase = rgData.loutbuf;\n curright = rgData.rout + rgData.totsamp;\n currightBase = rgData.routbuf;\n\n var i = cursamples % 8;\n while ((i--) != 0) {\n rgData.lsum += fsqr(curleftBase[curleft++]);\n rgData.rsum += fsqr(currightBase[curright++]);\n }\n i = cursamples / 8;\n while ((i--) != 0) {\n rgData.lsum += fsqr(curleftBase[curleft + 0])\n + fsqr(curleftBase[curleft + 1])\n + fsqr(curleftBase[curleft + 2])\n + fsqr(curleftBase[curleft + 3])\n + fsqr(curleftBase[curleft + 4])\n + fsqr(curleftBase[curleft + 5])\n + fsqr(curleftBase[curleft + 6])\n + fsqr(curleftBase[curleft + 7]);\n curleft += 8;\n rgData.rsum += fsqr(currightBase[curright + 0])\n + fsqr(currightBase[curright + 1])\n + fsqr(currightBase[curright + 2])\n + fsqr(currightBase[curright + 3])\n + fsqr(currightBase[curright + 4])\n + fsqr(currightBase[curright + 5])\n + fsqr(currightBase[curright + 6])\n + fsqr(currightBase[curright + 7]);\n curright += 8;\n }\n\n batchsamples -= cursamples;\n cursamplepos += cursamples;\n rgData.totsamp += cursamples;\n if (rgData.totsamp == rgData.sampleWindow) {\n /* Get the Root Mean Square (RMS) for this set of samples */\n var val = GainAnalysis.STEPS_per_dB\n * 10.\n * Math.log10((rgData.lsum + rgData.rsum)\n / rgData.totsamp * 0.5 + 1.e-37);\n var ival = (val <= 0) ? 0 : 0 | val;\n if (ival >= rgData.A.length)\n ival = rgData.A.length - 1;\n rgData.A[ival]++;\n rgData.lsum = rgData.rsum = 0.;\n\n System.arraycopy(rgData.loutbuf, rgData.totsamp,\n rgData.loutbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.routbuf, rgData.totsamp,\n rgData.routbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.lstepbuf, rgData.totsamp,\n rgData.lstepbuf, 0, MAX_ORDER);\n System.arraycopy(rgData.rstepbuf, rgData.totsamp,\n rgData.rstepbuf, 0, MAX_ORDER);\n rgData.totsamp = 0;\n }\n if (rgData.totsamp > rgData.sampleWindow) {\n /*\n * somehow I really screwed up: Error in programming! Contact\n * author about totsamp > sampleWindow\n */\n return GAIN_ANALYSIS_ERROR;\n }\n }\n if (num_samples < MAX_ORDER) {\n System.arraycopy(rgData.linprebuf, num_samples, rgData.linprebuf,\n 0, MAX_ORDER - num_samples);\n System.arraycopy(rgData.rinprebuf, num_samples, rgData.rinprebuf,\n 0, MAX_ORDER - num_samples);\n System.arraycopy(left_samples, left_samplesPos, rgData.linprebuf,\n MAX_ORDER - num_samples, num_samples);\n System.arraycopy(right_samples, right_samplesPos, rgData.rinprebuf,\n MAX_ORDER - num_samples, num_samples);\n } else {\n System.arraycopy(left_samples, left_samplesPos + num_samples\n - MAX_ORDER, rgData.linprebuf, 0, MAX_ORDER);\n System.arraycopy(right_samples, right_samplesPos + num_samples\n - MAX_ORDER, rgData.rinprebuf, 0, MAX_ORDER);\n }\n\n return GAIN_ANALYSIS_OK;\n };\n\n function analyzeResult(Array, len) {\n var i;\n\n var elems = 0;\n for (i = 0; i < len; i++)\n elems += Array[i];\n if (elems == 0)\n return GAIN_NOT_ENOUGH_SAMPLES;\n\n var upper = 0 | Math.ceil(elems * (1. - RMS_PERCENTILE));\n for (i = len; i-- > 0;) {\n if ((upper -= Array[i]) <= 0)\n break;\n }\n\n //return (float) ((float) PINK_REF - (float) i / (float) STEPS_per_dB);\n return (PINK_REF - i / GainAnalysis.STEPS_per_dB);\n }\n\n this.GetTitleGain = function (rgData) {\n var retval = analyzeResult(rgData.A, rgData.A.length);\n\n for (var i = 0; i < rgData.A.length; i++) {\n rgData.B[i] += rgData.A[i];\n rgData.A[i] = 0;\n }\n\n for (var i = 0; i < MAX_ORDER; i++)\n rgData.linprebuf[i] = rgData.lstepbuf[i] = rgData.loutbuf[i] = rgData.rinprebuf[i] = rgData.rstepbuf[i] = rgData.routbuf[i] = 0.;\n\n rgData.totsamp = 0;\n rgData.lsum = rgData.rsum = 0.;\n return retval;\n }\n\n}\n\nmodule.exports = GainAnalysis;\n","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar defaults = {\n\tdefaultProtocol: 'http',\n\tevents: null,\n\tformat: noop,\n\tformatHref: noop,\n\tnl2br: false,\n\ttagName: 'a',\n\ttarget: typeToTarget,\n\tvalidate: true,\n\tignoreTags: [],\n\tattributes: null,\n\tclassName: 'linkified' // Deprecated value - no default class will be provided in the future\n};\n\nexports.defaults = defaults;\nexports.Options = Options;\nexports.contains = contains;\n\n\nfunction Options(opts) {\n\topts = opts || {};\n\n\tthis.defaultProtocol = opts.hasOwnProperty('defaultProtocol') ? opts.defaultProtocol : defaults.defaultProtocol;\n\tthis.events = opts.hasOwnProperty('events') ? opts.events : defaults.events;\n\tthis.format = opts.hasOwnProperty('format') ? opts.format : defaults.format;\n\tthis.formatHref = opts.hasOwnProperty('formatHref') ? opts.formatHref : defaults.formatHref;\n\tthis.nl2br = opts.hasOwnProperty('nl2br') ? opts.nl2br : defaults.nl2br;\n\tthis.tagName = opts.hasOwnProperty('tagName') ? opts.tagName : defaults.tagName;\n\tthis.target = opts.hasOwnProperty('target') ? opts.target : defaults.target;\n\tthis.validate = opts.hasOwnProperty('validate') ? opts.validate : defaults.validate;\n\tthis.ignoreTags = [];\n\n\t// linkAttributes and linkClass is deprecated\n\tthis.attributes = opts.attributes || opts.linkAttributes || defaults.attributes;\n\tthis.className = opts.hasOwnProperty('className') ? opts.className : opts.linkClass || defaults.className;\n\n\t// Make all tags names upper case\n\tvar ignoredTags = opts.hasOwnProperty('ignoreTags') ? opts.ignoreTags : defaults.ignoreTags;\n\tfor (var i = 0; i < ignoredTags.length; i++) {\n\t\tthis.ignoreTags.push(ignoredTags[i].toUpperCase());\n\t}\n}\n\nOptions.prototype = {\n\t/**\n * Given the token, return all options for how it should be displayed\n */\n\tresolve: function resolve(token) {\n\t\tvar href = token.toHref(this.defaultProtocol);\n\t\treturn {\n\t\t\tformatted: this.get('format', token.toString(), token),\n\t\t\tformattedHref: this.get('formatHref', href, token),\n\t\t\ttagName: this.get('tagName', href, token),\n\t\t\tclassName: this.get('className', href, token),\n\t\t\ttarget: this.get('target', href, token),\n\t\t\tevents: this.getObject('events', href, token),\n\t\t\tattributes: this.getObject('attributes', href, token)\n\t\t};\n\t},\n\n\n\t/**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options. By default,\n */\n\tcheck: function check(token) {\n\t\treturn this.get('validate', token.toString(), token);\n\t},\n\n\n\t// Private methods\n\n\t/**\n * Resolve an option's value based on the value of the option and the given\n * params.\n * @param {String} key Name of option to use\n * @param operator will be passed to the target option if it's method\n * @param {MultiToken} token The token from linkify.tokenize\n */\n\tget: function get(key, operator, token) {\n\t\tvar optionValue = void 0,\n\t\t option = this[key];\n\t\tif (!option) {\n\t\t\treturn option;\n\t\t}\n\n\t\tswitch (typeof option === 'undefined' ? 'undefined' : _typeof(option)) {\n\t\t\tcase 'function':\n\t\t\t\treturn option(operator, token.type);\n\t\t\tcase 'object':\n\t\t\t\toptionValue = option.hasOwnProperty(token.type) ? option[token.type] : defaults[key];\n\t\t\t\treturn typeof optionValue === 'function' ? optionValue(operator, token.type) : optionValue;\n\t\t}\n\n\t\treturn option;\n\t},\n\tgetObject: function getObject(key, operator, token) {\n\t\tvar option = this[key];\n\t\treturn typeof option === 'function' ? option(operator, token.type) : option;\n\t}\n};\n\n/**\n * Quick indexOf replacement for checking the ignoreTags option\n */\nfunction contains(arr, value) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (arr[i] === value) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction noop(val) {\n\treturn val;\n}\n\nfunction typeToTarget(href, type) {\n\treturn type === 'url' ? '_blank' : null;\n}","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\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 getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-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-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\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++], props[key]);\n return O;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nfunction Presets() {\n function VBRPresets(qual, comp, compS,\n y, shThreshold, shThresholdS,\n adj, adjShort, lower,\n curve, sens, inter,\n joint, mod, fix) {\n this.vbr_q = qual;\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.expY = y;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.masking_adj = adj;\n this.masking_adj_short = adjShort;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.ath_sensitivity = sens;\n this.interch = inter;\n this.safejoint = joint;\n this.sfb21mod = mod;\n this.msfix = fix;\n }\n\n function ABRPresets(kbps, comp, compS,\n joint, fix, shThreshold,\n shThresholdS, bass, sc,\n mask, lower, curve,\n interCh, sfScale) {\n this.quant_comp = comp;\n this.quant_comp_s = compS;\n this.safejoint = joint;\n this.nsmsfix = fix;\n this.st_lrm = shThreshold;\n this.st_s = shThresholdS;\n this.nsbass = bass;\n this.scale = sc;\n this.masking_adj = mask;\n this.ath_lower = lower;\n this.ath_curve = curve;\n this.interch = interCh;\n this.sfscale = sfScale;\n }\n\n var lame;\n\n this.setModules = function (_lame) {\n lame = _lame;\n };\n\n /**\n *
\n     * Switch mappings for VBR mode VBR_RH\n     *             vbr_q  qcomp_l  qcomp_s  expY  st_lrm   st_s  mask adj_l  adj_s  ath_lower  ath_curve  ath_sens  interChR  safejoint sfb21mod  msfix\n     * 
\n */\n var vbr_old_switch_map = [\n new VBRPresets(0, 9, 9, 0, 5.20, 125.0, -4.2, -6.3, 4.8, 1, 0, 0, 2, 21, 0.97),\n new VBRPresets(1, 9, 9, 0, 5.30, 125.0, -3.6, -5.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 5.60, 125.0, -2.2, -3.5, 2.8, 2, 0, 0, 2, 21, 1.49),\n new VBRPresets(3, 9, 9, 1, 5.80, 130.0, -1.8, -2.8, 2.6, 3, -4, 0, 2, 20, 1.64),\n new VBRPresets(4, 9, 9, 1, 6.00, 135.0, -0.7, -1.1, 1.1, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 6.40, 140.0, 0.5, 0.4, -7.5, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 6.60, 145.0, 0.67, 0.65, -14.7, 6.5, -19, 0.0004, 0, 0, 2.30),\n new VBRPresets(7, 9, 9, 1, 6.60, 145.0, 0.8, 0.75, -19.7, 8, -22, 0.0006, 0, 0, 2.70),\n new VBRPresets(8, 9, 9, 1, 6.60, 145.0, 1.2, 1.15, -27.5, 10, -23, 0.0007, 0, 0, 0),\n new VBRPresets(9, 9, 9, 1, 6.60, 145.0, 1.6, 1.6, -36, 11, -25, 0.0008, 0, 0, 0),\n new VBRPresets(10, 9, 9, 1, 6.60, 145.0, 2.0, 2.0, -36, 12, -25, 0.0008, 0, 0, 0)\n ];\n\n /**\n *
\n     *                 vbr_q  qcomp_l  qcomp_s  expY  st_lrm   st_s  mask adj_l  adj_s  ath_lower  ath_curve  ath_sens  interChR  safejoint sfb21mod  msfix\n     * 
\n */\n var vbr_psy_switch_map = [\n new VBRPresets(0, 9, 9, 0, 4.20, 25.0, -7.0, -4.0, 7.5, 1, 0, 0, 2, 26, 0.97),\n new VBRPresets(1, 9, 9, 0, 4.20, 25.0, -5.6, -3.6, 4.5, 1.5, 0, 0, 2, 21, 1.35),\n new VBRPresets(2, 9, 9, 0, 4.20, 25.0, -4.4, -1.8, 2, 2, 0, 0, 2, 18, 1.49),\n new VBRPresets(3, 9, 9, 1, 4.20, 25.0, -3.4, -1.25, 1.1, 3, -4, 0, 2, 15, 1.64),\n new VBRPresets(4, 9, 9, 1, 4.20, 25.0, -2.2, 0.1, 0, 3.5, -8, 0, 2, 0, 1.79),\n new VBRPresets(5, 9, 9, 1, 4.20, 25.0, -1.0, 1.65, -7.7, 4, -12, 0.0002, 0, 0, 1.95),\n new VBRPresets(6, 9, 9, 1, 4.20, 25.0, -0.0, 2.47, -7.7, 6.5, -19, 0.0004, 0, 0, 2),\n new VBRPresets(7, 9, 9, 1, 4.20, 25.0, 0.5, 2.0, -14.5, 8, -22, 0.0006, 0, 0, 2),\n new VBRPresets(8, 9, 9, 1, 4.20, 25.0, 1.0, 2.4, -22.0, 10, -23, 0.0007, 0, 0, 2),\n new VBRPresets(9, 9, 9, 1, 4.20, 25.0, 1.5, 2.95, -30.0, 11, -25, 0.0008, 0, 0, 2),\n new VBRPresets(10, 9, 9, 1, 4.20, 25.0, 2.0, 2.95, -36.0, 12, -30, 0.0008, 0, 0, 2)\n ];\n\n function apply_vbr_preset(gfp, a, enforce) {\n var vbr_preset = gfp.VBR == VbrMode.vbr_rh ? vbr_old_switch_map\n : vbr_psy_switch_map;\n\n var x = gfp.VBR_q_frac;\n var p = vbr_preset[a];\n var q = vbr_preset[a + 1];\n var set = p;\n\n // NOOP(vbr_q);\n // NOOP(quant_comp);\n // NOOP(quant_comp_s);\n // NOOP(expY);\n p.st_lrm = p.st_lrm + x * (q.st_lrm - p.st_lrm);\n // LERP(st_lrm);\n p.st_s = p.st_s + x * (q.st_s - p.st_s);\n // LERP(st_s);\n p.masking_adj = p.masking_adj + x * (q.masking_adj - p.masking_adj);\n // LERP(masking_adj);\n p.masking_adj_short = p.masking_adj_short + x\n * (q.masking_adj_short - p.masking_adj_short);\n // LERP(masking_adj_short);\n p.ath_lower = p.ath_lower + x * (q.ath_lower - p.ath_lower);\n // LERP(ath_lower);\n p.ath_curve = p.ath_curve + x * (q.ath_curve - p.ath_curve);\n // LERP(ath_curve);\n p.ath_sensitivity = p.ath_sensitivity + x\n * (q.ath_sensitivity - p.ath_sensitivity);\n // LERP(ath_sensitivity);\n p.interch = p.interch + x * (q.interch - p.interch);\n // LERP(interch);\n // NOOP(safejoint);\n // NOOP(sfb21mod);\n p.msfix = p.msfix + x * (q.msfix - p.msfix);\n // LERP(msfix);\n\n lame_set_VBR_q(gfp, set.vbr_q);\n\n if (enforce != 0)\n gfp.quant_comp = set.quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0))\n gfp.quant_comp = set.quant_comp;\n // SET_OPTION(quant_comp, set.quant_comp, -1);\n if (enforce != 0)\n gfp.quant_comp_short = set.quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0))\n gfp.quant_comp_short = set.quant_comp_s;\n // SET_OPTION(quant_comp_short, set.quant_comp_s, -1);\n if (set.expY != 0) {\n gfp.experimentalY = set.expY != 0;\n }\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre = set.st_lrm;\n // SET_OPTION(short_threshold_lrm, set.st_lrm, -1);\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre_s = set.st_s;\n // SET_OPTION(short_threshold_s, set.st_s, -1);\n if (enforce != 0)\n gfp.maskingadjust = set.masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0))\n gfp.maskingadjust = set.masking_adj;\n // SET_OPTION(maskingadjust, set.masking_adj, 0);\n if (enforce != 0)\n gfp.maskingadjust_short = set.masking_adj_short;\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = set.masking_adj_short;\n // SET_OPTION(maskingadjust_short, set.masking_adj_short, 0);\n if (enforce != 0)\n gfp.ATHlower = -set.ath_lower / 10.0;\n else if (!(Math.abs((-gfp.ATHlower * 10.0) - 0) > 0))\n gfp.ATHlower = -set.ath_lower / 10.0;\n // SET_OPTION(ATHlower, set.ath_lower, 0);\n if (enforce != 0)\n gfp.ATHcurve = set.ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0))\n gfp.ATHcurve = set.ath_curve;\n // SET_OPTION(ATHcurve, set.ath_curve, -1);\n if (enforce != 0)\n gfp.athaa_sensitivity = set.ath_sensitivity;\n else if (!(Math.abs(gfp.athaa_sensitivity - -1) > 0))\n gfp.athaa_sensitivity = set.ath_sensitivity;\n // SET_OPTION(athaa_sensitivity, set.ath_sensitivity, 0);\n if (set.interch > 0) {\n if (enforce != 0)\n gfp.interChRatio = set.interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0))\n gfp.interChRatio = set.interch;\n // SET_OPTION(interChRatio, set.interch, -1);\n }\n\n /* parameters for which there is no proper set/get interface */\n if (set.safejoint > 0) {\n gfp.exp_nspsytune = gfp.exp_nspsytune | set.safejoint;\n }\n if (set.sfb21mod > 0) {\n gfp.exp_nspsytune = gfp.exp_nspsytune | (set.sfb21mod << 20);\n }\n if (enforce != 0)\n gfp.msfix = set.msfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0))\n gfp.msfix = set.msfix;\n // SET_OPTION(msfix, set.msfix, -1);\n\n if (enforce == 0) {\n gfp.VBR_q = a;\n gfp.VBR_q_frac = x;\n }\n }\n\n /**\n *
\n     *  Switch mappings for ABR mode\n     *\n     *              kbps  quant q_s safejoint nsmsfix st_lrm  st_s  ns-bass scale   msk ath_lwr ath_curve  interch , sfscale\n     * 
\n */\n var abr_switch_map = [\n new ABRPresets(8, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -30.0, 11, 0.0012, 1), /* 8, impossible to use in stereo */\n new ABRPresets(16, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -25.0, 11, 0.0010, 1), /* 16 */\n new ABRPresets(24, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -20.0, 11, 0.0010, 1), /* 24 */\n new ABRPresets(32, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -15.0, 11, 0.0010, 1), /* 32 */\n new ABRPresets(40, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10.0, 11, 0.0009, 1), /* 40 */\n new ABRPresets(48, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -10.0, 11, 0.0009, 1), /* 48 */\n new ABRPresets(56, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -6.0, 11, 0.0008, 1), /* 56 */\n new ABRPresets(64, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, -2.0, 11, 0.0008, 1), /* 64 */\n new ABRPresets(80, 9, 9, 0, 0, 6.60, 145, 0, 0.95, 0, .0, 8, 0.0007, 1), /* 80 */\n new ABRPresets(96, 9, 9, 0, 2.50, 6.60, 145, 0, 0.95, 0, 1.0, 5.5, 0.0006, 1), /* 96 */\n new ABRPresets(112, 9, 9, 0, 2.25, 6.60, 145, 0, 0.95, 0, 2.0, 4.5, 0.0005, 1), /* 112 */\n new ABRPresets(128, 9, 9, 0, 1.95, 6.40, 140, 0, 0.95, 0, 3.0, 4, 0.0002, 1), /* 128 */\n new ABRPresets(160, 9, 9, 1, 1.79, 6.00, 135, 0, 0.95, -2, 5.0, 3.5, 0, 1), /* 160 */\n new ABRPresets(192, 9, 9, 1, 1.49, 5.60, 125, 0, 0.97, -4, 7.0, 3, 0, 0), /* 192 */\n new ABRPresets(224, 9, 9, 1, 1.25, 5.20, 125, 0, 0.98, -6, 9.0, 2, 0, 0), /* 224 */\n new ABRPresets(256, 9, 9, 1, 0.97, 5.20, 125, 0, 1.00, -8, 10.0, 1, 0, 0), /* 256 */\n new ABRPresets(320, 9, 9, 1, 0.90, 5.20, 125, 0, 1.00, -10, 12.0, 0, 0, 0) /* 320 */\n ];\n\n function apply_abr_preset(gfp, preset, enforce) {\n /* Variables for the ABR stuff */\n var actual_bitrate = preset;\n\n var r = lame.nearestBitrateFullIndex(preset);\n\n gfp.VBR = VbrMode.vbr_abr;\n gfp.VBR_mean_bitrate_kbps = actual_bitrate;\n gfp.VBR_mean_bitrate_kbps = Math.min(gfp.VBR_mean_bitrate_kbps, 320);\n gfp.VBR_mean_bitrate_kbps = Math.max(gfp.VBR_mean_bitrate_kbps, 8);\n gfp.brate = gfp.VBR_mean_bitrate_kbps;\n if (gfp.VBR_mean_bitrate_kbps > 320) {\n gfp.disable_reservoir = true;\n }\n\n /* parameters for which there is no proper set/get interface */\n if (abr_switch_map[r].safejoint > 0)\n gfp.exp_nspsytune = gfp.exp_nspsytune | 2;\n /* safejoint */\n\n if (abr_switch_map[r].sfscale > 0) {\n gfp.internal_flags.noise_shaping = 2;\n }\n /* ns-bass tweaks */\n if (Math.abs(abr_switch_map[r].nsbass) > 0) {\n var k = (int)(abr_switch_map[r].nsbass * 4);\n if (k < 0)\n k += 64;\n gfp.exp_nspsytune = gfp.exp_nspsytune | (k << 2);\n }\n\n if (enforce != 0)\n gfp.quant_comp = abr_switch_map[r].quant_comp;\n else if (!(Math.abs(gfp.quant_comp - -1) > 0))\n gfp.quant_comp = abr_switch_map[r].quant_comp;\n // SET_OPTION(quant_comp, abr_switch_map[r].quant_comp, -1);\n if (enforce != 0)\n gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n else if (!(Math.abs(gfp.quant_comp_short - -1) > 0))\n gfp.quant_comp_short = abr_switch_map[r].quant_comp_s;\n // SET_OPTION(quant_comp_short, abr_switch_map[r].quant_comp_s, -1);\n\n if (enforce != 0)\n gfp.msfix = abr_switch_map[r].nsmsfix;\n else if (!(Math.abs(gfp.msfix - -1) > 0))\n gfp.msfix = abr_switch_map[r].nsmsfix;\n // SET_OPTION(msfix, abr_switch_map[r].nsmsfix, -1);\n\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre = abr_switch_map[r].st_lrm;\n // SET_OPTION(short_threshold_lrm, abr_switch_map[r].st_lrm, -1);\n if (enforce != 0)\n gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n else if (!(Math.abs(gfp.internal_flags.nsPsy.attackthre_s - -1) > 0))\n gfp.internal_flags.nsPsy.attackthre_s = abr_switch_map[r].st_s;\n // SET_OPTION(short_threshold_s, abr_switch_map[r].st_s, -1);\n\n /*\n * ABR seems to have big problems with clipping, especially at low\n * bitrates\n */\n /*\n * so we compensate for that here by using a scale value depending on\n * bitrate\n */\n if (enforce != 0)\n gfp.scale = abr_switch_map[r].scale;\n else if (!(Math.abs(gfp.scale - -1) > 0))\n gfp.scale = abr_switch_map[r].scale;\n // SET_OPTION(scale, abr_switch_map[r].scale, -1);\n\n if (enforce != 0)\n gfp.maskingadjust = abr_switch_map[r].masking_adj;\n else if (!(Math.abs(gfp.maskingadjust - 0) > 0))\n gfp.maskingadjust = abr_switch_map[r].masking_adj;\n // SET_OPTION(maskingadjust, abr_switch_map[r].masking_adj, 0);\n if (abr_switch_map[r].masking_adj > 0) {\n if (enforce != 0)\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * .9);\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * .9);\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // .9, 0);\n } else {\n if (enforce != 0)\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * 1.1);\n else if (!(Math.abs(gfp.maskingadjust_short - 0) > 0))\n gfp.maskingadjust_short = (abr_switch_map[r].masking_adj * 1.1);\n // SET_OPTION(maskingadjust_short, abr_switch_map[r].masking_adj *\n // 1.1, 0);\n }\n\n if (enforce != 0)\n gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n else if (!(Math.abs((-gfp.ATHlower * 10.) - 0) > 0))\n gfp.ATHlower = -abr_switch_map[r].ath_lower / 10.;\n // SET_OPTION(ATHlower, abr_switch_map[r].ath_lower, 0);\n if (enforce != 0)\n gfp.ATHcurve = abr_switch_map[r].ath_curve;\n else if (!(Math.abs(gfp.ATHcurve - -1) > 0))\n gfp.ATHcurve = abr_switch_map[r].ath_curve;\n // SET_OPTION(ATHcurve, abr_switch_map[r].ath_curve, -1);\n\n if (enforce != 0)\n gfp.interChRatio = abr_switch_map[r].interch;\n else if (!(Math.abs(gfp.interChRatio - -1) > 0))\n gfp.interChRatio = abr_switch_map[r].interch;\n // SET_OPTION(interChRatio, abr_switch_map[r].interch, -1);\n\n return preset;\n }\n\n this.apply_preset = function(gfp, preset, enforce) {\n /* translate legacy presets */\n switch (preset) {\n case Lame.R3MIX:\n {\n preset = Lame.V3;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.MEDIUM:\n {\n preset = Lame.V4;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.MEDIUM_FAST:\n {\n preset = Lame.V4;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.STANDARD:\n {\n preset = Lame.V2;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.STANDARD_FAST:\n {\n preset = Lame.V2;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.EXTREME:\n {\n preset = Lame.V0;\n gfp.VBR = VbrMode.vbr_rh;\n break;\n }\n case Lame.EXTREME_FAST:\n {\n preset = Lame.V0;\n gfp.VBR = VbrMode.vbr_mtrh;\n break;\n }\n case Lame.INSANE:\n {\n preset = 320;\n gfp.preset = preset;\n apply_abr_preset(gfp, preset, enforce);\n gfp.VBR = VbrMode.vbr_off;\n return preset;\n }\n }\n\n gfp.preset = preset;\n {\n switch (preset) {\n case Lame.V9:\n apply_vbr_preset(gfp, 9, enforce);\n return preset;\n case Lame.V8:\n apply_vbr_preset(gfp, 8, enforce);\n return preset;\n case Lame.V7:\n apply_vbr_preset(gfp, 7, enforce);\n return preset;\n case Lame.V6:\n apply_vbr_preset(gfp, 6, enforce);\n return preset;\n case Lame.V5:\n apply_vbr_preset(gfp, 5, enforce);\n return preset;\n case Lame.V4:\n apply_vbr_preset(gfp, 4, enforce);\n return preset;\n case Lame.V3:\n apply_vbr_preset(gfp, 3, enforce);\n return preset;\n case Lame.V2:\n apply_vbr_preset(gfp, 2, enforce);\n return preset;\n case Lame.V1:\n apply_vbr_preset(gfp, 1, enforce);\n return preset;\n case Lame.V0:\n apply_vbr_preset(gfp, 0, enforce);\n return preset;\n default:\n break;\n }\n }\n if (8 <= preset && preset <= 320) {\n return apply_abr_preset(gfp, preset, enforce);\n }\n\n /* no corresponding preset found */\n gfp.preset = 0;\n return preset;\n }\n\n // Rest from getset.c:\n\n /**\n * VBR quality level.
\n * 0 = highest
\n * 9 = lowest\n */\n function lame_set_VBR_q(gfp, VBR_q) {\n var ret = 0;\n\n if (0 > VBR_q) {\n /* Unknown VBR quality level! */\n ret = -1;\n VBR_q = 0;\n }\n if (9 < VBR_q) {\n ret = -1;\n VBR_q = 9;\n }\n\n gfp.VBR_q = VBR_q;\n gfp.VBR_q_frac = 0;\n return ret;\n }\n\n}\n\nmodule.exports = Presets;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\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: toString(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 NATIVE_SYMBOL = require('../internals/native-symbol');\n\n/* eslint-disable es-x/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","module.exports = {};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice-simple');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) == '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() == ':') {\n if (charAt(input, 1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n } return join(result, '.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length == 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += toLowerCase(chr);\n } else if (chr == ':') {\n if (stateOverride && (\n (url.isSpecial() != hasOwn(specialSchemes, buffer)) ||\n (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) == '[') {\n if (charAt(input, input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme == 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username != '' || this.password != '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port == '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search == '') {\n this.query = null;\n } else {\n if ('?' == charAt(search, 0)) search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash == '') {\n this.fragment = null;\n return;\n }\n if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _multi = require('./tokens/multi');\n\nvar MULTI_TOKENS = _interopRequireWildcard(_multi);\n\nvar _text = require('./tokens/text');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/Email_address (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main parser\n*/\n\nvar makeState = function makeState(tokenClass) {\n\treturn new _state.TokenState(tokenClass);\n};\n\n// The universal starting state.\nvar S_START = makeState();\n\n// Intermediate states for URLs. Note that domains that begin with a protocol\n// are treated slighly differently from those that don't.\nvar S_PROTOCOL = makeState(); // e.g., 'http:'\nvar S_MAILTO = makeState(); // 'mailto:'\nvar S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''\nvar S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'\nvar S_DOMAIN = makeState(); // parsed string ends with a potential domain name (A)\nvar S_DOMAIN_DOT = makeState(); // (A) domain followed by DOT\nvar S_TLD = makeState(_multi.URL); // (A) Simplest possible URL with no query string\nvar S_TLD_COLON = makeState(); // (A) URL followed by colon (potential port number here)\nvar S_TLD_PORT = makeState(_multi.URL); // TLD followed by a port number\nvar S_URL = makeState(_multi.URL); // Long URL with optional port and maybe query string\nvar S_URL_NON_ACCEPTING = makeState(); // URL followed by some symbols (will not be part of the final URL)\nvar S_URL_OPENBRACE = makeState(); // URL followed by {\nvar S_URL_OPENBRACKET = makeState(); // URL followed by [\nvar S_URL_OPENANGLEBRACKET = makeState(); // URL followed by <\nvar S_URL_OPENPAREN = makeState(); // URL followed by (\nvar S_URL_OPENBRACE_Q = makeState(_multi.URL); // URL followed by { and some symbols that the URL can end it\nvar S_URL_OPENBRACKET_Q = makeState(_multi.URL); // URL followed by [ and some symbols that the URL can end it\nvar S_URL_OPENANGLEBRACKET_Q = makeState(_multi.URL); // URL followed by < and some symbols that the URL can end it\nvar S_URL_OPENPAREN_Q = makeState(_multi.URL); // URL followed by ( and some symbols that the URL can end it\nvar S_URL_OPENBRACE_SYMS = makeState(); // S_URL_OPENBRACE_Q followed by some symbols it cannot end it\nvar S_URL_OPENBRACKET_SYMS = makeState(); // S_URL_OPENBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENANGLEBRACKET_SYMS = makeState(); // S_URL_OPENANGLEBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENPAREN_SYMS = makeState(); // S_URL_OPENPAREN_Q followed by some symbols it cannot end it\nvar S_EMAIL_DOMAIN = makeState(); // parsed string starts with local email info + @ with a potential domain name (C)\nvar S_EMAIL_DOMAIN_DOT = makeState(); // (C) domain followed by DOT\nvar S_EMAIL = makeState(_multi.EMAIL); // (C) Possible email address (could have more tlds)\nvar S_EMAIL_COLON = makeState(); // (C) URL followed by colon (potential port number here)\nvar S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port\nvar S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)\nvar S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars\nvar S_LOCALPART = makeState(); // Local part of the email address\nvar S_LOCALPART_AT = makeState(); // Local part of the email address plus @\nvar S_LOCALPART_DOT = makeState(); // Local part of the email address plus '.' (localpart cannot end in .)\nvar S_NL = makeState(_multi.NL); // single new line\n\n// Make path from start to protocol (with '//')\nS_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);\n\nS_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL_SLASH.on(_text.SLASH, S_PROTOCOL_SLASH_SLASH);\n\n// The very first potential domain name\nS_START.on(_text.TLD, S_DOMAIN).on(_text.DOMAIN, S_DOMAIN).on(_text.LOCALHOST, S_TLD).on(_text.NUM, S_DOMAIN);\n\n// Force URL for protocol followed by anything sane\nS_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL);\n\n// Account for dots and hyphens\n// hyphens are usually parts of domain names\nS_DOMAIN.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL_DOMAIN.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Hyphen can jump back to a domain name\n\n// After the first domain and a dot, we can find either a URL or another domain\nS_DOMAIN_DOT.on(_text.TLD, S_TLD).on(_text.DOMAIN, S_DOMAIN).on(_text.NUM, S_DOMAIN).on(_text.LOCALHOST, S_DOMAIN);\n\nS_EMAIL_DOMAIN_DOT.on(_text.TLD, S_EMAIL).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.NUM, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL_DOMAIN);\n\n// S_TLD accepts! But the URL could be longer, try to find a match greedily\n// The `run` function should be able to \"rollback\" to the accepting state\nS_TLD.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Become real URLs after `SLASH` or `COLON NUM SLASH`\n// Here PSS and non-PSS converge\nS_TLD.on(_text.COLON, S_TLD_COLON).on(_text.SLASH, S_URL);\nS_TLD_COLON.on(_text.NUM, S_TLD_PORT);\nS_TLD_PORT.on(_text.SLASH, S_URL);\nS_EMAIL.on(_text.COLON, S_EMAIL_COLON);\nS_EMAIL_COLON.on(_text.NUM, S_EMAIL_PORT);\n\n// Types of characters the URL can definitely end in\nvar qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND];\n\n// Types of tokens that can follow a URL and be part of the query string\n// but cannot be the very last characters\n// Characters that cannot appear in the URL at all should be excluded\nvar qsNonAccepting = [_text.COLON, _text.DOT, _text.QUERY, _text.PUNCTUATION, _text.CLOSEBRACE, _text.CLOSEBRACKET, _text.CLOSEANGLEBRACKET, _text.CLOSEPAREN, _text.OPENBRACE, _text.OPENBRACKET, _text.OPENANGLEBRACKET, _text.OPENPAREN];\n\n// These states are responsible primarily for determining whether or not to\n// include the final round bracket.\n\n// URL, followed by an opening bracket\nS_URL.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// URL with extra symbols at the end, followed by an opening bracket\nS_URL_NON_ACCEPTING.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// Closing bracket component. This character WILL be included in the URL\nS_URL_OPENBRACE.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_Q.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_Q.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_Q.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_Q.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_SYMS.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_SYMS.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_SYMS.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_SYMS.on(_text.CLOSEPAREN, S_URL);\n\n// URL that beings with an opening bracket, followed by a symbols.\n// Note that the final state can still be `S_URL_OPENBRACE_Q` (if the URL only\n// has a single opening bracket for some reason).\nS_URL_OPENBRACE.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// URL that begins with an opening bracket, followed by some symbols\nS_URL_OPENBRACE_Q.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_Q.on(qsNonAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsNonAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsNonAccepting, S_URL_OPENPAREN_Q);\n\nS_URL_OPENBRACE_SYMS.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_SYMS.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_SYMS.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN_SYMS.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// Account for the query string\nS_URL.on(qsAccepting, S_URL);\nS_URL_NON_ACCEPTING.on(qsAccepting, S_URL);\n\nS_URL.on(qsNonAccepting, S_URL_NON_ACCEPTING);\nS_URL_NON_ACCEPTING.on(qsNonAccepting, S_URL_NON_ACCEPTING);\n\n// Email address-specific state definitions\n// Note: We are not allowing '/' in email addresses since this would interfere\n// with real URLs\n\n// For addresses with the mailto prefix\n// 'mailto:' followed by anything sane is a valid email\nS_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL);\n\n// Greedily get more potential valid email values\nS_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\nS_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\n\n// For addresses without the mailto prefix\n// Tokens allowed in the localpart of the email\nvar localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD];\n\n// Some of the tokens in `localpartAccepting` are already accounted for here and\n// will not be overwritten (don't worry)\nS_DOMAIN.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_TLD.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_DOMAIN_DOT.on(localpartAccepting, S_LOCALPART);\n\n// Okay we're on a localpart. Now what?\n// TODO: IP addresses and what if the email starts with numbers?\nS_LOCALPART.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT) // close to an email address now\n.on(_text.DOT, S_LOCALPART_DOT);\nS_LOCALPART_DOT.on(localpartAccepting, S_LOCALPART);\nS_LOCALPART_AT.on(_text.TLD, S_EMAIL_DOMAIN).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL);\n// States following `@` defined above\n\nvar run = function run(tokens) {\n\tvar len = tokens.length;\n\tvar cursor = 0;\n\tvar multis = [];\n\tvar textTokens = [];\n\n\twhile (cursor < len) {\n\t\tvar state = S_START;\n\t\tvar secondState = null;\n\t\tvar nextState = null;\n\t\tvar multiLength = 0;\n\t\tvar latestAccepting = null;\n\t\tvar sinceAccepts = -1;\n\n\t\twhile (cursor < len && !(secondState = state.next(tokens[cursor]))) {\n\t\t\t// Starting tokens with nowhere to jump to.\n\t\t\t// Consider these to be just plain text\n\t\t\ttextTokens.push(tokens[cursor++]);\n\t\t}\n\n\t\twhile (cursor < len && (nextState = secondState || state.next(tokens[cursor]))) {\n\n\t\t\t// Get the next state\n\t\t\tsecondState = null;\n\t\t\tstate = nextState;\n\n\t\t\t// Keep track of the latest accepting state\n\t\t\tif (state.accepts()) {\n\t\t\t\tsinceAccepts = 0;\n\t\t\t\tlatestAccepting = state;\n\t\t\t} else if (sinceAccepts >= 0) {\n\t\t\t\tsinceAccepts++;\n\t\t\t}\n\n\t\t\tcursor++;\n\t\t\tmultiLength++;\n\t\t}\n\n\t\tif (sinceAccepts < 0) {\n\n\t\t\t// No accepting state was found, part of a regular text token\n\t\t\t// Add all the tokens we looked at to the text tokens array\n\t\t\tfor (var i = cursor - multiLength; i < cursor; i++) {\n\t\t\t\ttextTokens.push(tokens[i]);\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Accepting state!\n\n\t\t\t// First close off the textTokens (if available)\n\t\t\tif (textTokens.length > 0) {\n\t\t\t\tmultis.push(new _multi.TEXT(textTokens));\n\t\t\t\ttextTokens = [];\n\t\t\t}\n\n\t\t\t// Roll back to the latest accepting state\n\t\t\tcursor -= sinceAccepts;\n\t\t\tmultiLength -= sinceAccepts;\n\n\t\t\t// Create a new multitoken\n\t\t\tvar MULTI = latestAccepting.emit();\n\t\t\tmultis.push(new MULTI(tokens.slice(cursor - multiLength, cursor)));\n\t\t}\n\t}\n\n\t// Finally close off the textTokens (if available)\n\tif (textTokens.length > 0) {\n\t\tmultis.push(new _multi.TEXT(textTokens));\n\t}\n\n\treturn multis;\n};\n\nexports.State = _state.TokenState;\nexports.TOKENS = MULTI_TOKENS;\nexports.run = run;\nexports.start = S_START;","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es-x/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.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(it, '') : Object(it);\n} : Object;\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","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","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","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\n\n// `Array.prototype.some` method\n// https://tc39.es/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","\"use strict\";\n\nexports.__esModule = true;\nfunction createTokenClass() {\n\treturn function (value) {\n\t\tif (value) {\n\t\t\tthis.v = value;\n\t\t}\n\t};\n}\n\nexports.createTokenClass = createTokenClass;","var global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\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#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['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(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(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_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/web.set-interval');\nrequire('../modules/web.set-timeout');\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\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 : aConstructor(S);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","/* eslint-disable es-x/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-x/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","'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","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar MeanBits = require('./MeanBits.js');\nvar Encoder = require('./Encoder.js');\nvar L3Side = require('./L3Side.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nfunction CBRNewIterationLoop(_quantize) {\n var quantize = _quantize;\n this.quantize = quantize;\n\tthis.iteration_loop = function(gfp, pe, ms_ener_ratio, ratio) {\n\t\tvar gfc = gfp.internal_flags;\n var l3_xmin = new_float(L3Side.SFBMAX);\n\t\tvar xrpow = new_float(576);\n\t\tvar targ_bits = new_int(2);\n\t\tvar mean_bits = 0, max_bits;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tvar mb = new MeanBits(mean_bits);\n\t\tthis.quantize.rv.ResvFrameBegin(gfp, mb);\n\t\tmean_bits = mb.bits;\n\n\t\t/* quantize! */\n\t\tfor (var gr = 0; gr < gfc.mode_gr; gr++) {\n\n\t\t\t/*\n\t\t\t * calculate needed bits\n\t\t\t */\n\t\t\tmax_bits = this.quantize.qupvt.on_pe(gfp, pe, targ_bits, mean_bits,\n\t\t\t\t\tgr, gr);\n\n\t\t\tif (gfc.mode_ext == Encoder.MPG_MD_MS_LR) {\n\t\t\t\tthis.quantize.ms_convert(gfc.l3_side, gr);\n\t\t\t\tthis.quantize.qupvt.reduce_side(targ_bits, ms_ener_ratio[gr],\n\t\t\t\t\t\tmean_bits, max_bits);\n\t\t\t}\n\n\t\t\tfor (var ch = 0; ch < gfc.channels_out; ch++) {\n\t\t\t\tvar adjust, masking_lower_db;\n\t\t\t\tvar cod_info = l3_side.tt[gr][ch];\n\n\t\t\t\tif (cod_info.block_type != Encoder.SHORT_TYPE) {\n\t\t\t\t\t// NORM, START or STOP type\n\t\t\t\t\tadjust = 0;\n\t\t\t\t\tmasking_lower_db = gfc.PSY.mask_adjust - adjust;\n\t\t\t\t} else {\n\t\t\t\t\tadjust = 0;\n\t\t\t\t\tmasking_lower_db = gfc.PSY.mask_adjust_short - adjust;\n\t\t\t\t}\n\t\t\t\tgfc.masking_lower = Math.pow(10.0,\n\t\t\t\t\t\tmasking_lower_db * 0.1);\n\n\t\t\t\t/*\n\t\t\t\t * init_outer_loop sets up cod_info, scalefac and xrpow\n\t\t\t\t */\n\t\t\t\tthis.quantize.init_outer_loop(gfc, cod_info);\n\t\t\t\tif (this.quantize.init_xrpow(gfc, cod_info, xrpow)) {\n\t\t\t\t\t/*\n\t\t\t\t\t * xr contains energy we will have to encode calculate the\n\t\t\t\t\t * masking abilities find some good quantization in\n\t\t\t\t\t * outer_loop\n\t\t\t\t\t */\n\t\t\t\t\tthis.quantize.qupvt.calc_xmin(gfp, ratio[gr][ch], cod_info,\n\t\t\t\t\t\t\tl3_xmin);\n\t\t\t\t\tthis.quantize.outer_loop(gfp, cod_info, l3_xmin, xrpow, ch,\n\t\t\t\t\t\t\ttarg_bits[ch]);\n\t\t\t\t}\n\n\t\t\t\tthis.quantize.iteration_finish_one(gfc, gr, ch);\n\t\t\t\tassert (cod_info.part2_3_length <= LameInternalFlags.MAX_BITS_PER_CHANNEL);\n\t\t\t\tassert (cod_info.part2_3_length <= targ_bits[ch]);\n\t\t\t} /* for ch */\n\t\t} /* for gr */\n\n\t\tthis.quantize.rv.ResvFrameEnd(gfc, mean_bits);\n\t}\n}\nmodule.exports = CBRNewIterationLoop;\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\n/**\n * ENCDELAY The encoder delay.\n *\n * Minimum allowed is MDCTDELAY (see below)\n *\n * The first 96 samples will be attenuated, so using a value less than 96\n * will result in corrupt data for the first 96-ENCDELAY samples.\n *\n * suggested: 576 set to 1160 to sync with FhG.\n */\nEncoder.ENCDELAY = 576;\n/**\n * make sure there is at least one complete frame after the last frame\n * containing real data\n *\n * Using a value of 288 would be sufficient for a a very sophisticated\n * decoder that can decode granule-by-granule instead of frame by frame. But\n * lets not assume this, and assume the decoder will not decode frame N\n * unless it also has data for frame N+1\n */\nEncoder.POSTDELAY = 1152;\n\n/**\n * delay of the MDCT used in mdct.c original ISO routines had a delay of\n * 528! Takehiro's routines:\n */\nEncoder.MDCTDELAY = 48;\nEncoder.FFTOFFSET = (224 + Encoder.MDCTDELAY);\n\n/**\n * Most decoders, including the one we use, have a delay of 528 samples.\n */\nEncoder.DECDELAY = 528;\n\n/**\n * number of subbands\n */\nEncoder.SBLIMIT = 32;\n\n/**\n * parition bands bands\n */\nEncoder.CBANDS = 64;\n\n/**\n * number of critical bands/scale factor bands where masking is computed\n */\nEncoder.SBPSY_l = 21;\nEncoder.SBPSY_s = 12;\n\n/**\n * total number of scalefactor bands encoded\n */\nEncoder.SBMAX_l = 22;\nEncoder.SBMAX_s = 13;\nEncoder.PSFB21 = 6;\nEncoder.PSFB12 = 6;\n\n/**\n * FFT sizes\n */\nEncoder.BLKSIZE = 1024;\nEncoder.HBLKSIZE = (Encoder.BLKSIZE / 2 + 1);\nEncoder.BLKSIZE_s = 256;\nEncoder.HBLKSIZE_s = (Encoder.BLKSIZE_s / 2 + 1);\n\nEncoder.NORM_TYPE = 0;\nEncoder.START_TYPE = 1;\nEncoder.SHORT_TYPE = 2;\nEncoder.STOP_TYPE = 3;\n\n/**\n *
\n * Mode Extention:\n * When we are in stereo mode, there are 4 possible methods to store these\n * two channels. The stereo modes -m? are using a subset of them.\n *\n *  -ms: MPG_MD_LR_LR\n *  -mj: MPG_MD_LR_LR and MPG_MD_MS_LR\n *  -mf: MPG_MD_MS_LR\n *  -mi: all\n * 
\n */\nEncoder.MPG_MD_LR_LR = 0;\nEncoder.MPG_MD_LR_I = 1;\nEncoder.MPG_MD_MS_LR = 2;\nEncoder.MPG_MD_MS_I = 3;\n\nEncoder.fircoef = [-0.0207887 * 5, -0.0378413 * 5,\n -0.0432472 * 5, -0.031183 * 5, 7.79609e-18 * 5, 0.0467745 * 5,\n 0.10091 * 5, 0.151365 * 5, 0.187098 * 5];\n\nfunction Encoder() {\n var NewMDCT = require('./NewMDCT.js');\n var III_psy_ratio = require('./III_psy_ratio.js');\n\n var FFTOFFSET = Encoder.FFTOFFSET;\n var MPG_MD_MS_LR = Encoder.MPG_MD_MS_LR;\n //BitStream bs;\n //PsyModel psy;\n //VBRTag vbr;\n //QuantizePVT qupvt;\n var bs = null;\n this.psy = null;\n var psy = null;\n var vbr = null;\n var qupvt = null;\n\n //public final void setModules(BitStream bs, PsyModel psy, QuantizePVT qupvt,\n // VBRTag vbr) {\n this.setModules = function (_bs, _psy, _qupvt, _vbr) {\n bs = _bs;\n this.psy = _psy;\n psy = _psy;\n vbr = _vbr;\n qupvt = _qupvt;\n };\n\n var newMDCT = new NewMDCT();\n\n /***********************************************************************\n *\n * encoder and decoder delays\n *\n ***********************************************************************/\n\n /**\n *
\n     * layer III enc->dec delay:  1056 (1057?)   (observed)\n     * layer  II enc->dec delay:   480  (481?)   (observed)\n     *\n     * polyphase 256-16             (dec or enc)        = 240\n     * mdct      256+32  (9*32)     (dec or enc)        = 288\n     * total:    512+16\n     *\n     * My guess is that delay of polyphase filterbank is actualy 240.5\n     * (there are technical reasons for this, see postings in mp3encoder).\n     * So total Encode+Decode delay = ENCDELAY + 528 + 1\n     * 
\n */\n\n\n /**\n * auto-adjust of ATH, useful for low volume Gabriel Bouvigne 3 feb 2001\n *\n * modifies some values in gfp.internal_flags.ATH (gfc.ATH)\n */\n//private void adjust_ATH(final LameInternalFlags gfc) {\n function adjust_ATH(gfc) {\n var gr2_max, max_pow;\n\n if (gfc.ATH.useAdjust == 0) {\n gfc.ATH.adjust = 1.0;\n /* no adjustment */\n return;\n }\n\n /* jd - 2001 mar 12, 27, jun 30 */\n /* loudness based on equal loudness curve; */\n /* use granule with maximum combined loudness */\n max_pow = gfc.loudness_sq[0][0];\n gr2_max = gfc.loudness_sq[1][0];\n if (gfc.channels_out == 2) {\n max_pow += gfc.loudness_sq[0][1];\n gr2_max += gfc.loudness_sq[1][1];\n } else {\n max_pow += max_pow;\n gr2_max += gr2_max;\n }\n if (gfc.mode_gr == 2) {\n max_pow = Math.max(max_pow, gr2_max);\n }\n max_pow *= 0.5;\n /* max_pow approaches 1.0 for full band noise */\n\n /* jd - 2001 mar 31, jun 30 */\n /* user tuning of ATH adjustment region */\n max_pow *= gfc.ATH.aaSensitivityP;\n\n /*\n * adjust ATH depending on range of maximum value\n */\n\n /* jd - 2001 feb27, mar12,20, jun30, jul22 */\n /* continuous curves based on approximation */\n /* to GB's original values. */\n /* For an increase in approximate loudness, */\n /* set ATH adjust to adjust_limit immediately */\n /* after a delay of one frame. */\n /* For a loudness decrease, reduce ATH adjust */\n /* towards adjust_limit gradually. */\n /* max_pow is a loudness squared or a power. */\n if (max_pow > 0.03125) { /* ((1 - 0.000625)/ 31.98) from curve below */\n if (gfc.ATH.adjust >= 1.0) {\n gfc.ATH.adjust = 1.0;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n /* in case there is leading low volume */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n gfc.ATH.adjustLimit = 1.0;\n } else { /* adjustment curve */\n /* about 32 dB maximum adjust (0.000625) */\n var adj_lim_new = 31.98 * max_pow + 0.000625;\n if (gfc.ATH.adjust >= adj_lim_new) { /* descend gradually */\n gfc.ATH.adjust *= adj_lim_new * 0.075 + 0.925;\n if (gfc.ATH.adjust < adj_lim_new) { /* stop descent */\n gfc.ATH.adjust = adj_lim_new;\n }\n } else { /* ascend */\n if (gfc.ATH.adjustLimit >= adj_lim_new) {\n gfc.ATH.adjust = adj_lim_new;\n } else {\n /* preceding frame has lower ATH adjust; */\n /* ascend only to the preceding adjust_limit */\n if (gfc.ATH.adjust < gfc.ATH.adjustLimit) {\n gfc.ATH.adjust = gfc.ATH.adjustLimit;\n }\n }\n }\n gfc.ATH.adjustLimit = adj_lim_new;\n }\n }\n\n /**\n *
\n     *  some simple statistics\n     *\n     *  bitrate index 0: free bitrate . not allowed in VBR mode\n     *  : bitrates, kbps depending on MPEG version\n     *  bitrate index 15: forbidden\n     *\n     *  mode_ext:\n     *  0:  LR\n     *  1:  LR-i\n     *  2:  MS\n     *  3:  MS-i\n     * 
\n */\n function updateStats(gfc) {\n var gr, ch;\n assert(0 <= gfc.bitrate_index && gfc.bitrate_index < 16);\n assert(0 <= gfc.mode_ext && gfc.mode_ext < 4);\n\n /* count bitrate indices */\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][4]++;\n gfc.bitrate_stereoMode_Hist[15][4]++;\n\n /* count 'em for every mode extension in case of 2 channel encoding */\n if (gfc.channels_out == 2) {\n gfc.bitrate_stereoMode_Hist[gfc.bitrate_index][gfc.mode_ext]++;\n gfc.bitrate_stereoMode_Hist[15][gfc.mode_ext]++;\n }\n for (gr = 0; gr < gfc.mode_gr; ++gr) {\n for (ch = 0; ch < gfc.channels_out; ++ch) {\n var bt = gfc.l3_side.tt[gr][ch].block_type | 0;\n if (gfc.l3_side.tt[gr][ch].mixed_block_flag != 0)\n bt = 4;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][bt]++;\n gfc.bitrate_blockType_Hist[gfc.bitrate_index][5]++;\n gfc.bitrate_blockType_Hist[15][bt]++;\n gfc.bitrate_blockType_Hist[15][5]++;\n }\n }\n }\n\n function lame_encode_frame_init(gfp, inbuf) {\n var gfc = gfp.internal_flags;\n\n var ch, gr;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* prime the MDCT/polyphase filterbank with a short block */\n var i, j;\n var primebuff0 = new_float(286 + 1152 + 576);\n var primebuff1 = new_float(286 + 1152 + 576);\n gfc.lame_encode_frame_init = 1;\n for (i = 0, j = 0; i < 286 + 576 * (1 + gfc.mode_gr); ++i) {\n if (i < 576 * gfc.mode_gr) {\n primebuff0[i] = 0;\n if (gfc.channels_out == 2)\n primebuff1[i] = 0;\n } else {\n primebuff0[i] = inbuf[0][j];\n if (gfc.channels_out == 2)\n primebuff1[i] = inbuf[1][j];\n ++j;\n }\n }\n /* polyphase filtering / mdct */\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.SHORT_TYPE;\n }\n }\n newMDCT.mdct_sub48(gfc, primebuff0, primebuff1);\n\n /* check FFT will not use a negative starting offset */\n assert(576 >= Encoder.FFTOFFSET);\n /* check if we have enough data for FFT */\n assert(gfc.mf_size >= (Encoder.BLKSIZE + gfp.framesize - Encoder.FFTOFFSET));\n /* check if we have enough data for polyphase filterbank */\n assert(gfc.mf_size >= (512 + gfp.framesize - 32));\n }\n\n }\n\n /**\n *
\n     * encodeframe()           Layer 3\n     *\n     * encode a single frame\n     *\n     *\n     *    lame_encode_frame()\n     *\n     *\n     *                           gr 0            gr 1\n     *    inbuf:           |--------------|--------------|--------------|\n     *\n     *\n     *    Polyphase (18 windows, each shifted 32)\n     *    gr 0:\n     *    window1          <----512---.\n     *    window18                 <----512---.\n     *\n     *    gr 1:\n     *    window1                         <----512---.\n     *    window18                                <----512---.\n     *\n     *\n     *\n     *    MDCT output:  |--------------|--------------|--------------|\n     *\n     *    FFT's                    <---------1024---------.\n     *                                             <---------1024-------.\n     *\n     *\n     *\n     *        inbuf = buffer of PCM data size=MP3 framesize\n     *        encoder acts on inbuf[ch][0], but output is delayed by MDCTDELAY\n     *        so the MDCT coefficints are from inbuf[ch][-MDCTDELAY]\n     *\n     *        psy-model FFT has a 1 granule delay, so we feed it data for the\n     *        next granule.\n     *        FFT is centered over granule:  224+576+224\n     *        So FFT starts at:   576-224-MDCTDELAY\n     *\n     *        MPEG2:  FFT ends at:  BLKSIZE+576-224-MDCTDELAY      (1328)\n     *        MPEG1:  FFT ends at:  BLKSIZE+2*576-224-MDCTDELAY    (1904)\n     *\n     *        MPEG2:  polyphase first window:  [0..511]\n     *                          18th window:   [544..1055]          (1056)\n     *        MPEG1:            36th window:   [1120..1631]         (1632)\n     *                data needed:  512+framesize-32\n     *\n     *        A close look newmdct.c shows that the polyphase filterbank\n     *        only uses data from [0..510] for each window.  Perhaps because the window\n     *        used by the filterbank is zero for the last point, so Takehiro's\n     *        code doesn't bother to compute with it.\n     *\n     *        FFT starts at 576-224-MDCTDELAY (304)  = 576-FFTOFFSET\n     *\n     * 
\n */\n\n\n this.lame_encode_mp3_frame = function (gfp, inbuf_l, inbuf_r, mp3buf, mp3bufPos, mp3buf_size) {\n var mp3count;\n var masking_LR = new_array_n([2, 2]);\n /*\n * LR masking &\n * energy\n */\n masking_LR[0][0] = new III_psy_ratio();\n masking_LR[0][1] = new III_psy_ratio();\n masking_LR[1][0] = new III_psy_ratio();\n masking_LR[1][1] = new III_psy_ratio();\n var masking_MS = new_array_n([2, 2]);\n /* MS masking & energy */\n masking_MS[0][0] = new III_psy_ratio();\n masking_MS[0][1] = new III_psy_ratio();\n masking_MS[1][0] = new III_psy_ratio();\n masking_MS[1][1] = new III_psy_ratio();\n //III_psy_ratio masking[][];\n var masking;\n /* pointer to selected maskings */\n var inbuf = [null, null];\n var gfc = gfp.internal_flags;\n\n var tot_ener = new_float_n([2, 4]);\n var ms_ener_ratio = [.5, .5];\n var pe = [[0., 0.], [0., 0.]];\n var pe_MS = [[0., 0.], [0., 0.]];\n\n//float[][] pe_use;\n var pe_use;\n\n var ch, gr;\n\n inbuf[0] = inbuf_l;\n inbuf[1] = inbuf_r;\n\n if (gfc.lame_encode_frame_init == 0) {\n /* first run? */\n lame_encode_frame_init(gfp, inbuf);\n\n }\n\n /********************** padding *****************************/\n /**\n *
\n         * padding method as described in\n         * \"MPEG-Layer3 / Bitstream Syntax and Decoding\"\n         * by Martin Sieler, Ralph Sperschneider\n         *\n         * note: there is no padding for the very first frame\n         *\n         * Robert Hegemann 2000-06-22\n         * 
\n */\n gfc.padding = 0;\n if ((gfc.slot_lag -= gfc.frac_SpF) < 0) {\n gfc.slot_lag += gfp.out_samplerate;\n gfc.padding = 1;\n }\n\n /****************************************\n * Stage 1: psychoacoustic model *\n ****************************************/\n\n if (gfc.psymodel != 0) {\n /*\n * psychoacoustic model psy model has a 1 granule (576) delay that\n * we must compensate for (mt 6/99).\n */\n var ret;\n var bufp = [null, null];\n /* address of beginning of left & right granule */\n var bufpPos = 0;\n /* address of beginning of left & right granule */\n var blocktype = new_int(2);\n\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n bufp[ch] = inbuf[ch];\n bufpPos = 576 + gr * 576 - Encoder.FFTOFFSET;\n }\n if (gfp.VBR == VbrMode.vbr_mtrh || gfp.VBR == VbrMode.vbr_mt) {\n ret = psy.L3psycho_anal_vbr(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n } else {\n ret = psy.L3psycho_anal_ns(gfp, bufp, bufpPos, gr,\n masking_LR, masking_MS, pe[gr], pe_MS[gr],\n tot_ener[gr], blocktype);\n }\n if (ret != 0)\n return -4;\n\n if (gfp.mode == MPEGMode.JOINT_STEREO) {\n ms_ener_ratio[gr] = tot_ener[gr][2] + tot_ener[gr][3];\n if (ms_ener_ratio[gr] > 0)\n ms_ener_ratio[gr] = tot_ener[gr][3] / ms_ener_ratio[gr];\n }\n\n /* block type flags */\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var cod_info = gfc.l3_side.tt[gr][ch];\n cod_info.block_type = blocktype[ch];\n cod_info.mixed_block_flag = 0;\n }\n }\n } else {\n /* no psy model */\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.l3_side.tt[gr][ch].block_type = Encoder.NORM_TYPE;\n gfc.l3_side.tt[gr][ch].mixed_block_flag = 0;\n pe_MS[gr][ch] = pe[gr][ch] = 700;\n }\n }\n\n /* auto-adjust of ATH, useful for low volume */\n adjust_ATH(gfc);\n\n /****************************************\n * Stage 2: MDCT *\n ****************************************/\n\n /* polyphase filtering / mdct */\n newMDCT.mdct_sub48(gfc, inbuf[0], inbuf[1]);\n\n /****************************************\n * Stage 3: MS/LR decision *\n ****************************************/\n\n /* Here will be selected MS or LR coding of the 2 stereo channels */\n gfc.mode_ext = Encoder.MPG_MD_LR_LR;\n\n if (gfp.force_ms) {\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n } else if (gfp.mode == MPEGMode.JOINT_STEREO) {\n /*\n * ms_ratio = is scaled, for historical reasons, to look like a\n * ratio of side_channel / total. 0 = signal is 100% mono .5 = L & R\n * uncorrelated\n */\n\n /**\n *
\n             * [0] and [1] are the results for the two granules in MPEG-1,\n             * in MPEG-2 it's only a faked averaging of the same value\n             * _prev is the value of the last granule of the previous frame\n             * _next is the value of the first granule of the next frame\n             * 
\n */\n\n var sum_pe_MS = 0.;\n var sum_pe_LR = 0.;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n sum_pe_MS += pe_MS[gr][ch];\n sum_pe_LR += pe[gr][ch];\n }\n }\n\n /* based on PE: M/S coding would not use much more bits than L/R */\n if (sum_pe_MS <= 1.00 * sum_pe_LR) {\n\n var gi0 = gfc.l3_side.tt[0];\n var gi1 = gfc.l3_side.tt[gfc.mode_gr - 1];\n\n if (gi0[0].block_type == gi0[1].block_type\n && gi1[0].block_type == gi1[1].block_type) {\n\n gfc.mode_ext = Encoder.MPG_MD_MS_LR;\n }\n }\n }\n\n /* bit and noise allocation */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n masking = masking_MS;\n /* use MS masking */\n pe_use = pe_MS;\n } else {\n masking = masking_LR;\n /* use LR masking */\n pe_use = pe;\n }\n\n /* copy data for MP3 frame analyzer */\n if (gfp.analysis && gfc.pinfo != null) {\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n gfc.pinfo.ms_ratio[gr] = gfc.ms_ratio[gr];\n gfc.pinfo.ms_ener_ratio[gr] = ms_ener_ratio[gr];\n gfc.pinfo.blocktype[gr][ch] = gfc.l3_side.tt[gr][ch].block_type;\n gfc.pinfo.pe[gr][ch] = pe_use[gr][ch];\n System.arraycopy(gfc.l3_side.tt[gr][ch].xr, 0,\n gfc.pinfo.xr[gr][ch], 0, 576);\n /*\n * in psymodel, LR and MS data was stored in pinfo. switch\n * to MS data:\n */\n if (gfc.mode_ext == MPG_MD_MS_LR) {\n gfc.pinfo.ers[gr][ch] = gfc.pinfo.ers[gr][ch + 2];\n System.arraycopy(gfc.pinfo.energy[gr][ch + 2], 0,\n gfc.pinfo.energy[gr][ch], 0,\n gfc.pinfo.energy[gr][ch].length);\n }\n }\n }\n }\n\n /****************************************\n * Stage 4: quantization loop *\n ****************************************/\n\n if (gfp.VBR == VbrMode.vbr_off || gfp.VBR == VbrMode.vbr_abr) {\n\n var i;\n var f;\n\n for (i = 0; i < 18; i++)\n gfc.nsPsy.pefirbuf[i] = gfc.nsPsy.pefirbuf[i + 1];\n\n f = 0.0;\n for (gr = 0; gr < gfc.mode_gr; gr++)\n for (ch = 0; ch < gfc.channels_out; ch++)\n f += pe_use[gr][ch];\n gfc.nsPsy.pefirbuf[18] = f;\n\n f = gfc.nsPsy.pefirbuf[9];\n for (i = 0; i < 9; i++)\n f += (gfc.nsPsy.pefirbuf[i] + gfc.nsPsy.pefirbuf[18 - i])\n * Encoder.fircoef[i];\n\n f = (670 * 5 * gfc.mode_gr * gfc.channels_out) / f;\n for (gr = 0; gr < gfc.mode_gr; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n pe_use[gr][ch] *= f;\n }\n }\n }\n gfc.iteration_loop.iteration_loop(gfp, pe_use, ms_ener_ratio, masking);\n\n /****************************************\n * Stage 5: bitstream formatting *\n ****************************************/\n\n /* write the frame to the bitstream */\n bs.format_bitstream(gfp);\n\n /* copy mp3 bit buffer into array */\n mp3count = bs.copy_buffer(gfc, mp3buf, mp3bufPos, mp3buf_size, 1);\n\n if (gfp.bWriteVbrTag)\n vbr.addVbrFrame(gfp);\n\n if (gfp.analysis && gfc.pinfo != null) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var j;\n for (j = 0; j < FFTOFFSET; j++)\n gfc.pinfo.pcmdata[ch][j] = gfc.pinfo.pcmdata[ch][j\n + gfp.framesize];\n for (j = FFTOFFSET; j < 1600; j++) {\n gfc.pinfo.pcmdata[ch][j] = inbuf[ch][j - FFTOFFSET];\n }\n }\n qupvt.set_frame_pinfo(gfp, masking);\n }\n\n updateStats(gfc);\n\n return mp3count;\n }\n}\n\n\nmodule.exports = Encoder;\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export function roomsValidation(obj) {\n\tconst roomsValidate = [\n\t\t{ key: 'roomId', type: ['string', 'number'] },\n\t\t{ key: 'roomName', type: ['string'] },\n\t\t{ key: 'users', type: ['array'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tlet validType = false\n\n\t\t\tif (prop.type[0] === 'array' && Array.isArray(obj[prop.key])) {\n\t\t\t\tvalidType = true\n\t\t\t} else if (prop.type.find(t => t === typeof obj[prop.key])) {\n\t\t\t\tvalidType = true\n\t\t\t}\n\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, roomsValidate)) {\n\t\tthrow new Error(\n\t\t\t'Rooms object is not valid! Must contain roomId[String, Number], roomName[String] and users[Array]'\n\t\t)\n\t}\n}\n\nexport function partcipantsValidation(obj) {\n\tconst participantsValidate = [\n\t\t{ key: '_id', type: ['string', 'number'] },\n\t\t{ key: 'username', type: ['string'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tconst validType = prop.type.find(t => t === typeof obj[prop.key])\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, participantsValidate)) {\n\t\tthrow new Error(\n\t\t\t'Participants object is not valid! Must contain _id[String, Number] and username[String]'\n\t\t)\n\t}\n}\n\nexport function messagesValidation(obj) {\n\tconst messagesValidate = [\n\t\t{ key: '_id', type: ['string', 'number'] },\n\t\t{ key: 'content', type: ['string', 'number'] },\n\t\t{ key: 'senderId', type: ['string', 'number'] }\n\t]\n\n\tconst validate = (obj, props) => {\n\t\treturn props.every(prop => {\n\t\t\tconst validType = prop.type.find(t => t === typeof obj[prop.key])\n\t\t\treturn validType && checkObjectValid(obj, prop.key)\n\t\t})\n\t}\n\n\tif (!validate(obj, messagesValidate)) {\n\t\tthrow new Error(\n\t\t\t'Messages object is not valid! Must contain _id[String, Number], content[String, Number] and senderId[String, Number]'\n\t\t)\n\t}\n}\n\nfunction checkObjectValid(obj, key) {\n\treturn (\n\t\tObject.prototype.hasOwnProperty.call(obj, key) &&\n\t\tobj[key] !== null &&\n\t\tobj[key] !== undefined\n\t)\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = global.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr = chr + charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es-x/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\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\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\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$
') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\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 : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(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 push(results, result);\n if (!global) break;\n\n var matchStr = toString(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 = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(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++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n var replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nvar safeGetBuiltIn = function (name) {\n if (!DESCRIPTORS) return global[name];\n var descriptor = getOwnPropertyDescriptor(global, name);\n return descriptor && descriptor.value;\n};\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar RegExp = global.RegExp;\nvar TypeError = global.TypeError;\nvar decodeURIComponent = global.decodeURIComponent;\nvar encodeURIComponent = global.encodeURIComponent;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = replace(it, plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = replace(result, percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n push(this.entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(this.entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(this.entries, {\n key: deserialize(shift(entry)),\n value: deserialize(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n setInternalState(this, new URLSearchParamsState(init));\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) splice(entries, index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, noTargetGet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, forced: true, noTargetGet: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\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.22.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.22.4/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\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\nvar concat = uncurryThis([].concat);\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 ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\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 uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\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 = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, 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","/*\n * bit reservoir source file\n *\n * Copyright (c) 1999-2000 Mark Taylor\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the\n * Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n * Boston, MA 02111-1307, USA.\n */\n\n/* $Id: Reservoir.java,v 1.9 2011/05/24 20:48:06 kenchis Exp $ */\n\n//package mp3;\n\n/**\n * ResvFrameBegin:
\n * Called (repeatedly) at the beginning of a frame. Updates the maximum size of\n * the reservoir, and checks to make sure main_data_begin was set properly by\n * the formatter
\n * Background information:\n * \n * This is the original text from the ISO standard. Because of sooo many bugs\n * and irritations correcting comments are added in brackets []. A '^W' means\n * you should remove the last word.\n * \n *
\n *  1. The following rule can be used to calculate the maximum\n *     number of bits used for one granule [^W frame]:
\n * At the highest possible bitrate of Layer III (320 kbps\n * per stereo signal [^W^W^W], 48 kHz) the frames must be of\n * [^W^W^W are designed to have] constant length, i.e.\n * one buffer [^W^W the frame] length is:
\n * \n * 320 kbps * 1152/48 kHz = 7680 bit = 960 byte\n * \n * This value is used as the maximum buffer per channel [^W^W] at\n * lower bitrates [than 320 kbps]. At 64 kbps mono or 128 kbps\n * stereo the main granule length is 64 kbps * 576/48 kHz = 768 bit\n * [per granule and channel] at 48 kHz sampling frequency.\n * This means that there is a maximum deviation (short time buffer\n * [= reservoir]) of 7680 - 2*2*768 = 4608 bits is allowed at 64 kbps.\n * The actual deviation is equal to the number of bytes [with the\n * meaning of octets] denoted by the main_data_end offset pointer.\n * The actual maximum deviation is (2^9-1)*8 bit = 4088 bits\n * [for MPEG-1 and (2^8-1)*8 bit for MPEG-2, both are hard limits].\n * ... The xchange of buffer bits between the left and right channel\n * is allowed without restrictions [exception: dual channel].\n * Because of the [constructed] constraint on the buffer size\n * main_data_end is always set to 0 in the case of bit_rate_index==14,\n * i.e. data rate 320 kbps per stereo signal [^W^W^W]. In this case\n * all data are allocated between adjacent header [^W sync] words\n * [, i.e. there is no buffering at all].\n *
\n */\n\nvar common = require('./common.js');\nvar assert = common.assert;\n\nfunction Reservoir() {\n\tvar bs;\n\n\tthis.setModules = function(_bs) {\n\t\tbs = _bs;\n\t}\n\n\tthis.ResvFrameBegin = function(gfp, mean_bits) {\n\t\tvar gfc = gfp.internal_flags;\n\t\tvar maxmp3buf;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tvar frameLength = bs.getframebits(gfp);\n\t\tmean_bits.bits = (frameLength - gfc.sideinfo_len * 8) / gfc.mode_gr;\n\n\t\t/**\n\t\t *
\n\t\t *  Meaning of the variables:\n\t\t *      resvLimit: (0, 8, ..., 8*255 (MPEG-2), 8*511 (MPEG-1))\n\t\t *          Number of bits can be stored in previous frame(s) due to\n\t\t *          counter size constaints\n\t\t *      maxmp3buf: ( ??? ... 8*1951 (MPEG-1 and 2), 8*2047 (MPEG-2.5))\n\t\t *          Number of bits allowed to encode one frame (you can take 8*511 bit\n\t\t *          from the bit reservoir and at most 8*1440 bit from the current\n\t\t *          frame (320 kbps, 32 kHz), so 8*1951 bit is the largest possible\n\t\t *          value for MPEG-1 and -2)\n\t\t * \n\t\t *          maximum allowed granule/channel size times 4 = 8*2047 bits.,\n\t\t *          so this is the absolute maximum supported by the format.\n\t\t * \n\t\t * \n\t\t *      fullFrameBits:  maximum number of bits available for encoding\n\t\t *                      the current frame.\n\t\t * \n\t\t *      mean_bits:      target number of bits per granule.\n\t\t * \n\t\t *      frameLength:\n\t\t * \n\t\t *      gfc.ResvMax:   maximum allowed reservoir\n\t\t * \n\t\t *      gfc.ResvSize:  current reservoir size\n\t\t * \n\t\t *      l3_side.resvDrain_pre:\n\t\t *         ancillary data to be added to previous frame:\n\t\t *         (only usefull in VBR modes if it is possible to have\n\t\t *         maxmp3buf < fullFrameBits)).  Currently disabled,\n\t\t *         see #define NEW_DRAIN\n\t\t *         2010-02-13: RH now enabled, it seems to be needed for CBR too,\n\t\t *                     as there exists one example, where the FhG decoder\n\t\t *                     can't decode a -b320 CBR file anymore.\n\t\t * \n\t\t *      l3_side.resvDrain_post:\n\t\t *         ancillary data to be added to this frame:\n\t\t * \n\t\t * 
\n\t\t */\n\n\t\t/* main_data_begin has 9 bits in MPEG-1, 8 bits MPEG-2 */\n\t\tvar resvLimit = (8 * 256) * gfc.mode_gr - 8;\n\n\t\t/*\n\t\t * maximum allowed frame size. dont use more than this number of bits,\n\t\t * even if the frame has the space for them:\n\t\t */\n\t\tif (gfp.brate > 320) {\n\t\t\t/* in freeformat the buffer is constant */\n\t\t\tmaxmp3buf = 8 * ((int) ((gfp.brate * 1000)\n\t\t\t\t\t/ (gfp.out_samplerate / 1152) / 8 + .5));\n\t\t} else {\n\t\t\t/*\n\t\t\t * all mp3 decoders should have enough buffer to handle this value:\n\t\t\t * size of a 320kbps 32kHz frame\n\t\t\t */\n\t\t\tmaxmp3buf = 8 * 1440;\n\n\t\t\t/*\n\t\t\t * Bouvigne suggests this more lax interpretation of the ISO doc\n\t\t\t * instead of using 8*960.\n\t\t\t */\n\n\t\t\tif (gfp.strict_ISO) {\n\t\t\t\tmaxmp3buf = 8 * ((int) (320000 / (gfp.out_samplerate / 1152) / 8 + .5));\n\t\t\t}\n\t\t}\n\n\t\tgfc.ResvMax = maxmp3buf - frameLength;\n\t\tif (gfc.ResvMax > resvLimit)\n\t\t\tgfc.ResvMax = resvLimit;\n\t\tif (gfc.ResvMax < 0 || gfp.disable_reservoir)\n\t\t\tgfc.ResvMax = 0;\n\n\t\tvar fullFrameBits = mean_bits.bits * gfc.mode_gr\n\t\t\t\t+ Math.min(gfc.ResvSize, gfc.ResvMax);\n\n\t\tif (fullFrameBits > maxmp3buf)\n\t\t\tfullFrameBits = maxmp3buf;\n\n\t\tassert (0 == gfc.ResvMax % 8);\n\t\tassert (gfc.ResvMax >= 0);\n\n\t\tl3_side.resvDrain_pre = 0;\n\n\t\t// frame analyzer code\n\t\tif (gfc.pinfo != null) {\n\t\t\t/*\n\t\t\t * expected bits per channel per granule [is this also right for\n\t\t\t * mono/stereo, MPEG-1/2 ?]\n\t\t\t */\n\t\t\tgfc.pinfo.mean_bits = mean_bits.bits / 2;\n\t\t\tgfc.pinfo.resvsize = gfc.ResvSize;\n\t\t}\n\n\t\treturn fullFrameBits;\n\t}\n\n\t/**\n\t * returns targ_bits: target number of bits to use for 1 granule
\n\t * extra_bits: amount extra available from reservoir
\n\t * Mark Taylor 4/99\n\t */\n\tthis.ResvMaxBits = function(gfp, mean_bits, targ_bits, cbr) {\n\t\tvar gfc = gfp.internal_flags;\n\t\tvar add_bits;\n var ResvSize = gfc.ResvSize, ResvMax = gfc.ResvMax;\n\n\t\t/* compensate the saved bits used in the 1st granule */\n\t\tif (cbr != 0)\n\t\t\tResvSize += mean_bits;\n\n\t\tif ((gfc.substep_shaping & 1) != 0)\n\t\t\tResvMax *= 0.9;\n\n\t\ttarg_bits.bits = mean_bits;\n\n\t\t/* extra bits if the reservoir is almost full */\n\t\tif (ResvSize * 10 > ResvMax * 9) {\n\t\t\tadd_bits = ResvSize - (ResvMax * 9) / 10;\n\t\t\ttarg_bits.bits += add_bits;\n\t\t\tgfc.substep_shaping |= 0x80;\n\t\t} else {\n\t\t\tadd_bits = 0;\n\t\t\tgfc.substep_shaping &= 0x7f;\n\t\t\t/*\n\t\t\t * build up reservoir. this builds the reservoir a little slower\n\t\t\t * than FhG. It could simple be mean_bits/15, but this was rigged to\n\t\t\t * always produce 100 (the old value) at 128kbs\n\t\t\t */\n\t\t\tif (!gfp.disable_reservoir && 0 == (gfc.substep_shaping & 1))\n\t\t\t\ttarg_bits.bits -= .1 * mean_bits;\n\t\t}\n\n\t\t/* amount from the reservoir we are allowed to use. ISO says 6/10 */\n\t\tvar extra_bits = (ResvSize < (gfc.ResvMax * 6) / 10 ? ResvSize\n\t\t\t\t: (gfc.ResvMax * 6) / 10);\n\t\textra_bits -= add_bits;\n\n\t\tif (extra_bits < 0)\n\t\t\textra_bits = 0;\n\t\treturn extra_bits;\n\t}\n\n\t/**\n\t * Called after a granule's bit allocation. Readjusts the size of the\n\t * reservoir to reflect the granule's usage.\n\t */\n\tthis.ResvAdjust = function(gfc, gi) {\n\t\tgfc.ResvSize -= gi.part2_3_length + gi.part2_length;\n\t}\n\n\t/**\n\t * Called after all granules in a frame have been allocated. Makes sure that\n\t * the reservoir size is within limits, possibly by adding stuffing bits.\n\t */\n\tthis.ResvFrameEnd = function(gfc, mean_bits) {\n\t\tvar over_bits;\n\t\tvar l3_side = gfc.l3_side;\n\n\t\tgfc.ResvSize += mean_bits * gfc.mode_gr;\n\t\tvar stuffingBits = 0;\n\t\tl3_side.resvDrain_post = 0;\n\t\tl3_side.resvDrain_pre = 0;\n\n\t\t/* we must be byte aligned */\n\t\tif ((over_bits = gfc.ResvSize % 8) != 0)\n\t\t\tstuffingBits += over_bits;\n\n\t\tover_bits = (gfc.ResvSize - stuffingBits) - gfc.ResvMax;\n\t\tif (over_bits > 0) {\n\t\t\tassert (0 == over_bits % 8);\n\t\t\tassert (over_bits >= 0);\n\t\t\tstuffingBits += over_bits;\n\t\t}\n\n\t\t/*\n\t\t * NOTE: enabling the NEW_DRAIN code fixes some problems with FhG\n\t\t * decoder shipped with MS Windows operating systems. Using this, it is\n\t\t * even possible to use Gabriel's lax buffer consideration again, which\n\t\t * assumes, any decoder should have a buffer large enough for a 320 kbps\n\t\t * frame at 32 kHz sample rate.\n\t\t * \n\t\t * old drain code: lame -b320 BlackBird.wav --. does not play with\n\t\t * GraphEdit.exe using FhG decoder V1.5 Build 50\n\t\t * \n\t\t * new drain code: lame -b320 BlackBird.wav --. plays fine with\n\t\t * GraphEdit.exe using FhG decoder V1.5 Build 50\n\t\t * \n\t\t * Robert Hegemann, 2010-02-13.\n\t\t */\n\t\t/*\n\t\t * drain as many bits as possible into previous frame ancillary data In\n\t\t * particular, in VBR mode ResvMax may have changed, and we have to make\n\t\t * sure main_data_begin does not create a reservoir bigger than ResvMax\n\t\t * mt 4/00\n\t\t */\n\t\t{\n\t\t\tvar mdb_bytes = Math.min(l3_side.main_data_begin * 8, stuffingBits) / 8;\n\t\t\tl3_side.resvDrain_pre += 8 * mdb_bytes;\n\t\t\tstuffingBits -= 8 * mdb_bytes;\n\t\t\tgfc.ResvSize -= 8 * mdb_bytes;\n\t\t\tl3_side.main_data_begin -= mdb_bytes;\n\t\t}\n\t\t/* drain the rest into this frames ancillary data */\n\t\tl3_side.resvDrain_post += stuffingBits;\n\t\tgfc.ResvSize -= stuffingBits;\n\t}\n}\n\nmodule.exports = Reservoir;\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isRegExp = require('../internals/is-regexp');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar TypeError = global.TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\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 call(then, 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\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\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_PROMISE_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 call(task, 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 call(task, 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 call(then, 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_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\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: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\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 && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { 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, PromisePrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","var NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","function HuffCodeTab(len, max, tab, hl) {\n this.xlen = len;\n this.linmax = max;\n this.table = tab;\n this.hlen = hl;\n}\n\nvar Tables = {};\n\n\nTables.t1HB = [\n 1, 1,\n 1, 0\n];\n\nTables.t2HB = [\n 1, 2, 1,\n 3, 1, 1,\n 3, 2, 0\n];\n\nTables.t3HB = [\n 3, 2, 1,\n 1, 1, 1,\n 3, 2, 0\n];\n\nTables.t5HB = [\n 1, 2, 6, 5,\n 3, 1, 4, 4,\n 7, 5, 7, 1,\n 6, 1, 1, 0\n];\n\nTables.t6HB = [\n 7, 3, 5, 1,\n 6, 2, 3, 2,\n 5, 4, 4, 1,\n 3, 3, 2, 0\n];\n\nTables.t7HB = [\n 1, 2, 10, 19, 16, 10,\n 3, 3, 7, 10, 5, 3,\n 11, 4, 13, 17, 8, 4,\n 12, 11, 18, 15, 11, 2,\n 7, 6, 9, 14, 3, 1,\n 6, 4, 5, 3, 2, 0\n];\n\nTables.t8HB = [\n 3, 4, 6, 18, 12, 5,\n 5, 1, 2, 16, 9, 3,\n 7, 3, 5, 14, 7, 3,\n 19, 17, 15, 13, 10, 4,\n 13, 5, 8, 11, 5, 1,\n 12, 4, 4, 1, 1, 0\n];\n\nTables.t9HB = [\n 7, 5, 9, 14, 15, 7,\n 6, 4, 5, 5, 6, 7,\n 7, 6, 8, 8, 8, 5,\n 15, 6, 9, 10, 5, 1,\n 11, 7, 9, 6, 4, 1,\n 14, 4, 6, 2, 6, 0\n];\n\nTables.t10HB = [\n 1, 2, 10, 23, 35, 30, 12, 17,\n 3, 3, 8, 12, 18, 21, 12, 7,\n 11, 9, 15, 21, 32, 40, 19, 6,\n 14, 13, 22, 34, 46, 23, 18, 7,\n 20, 19, 33, 47, 27, 22, 9, 3,\n 31, 22, 41, 26, 21, 20, 5, 3,\n 14, 13, 10, 11, 16, 6, 5, 1,\n 9, 8, 7, 8, 4, 4, 2, 0\n];\n\nTables.t11HB = [\n 3, 4, 10, 24, 34, 33, 21, 15,\n 5, 3, 4, 10, 32, 17, 11, 10,\n 11, 7, 13, 18, 30, 31, 20, 5,\n 25, 11, 19, 59, 27, 18, 12, 5,\n 35, 33, 31, 58, 30, 16, 7, 5,\n 28, 26, 32, 19, 17, 15, 8, 14,\n 14, 12, 9, 13, 14, 9, 4, 1,\n 11, 4, 6, 6, 6, 3, 2, 0\n];\n\nTables.t12HB = [\n 9, 6, 16, 33, 41, 39, 38, 26,\n 7, 5, 6, 9, 23, 16, 26, 11,\n 17, 7, 11, 14, 21, 30, 10, 7,\n 17, 10, 15, 12, 18, 28, 14, 5,\n 32, 13, 22, 19, 18, 16, 9, 5,\n 40, 17, 31, 29, 17, 13, 4, 2,\n 27, 12, 11, 15, 10, 7, 4, 1,\n 27, 12, 8, 12, 6, 3, 1, 0\n];\n\nTables.t13HB = [\n 1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19,\n 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14,\n 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16,\n 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14,\n 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24,\n 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17,\n 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15,\n 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42,\n 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16,\n 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11,\n 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22,\n 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7,\n 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5,\n 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3,\n 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2,\n 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1\n];\n\nTables.t15HB = [\n 7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63,\n 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36,\n 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33,\n 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29,\n 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27,\n 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38,\n 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30,\n 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25,\n 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20,\n 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15,\n 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9,\n 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11,\n 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7,\n 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3,\n 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1,\n 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0\n];\n\nTables.t16HB = [\n 1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17,\n 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9,\n 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16,\n 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26,\n 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9,\n 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16,\n 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10,\n 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8,\n 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7,\n 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11,\n 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4,\n 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6,\n 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4,\n 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2,\n 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0,\n 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3\n];\n\nTables.t24HB = [\n 15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88,\n 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42,\n 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18,\n 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16,\n 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14,\n 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12,\n 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10,\n 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17,\n 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16,\n 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11,\n 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10,\n 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6,\n 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4,\n 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2,\n 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0,\n 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3\n];\n\nTables.t32HB = [\n 1 << 0, 5 << 1, 4 << 1, 5 << 2, 6 << 1, 5 << 2, 4 << 2, 4 << 3,\n 7 << 1, 3 << 2, 6 << 2, 0 << 3, 7 << 2, 2 << 3, 3 << 3, 1 << 4\n];\n\nTables.t33HB = [\n 15 << 0, 14 << 1, 13 << 1, 12 << 2, 11 << 1, 10 << 2, 9 << 2, 8 << 3,\n 7 << 1, 6 << 2, 5 << 2, 4 << 3, 3 << 2, 2 << 3, 1 << 3, 0 << 4\n];\n\nTables.t1l = [\n 1, 4,\n 3, 5\n];\n\nTables.t2l = [\n 1, 4, 7,\n 4, 5, 7,\n 6, 7, 8\n];\n\nTables.t3l = [\n 2, 3, 7,\n 4, 4, 7,\n 6, 7, 8\n];\n\nTables.t5l = [\n 1, 4, 7, 8,\n 4, 5, 8, 9,\n 7, 8, 9, 10,\n 8, 8, 9, 10\n];\n\nTables.t6l = [\n 3, 4, 6, 8,\n 4, 4, 6, 7,\n 5, 6, 7, 8,\n 7, 7, 8, 9\n];\n\nTables.t7l = [\n 1, 4, 7, 9, 9, 10,\n 4, 6, 8, 9, 9, 10,\n 7, 7, 9, 10, 10, 11,\n 8, 9, 10, 11, 11, 11,\n 8, 9, 10, 11, 11, 12,\n 9, 10, 11, 12, 12, 12\n];\n\nTables.t8l = [\n 2, 4, 7, 9, 9, 10,\n 4, 4, 6, 10, 10, 10,\n 7, 6, 8, 10, 10, 11,\n 9, 10, 10, 11, 11, 12,\n 9, 9, 10, 11, 12, 12,\n 10, 10, 11, 11, 13, 13\n];\n\nTables.t9l = [\n 3, 4, 6, 7, 9, 10,\n 4, 5, 6, 7, 8, 10,\n 5, 6, 7, 8, 9, 10,\n 7, 7, 8, 9, 9, 10,\n 8, 8, 9, 9, 10, 11,\n 9, 9, 10, 10, 11, 11\n];\n\nTables.t10l = [\n 1, 4, 7, 9, 10, 10, 10, 11,\n 4, 6, 8, 9, 10, 11, 10, 10,\n 7, 8, 9, 10, 11, 12, 11, 11,\n 8, 9, 10, 11, 12, 12, 11, 12,\n 9, 10, 11, 12, 12, 12, 12, 12,\n 10, 11, 12, 12, 13, 13, 12, 13,\n 9, 10, 11, 12, 12, 12, 13, 13,\n 10, 10, 11, 12, 12, 13, 13, 13\n];\n\nTables.t11l = [\n 2, 4, 6, 8, 9, 10, 9, 10,\n 4, 5, 6, 8, 10, 10, 9, 10,\n 6, 7, 8, 9, 10, 11, 10, 10,\n 8, 8, 9, 11, 10, 12, 10, 11,\n 9, 10, 10, 11, 11, 12, 11, 12,\n 9, 10, 11, 12, 12, 13, 12, 13,\n 9, 9, 9, 10, 11, 12, 12, 12,\n 9, 9, 10, 11, 12, 12, 12, 12\n];\n\nTables.t12l = [\n 4, 4, 6, 8, 9, 10, 10, 10,\n 4, 5, 6, 7, 9, 9, 10, 10,\n 6, 6, 7, 8, 9, 10, 9, 10,\n 7, 7, 8, 8, 9, 10, 10, 10,\n 8, 8, 9, 9, 10, 10, 10, 11,\n 9, 9, 10, 10, 10, 11, 10, 11,\n 9, 9, 9, 10, 10, 11, 11, 12,\n 10, 10, 10, 11, 11, 11, 11, 12\n];\n\nTables.t13l = [\n 1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14,\n 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14,\n 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15,\n 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15,\n 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16,\n 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16,\n 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16,\n 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18,\n 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17,\n 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17,\n 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19,\n 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18,\n 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18,\n 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18,\n 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18,\n 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18\n];\n\nTables.t15l = [\n 3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14,\n 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13,\n 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13,\n 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13,\n 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14,\n 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14,\n 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14,\n 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14,\n 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15,\n 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15,\n 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15,\n 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15,\n 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15\n];\n\nTables.t16_5l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14,\n 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12\n];\n\nTables.t16l = [\n 1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10,\n 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10,\n 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11,\n 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12,\n 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11,\n 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12,\n 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12,\n 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12,\n 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12,\n 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13,\n 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12,\n 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13,\n 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13,\n 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13,\n 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13,\n 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10\n];\n\nTables.t24l = [\n 4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10,\n 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10,\n 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9,\n 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9,\n 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9,\n 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9,\n 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9,\n 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10,\n 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10,\n 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10,\n 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10,\n 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6\n];\n\nTables.t32l = [\n 1 + 0, 4 + 1, 4 + 1, 5 + 2, 4 + 1, 6 + 2, 5 + 2, 6 + 3,\n 4 + 1, 5 + 2, 5 + 2, 6 + 3, 5 + 2, 6 + 3, 6 + 3, 6 + 4\n];\n\nTables.t33l = [\n 4 + 0, 4 + 1, 4 + 1, 4 + 2, 4 + 1, 4 + 2, 4 + 2, 4 + 3,\n 4 + 1, 4 + 2, 4 + 2, 4 + 3, 4 + 2, 4 + 3, 4 + 3, 4 + 4\n];\n\nTables.ht = [\n /* xlen, linmax, table, hlen */\n new HuffCodeTab(0, 0, null, null),\n new HuffCodeTab(2, 0, Tables.t1HB, Tables.t1l),\n new HuffCodeTab(3, 0, Tables.t2HB, Tables.t2l),\n new HuffCodeTab(3, 0, Tables.t3HB, Tables.t3l),\n new HuffCodeTab(0, 0, null, null), /* Apparently not used */\n new HuffCodeTab(4, 0, Tables.t5HB, Tables.t5l),\n new HuffCodeTab(4, 0, Tables.t6HB, Tables.t6l),\n new HuffCodeTab(6, 0, Tables.t7HB, Tables.t7l),\n new HuffCodeTab(6, 0, Tables.t8HB, Tables.t8l),\n new HuffCodeTab(6, 0, Tables.t9HB, Tables.t9l),\n new HuffCodeTab(8, 0, Tables.t10HB, Tables.t10l),\n new HuffCodeTab(8, 0, Tables.t11HB, Tables.t11l),\n new HuffCodeTab(8, 0, Tables.t12HB, Tables.t12l),\n new HuffCodeTab(16, 0, Tables.t13HB, Tables.t13l),\n new HuffCodeTab(0, 0, null, Tables.t16_5l), /* Apparently not used */\n new HuffCodeTab(16, 0, Tables.t15HB, Tables.t15l),\n\n new HuffCodeTab(1, 1, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(2, 3, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(3, 7, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(4, 15, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(6, 63, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(8, 255, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(10, 1023, Tables.t16HB, Tables.t16l),\n new HuffCodeTab(13, 8191, Tables.t16HB, Tables.t16l),\n\n new HuffCodeTab(4, 15, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(5, 31, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(6, 63, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(7, 127, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(8, 255, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(9, 511, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(11, 2047, Tables.t24HB, Tables.t24l),\n new HuffCodeTab(13, 8191, Tables.t24HB, Tables.t24l),\n\n new HuffCodeTab(0, 0, Tables.t32HB, Tables.t32l),\n new HuffCodeTab(0, 0, Tables.t33HB, Tables.t33l),\n];\n\n/**\n * \n * for (i = 0; i < 16*16; i++) [\n * largetbl[i] = ((ht[16].hlen[i]) << 16) + ht[24].hlen[i];\n * ]\n * \n *\n */\nTables.largetbl = [\n 0x010004, 0x050005, 0x070007, 0x090008, 0x0a0009, 0x0a000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000c, 0x0c000c, 0x0d000c, 0x0d000c, 0x0d000c, 0x0e000d, 0x0a000a,\n 0x040005, 0x060006, 0x080007, 0x090008, 0x0a0009, 0x0b000a, 0x0b000a, 0x0b000b,\n 0x0c000b, 0x0c000b, 0x0c000c, 0x0d000c, 0x0e000c, 0x0d000c, 0x0e000c, 0x0a000a,\n 0x070007, 0x080007, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0c000b, 0x0d000b, 0x0d000c, 0x0d000c, 0x0e000c, 0x0e000d, 0x0b0009,\n 0x090008, 0x090008, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0c000b,\n 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0c0009,\n 0x0a0009, 0x0a0009, 0x0b0009, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000a, 0x0d000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000d, 0x0b0009,\n 0x0a000a, 0x0a0009, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0e000b,\n 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0c0009,\n 0x0b000a, 0x0b000a, 0x0b000a, 0x0c000a, 0x0d000a, 0x0d000b, 0x0d000b, 0x0d000b,\n 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000d, 0x0c0009,\n 0x0b000b, 0x0b000a, 0x0c000a, 0x0c000a, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b,\n 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x0f000c, 0x11000d, 0x11000d, 0x0c000a,\n 0x0b000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b,\n 0x0f000b, 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000d, 0x10000d, 0x0c000a,\n 0x0c000b, 0x0c000b, 0x0c000b, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000b, 0x0f000c,\n 0x0f000c, 0x0f000c, 0x0f000c, 0x10000c, 0x0f000d, 0x10000d, 0x0f000d, 0x0d000a,\n 0x0c000c, 0x0d000b, 0x0c000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0e000c, 0x0e000c,\n 0x0f000c, 0x10000c, 0x10000c, 0x10000d, 0x11000d, 0x11000d, 0x10000d, 0x0c000a,\n 0x0d000c, 0x0d000c, 0x0d000b, 0x0d000b, 0x0e000b, 0x0e000c, 0x0f000c, 0x10000c,\n 0x10000c, 0x10000c, 0x10000c, 0x10000d, 0x10000d, 0x0f000d, 0x10000d, 0x0d000a,\n 0x0d000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x0f000c,\n 0x0f000c, 0x11000c, 0x10000d, 0x10000d, 0x10000d, 0x10000d, 0x12000d, 0x0d000a,\n 0x0f000c, 0x0e000c, 0x0e000c, 0x0e000c, 0x0f000c, 0x0f000c, 0x10000c, 0x10000c,\n 0x10000d, 0x12000d, 0x11000d, 0x11000d, 0x11000d, 0x13000d, 0x11000d, 0x0d000a,\n 0x0e000d, 0x0f000c, 0x0d000c, 0x0e000c, 0x10000c, 0x10000c, 0x0f000c, 0x10000d,\n 0x10000d, 0x11000d, 0x12000d, 0x11000d, 0x13000d, 0x11000d, 0x10000d, 0x0d000a,\n 0x0a0009, 0x0a0009, 0x0a0009, 0x0b0009, 0x0b0009, 0x0c0009, 0x0c0009, 0x0c0009,\n 0x0d0009, 0x0d0009, 0x0d0009, 0x0d000a, 0x0d000a, 0x0d000a, 0x0d000a, 0x0a0006\n];\n/**\n * \n * for (i = 0; i < 3*3; i++) [\n * table23[i] = ((ht[2].hlen[i]) << 16) + ht[3].hlen[i];\n * ]\n * \n *\n */\nTables.table23 = [\n 0x010002, 0x040003, 0x070007,\n 0x040004, 0x050004, 0x070007,\n 0x060006, 0x070007, 0x080008\n];\n\n/**\n * \n * for (i = 0; i < 4*4; i++) [\n * table56[i] = ((ht[5].hlen[i]) << 16) + ht[6].hlen[i];\n * ]\n * \n *\n */\nTables.table56 = [\n 0x010003, 0x040004, 0x070006, 0x080008, 0x040004, 0x050004, 0x080006, 0x090007,\n 0x070005, 0x080006, 0x090007, 0x0a0008, 0x080007, 0x080007, 0x090008, 0x0a0009\n];\n\nTables.bitrate_table = [\n [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], /* MPEG 2 */\n [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], /* MPEG 1 */\n [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1], /* MPEG 2.5 */\n];\n\n/**\n * MPEG 2, MPEG 1, MPEG 2.5.\n */\nTables.samplerate_table = [\n [22050, 24000, 16000, -1],\n [44100, 48000, 32000, -1],\n [11025, 12000, 8000, -1],\n];\n\n/**\n * This is the scfsi_band table from 2.4.2.7 of the IS.\n */\nTables.scfsi_band = [0, 6, 11, 16, 21];\n\nmodule.exports = Tables;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar RangeError = global.RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.set.constructor');\n","module.exports = typeof window == 'object' && typeof Deno != 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es-x/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es-x/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar padStart = require('../internals/string-pad').start;\n\nvar RangeError = global.RangeError;\nvar abs = Math.abs;\nvar DatePrototype = Date.prototype;\nvar n$DateToISOString = DatePrototype.toISOString;\nvar getTime = uncurryThis(DatePrototype.getTime);\nvar getUTCDate = uncurryThis(DatePrototype.getUTCDate);\nvar getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear);\nvar getUTCHours = uncurryThis(DatePrototype.getUTCHours);\nvar getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds);\nvar getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes);\nvar getUTCMonth = uncurryThis(DatePrototype.getUTCMonth);\nvar getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds);\n\n// `Date.prototype.toISOString` method implementation\n// https://tc39.es/ecma262/#sec-date.prototype.toisostring\n// PhantomJS / old WebKit fails here:\nmodule.exports = (fails(function () {\n return n$DateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n n$DateToISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime(this))) throw RangeError('Invalid time value');\n var date = this;\n var year = getUTCFullYear(date);\n var milliseconds = getUTCMilliseconds(date);\n var sign = year < 0 ? '-' : year > 9999 ? '+' : '';\n return sign + padStart(abs(year), sign ? 6 : 4, 0) +\n '-' + padStart(getUTCMonth(date) + 1, 2, 0) +\n '-' + padStart(getUTCDate(date), 2, 0) +\n 'T' + padStart(getUTCHours(date), 2, 0) +\n ':' + padStart(getUTCMinutes(date), 2, 0) +\n ':' + padStart(getUTCSeconds(date), 2, 0) +\n '.' + padStart(milliseconds, 3, 0) +\n 'Z';\n} : n$DateToISOString;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (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 defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","//package mp3;\n\n/* MPEG modes */\nfunction MPEGMode(ordinal) {\n var _ordinal = ordinal;\n this.ordinal = function () {\n return _ordinal;\n }\n}\n\nMPEGMode.STEREO = new MPEGMode(0);\nMPEGMode.JOINT_STEREO = new MPEGMode(1);\nMPEGMode.DUAL_CHANNEL = new MPEGMode(2);\nMPEGMode.MONO = new MPEGMode(3);\nMPEGMode.NOT_SET = new MPEGMode(4);\n\nmodule.exports = MPEGMode;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Takehiro = require('./Takehiro.js');\nvar Tables = require('./Tables.js');\nvar Encoder = require('./Encoder.js');\nvar LameInternalFlags = require('./LameInternalFlags.js');\n\nBitStream.EQ = function (a, b) {\n return (Math.abs(a) > Math.abs(b)) ? (Math.abs((a) - (b)) <= (Math\n .abs(a) * 1e-6))\n : (Math.abs((a) - (b)) <= (Math.abs(b) * 1e-6));\n};\n\nBitStream.NEQ = function (a, b) {\n return !BitStream.EQ(a, b);\n};\n\nfunction BitStream() {\n var self = this;\n var CRC16_POLYNOMIAL = 0x8005;\n\n /*\n * we work with ints, so when doing bit manipulation, we limit ourselves to\n * MAX_LENGTH-2 just to be on the safe side\n */\n var MAX_LENGTH = 32;\n\n //GainAnalysis ga;\n //MPGLib mpg;\n //Version ver;\n //VBRTag vbr;\n var ga = null;\n var mpg = null;\n var ver = null;\n var vbr = null;\n\n //public final void setModules(GainAnalysis ga, MPGLib mpg, Version ver,\n //\tVBRTag vbr) {\n\n this.setModules = function (_ga, _mpg, _ver, _vbr) {\n ga = _ga;\n mpg = _mpg;\n ver = _ver;\n vbr = _vbr;\n };\n\n /**\n * Bit stream buffer.\n */\n //private byte[] buf;\n var buf = null;\n /**\n * Bit counter of bit stream.\n */\n var totbit = 0;\n /**\n * Pointer to top byte in buffer.\n */\n var bufByteIdx = 0;\n /**\n * Pointer to top bit of top byte in buffer.\n */\n var bufBitIdx = 0;\n\n /**\n * compute bitsperframe and mean_bits for a layer III frame\n */\n this.getframebits = function (gfp) {\n var gfc = gfp.internal_flags;\n var bit_rate;\n\n /* get bitrate in kbps [?] */\n if (gfc.bitrate_index != 0)\n bit_rate = Tables.bitrate_table[gfp.version][gfc.bitrate_index];\n else\n bit_rate = gfp.brate;\n assert(8 <= bit_rate && bit_rate <= 640);\n\n /* main encoding routine toggles padding on and off */\n /* one Layer3 Slot consists of 8 bits */\n var bytes = 0 | (gfp.version + 1) * 72000 * bit_rate / gfp.out_samplerate + gfc.padding;\n return 8 * bytes;\n };\n\n function putheader_bits(gfc) {\n System.arraycopy(gfc.header[gfc.w_ptr].buf, 0, buf, bufByteIdx, gfc.sideinfo_len);\n bufByteIdx += gfc.sideinfo_len;\n totbit += gfc.sideinfo_len * 8;\n gfc.w_ptr = (gfc.w_ptr + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n }\n\n /**\n * write j bits into the bit stream\n */\n function putbits2(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n assert(gfc.header[gfc.w_ptr].write_timing >= totbit);\n if (gfc.header[gfc.w_ptr].write_timing == totbit) {\n putheader_bits(gfc);\n }\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * write j bits into the bit stream, ignoring frame headers\n */\n function putbits_noheaders(gfc, val, j) {\n assert(j < MAX_LENGTH - 2);\n\n while (j > 0) {\n var k;\n if (bufBitIdx == 0) {\n bufBitIdx = 8;\n bufByteIdx++;\n assert(bufByteIdx < Lame.LAME_MAXMP3BUFFER);\n buf[bufByteIdx] = 0;\n }\n\n k = Math.min(j, bufBitIdx);\n j -= k;\n\n bufBitIdx -= k;\n\n assert(j < MAX_LENGTH);\n /* 32 too large on 32 bit machines */\n assert(bufBitIdx < MAX_LENGTH);\n\n buf[bufByteIdx] |= ((val >> j) << bufBitIdx);\n totbit += k;\n }\n }\n\n /**\n * Some combinations of bitrate, Fs, and stereo make it impossible to stuff\n * out a frame using just main_data, due to the limited number of bits to\n * indicate main_data_length. In these situations, we put stuffing bits into\n * the ancillary data...\n */\n function drain_into_ancillary(gfp, remainingBits) {\n var gfc = gfp.internal_flags;\n var i;\n assert(remainingBits >= 0);\n\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4c, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x41, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x4d, 8);\n remainingBits -= 8;\n }\n if (remainingBits >= 8) {\n putbits2(gfc, 0x45, 8);\n remainingBits -= 8;\n }\n\n if (remainingBits >= 32) {\n var version = ver.getLameShortVersion();\n if (remainingBits >= 32)\n for (i = 0; i < version.length && remainingBits >= 8; ++i) {\n remainingBits -= 8;\n putbits2(gfc, version.charAt(i), 8);\n }\n }\n\n for (; remainingBits >= 1; remainingBits -= 1) {\n putbits2(gfc, gfc.ancillary_flag, 1);\n gfc.ancillary_flag ^= (!gfp.disable_reservoir ? 1 : 0);\n }\n\n assert(remainingBits == 0);\n\n }\n\n /**\n * write N bits into the header\n */\n function writeheader(gfc, val, j) {\n var ptr = gfc.header[gfc.h_ptr].ptr;\n\n while (j > 0) {\n var k = Math.min(j, 8 - (ptr & 7));\n j -= k;\n assert(j < MAX_LENGTH);\n /* >> 32 too large for 32 bit machines */\n\n gfc.header[gfc.h_ptr].buf[ptr >> 3] |= ((val >> j)) << (8 - (ptr & 7) - k);\n ptr += k;\n }\n gfc.header[gfc.h_ptr].ptr = ptr;\n }\n\n function CRC_update(value, crc) {\n value <<= 8;\n for (var i = 0; i < 8; i++) {\n value <<= 1;\n crc <<= 1;\n\n if ((((crc ^ value) & 0x10000) != 0))\n crc ^= CRC16_POLYNOMIAL;\n }\n return crc;\n }\n\n this.CRC_writeheader = function (gfc, header) {\n var crc = 0xffff;\n /* (jo) init crc16 for error_protection */\n\n crc = CRC_update(header[2] & 0xff, crc);\n crc = CRC_update(header[3] & 0xff, crc);\n for (var i = 6; i < gfc.sideinfo_len; i++) {\n crc = CRC_update(header[i] & 0xff, crc);\n }\n\n header[4] = (byte)(crc >> 8);\n header[5] = (byte)(crc & 255);\n };\n\n function encodeSideInfo2(gfp, bitsPerFrame) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var gr, ch;\n\n l3_side = gfc.l3_side;\n gfc.header[gfc.h_ptr].ptr = 0;\n Arrays.fill(gfc.header[gfc.h_ptr].buf, 0, gfc.sideinfo_len, 0);\n if (gfp.out_samplerate < 16000)\n writeheader(gfc, 0xffe, 12);\n else\n writeheader(gfc, 0xfff, 12);\n writeheader(gfc, (gfp.version), 1);\n writeheader(gfc, 4 - 3, 2);\n writeheader(gfc, (!gfp.error_protection ? 1 : 0), 1);\n writeheader(gfc, (gfc.bitrate_index), 4);\n writeheader(gfc, (gfc.samplerate_index), 2);\n writeheader(gfc, (gfc.padding), 1);\n writeheader(gfc, (gfp.extension), 1);\n writeheader(gfc, (gfp.mode.ordinal()), 2);\n writeheader(gfc, (gfc.mode_ext), 2);\n writeheader(gfc, (gfp.copyright), 1);\n writeheader(gfc, (gfp.original), 1);\n writeheader(gfc, (gfp.emphasis), 2);\n if (gfp.error_protection) {\n writeheader(gfc, 0, 16);\n /* dummy */\n }\n\n if (gfp.version == 1) {\n /* MPEG1 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 9);\n\n if (gfc.channels_out == 2)\n writeheader(gfc, l3_side.private_bits, 3);\n else\n writeheader(gfc, l3_side.private_bits, 5);\n\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var band;\n for (band = 0; band < 4; band++) {\n writeheader(gfc, l3_side.scfsi[ch][band], 1);\n }\n }\n\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 4);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n writeheader(gfc, gi.preflag, 1);\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n } else {\n /* MPEG2 */\n assert(l3_side.main_data_begin >= 0);\n writeheader(gfc, (l3_side.main_data_begin), 8);\n writeheader(gfc, l3_side.private_bits, gfc.channels_out);\n\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n writeheader(gfc, gi.part2_3_length + gi.part2_length, 12);\n writeheader(gfc, gi.big_values / 2, 9);\n writeheader(gfc, gi.global_gain, 8);\n writeheader(gfc, gi.scalefac_compress, 9);\n\n if (gi.block_type != Encoder.NORM_TYPE) {\n writeheader(gfc, 1, 1);\n /* window_switching_flag */\n writeheader(gfc, gi.block_type, 2);\n writeheader(gfc, gi.mixed_block_flag, 1);\n\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n\n writeheader(gfc, gi.subblock_gain[0], 3);\n writeheader(gfc, gi.subblock_gain[1], 3);\n writeheader(gfc, gi.subblock_gain[2], 3);\n } else {\n writeheader(gfc, 0, 1);\n /* window_switching_flag */\n if (gi.table_select[0] == 14)\n gi.table_select[0] = 16;\n writeheader(gfc, gi.table_select[0], 5);\n if (gi.table_select[1] == 14)\n gi.table_select[1] = 16;\n writeheader(gfc, gi.table_select[1], 5);\n if (gi.table_select[2] == 14)\n gi.table_select[2] = 16;\n writeheader(gfc, gi.table_select[2], 5);\n\n assert(0 <= gi.region0_count && gi.region0_count < 16);\n assert(0 <= gi.region1_count && gi.region1_count < 8);\n writeheader(gfc, gi.region0_count, 4);\n writeheader(gfc, gi.region1_count, 3);\n }\n\n writeheader(gfc, gi.scalefac_scale, 1);\n writeheader(gfc, gi.count1table_select, 1);\n }\n }\n\n if (gfp.error_protection) {\n /* (jo) error_protection: add crc16 information to header */\n CRC_writeheader(gfc, gfc.header[gfc.h_ptr].buf);\n }\n\n {\n var old = gfc.h_ptr;\n assert(gfc.header[old].ptr == gfc.sideinfo_len * 8);\n\n gfc.h_ptr = (old + 1) & (LameInternalFlags.MAX_HEADER_BUF - 1);\n gfc.header[gfc.h_ptr].write_timing = gfc.header[old].write_timing\n + bitsPerFrame;\n\n if (gfc.h_ptr == gfc.w_ptr) {\n /* yikes! we are out of header buffer space */\n System.err\n .println(\"Error: MAX_HEADER_BUF too small in bitstream.c \\n\");\n }\n\n }\n }\n\n function huffman_coder_count1(gfc, gi) {\n /* Write count1 area */\n var h = Tables.ht[gi.count1table_select + 32];\n var i, bits = 0;\n\n var ix = gi.big_values;\n var xr = gi.big_values;\n assert(gi.count1table_select < 2);\n\n for (i = (gi.count1 - gi.big_values) / 4; i > 0; --i) {\n var huffbits = 0;\n var p = 0, v;\n\n v = gi.l3_enc[ix + 0];\n if (v != 0) {\n p += 8;\n if (gi.xr[xr + 0] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 1];\n if (v != 0) {\n p += 4;\n huffbits *= 2;\n if (gi.xr[xr + 1] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 2];\n if (v != 0) {\n p += 2;\n huffbits *= 2;\n if (gi.xr[xr + 2] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n v = gi.l3_enc[ix + 3];\n if (v != 0) {\n p++;\n huffbits *= 2;\n if (gi.xr[xr + 3] < 0)\n huffbits++;\n assert(v <= 1);\n }\n\n ix += 4;\n xr += 4;\n putbits2(gfc, huffbits + h.table[p], h.hlen[p]);\n bits += h.hlen[p];\n }\n return bits;\n }\n\n /**\n * Implements the pseudocode of page 98 of the IS\n */\n function Huffmancode(gfc, tableindex, start, end, gi) {\n var h = Tables.ht[tableindex];\n var bits = 0;\n\n assert(tableindex < 32);\n if (0 == tableindex)\n return bits;\n\n for (var i = start; i < end; i += 2) {\n var cbits = 0;\n var xbits = 0;\n var linbits = h.xlen;\n var xlen = h.xlen;\n var ext = 0;\n var x1 = gi.l3_enc[i];\n var x2 = gi.l3_enc[i + 1];\n\n if (x1 != 0) {\n if (gi.xr[i] < 0)\n ext++;\n cbits--;\n }\n\n if (tableindex > 15) {\n /* use ESC-words */\n if (x1 > 14) {\n var linbits_x1 = x1 - 15;\n assert(linbits_x1 <= h.linmax);\n ext |= linbits_x1 << 1;\n xbits = linbits;\n x1 = 15;\n }\n\n if (x2 > 14) {\n var linbits_x2 = x2 - 15;\n assert(linbits_x2 <= h.linmax);\n ext <<= linbits;\n ext |= linbits_x2;\n xbits += linbits;\n x2 = 15;\n }\n xlen = 16;\n }\n\n if (x2 != 0) {\n ext <<= 1;\n if (gi.xr[i + 1] < 0)\n ext++;\n cbits--;\n }\n\n assert((x1 | x2) < 16);\n\n x1 = x1 * xlen + x2;\n xbits -= cbits;\n cbits += h.hlen[x1];\n\n assert(cbits <= MAX_LENGTH);\n assert(xbits <= MAX_LENGTH);\n\n putbits2(gfc, h.table[x1], cbits);\n putbits2(gfc, ext, xbits);\n bits += cbits + xbits;\n }\n return bits;\n }\n\n /**\n * Note the discussion of huffmancodebits() on pages 28 and 29 of the IS, as\n * well as the definitions of the side information on pages 26 and 27.\n */\n function ShortHuffmancodebits(gfc, gi) {\n var region1Start = 3 * gfc.scalefac_band.s[3];\n if (region1Start > gi.big_values)\n region1Start = gi.big_values;\n\n /* short blocks do not have a region2 */\n var bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n gi.big_values, gi);\n return bits;\n }\n\n function LongHuffmancodebits(gfc, gi) {\n var bigvalues, bits;\n var region1Start, region2Start;\n\n bigvalues = gi.big_values;\n assert(0 <= bigvalues && bigvalues <= 576);\n\n var i = gi.region0_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region1Start = gfc.scalefac_band.l[i];\n i += gi.region1_count + 1;\n assert(0 <= i);\n assert(i < gfc.scalefac_band.l.length);\n region2Start = gfc.scalefac_band.l[i];\n\n if (region1Start > bigvalues)\n region1Start = bigvalues;\n\n if (region2Start > bigvalues)\n region2Start = bigvalues;\n\n bits = Huffmancode(gfc, gi.table_select[0], 0, region1Start, gi);\n bits += Huffmancode(gfc, gi.table_select[1], region1Start,\n region2Start, gi);\n bits += Huffmancode(gfc, gi.table_select[2], region2Start, bigvalues,\n gi);\n return bits;\n }\n\n function writeMainData(gfp) {\n var gr, ch, sfb, data_bits, tot_bits = 0;\n var gfc = gfp.internal_flags;\n var l3_side = gfc.l3_side;\n\n if (gfp.version == 1) {\n /* MPEG 1 */\n for (gr = 0; gr < 2; gr++) {\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var slen1 = Takehiro.slen1_tab[gi.scalefac_compress];\n var slen2 = Takehiro.slen2_tab[gi.scalefac_compress];\n data_bits = 0;\n for (sfb = 0; sfb < gi.sfbdivide; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen1);\n data_bits += slen1;\n }\n for (; sfb < gi.sfbmax; sfb++) {\n if (gi.scalefac[sfb] == -1)\n continue;\n /* scfsi is used */\n putbits2(gfc, gi.scalefac[sfb], slen2);\n data_bits += slen2;\n }\n assert(data_bits == gi.part2_length);\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length + gi.part2_length);\n tot_bits += data_bits;\n }\n /* for ch */\n }\n /* for gr */\n } else {\n /* MPEG 2 */\n gr = 0;\n for (ch = 0; ch < gfc.channels_out; ch++) {\n var gi = l3_side.tt[gr][ch];\n var i, sfb_partition, scale_bits = 0;\n assert(gi.sfb_partition_table != null);\n data_bits = 0;\n sfb = 0;\n sfb_partition = 0;\n\n if (gi.block_type == Encoder.SHORT_TYPE) {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition] / 3;\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 0], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 1], 0), slen);\n putbits2(gfc,\n Math.max(gi.scalefac[sfb * 3 + 2], 0), slen);\n scale_bits += 3 * slen;\n }\n }\n data_bits += ShortHuffmancodebits(gfc, gi);\n } else {\n for (; sfb_partition < 4; sfb_partition++) {\n var sfbs = gi.sfb_partition_table[sfb_partition];\n var slen = gi.slen[sfb_partition];\n for (i = 0; i < sfbs; i++, sfb++) {\n putbits2(gfc, Math.max(gi.scalefac[sfb], 0), slen);\n scale_bits += slen;\n }\n }\n data_bits += LongHuffmancodebits(gfc, gi);\n }\n data_bits += huffman_coder_count1(gfc, gi);\n /* does bitcount in quantize.c agree with actual bit count? */\n assert(data_bits == gi.part2_3_length);\n assert(scale_bits == gi.part2_length);\n tot_bits += scale_bits + data_bits;\n }\n /* for ch */\n }\n /* for gf */\n return tot_bits;\n }\n\n /* main_data */\n\n function TotalBytes() {\n this.total = 0;\n }\n\n /*\n * compute the number of bits required to flush all mp3 frames currently in\n * the buffer. This should be the same as the reservoir size. Only call this\n * routine between frames - i.e. only after all headers and data have been\n * added to the buffer by format_bitstream().\n *\n * Also compute total_bits_output = size of mp3 buffer (including frame\n * headers which may not have yet been send to the mp3 buffer) + number of\n * bits needed to flush all mp3 frames.\n *\n * total_bytes_output is the size of the mp3 output buffer if\n * lame_encode_flush_nogap() was called right now.\n */\n function compute_flushbits(gfp, total_bytes_output) {\n var gfc = gfp.internal_flags;\n var flushbits, remaining_headers;\n var bitsPerFrame;\n var last_ptr, first_ptr;\n first_ptr = gfc.w_ptr;\n /* first header to add to bitstream */\n last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n\n /* add this many bits to bitstream so we can flush all headers */\n flushbits = gfc.header[last_ptr].write_timing - totbit;\n total_bytes_output.total = flushbits;\n\n if (flushbits >= 0) {\n /* if flushbits >= 0, some headers have not yet been written */\n /* reduce flushbits by the size of the headers */\n remaining_headers = 1 + last_ptr - first_ptr;\n if (last_ptr < first_ptr)\n remaining_headers = 1 + last_ptr - first_ptr\n + LameInternalFlags.MAX_HEADER_BUF;\n flushbits -= remaining_headers * 8 * gfc.sideinfo_len;\n }\n\n /*\n * finally, add some bits so that the last frame is complete these bits\n * are not necessary to decode the last frame, but some decoders will\n * ignore last frame if these bits are missing\n */\n bitsPerFrame = self.getframebits(gfp);\n flushbits += bitsPerFrame;\n total_bytes_output.total += bitsPerFrame;\n /* round up: */\n if ((total_bytes_output.total % 8) != 0)\n total_bytes_output.total = 1 + (total_bytes_output.total / 8);\n else\n total_bytes_output.total = (total_bytes_output.total / 8);\n total_bytes_output.total += bufByteIdx + 1;\n\n if (flushbits < 0) {\n System.err.println(\"strange error flushing buffer ... \\n\");\n }\n return flushbits;\n }\n\n this.flush_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n var flushbits;\n var last_ptr = gfc.h_ptr - 1;\n /* last header to add to bitstream */\n if (last_ptr == -1)\n last_ptr = LameInternalFlags.MAX_HEADER_BUF - 1;\n l3_side = gfc.l3_side;\n\n if ((flushbits = compute_flushbits(gfp, new TotalBytes())) < 0)\n return;\n drain_into_ancillary(gfp, flushbits);\n\n /* check that the 100% of the last frame has been written to bitstream */\n assert(gfc.header[last_ptr].write_timing + this.getframebits(gfp) == totbit);\n\n /*\n * we have padded out all frames with ancillary data, which is the same\n * as filling the bitreservoir with ancillary data, so :\n */\n gfc.ResvSize = 0;\n l3_side.main_data_begin = 0;\n\n /* save the ReplayGain value */\n if (gfc.findReplayGain) {\n var RadioGain = ga.GetTitleGain(gfc.rgdata);\n assert(NEQ(RadioGain, GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES));\n gfc.RadioGain = Math.floor(RadioGain * 10.0 + 0.5) | 0;\n /* round to nearest */\n }\n\n /* find the gain and scale change required for no clipping */\n if (gfc.findPeakSample) {\n gfc.noclipGainChange = Math.ceil(Math\n .log10(gfc.PeakSample / 32767.0) * 20.0 * 10.0) | 0;\n /* round up */\n\n if (gfc.noclipGainChange > 0) {\n /* clipping occurs */\n if (EQ(gfp.scale, 1.0) || EQ(gfp.scale, 0.0))\n gfc.noclipScale = (Math\n .floor((32767.0 / gfc.PeakSample) * 100.0) / 100.0);\n /* round down */\n else {\n /*\n * the user specified his own scaling factor. We could\n * suggest the scaling factor of\n * (32767.0/gfp.PeakSample)*(gfp.scale) but it's usually\n * very inaccurate. So we'd rather not advice him on the\n * scaling factor.\n */\n gfc.noclipScale = -1;\n }\n } else\n /* no clipping */\n gfc.noclipScale = -1;\n }\n };\n\n this.add_dummy_byte = function (gfp, val, n) {\n var gfc = gfp.internal_flags;\n var i;\n\n while (n-- > 0) {\n putbits_noheaders(gfc, val, 8);\n\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing += 8;\n }\n };\n\n /**\n * This is called after a frame of audio has been quantized and coded. It\n * will write the encoded audio to the bitstream. Note that from a layer3\n * encoder's perspective the bit stream is primarily a series of main_data()\n * blocks, with header and side information inserted at the proper locations\n * to maintain framing. (See Figure A.7 in the IS).\n */\n this.format_bitstream = function (gfp) {\n var gfc = gfp.internal_flags;\n var l3_side;\n l3_side = gfc.l3_side;\n\n var bitsPerFrame = this.getframebits(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_pre);\n\n encodeSideInfo2(gfp, bitsPerFrame);\n var bits = 8 * gfc.sideinfo_len;\n bits += writeMainData(gfp);\n drain_into_ancillary(gfp, l3_side.resvDrain_post);\n bits += l3_side.resvDrain_post;\n\n l3_side.main_data_begin += (bitsPerFrame - bits) / 8;\n\n /*\n * compare number of bits needed to clear all buffered mp3 frames with\n * what we think the resvsize is:\n */\n if (compute_flushbits(gfp, new TotalBytes()) != gfc.ResvSize) {\n System.err.println(\"Internal buffer inconsistency. flushbits <> ResvSize\");\n }\n\n /*\n * compare main_data_begin for the next frame with what we think the\n * resvsize is:\n */\n if ((l3_side.main_data_begin * 8) != gfc.ResvSize) {\n System.err.printf(\"bit reservoir error: \\n\"\n + \"l3_side.main_data_begin: %d \\n\"\n + \"Resvoir size: %d \\n\"\n + \"resv drain (post) %d \\n\"\n + \"resv drain (pre) %d \\n\"\n + \"header and sideinfo: %d \\n\"\n + \"data bits: %d \\n\"\n + \"total bits: %d (remainder: %d) \\n\"\n + \"bitsperframe: %d \\n\",\n 8 * l3_side.main_data_begin, gfc.ResvSize,\n l3_side.resvDrain_post, l3_side.resvDrain_pre,\n 8 * gfc.sideinfo_len, bits - l3_side.resvDrain_post - 8\n * gfc.sideinfo_len, bits, bits % 8, bitsPerFrame);\n\n System.err.println(\"This is a fatal error. It has several possible causes:\");\n System.err.println(\"90%% LAME compiled with buggy version of gcc using advanced optimizations\");\n System.err.println(\" 9%% Your system is overclocked\");\n System.err.println(\" 1%% bug in LAME encoding library\");\n\n gfc.ResvSize = l3_side.main_data_begin * 8;\n }\n //;\n assert(totbit % 8 == 0);\n\n if (totbit > 1000000000) {\n /*\n * to avoid totbit overflow, (at 8h encoding at 128kbs) lets reset\n * bit counter\n */\n var i;\n for (i = 0; i < LameInternalFlags.MAX_HEADER_BUF; ++i)\n gfc.header[i].write_timing -= totbit;\n totbit = 0;\n }\n\n return 0;\n };\n\n /**\n *
\n     * copy data out of the internal MP3 bit buffer into a user supplied\n     *       unsigned char buffer.\n     *\n     *       mp3data=0      indicates data in buffer is an id3tags and VBR tags\n     *       mp3data=1      data is real mp3 frame data.\n     * 
\n */\n this.copy_buffer = function (gfc, buffer, bufferPos, size, mp3data) {\n var minimum = bufByteIdx + 1;\n if (minimum <= 0)\n return 0;\n if (size != 0 && minimum > size) {\n /* buffer is too small */\n return -1;\n }\n System.arraycopy(buf, 0, buffer, bufferPos, minimum);\n bufByteIdx = -1;\n bufBitIdx = 0;\n\n if (mp3data != 0) {\n var crc = new_int(1);\n crc[0] = gfc.nMusicCRC;\n vbr.updateMusicCRC(crc, buffer, bufferPos, minimum);\n gfc.nMusicCRC = crc[0];\n\n /**\n * sum number of bytes belonging to the mp3 stream this info will be\n * written into the Xing/LAME header for seeking\n */\n if (minimum > 0) {\n gfc.VBR_seek_table.nBytesWritten += minimum;\n }\n\n if (gfc.decode_on_the_fly) { /* decode the frame */\n var pcm_buf = new_float_n([2, 1152]);\n var mp3_in = minimum;\n var samples_out = -1;\n var i;\n\n /* re-synthesis to pcm. Repeat until we get a samples_out=0 */\n while (samples_out != 0) {\n\n samples_out = mpg.hip_decode1_unclipped(gfc.hip, buffer,\n bufferPos, mp3_in, pcm_buf[0], pcm_buf[1]);\n /*\n * samples_out = 0: need more data to decode samples_out =\n * -1: error. Lets assume 0 pcm output samples_out = number\n * of samples output\n */\n\n /*\n * set the lenght of the mp3 input buffer to zero, so that\n * in the next iteration of the loop we will be querying\n * mpglib about buffered data\n */\n mp3_in = 0;\n\n if (samples_out == -1) {\n /*\n * error decoding. Not fatal, but might screw up the\n * ReplayGain tag. What should we do? Ignore for now\n */\n samples_out = 0;\n }\n if (samples_out > 0) {\n /* process the PCM data */\n\n /*\n * this should not be possible, and indicates we have\n * overflown the pcm_buf buffer\n */\n assert(samples_out <= 1152);\n\n if (gfc.findPeakSample) {\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[0][i];\n else if (-pcm_buf[0][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[0][i];\n }\n if (gfc.channels_out > 1)\n for (i = 0; i < samples_out; i++) {\n if (pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = pcm_buf[1][i];\n else if (-pcm_buf[1][i] > gfc.PeakSample)\n gfc.PeakSample = -pcm_buf[1][i];\n }\n }\n\n if (gfc.findReplayGain)\n if (ga.AnalyzeSamples(gfc.rgdata, pcm_buf[0], 0,\n pcm_buf[1], 0, samples_out,\n gfc.channels_out) == GainAnalysis.GAIN_ANALYSIS_ERROR)\n return -6;\n\n }\n /* if (samples_out>0) */\n }\n /* while (samples_out!=0) */\n }\n /* if (gfc.decode_on_the_fly) */\n\n }\n /* if (mp3data) */\n return minimum;\n };\n\n this.init_bit_stream_w = function (gfc) {\n buf = new_byte(Lame.LAME_MAXMP3BUFFER);\n\n gfc.h_ptr = gfc.w_ptr = 0;\n gfc.header[gfc.h_ptr].write_timing = 0;\n bufByteIdx = -1;\n bufBitIdx = 0;\n totbit = 0;\n };\n\n // From machine.h\n\n\n}\n\nmodule.exports = BitStream;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\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 TypeError = global.TypeError;\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 = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(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 hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Date = global.Date;\nvar getTime = uncurryThis(Date.prototype.getTime);\n\n// `Date.now` method\n// https://tc39.es/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return getTime(new Date());\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar GainAnalysis = require('./GainAnalysis.js');\n\nfunction ReplayGain() {\n this.linprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * left input samples, with pre-buffer\n */\n this.linpre = 0;\n this.lstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"first step\" (i.e. post first filter) samples\n */\n this.lstep = 0;\n this.loutbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n /**\n * left \"out\" (i.e. post second filter) samples\n */\n this.lout = 0;\n this.rinprebuf = new_float(GainAnalysis.MAX_ORDER * 2);\n /**\n * right input samples ...\n */\n this.rinpre = 0;\n this.rstepbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rstep = 0;\n this.routbuf = new_float(GainAnalysis.MAX_SAMPLES_PER_WINDOW + GainAnalysis.MAX_ORDER);\n this.rout = 0;\n /**\n * number of samples required to reach number of milliseconds required\n * for RMS window\n */\n this.sampleWindow = 0;\n this.totsamp = 0;\n this.lsum = 0.;\n this.rsum = 0.;\n this.freqindex = 0;\n this.first = 0;\n this.A = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n this.B = new_int(0 | (GainAnalysis.STEPS_per_dB * GainAnalysis.MAX_dB));\n\n}\n\nmodule.exports = ReplayGain;\n","//package mp3;\n\nfunction CalcNoiseResult() {\n /**\n * sum of quantization noise > masking\n */\n this.over_noise = 0.;\n /**\n * sum of all quantization noise\n */\n this.tot_noise = 0.;\n /**\n * max quantization noise\n */\n this.max_noise = 0.;\n /**\n * number of quantization noise > masking\n */\n this.over_count = 0;\n /**\n * SSD-like cost of distorted bands\n */\n this.over_SSD = 0;\n this.bits = 0;\n}\n\nmodule.exports = CalcNoiseResult;\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\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 (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({\n global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","module.exports = require('./lib/linkify');\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n\ttoString: function toString() {\n\t\treturn this.v + '';\n\t}\n};\n\nfunction inheritsToken(value) {\n\tvar props = value ? { v: value } : {};\n\treturn (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\nvar DOMAIN = inheritsToken();\n\n/**\n\t@class AT\n\t@extends TextToken\n*/\nvar AT = inheritsToken('@');\n\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\nvar COLON = inheritsToken(':');\n\n/**\n\t@class DOT\n\t@extends TextToken\n*/\nvar DOT = inheritsToken('.');\n\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\nvar PUNCTUATION = inheritsToken();\n\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\nvar LOCALHOST = inheritsToken();\n\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\nvar NL = inheritsToken('\\n');\n\n/**\n\t@class NUM\n\t@extends TextToken\n*/\nvar NUM = inheritsToken();\n\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\nvar PLUS = inheritsToken('+');\n\n/**\n\t@class POUND\n\t@extends TextToken\n*/\nvar POUND = inheritsToken('#');\n\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\nvar PROTOCOL = inheritsToken();\n\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\nvar MAILTO = inheritsToken('mailto:');\n\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\nvar QUERY = inheritsToken('?');\n\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\nvar SLASH = inheritsToken('/');\n\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\nvar UNDERSCORE = inheritsToken('_');\n\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\nvar SYM = inheritsToken();\n\n/**\n\t@class TLD\n\t@extends TextToken\n*/\nvar TLD = inheritsToken();\n\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\nvar WS = inheritsToken();\n\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\n\nvar AMPERSAND = inheritsToken('&');\n\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\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","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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\n// eslint-disable-next-line es-x/no-object-create -- safe\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 : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\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 defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(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 (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\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 defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar n$ParseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = n$ParseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : n$ParseFloat;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction FFT() {\n\n var window = new_float(Encoder.BLKSIZE);\n var window_s = new_float(Encoder.BLKSIZE_s / 2);\n\n var costab = [\n 9.238795325112867e-01, 3.826834323650898e-01,\n 9.951847266721969e-01, 9.801714032956060e-02,\n 9.996988186962042e-01, 2.454122852291229e-02,\n 9.999811752826011e-01, 6.135884649154475e-03\n ];\n\n function fht(fz, fzPos, n) {\n var tri = 0;\n var k4;\n var fi;\n var gi;\n\n n <<= 1;\n /* to get BLKSIZE, because of 3DNow! ASM routine */\n var fn = fzPos + n;\n k4 = 4;\n do {\n var s1, c1;\n var i, k1, k2, k3, kx;\n kx = k4 >> 1;\n k1 = k4;\n k2 = k4 << 1;\n k3 = k2 + k1;\n k4 = k2 << 1;\n fi = fzPos;\n gi = fi + kx;\n do {\n var f0, f1, f2, f3;\n f1 = fz[fi + 0] - fz[fi + k1];\n f0 = fz[fi + 0] + fz[fi + k1];\n f3 = fz[fi + k2] - fz[fi + k3];\n f2 = fz[fi + k2] + fz[fi + k3];\n fz[fi + k2] = f0 - f2;\n fz[fi + 0] = f0 + f2;\n fz[fi + k3] = f1 - f3;\n fz[fi + k1] = f1 + f3;\n f1 = fz[gi + 0] - fz[gi + k1];\n f0 = fz[gi + 0] + fz[gi + k1];\n f3 = (Util.SQRT2 * fz[gi + k3]);\n f2 = (Util.SQRT2 * fz[gi + k2]);\n fz[gi + k2] = f0 - f2;\n fz[gi + 0] = f0 + f2;\n fz[gi + k3] = f1 - f3;\n fz[gi + k1] = f1 + f3;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c1 = costab[tri + 0];\n s1 = costab[tri + 1];\n for (i = 1; i < kx; i++) {\n var c2, s2;\n c2 = 1 - (2 * s1) * s1;\n s2 = (2 * s1) * c1;\n fi = fzPos + i;\n gi = fzPos + k1 - i;\n do {\n var a, b, g0, f0, f1, g1, f2, g2, f3, g3;\n b = s2 * fz[fi + k1] - c2 * fz[gi + k1];\n a = c2 * fz[fi + k1] + s2 * fz[gi + k1];\n f1 = fz[fi + 0] - a;\n f0 = fz[fi + 0] + a;\n g1 = fz[gi + 0] - b;\n g0 = fz[gi + 0] + b;\n b = s2 * fz[fi + k3] - c2 * fz[gi + k3];\n a = c2 * fz[fi + k3] + s2 * fz[gi + k3];\n f3 = fz[fi + k2] - a;\n f2 = fz[fi + k2] + a;\n g3 = fz[gi + k2] - b;\n g2 = fz[gi + k2] + b;\n b = s1 * f2 - c1 * g3;\n a = c1 * f2 + s1 * g3;\n fz[fi + k2] = f0 - a;\n fz[fi + 0] = f0 + a;\n fz[gi + k3] = g1 - b;\n fz[gi + k1] = g1 + b;\n b = c1 * g2 - s1 * f3;\n a = s1 * g2 + c1 * f3;\n fz[gi + k2] = g0 - a;\n fz[gi + 0] = g0 + a;\n fz[fi + k3] = f1 - b;\n fz[fi + k1] = f1 + b;\n gi += k4;\n fi += k4;\n } while (fi < fn);\n c2 = c1;\n c1 = c2 * costab[tri + 0] - s1 * costab[tri + 1];\n s1 = c2 * costab[tri + 1] + s1 * costab[tri + 0];\n }\n tri += 2;\n } while (k4 < n);\n }\n\n var rv_tbl = [0x00, 0x80, 0x40,\n 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10,\n 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70,\n 0xf0, 0x08, 0x88, 0x48, 0xc8, 0x28,\n 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58,\n 0xd8, 0x38, 0xb8, 0x78, 0xf8, 0x04,\n 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64,\n 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34,\n 0xb4, 0x74, 0xf4, 0x0c, 0x8c, 0x4c,\n 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c,\n 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c,\n 0xfc, 0x02, 0x82, 0x42, 0xc2, 0x22,\n 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52,\n 0xd2, 0x32, 0xb2, 0x72, 0xf2, 0x0a,\n 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a,\n 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a,\n 0xba, 0x7a, 0xfa, 0x06, 0x86, 0x46,\n 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16,\n 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76,\n 0xf6, 0x0e, 0x8e, 0x4e, 0xce, 0x2e,\n 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e,\n 0xde, 0x3e, 0xbe, 0x7e, 0xfe];\n\n this.fft_short = function (gfc, x_real, chn, buffer, bufPos) {\n for (var b = 0; b < 3; b++) {\n var x = Encoder.BLKSIZE_s / 2;\n var k = 0xffff & ((576 / 3) * (b + 1));\n var j = Encoder.BLKSIZE_s / 8 - 1;\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[j << 2] & 0xff;\n\n f0 = window_s[i] * buffer[chn][bufPos + i + k];\n w = window_s[0x7f - i] * buffer[chn][bufPos + i + k + 0x80];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x40] * buffer[chn][bufPos + i + k + 0x40];\n w = window_s[0x3f - i] * buffer[chn][bufPos + i + k + 0xc0];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n x_real[b][x + 0] = f0 + f2;\n x_real[b][x + 2] = f0 - f2;\n x_real[b][x + 1] = f1 + f3;\n x_real[b][x + 3] = f1 - f3;\n\n f0 = window_s[i + 0x01] * buffer[chn][bufPos + i + k + 0x01];\n w = window_s[0x7e - i] * buffer[chn][bufPos + i + k + 0x81];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window_s[i + 0x41] * buffer[chn][bufPos + i + k + 0x41];\n w = window_s[0x3e - i] * buffer[chn][bufPos + i + k + 0xc1];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 0] = f0 + f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 2] = f0 - f2;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 1] = f1 + f3;\n x_real[b][x + Encoder.BLKSIZE_s / 2 + 3] = f1 - f3;\n } while (--j >= 0);\n\n fht(x_real[b], x, Encoder.BLKSIZE_s / 2);\n /* BLKSIZE_s/2 because of 3DNow! ASM routine */\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n }\n\n this.fft_long = function (gfc, y, chn, buffer, bufPos) {\n var jj = Encoder.BLKSIZE / 8 - 1;\n var x = Encoder.BLKSIZE / 2;\n\n do {\n var f0, f1, f2, f3, w;\n var i = rv_tbl[jj] & 0xff;\n f0 = window[i] * buffer[chn][bufPos + i];\n w = window[i + 0x200] * buffer[chn][bufPos + i + 0x200];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x100] * buffer[chn][bufPos + i + 0x100];\n w = window[i + 0x300] * buffer[chn][bufPos + i + 0x300];\n f3 = f2 - w;\n f2 = f2 + w;\n\n x -= 4;\n y[x + 0] = f0 + f2;\n y[x + 2] = f0 - f2;\n y[x + 1] = f1 + f3;\n y[x + 3] = f1 - f3;\n\n f0 = window[i + 0x001] * buffer[chn][bufPos + i + 0x001];\n w = window[i + 0x201] * buffer[chn][bufPos + i + 0x201];\n f1 = f0 - w;\n f0 = f0 + w;\n f2 = window[i + 0x101] * buffer[chn][bufPos + i + 0x101];\n w = window[i + 0x301] * buffer[chn][bufPos + i + 0x301];\n f3 = f2 - w;\n f2 = f2 + w;\n\n y[x + Encoder.BLKSIZE / 2 + 0] = f0 + f2;\n y[x + Encoder.BLKSIZE / 2 + 2] = f0 - f2;\n y[x + Encoder.BLKSIZE / 2 + 1] = f1 + f3;\n y[x + Encoder.BLKSIZE / 2 + 3] = f1 - f3;\n } while (--jj >= 0);\n\n fht(y, x, Encoder.BLKSIZE / 2);\n /* BLKSIZE/2 because of 3DNow! ASM routine */\n }\n\n this.init_fft = function (gfc) {\n /* The type of window used here will make no real difference, but */\n /*\n * in the interest of merging nspsytune stuff - switch to blackman\n * window\n */\n for (var i = 0; i < Encoder.BLKSIZE; i++)\n /* blackman window */\n window[i] = (0.42 - 0.5 * Math.cos(2 * Math.PI * (i + .5)\n / Encoder.BLKSIZE) + 0.08 * Math.cos(4 * Math.PI * (i + .5)\n / Encoder.BLKSIZE));\n\n for (var i = 0; i < Encoder.BLKSIZE_s / 2; i++)\n window_s[i] = (0.5 * (1.0 - Math.cos(2.0 * Math.PI\n * (i + 0.5) / Encoder.BLKSIZE_s)));\n\n }\n\n}\n\nmodule.exports = FFT;\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\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-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","import Database from './database.js';\n\nfunction noop() { }\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nlet src_url_equal_anchor;\nfunction src_url_equal(element_src, url) {\n if (!src_url_equal_anchor) {\n src_url_equal_anchor = document.createElement('a');\n }\n src_url_equal_anchor.href = url;\n return element_src === src_url_equal_anchor.href;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_style(node, key, value, important) {\n if (value === null) {\n node.style.removeProperty(key);\n }\n else {\n node.style.setProperty(key, value, important ? 'important' : '');\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\n\nconst dirty_components = [];\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\n// flush() calls callbacks in this order:\n// 1. All beforeUpdate callbacks, in order: parents before children\n// 2. All bind:this callbacks, in reverse order: children before parents.\n// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n// for afterUpdates called during the initial onMount, which are called in\n// reverse order: children before parents.\n// Since callbacks might update component values, which could trigger another\n// call to flush(), the following steps guard against this:\n// 1. During beforeUpdate, any updated components will be added to the\n// dirty_components array and will cause a reentrant call to flush(). Because\n// the flush index is kept outside the function, the reentrant call will pick\n// up where the earlier call left off and go through all dirty components. The\n// current_component value is saved and restored so that the reentrant call will\n// not interfere with the \"parent\" flush() call.\n// 2. bind:this callbacks cannot trigger new flush() calls.\n// 3. During afterUpdate, any updated components will NOT have their afterUpdate\n// callback called a second time; the seen_callbacks set, outside the flush()\n// function, guarantees this behavior.\nconst seen_callbacks = new Set();\nlet flushidx = 0; // Do *not* move this inside the flush() function\nfunction flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\nconst outroing = new Set();\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n}\n/**\n * Base class for Svelte components. Used when dev=false.\n */\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\n// via https://unpkg.com/browse/emojibase-data@6.0.0/meta/groups.json\nconst allGroups = [\n [-1, '✨', 'custom'],\n [0, '😀', 'smileys-emotion'],\n [1, '👋', 'people-body'],\n [3, '🐱', 'animals-nature'],\n [4, '🍎', 'food-drink'],\n [5, '🏠️', 'travel-places'],\n [6, '⚽', 'activities'],\n [7, '📝', 'objects'],\n [8, '⛔️', 'symbols'],\n [9, '🏁', 'flags']\n].map(([id, emoji, name]) => ({ id, emoji, name }));\n\nconst groups = allGroups.slice(1);\nconst customGroup = allGroups[0];\n\nconst MIN_SEARCH_TEXT_LENGTH = 2;\nconst NUM_SKIN_TONES = 6;\n\n/* istanbul ignore next */\nconst rIC = typeof requestIdleCallback === 'function' ? requestIdleCallback : setTimeout;\n\n// check for ZWJ (zero width joiner) character\nfunction hasZwj (emoji) {\n return emoji.unicode.includes('\\u200d')\n}\n\n// Find one good representative emoji from each version to test by checking its color.\n// Ideally it should have color in the center. For some inspiration, see:\n// https://about.gitlab.com/blog/2018/05/30/journey-in-native-unicode-emoji/\n//\n// Note that for certain versions (12.1, 13.1), there is no point in testing them explicitly, because\n// all the emoji from this version are compound-emoji from previous versions. So they would pass a color\n// test, even in browsers that display them as double emoji. (E.g. \"face in clouds\" might render as\n// \"face without mouth\" plus \"fog\".) These emoji can only be filtered using the width test,\n// which happens in checkZwjSupport.js.\nconst versionsAndTestEmoji = {\n '🫠': 14,\n '🥲': 13.1, // smiling face with tear, technically from v13 but see note above\n '🥻': 12.1, // sari, technically from v12 but see note above\n '🥰': 11,\n '🤩': 5,\n '👱‍♀️': 4,\n '🤣': 3,\n '👁️‍🗨️': 2,\n '😀': 1,\n '😐️': 0.7,\n '😃': 0.6\n};\n\nconst TIMEOUT_BEFORE_LOADING_MESSAGE = 1000; // 1 second\nconst DEFAULT_SKIN_TONE_EMOJI = '🖐️';\nconst DEFAULT_NUM_COLUMNS = 8;\n\n// Based on https://fivethirtyeight.com/features/the-100-most-used-emojis/ and\n// https://blog.emojipedia.org/facebook-reveals-most-and-least-used-emojis/ with\n// a bit of my own curation. (E.g. avoid the \"OK\" gesture because of connotations:\n// https://emojipedia.org/ok-hand/)\nconst MOST_COMMONLY_USED_EMOJI = [\n '😊',\n '😒',\n '♥️',\n '👍️',\n '😍',\n '😂',\n '😭',\n '☺️',\n '😔',\n '😩',\n '😏',\n '💕',\n '🙌',\n '😘'\n];\n\n// It's important to list Twemoji Mozilla before everything else, because Mozilla bundles their\n// own font on some platforms (notably Windows and Linux as of this writing). Typically Mozilla\n// updates faster than the underlying OS, and we don't want to render older emoji in one font and\n// newer emoji in another font:\n// https://github.com/nolanlawson/emoji-picker-element/pull/268#issuecomment-1073347283\nconst FONT_FAMILY = '\"Twemoji Mozilla\",\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",' +\n '\"Noto Color Emoji\",\"EmojiOne Color\",\"Android Emoji\",sans-serif';\n\n/* istanbul ignore next */\nconst DEFAULT_CATEGORY_SORTING = (a, b) => a < b ? -1 : a > b ? 1 : 0;\n\n// Test if an emoji is supported by rendering it to canvas and checking that the color is not black\n\nconst getTextFeature = (text, color) => {\n const canvas = document.createElement('canvas');\n canvas.width = canvas.height = 1;\n\n const ctx = canvas.getContext('2d');\n ctx.textBaseline = 'top';\n ctx.font = `100px ${FONT_FAMILY}`;\n ctx.fillStyle = color;\n ctx.scale(0.01, 0.01);\n ctx.fillText(text, 0, 0);\n\n return ctx.getImageData(0, 0, 1, 1).data\n};\n\nconst compareFeatures = (feature1, feature2) => {\n const feature1Str = [...feature1].join(',');\n const feature2Str = [...feature2].join(',');\n // This is RGBA, so for 0,0,0, we are checking that the first RGB is not all zeroes.\n // Most of the time when unsupported this is 0,0,0,0, but on Chrome on Mac it is\n // 0,0,0,61 - there is a transparency here.\n return feature1Str === feature2Str && !feature1Str.startsWith('0,0,0,')\n};\n\nfunction testColorEmojiSupported (text) {\n // Render white and black and then compare them to each other and ensure they're the same\n // color, and neither one is black. This shows that the emoji was rendered in color.\n const feature1 = getTextFeature(text, '#000');\n const feature2 = getTextFeature(text, '#fff');\n return feature1 && feature2 && compareFeatures(feature1, feature2)\n}\n\n// rather than check every emoji ever, which would be expensive, just check some representatives from the\n\nfunction determineEmojiSupportLevel () {\n const entries = Object.entries(versionsAndTestEmoji);\n try {\n // start with latest emoji and work backwards\n for (const [emoji, version] of entries) {\n if (testColorEmojiSupported(emoji)) {\n return version\n }\n }\n } catch (e) { // canvas error\n } finally {\n }\n // In case of an error, be generous and just assume all emoji are supported (e.g. for canvas errors\n // due to anti-fingerprinting add-ons). Better to show some gray boxes than nothing at all.\n return entries[0][1] // first one in the list is the most recent version\n}\n\n// Check which emojis we know for sure aren't supported, based on Unicode version level\nconst emojiSupportLevelPromise = new Promise(resolve => (\n rIC(() => (\n resolve(determineEmojiSupportLevel()) // delay so ideally this can run while IDB is first populating\n ))\n));\n// determine which emojis containing ZWJ (zero width joiner) characters\n// are supported (rendered as one glyph) rather than unsupported (rendered as two or more glyphs)\nconst supportedZwjEmojis = new Map();\n\nconst VARIATION_SELECTOR = '\\ufe0f';\nconst SKINTONE_MODIFIER = '\\ud83c';\nconst ZWJ = '\\u200d';\nconst LIGHT_SKIN_TONE = 0x1F3FB;\nconst LIGHT_SKIN_TONE_MODIFIER = 0xdffb;\n\n// TODO: this is a naive implementation, we can improve it later\n// It's only used for the skintone picker, so as long as people don't customize with\n// really exotic emoji then it should work fine\nfunction applySkinTone (str, skinTone) {\n if (skinTone === 0) {\n return str\n }\n const zwjIndex = str.indexOf(ZWJ);\n if (zwjIndex !== -1) {\n return str.substring(0, zwjIndex) +\n String.fromCodePoint(LIGHT_SKIN_TONE + skinTone - 1) +\n str.substring(zwjIndex)\n }\n if (str.endsWith(VARIATION_SELECTOR)) {\n str = str.substring(0, str.length - 1);\n }\n return str + SKINTONE_MODIFIER + String.fromCodePoint(LIGHT_SKIN_TONE_MODIFIER + skinTone - 1)\n}\n\nfunction halt (event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\n// Implementation left/right or up/down navigation, circling back when you\n// reach the start/end of the list\nfunction incrementOrDecrement (decrement, val, arr) {\n val += (decrement ? -1 : 1);\n if (val < 0) {\n val = arr.length - 1;\n } else if (val >= arr.length) {\n val = 0;\n }\n return val\n}\n\n// like lodash's uniqBy but much smaller\nfunction uniqBy (arr, func) {\n const set = new Set();\n const res = [];\n for (const item of arr) {\n const key = func(item);\n if (!set.has(key)) {\n set.add(key);\n res.push(item);\n }\n }\n return res\n}\n\n// We don't need all the data on every emoji, and there are specific things we need\n// for the UI, so build a \"view model\" from the emoji object we got from the database\n\nfunction summarizeEmojisForUI (emojis, emojiSupportLevel) {\n const toSimpleSkinsMap = skins => {\n const res = {};\n for (const skin of skins) {\n // ignore arrays like [1, 2] with multiple skin tones\n // also ignore variants that are in an unsupported emoji version\n // (these do exist - variants from a different version than their base emoji)\n if (typeof skin.tone === 'number' && skin.version <= emojiSupportLevel) {\n res[skin.tone] = skin.unicode;\n }\n }\n return res\n };\n\n return emojis.map(({ unicode, skins, shortcodes, url, name, category }) => ({\n unicode,\n name,\n shortcodes,\n url,\n category,\n id: unicode || name,\n skins: skins && toSimpleSkinsMap(skins),\n title: (shortcodes || []).join(', ')\n }))\n}\n\n// import rAF from one place so that the bundle size is a bit smaller\nconst rAF = requestAnimationFrame;\n\n// Svelte action to calculate the width of an element and auto-update\n\nlet resizeObserverSupported = typeof ResizeObserver === 'function';\n\nfunction calculateWidth (node, onUpdate) {\n let resizeObserver;\n if (resizeObserverSupported) {\n resizeObserver = new ResizeObserver(entries => (\n onUpdate(entries[0].contentRect.width)\n ));\n resizeObserver.observe(node);\n } else { // just set the width once, don't bother trying to track it\n rAF(() => (\n onUpdate(node.getBoundingClientRect().width)\n ));\n }\n\n // cleanup function (called on destroy)\n return {\n destroy () {\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n }\n }\n}\n\n// get the width of the text inside of a DOM node, via https://stackoverflow.com/a/59525891/680742\nfunction calculateTextWidth (node) {\n /* istanbul ignore else */\n {\n const range = document.createRange();\n range.selectNode(node.firstChild);\n return range.getBoundingClientRect().width\n }\n}\n\nlet baselineEmojiWidth;\n\nfunction checkZwjSupport (zwjEmojisToCheck, baselineEmoji, emojiToDomNode) {\n for (const emoji of zwjEmojisToCheck) {\n const domNode = emojiToDomNode(emoji);\n const emojiWidth = calculateTextWidth(domNode);\n if (typeof baselineEmojiWidth === 'undefined') { // calculate the baseline emoji width only once\n baselineEmojiWidth = calculateTextWidth(baselineEmoji);\n }\n // On Windows, some supported emoji are ~50% bigger than the baseline emoji, but what we really want to guard\n // against are the ones that are 2x the size, because those are truly broken (person with red hair = person with\n // floating red wig, black cat = cat with black square, polar bear = bear with snowflake, etc.)\n // So here we set the threshold at 1.8 times the size of the baseline emoji.\n const supported = emojiWidth / 1.8 < baselineEmojiWidth;\n supportedZwjEmojis.set(emoji.unicode, supported);\n }\n}\n\n// Measure after style/layout are complete\n\nconst requestPostAnimationFrame = callback => {\n rAF(() => {\n setTimeout(callback);\n });\n};\n\n// like lodash's uniq\n\nfunction uniq (arr) {\n return uniqBy(arr, _ => _)\n}\n\n/* src/picker/components/Picker/Picker.svelte generated by Svelte v3.46.4 */\n\nconst { Map: Map_1 } = globals;\n\nfunction get_each_context(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_1(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[66] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_2(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[63] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\nfunction get_each_context_3(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[69] = list[i];\n\treturn child_ctx;\n}\n\nfunction get_each_context_4(ctx, list, i) {\n\tconst child_ctx = ctx.slice();\n\tchild_ctx[72] = list[i];\n\tchild_ctx[65] = i;\n\treturn child_ctx;\n}\n\n// (43:38) {#each skinTones as skinTone, i (skinTone)}\nfunction create_each_block_4(key_1, ctx) {\n\tlet div;\n\tlet t_value = /*skinTone*/ ctx[72] + \"\";\n\tlet t;\n\tlet div_id_value;\n\tlet div_class_value;\n\tlet div_aria_selected_value;\n\tlet div_title_value;\n\tlet div_aria_label_value;\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"id\", div_id_value = \"skintone-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div, \"class\", div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(div, \"aria-selected\", div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div, \"role\", \"option\");\n\t\t\tattr(div, \"title\", div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tattr(div, \"tabindex\", \"-1\");\n\t\t\tattr(div, \"aria-label\", div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]]);\n\t\t\tthis.first = div;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div, anchor);\n\t\t\tappend(div, t);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && t_value !== (t_value = /*skinTone*/ ctx[72] + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*skinTones*/ 512 && div_id_value !== (div_id_value = \"skintone-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div, \"id\", div_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_class_value !== (div_class_value = \"emoji hide-focus \" + (/*i*/ ctx[65] === /*activeSkinTone*/ ctx[20]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(div, \"class\", div_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone*/ 1049088 && div_aria_selected_value !== (div_aria_selected_value = /*i*/ ctx[65] === /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div, \"aria-selected\", div_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_title_value !== (div_title_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"title\", div_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, skinTones*/ 513 && div_aria_label_value !== (div_aria_label_value = /*i18n*/ ctx[0].skinTones[/*i*/ ctx[65]])) {\n\t\t\t\tattr(div, \"aria-label\", div_aria_label_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div);\n\t\t}\n\t};\n}\n\n// (53:33) {#each groups as group (group.id)}\nfunction create_each_block_3(key_1, ctx) {\n\tlet button;\n\tlet div;\n\tlet t_value = /*group*/ ctx[69].emoji + \"\";\n\tlet t;\n\tlet button_aria_controls_value;\n\tlet button_aria_label_value;\n\tlet button_aria_selected_value;\n\tlet button_title_value;\n\tlet mounted;\n\tlet dispose;\n\n\tfunction click_handler() {\n\t\treturn /*click_handler*/ ctx[49](/*group*/ ctx[69]);\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tdiv = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tattr(div, \"class\", \"nav-emoji emoji\");\n\t\t\tattr(button, \"role\", \"tab\");\n\t\t\tattr(button, \"class\", \"nav-button\");\n\t\t\tattr(button, \"aria-controls\", button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id);\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id);\n\t\t\tattr(button, \"title\", button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name]);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tappend(button, div);\n\t\t\tappend(div, t);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = listen(button, \"click\", click_handler);\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\t\t\tif (dirty[0] & /*groups*/ 4096 && t_value !== (t_value = /*group*/ ctx[69].emoji + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*groups*/ 4096 && button_aria_controls_value !== (button_aria_controls_value = \"tab-\" + /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-controls\", button_aria_controls_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_aria_label_value !== (button_aria_label_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup, groups*/ 12304 && button_aria_selected_value !== (button_aria_selected_value = !/*searchMode*/ ctx[4] && /*currentGroup*/ ctx[13].id === /*group*/ ctx[69].id)) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n, groups*/ 4097 && button_title_value !== (button_title_value = /*i18n*/ ctx[0].categories[/*group*/ ctx[69].name])) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tmounted = false;\n\t\t\tdispose();\n\t\t}\n\t};\n}\n\n// (93:100) {:else}\nfunction create_else_block_1(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (93:40) {#if emoji.unicode}\nfunction create_if_block_1(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (88:53) {#each emojiWithCategory.emojis as emoji, i (emoji.id)}\nfunction create_each_block_2(key_1, ctx) {\n\tlet button;\n\tlet button_role_value;\n\tlet button_aria_selected_value;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_class_value;\n\tlet button_id_value;\n\n\tfunction select_block_type(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block_1;\n\t\treturn create_else_block_1;\n\t}\n\n\tlet current_block_type = select_block_type(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem');\n\n\t\t\tattr(button, \"aria-selected\", button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '');\n\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\n\t\t\tattr(button, \"class\", button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''));\n\n\t\t\tattr(button, \"id\", button_id_value = \"emo-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && button_role_value !== (button_role_value = /*searchMode*/ ctx[4] ? 'option' : 'menuitem')) {\n\t\t\t\tattr(button, \"role\", button_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_aria_selected_value !== (button_aria_selected_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i*/ ctx[65] == /*activeSearchItem*/ ctx[5]\n\t\t\t: '')) {\n\t\t\t\tattr(button, \"aria-selected\", button_aria_selected_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories, currentSkinTone*/ 33024 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem*/ 32816 && button_class_value !== (button_class_value = \"emoji \" + (/*searchMode*/ ctx[4] && /*i*/ ctx[65] === /*activeSearchItem*/ ctx[5]\n\t\t\t? 'active'\n\t\t\t: ''))) {\n\t\t\t\tattr(button, \"class\", button_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && button_id_value !== (button_id_value = \"emo-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\n// (69:36) {#each currentEmojisWithCategories as emojiWithCategory, i (emojiWithCategory.category)}\nfunction create_each_block_1(key_1, ctx) {\n\tlet div0;\n\n\tlet t_value = (/*searchMode*/ ctx[4]\n\t? /*i18n*/ ctx[0].searchResultsLabel\n\t: /*emojiWithCategory*/ ctx[66].category\n\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\";\n\n\tlet t;\n\tlet div0_id_value;\n\tlet div0_class_value;\n\tlet div1;\n\tlet each_blocks = [];\n\tlet each_1_lookup = new Map_1();\n\tlet div1_role_value;\n\tlet div1_aria_labelledby_value;\n\tlet div1_id_value;\n\tlet each_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\tconst get_key = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value_2.length; i += 1) {\n\t\tlet child_ctx = get_each_context_2(ctx, each_value_2, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach_1_lookup.set(key, each_blocks[i] = create_each_block_2(key, child_ctx));\n\t}\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tdiv0 = element(\"div\");\n\t\t\tt = text(t_value);\n\t\t\tdiv1 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tattr(div0, \"id\", div0_id_value = \"menu-label-\" + /*i*/ ctx[65]);\n\n\t\t\tattr(div0, \"class\", div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div0, \"aria-hidden\", \"true\");\n\t\t\tattr(div1, \"class\", \"emoji-menu\");\n\t\t\tattr(div1, \"role\", div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu');\n\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65]);\n\t\t\tattr(div1, \"id\", div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '');\n\t\t\tthis.first = div0;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, div0, anchor);\n\t\t\tappend(div0, t);\n\t\t\tinsert(target, div1, anchor);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div1, null);\n\t\t\t}\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentEmojisWithCategories, currentGroup*/ 40977 && t_value !== (t_value = (/*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t? /*emojiWithCategory*/ ctx[66].category\n\t\t\t\t: /*currentEmojisWithCategories*/ ctx[15].length > 1\n\t\t\t\t\t? /*i18n*/ ctx[0].categories.custom\n\t\t\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]) + \"\")) set_data(t, t_value);\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_id_value !== (div0_id_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div0, \"id\", div0_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div0_class_value !== (div0_class_value = \"category \" + (/*currentEmojisWithCategories*/ ctx[15].length === 1 && /*currentEmojisWithCategories*/ ctx[15][0].category === ''\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div0, \"class\", div0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin*/ 402686256) {\n\t\t\t\teach_value_2 = /*emojiWithCategory*/ ctx[66].emojis;\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value_2, each_1_lookup, div1, destroy_block, create_each_block_2, null, get_each_context_2);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_role_value !== (div1_role_value = /*searchMode*/ ctx[4] ? 'listbox' : 'menu')) {\n\t\t\t\tattr(div1, \"role\", div1_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentEmojisWithCategories*/ 32768 && div1_aria_labelledby_value !== (div1_aria_labelledby_value = \"menu-label-\" + /*i*/ ctx[65])) {\n\t\t\t\tattr(div1, \"aria-labelledby\", div1_aria_labelledby_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div1_id_value !== (div1_id_value = /*searchMode*/ ctx[4] ? 'search-results' : '')) {\n\t\t\t\tattr(div1, \"id\", div1_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(div0);\n\t\t\tif (detaching) detach(div1);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\t\t}\n\t};\n}\n\n// (102:94) {:else}\nfunction create_else_block(ctx) {\n\tlet img;\n\tlet img_src_value;\n\n\treturn {\n\t\tc() {\n\t\t\timg = element(\"img\");\n\t\t\tattr(img, \"class\", \"custom-emoji\");\n\t\t\tif (!src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) attr(img, \"src\", img_src_value);\n\t\t\tattr(img, \"alt\", \"\");\n\t\t\tattr(img, \"loading\", \"lazy\");\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, img, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && !src_url_equal(img.src, img_src_value = /*emoji*/ ctx[63].url)) {\n\t\t\t\tattr(img, \"src\", img_src_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(img);\n\t\t}\n\t};\n}\n\n// (102:34) {#if emoji.unicode}\nfunction create_if_block(ctx) {\n\tlet t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\";\n\tlet t;\n\n\treturn {\n\t\tc() {\n\t\t\tt = text(t_value);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, t, anchor);\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && t_value !== (t_value = /*unicodeWithSkin*/ ctx[27](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]) + \"\")) set_data(t, t_value);\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(t);\n\t\t}\n\t};\n}\n\n// (98:102) {#each currentFavorites as emoji, i (emoji.id)}\nfunction create_each_block(key_1, ctx) {\n\tlet button;\n\tlet button_aria_label_value;\n\tlet button_title_value;\n\tlet button_id_value;\n\n\tfunction select_block_type_1(ctx, dirty) {\n\t\tif (/*emoji*/ ctx[63].unicode) return create_if_block;\n\t\treturn create_else_block;\n\t}\n\n\tlet current_block_type = select_block_type_1(ctx);\n\tlet if_block = current_block_type(ctx);\n\n\treturn {\n\t\tkey: key_1,\n\t\tfirst: null,\n\t\tc() {\n\t\t\tbutton = element(\"button\");\n\t\t\tif_block.c();\n\t\t\tattr(button, \"role\", \"menuitem\");\n\t\t\tattr(button, \"aria-label\", button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]));\n\t\t\tattr(button, \"title\", button_title_value = /*emoji*/ ctx[63].title);\n\t\t\tattr(button, \"class\", \"emoji\");\n\t\t\tattr(button, \"id\", button_id_value = \"fav-\" + /*emoji*/ ctx[63].id);\n\t\t\tthis.first = button;\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, button, anchor);\n\t\t\tif_block.m(button, null);\n\t\t},\n\t\tp(new_ctx, dirty) {\n\t\t\tctx = new_ctx;\n\n\t\t\tif (current_block_type === (current_block_type = select_block_type_1(ctx)) && if_block) {\n\t\t\t\tif_block.p(ctx, dirty);\n\t\t\t} else {\n\t\t\t\tif_block.d(1);\n\t\t\t\tif_block = current_block_type(ctx);\n\n\t\t\t\tif (if_block) {\n\t\t\t\t\tif_block.c();\n\t\t\t\t\tif_block.m(button, null);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites, currentSkinTone*/ 1280 && button_aria_label_value !== (button_aria_label_value = /*labelWithSkin*/ ctx[28](/*emoji*/ ctx[63], /*currentSkinTone*/ ctx[8]))) {\n\t\t\t\tattr(button, \"aria-label\", button_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_title_value !== (button_title_value = /*emoji*/ ctx[63].title)) {\n\t\t\t\tattr(button, \"title\", button_title_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*currentFavorites*/ 1024 && button_id_value !== (button_id_value = \"fav-\" + /*emoji*/ ctx[63].id)) {\n\t\t\t\tattr(button, \"id\", button_id_value);\n\t\t\t}\n\t\t},\n\t\td(detaching) {\n\t\t\tif (detaching) detach(button);\n\t\t\tif_block.d();\n\t\t}\n\t};\n}\n\nfunction create_fragment(ctx) {\n\tlet section;\n\tlet div0;\n\tlet div4;\n\tlet div1;\n\tlet input;\n\tlet input_placeholder_value;\n\tlet input_aria_expanded_value;\n\tlet input_aria_activedescendant_value;\n\tlet label;\n\tlet t0_value = /*i18n*/ ctx[0].searchLabel + \"\";\n\tlet t0;\n\tlet span0;\n\tlet t1_value = /*i18n*/ ctx[0].searchDescription + \"\";\n\tlet t1;\n\tlet div2;\n\tlet button0;\n\tlet t2;\n\tlet button0_class_value;\n\tlet div2_class_value;\n\tlet span1;\n\tlet t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\";\n\tlet t3;\n\tlet div3;\n\tlet each_blocks_3 = [];\n\tlet each0_lookup = new Map_1();\n\tlet div3_class_value;\n\tlet div3_aria_label_value;\n\tlet div3_aria_activedescendant_value;\n\tlet div3_aria_hidden_value;\n\tlet div5;\n\tlet each_blocks_2 = [];\n\tlet each1_lookup = new Map_1();\n\tlet div5_aria_label_value;\n\tlet div7;\n\tlet div6;\n\tlet div8;\n\tlet t4;\n\tlet div8_class_value;\n\tlet div10;\n\tlet div9;\n\tlet each_blocks_1 = [];\n\tlet each2_lookup = new Map_1();\n\tlet div10_class_value;\n\tlet div10_role_value;\n\tlet div10_aria_label_value;\n\tlet div10_id_value;\n\tlet div11;\n\tlet each_blocks = [];\n\tlet each3_lookup = new Map_1();\n\tlet div11_class_value;\n\tlet div11_aria_label_value;\n\tlet button1;\n\tlet section_aria_label_value;\n\tlet mounted;\n\tlet dispose;\n\tlet each_value_4 = /*skinTones*/ ctx[9];\n\tconst get_key = ctx => /*skinTone*/ ctx[72];\n\n\tfor (let i = 0; i < each_value_4.length; i += 1) {\n\t\tlet child_ctx = get_each_context_4(ctx, each_value_4, i);\n\t\tlet key = get_key(child_ctx);\n\t\teach0_lookup.set(key, each_blocks_3[i] = create_each_block_4(key, child_ctx));\n\t}\n\n\tlet each_value_3 = /*groups*/ ctx[12];\n\tconst get_key_1 = ctx => /*group*/ ctx[69].id;\n\n\tfor (let i = 0; i < each_value_3.length; i += 1) {\n\t\tlet child_ctx = get_each_context_3(ctx, each_value_3, i);\n\t\tlet key = get_key_1(child_ctx);\n\t\teach1_lookup.set(key, each_blocks_2[i] = create_each_block_3(key, child_ctx));\n\t}\n\n\tlet each_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\tconst get_key_2 = ctx => /*emojiWithCategory*/ ctx[66].category;\n\n\tfor (let i = 0; i < each_value_1.length; i += 1) {\n\t\tlet child_ctx = get_each_context_1(ctx, each_value_1, i);\n\t\tlet key = get_key_2(child_ctx);\n\t\teach2_lookup.set(key, each_blocks_1[i] = create_each_block_1(key, child_ctx));\n\t}\n\n\tlet each_value = /*currentFavorites*/ ctx[10];\n\tconst get_key_3 = ctx => /*emoji*/ ctx[63].id;\n\n\tfor (let i = 0; i < each_value.length; i += 1) {\n\t\tlet child_ctx = get_each_context(ctx, each_value, i);\n\t\tlet key = get_key_3(child_ctx);\n\t\teach3_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));\n\t}\n\n\treturn {\n\t\tc() {\n\t\t\tsection = element(\"section\");\n\t\t\tdiv0 = element(\"div\");\n\t\t\tdiv4 = element(\"div\");\n\t\t\tdiv1 = element(\"div\");\n\t\t\tinput = element(\"input\");\n\t\t\tlabel = element(\"label\");\n\t\t\tt0 = text(t0_value);\n\t\t\tspan0 = element(\"span\");\n\t\t\tt1 = text(t1_value);\n\t\t\tdiv2 = element(\"div\");\n\t\t\tbutton0 = element(\"button\");\n\t\t\tt2 = text(/*skinToneButtonText*/ ctx[21]);\n\t\t\tspan1 = element(\"span\");\n\t\t\tt3 = text(t3_value);\n\t\t\tdiv3 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].c();\n\t\t\t}\n\n\t\t\tdiv5 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].c();\n\t\t\t}\n\n\t\t\tdiv7 = element(\"div\");\n\t\t\tdiv6 = element(\"div\");\n\t\t\tdiv8 = element(\"div\");\n\t\t\tt4 = text(/*message*/ ctx[18]);\n\t\t\tdiv10 = element(\"div\");\n\t\t\tdiv9 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].c();\n\t\t\t}\n\n\t\t\tdiv11 = element(\"div\");\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].c();\n\t\t\t}\n\n\t\t\tbutton1 = element(\"button\");\n\t\t\tbutton1.textContent = \"😀\";\n\t\t\tattr(div0, \"class\", \"pad-top\");\n\t\t\tattr(input, \"id\", \"search\");\n\t\t\tattr(input, \"class\", \"search\");\n\t\t\tattr(input, \"type\", \"search\");\n\t\t\tattr(input, \"role\", \"combobox\");\n\t\t\tattr(input, \"enterkeyhint\", \"search\");\n\t\t\tattr(input, \"placeholder\", input_placeholder_value = /*i18n*/ ctx[0].searchLabel);\n\t\t\tattr(input, \"autocapitalize\", \"none\");\n\t\t\tattr(input, \"autocomplete\", \"off\");\n\t\t\tattr(input, \"spellcheck\", \"true\");\n\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length));\n\t\t\tattr(input, \"aria-controls\", \"search-results\");\n\t\t\tattr(input, \"aria-describedby\", \"search-description\");\n\t\t\tattr(input, \"aria-autocomplete\", \"list\");\n\n\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '');\n\n\t\t\tattr(label, \"class\", \"sr-only\");\n\t\t\tattr(label, \"for\", \"search\");\n\t\t\tattr(span0, \"id\", \"search-description\");\n\t\t\tattr(span0, \"class\", \"sr-only\");\n\t\t\tattr(div1, \"class\", \"search-wrapper\");\n\t\t\tattr(button0, \"id\", \"skintone-button\");\n\t\t\tattr(button0, \"class\", button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''));\n\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\tattr(button0, \"aria-describedby\", \"skintone-description\");\n\t\t\tattr(button0, \"aria-haspopup\", \"listbox\");\n\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(button0, \"aria-controls\", \"skintone-list\");\n\n\t\t\tattr(div2, \"class\", div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''));\n\n\t\t\tattr(span1, \"id\", \"skintone-description\");\n\t\t\tattr(span1, \"class\", \"sr-only\");\n\t\t\tattr(div3, \"id\", \"skintone-list\");\n\n\t\t\tattr(div3, \"class\", div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'));\n\n\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? 0\n\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\n\t\t\tattr(div3, \"role\", \"listbox\");\n\t\t\tattr(div3, \"aria-label\", div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel);\n\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20]);\n\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6]);\n\t\t\tattr(div4, \"class\", \"search-row\");\n\t\t\tattr(div5, \"class\", \"nav\");\n\t\t\tattr(div5, \"role\", \"tablist\");\n\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\tattr(div5, \"aria-label\", div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel);\n\t\t\tattr(div6, \"class\", \"indicator\");\n\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\tattr(div7, \"class\", \"indicator-wrapper\");\n\t\t\tattr(div8, \"class\", div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'));\n\t\t\tattr(div8, \"role\", \"alert\");\n\t\t\tattr(div8, \"aria-live\", \"polite\");\n\n\t\t\tattr(div10, \"class\", div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''));\n\n\t\t\tattr(div10, \"role\", div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel');\n\n\t\t\tattr(div10, \"aria-label\", div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name]);\n\n\t\t\tattr(div10, \"id\", div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`);\n\n\t\t\tattr(div10, \"tabindex\", \"0\");\n\t\t\tattr(div11, \"class\", div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''));\n\t\t\tattr(div11, \"role\", \"menu\");\n\t\t\tattr(div11, \"aria-label\", div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel);\n\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\tattr(button1, \"aria-hidden\", \"true\");\n\t\t\tattr(button1, \"tabindex\", \"-1\");\n\t\t\tattr(button1, \"class\", \"abs-pos hidden emoji\");\n\t\t\tattr(section, \"class\", \"picker\");\n\t\t\tattr(section, \"aria-label\", section_aria_label_value = /*i18n*/ ctx[0].regionLabel);\n\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t},\n\t\tm(target, anchor) {\n\t\t\tinsert(target, section, anchor);\n\t\t\tappend(section, div0);\n\t\t\tappend(section, div4);\n\t\t\tappend(div4, div1);\n\t\t\tappend(div1, input);\n\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\tappend(div1, label);\n\t\t\tappend(label, t0);\n\t\t\tappend(div1, span0);\n\t\t\tappend(span0, t1);\n\t\t\tappend(div4, div2);\n\t\t\tappend(div2, button0);\n\t\t\tappend(button0, t2);\n\t\t\tappend(div4, span1);\n\t\t\tappend(span1, t3);\n\t\t\tappend(div4, div3);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].m(div3, null);\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](div3);\n\t\t\tappend(section, div5);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].m(div5, null);\n\t\t\t}\n\n\t\t\tappend(section, div7);\n\t\t\tappend(div7, div6);\n\t\t\tappend(section, div8);\n\t\t\tappend(div8, t4);\n\t\t\tappend(section, div10);\n\t\t\tappend(div10, div9);\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].m(div9, null);\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](div10);\n\t\t\tappend(section, div11);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].m(div11, null);\n\t\t\t}\n\n\t\t\tappend(section, button1);\n\t\t\t/*button1_binding*/ ctx[51](button1);\n\t\t\t/*section_binding*/ ctx[52](section);\n\n\t\t\tif (!mounted) {\n\t\t\t\tdispose = [\n\t\t\t\t\tlisten(input, \"input\", /*input_input_handler*/ ctx[47]),\n\t\t\t\t\tlisten(input, \"keydown\", /*onSearchKeydown*/ ctx[30]),\n\t\t\t\t\tlisten(button0, \"click\", /*onClickSkinToneButton*/ ctx[35]),\n\t\t\t\t\tlisten(div3, \"focusout\", /*onSkinToneOptionsFocusOut*/ ctx[38]),\n\t\t\t\t\tlisten(div3, \"click\", /*onSkinToneOptionsClick*/ ctx[34]),\n\t\t\t\t\tlisten(div3, \"keydown\", /*onSkinToneOptionsKeydown*/ ctx[36]),\n\t\t\t\t\tlisten(div3, \"keyup\", /*onSkinToneOptionsKeyup*/ ctx[37]),\n\t\t\t\t\tlisten(div5, \"keydown\", /*onNavKeydown*/ ctx[32]),\n\t\t\t\t\taction_destroyer(/*calculateEmojiGridStyle*/ ctx[29].call(null, div9)),\n\t\t\t\t\tlisten(div10, \"click\", /*onEmojiClick*/ ctx[33]),\n\t\t\t\t\tlisten(div11, \"click\", /*onEmojiClick*/ ctx[33])\n\t\t\t\t];\n\n\t\t\t\tmounted = true;\n\t\t\t}\n\t\t},\n\t\tp(ctx, dirty) {\n\t\t\tif (dirty[0] & /*i18n*/ 1 && input_placeholder_value !== (input_placeholder_value = /*i18n*/ ctx[0].searchLabel)) {\n\t\t\t\tattr(input, \"placeholder\", input_placeholder_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojis*/ 18 && input_aria_expanded_value !== (input_aria_expanded_value = !!(/*searchMode*/ ctx[4] && /*currentEmojis*/ ctx[1].length))) {\n\t\t\t\tattr(input, \"aria-expanded\", input_aria_expanded_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSearchItemId*/ 67108864 && input_aria_activedescendant_value !== (input_aria_activedescendant_value = /*activeSearchItemId*/ ctx[26]\n\t\t\t? `emo-${/*activeSearchItemId*/ ctx[26]}`\n\t\t\t: '')) {\n\t\t\t\tattr(input, \"aria-activedescendant\", input_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t\tset_input_value(input, /*rawSearchText*/ ctx[2]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t0_value !== (t0_value = /*i18n*/ ctx[0].searchLabel + \"\")) set_data(t0, t0_value);\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t1_value !== (t1_value = /*i18n*/ ctx[0].searchDescription + \"\")) set_data(t1, t1_value);\n\t\t\tif (dirty[0] & /*skinToneButtonText*/ 2097152) set_data(t2, /*skinToneButtonText*/ ctx[21]);\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && button0_class_value !== (button0_class_value = \"emoji \" + (/*skinTonePickerExpanded*/ ctx[6] ? 'hide-focus' : ''))) {\n\t\t\t\tattr(button0, \"class\", button0_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"aria-label\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinToneButtonLabel*/ 8388608) {\n\t\t\t\tattr(button0, \"title\", /*skinToneButtonLabel*/ ctx[23]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tattr(button0, \"aria-expanded\", /*skinTonePickerExpanded*/ ctx[6]);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpandedAfterAnimation*/ 524288 && div2_class_value !== (div2_class_value = \"skintone-button-wrapper \" + (/*skinTonePickerExpandedAfterAnimation*/ ctx[19]\n\t\t\t? 'expanded'\n\t\t\t: ''))) {\n\t\t\t\tattr(div2, \"class\", div2_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && t3_value !== (t3_value = /*i18n*/ ctx[0].skinToneDescription + \"\")) set_data(t3, t3_value);\n\n\t\t\tif (dirty[0] & /*skinTones, activeSkinTone, i18n*/ 1049089) {\n\t\t\t\teach_value_4 = /*skinTones*/ ctx[9];\n\t\t\t\teach_blocks_3 = update_keyed_each(each_blocks_3, dirty, get_key, 1, ctx, each_value_4, each0_lookup, div3, destroy_block, create_each_block_4, null, get_each_context_4);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_class_value !== (div3_class_value = \"skintone-list \" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t? ''\n\t\t\t: 'hidden no-animate'))) {\n\t\t\t\tattr(div3, \"class\", div3_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64) {\n\t\t\t\tset_style(div3, \"transform\", \"translateY(\" + (/*skinTonePickerExpanded*/ ctx[6]\n\t\t\t\t? 0\n\t\t\t\t: 'calc(-1 * var(--num-skintones) * var(--total-emoji-size))') + \")\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div3_aria_label_value !== (div3_aria_label_value = /*i18n*/ ctx[0].skinTonesLabel)) {\n\t\t\t\tattr(div3, \"aria-label\", div3_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*activeSkinTone*/ 1048576 && div3_aria_activedescendant_value !== (div3_aria_activedescendant_value = \"skintone-\" + /*activeSkinTone*/ ctx[20])) {\n\t\t\t\tattr(div3, \"aria-activedescendant\", div3_aria_activedescendant_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*skinTonePickerExpanded*/ 64 && div3_aria_hidden_value !== (div3_aria_hidden_value = !/*skinTonePickerExpanded*/ ctx[6])) {\n\t\t\t\tattr(div3, \"aria-hidden\", div3_aria_hidden_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups, i18n, searchMode, currentGroup*/ 12305 | dirty[1] & /*onNavClick*/ 1) {\n\t\t\t\teach_value_3 = /*groups*/ ctx[12];\n\t\t\t\teach_blocks_2 = update_keyed_each(each_blocks_2, dirty, get_key_1, 1, ctx, each_value_3, each1_lookup, div5, destroy_block, create_each_block_3, null, get_each_context_3);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*groups*/ 4096) {\n\t\t\t\tset_style(div5, \"grid-template-columns\", \"repeat(\" + /*groups*/ ctx[12].length + \", 1fr)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div5_aria_label_value !== (div5_aria_label_value = /*i18n*/ ctx[0].categoriesLabel)) {\n\t\t\t\tattr(div5, \"aria-label\", div5_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*isRtl, currentGroupIndex*/ 16779264) {\n\t\t\t\tset_style(div6, \"transform\", \"translateX(\" + (/*isRtl*/ ctx[24] ? -1 : 1) * /*currentGroupIndex*/ ctx[11] * 100 + \"%)\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144) set_data(t4, /*message*/ ctx[18]);\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div8_class_value !== (div8_class_value = \"message \" + (/*message*/ ctx[18] ? '' : 'gone'))) {\n\t\t\t\tattr(div8, \"class\", div8_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentEmojisWithCategories, activeSearchItem, labelWithSkin, currentSkinTone, unicodeWithSkin, i18n, currentGroup*/ 402694449) {\n\t\t\t\teach_value_1 = /*currentEmojisWithCategories*/ ctx[15];\n\t\t\t\teach_blocks_1 = update_keyed_each(each_blocks_1, dirty, get_key_2, 1, ctx, each_value_1, each2_lookup, div9, destroy_block, create_each_block_1, null, get_each_context_1);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*databaseLoaded, message*/ 278528 && div10_class_value !== (div10_class_value = \"tabpanel \" + (!/*databaseLoaded*/ ctx[14] || /*message*/ ctx[18]\n\t\t\t? 'gone'\n\t\t\t: ''))) {\n\t\t\t\tattr(div10, \"class\", div10_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode*/ 16 && div10_role_value !== (div10_role_value = /*searchMode*/ ctx[4] ? 'region' : 'tabpanel')) {\n\t\t\t\tattr(div10, \"role\", div10_role_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, i18n, currentGroup*/ 8209 && div10_aria_label_value !== (div10_aria_label_value = /*searchMode*/ ctx[4]\n\t\t\t? /*i18n*/ ctx[0].searchResultsLabel\n\t\t\t: /*i18n*/ ctx[0].categories[/*currentGroup*/ ctx[13].name])) {\n\t\t\t\tattr(div10, \"aria-label\", div10_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*searchMode, currentGroup*/ 8208 && div10_id_value !== (div10_id_value = /*searchMode*/ ctx[4]\n\t\t\t? ''\n\t\t\t: `tab-${/*currentGroup*/ ctx[13].id}`)) {\n\t\t\t\tattr(div10, \"id\", div10_id_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*labelWithSkin, currentFavorites, currentSkinTone, unicodeWithSkin*/ 402654464) {\n\t\t\t\teach_value = /*currentFavorites*/ ctx[10];\n\t\t\t\teach_blocks = update_keyed_each(each_blocks, dirty, get_key_3, 1, ctx, each_value, each3_lookup, div11, destroy_block, create_each_block, null, get_each_context);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*message*/ 262144 && div11_class_value !== (div11_class_value = \"favorites emoji-menu \" + (/*message*/ ctx[18] ? 'gone' : ''))) {\n\t\t\t\tattr(div11, \"class\", div11_class_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && div11_aria_label_value !== (div11_aria_label_value = /*i18n*/ ctx[0].favoritesLabel)) {\n\t\t\t\tattr(div11, \"aria-label\", div11_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*scrollbarWidth*/ 33554432) {\n\t\t\t\tset_style(div11, \"padding-inline-end\", /*scrollbarWidth*/ ctx[25] + \"px\");\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*i18n*/ 1 && section_aria_label_value !== (section_aria_label_value = /*i18n*/ ctx[0].regionLabel)) {\n\t\t\t\tattr(section, \"aria-label\", section_aria_label_value);\n\t\t\t}\n\n\t\t\tif (dirty[0] & /*pickerStyle*/ 4194304) {\n\t\t\t\tattr(section, \"style\", /*pickerStyle*/ ctx[22]);\n\t\t\t}\n\t\t},\n\t\ti: noop,\n\t\to: noop,\n\t\td(detaching) {\n\t\t\tif (detaching) detach(section);\n\n\t\t\tfor (let i = 0; i < each_blocks_3.length; i += 1) {\n\t\t\t\teach_blocks_3[i].d();\n\t\t\t}\n\n\t\t\t/*div3_binding*/ ctx[48](null);\n\n\t\t\tfor (let i = 0; i < each_blocks_2.length; i += 1) {\n\t\t\t\teach_blocks_2[i].d();\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < each_blocks_1.length; i += 1) {\n\t\t\t\teach_blocks_1[i].d();\n\t\t\t}\n\n\t\t\t/*div10_binding*/ ctx[50](null);\n\n\t\t\tfor (let i = 0; i < each_blocks.length; i += 1) {\n\t\t\t\teach_blocks[i].d();\n\t\t\t}\n\n\t\t\t/*button1_binding*/ ctx[51](null);\n\t\t\t/*section_binding*/ ctx[52](null);\n\t\t\tmounted = false;\n\t\t\trun_all(dispose);\n\t\t}\n\t};\n}\n\nfunction instance($$self, $$props, $$invalidate) {\n\tlet { skinToneEmoji } = $$props;\n\tlet { i18n } = $$props;\n\tlet { database } = $$props;\n\tlet { customEmoji } = $$props;\n\tlet { customCategorySorting } = $$props;\n\n\t// private\n\tlet initialLoad = true;\n\n\tlet currentEmojis = [];\n\tlet currentEmojisWithCategories = []; // eslint-disable-line no-unused-vars\n\tlet rawSearchText = '';\n\tlet searchText = '';\n\tlet rootElement;\n\tlet baselineEmoji;\n\tlet tabpanelElement;\n\tlet searchMode = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItem = -1;\n\tlet message; // eslint-disable-line no-unused-vars\n\tlet skinTonePickerExpanded = false;\n\tlet skinTonePickerExpandedAfterAnimation = false; // eslint-disable-line no-unused-vars\n\tlet skinToneDropdown;\n\tlet currentSkinTone = 0;\n\tlet activeSkinTone = 0;\n\tlet skinToneButtonText; // eslint-disable-line no-unused-vars\n\tlet pickerStyle; // eslint-disable-line no-unused-vars\n\tlet skinToneButtonLabel = ''; // eslint-disable-line no-unused-vars\n\tlet skinTones = [];\n\tlet currentFavorites = []; // eslint-disable-line no-unused-vars\n\tlet defaultFavoriteEmojis;\n\tlet numColumns = DEFAULT_NUM_COLUMNS;\n\tlet isRtl = false;\n\tlet scrollbarWidth = 0; // eslint-disable-line no-unused-vars\n\tlet currentGroupIndex = 0;\n\tlet groups$1 = groups;\n\tlet currentGroup;\n\tlet databaseLoaded = false; // eslint-disable-line no-unused-vars\n\tlet activeSearchItemId; // eslint-disable-line no-unused-vars\n\n\t//\n\t// Utils/helpers\n\t//\n\tconst focus = id => {\n\t\trootElement.getRootNode().getElementById(id).focus();\n\t};\n\n\t// fire a custom event that crosses the shadow boundary\n\tconst fireEvent = (name, detail) => {\n\t\trootElement.dispatchEvent(new CustomEvent(name, { detail, bubbles: true, composed: true }));\n\t};\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst unicodeWithSkin = (emoji, currentSkinTone) => currentSkinTone && emoji.skins && emoji.skins[currentSkinTone] || emoji.unicode;\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst labelWithSkin = (emoji, currentSkinTone) => uniq([\n\t\temoji.name || unicodeWithSkin(emoji, currentSkinTone),\n\t\t...emoji.shortcodes || []\n\t]).join(', ');\n\n\t// Detect a skintone option button\n\tconst isSkinToneOption = element => (/^skintone-/).test(element.id);\n\n\t//\n\t// Determine the emoji support level (in requestIdleCallback)\n\t//\n\temojiSupportLevelPromise.then(level => {\n\t\t// Can't actually test emoji support in Jest/JSDom, emoji never render in color in Cairo\n\t\t/* istanbul ignore next */\n\t\tif (!level) {\n\t\t\t$$invalidate(18, message = i18n.emojiUnsupportedMessage);\n\t\t}\n\t});\n\n\t//\n\t// Calculate the width of the emoji grid. This serves two purposes:\n\t// 1) Re-calculate the --num-columns var because it may have changed\n\t// 2) Re-calculate the scrollbar width because it may have changed\n\t// (i.e. because the number of items changed)\n\t// 3) Re-calculate whether we're in RTL mode or not.\n\t//\n\t// The benefit of doing this in one place is to align with rAF/ResizeObserver\n\t// and do all the calculations in one go. RTL vs LTR is not strictly width-related,\n\t// but since we're already reading the style here, and since it's already aligned with\n\t// the rAF loop, this is the most appropriate place to do it perf-wise.\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction calculateEmojiGridStyle(node) {\n\t\treturn calculateWidth(node, width => {\n\t\t\t/* istanbul ignore next */\n\t\t\tif (\"production\" !== 'test') {\n\t\t\t\t// jsdom throws errors for this kind of fancy stuff\n\t\t\t\t// read all the style/layout calculations we need to make\n\t\t\t\tconst style = getComputedStyle(rootElement);\n\n\t\t\t\tconst newNumColumns = parseInt(style.getPropertyValue('--num-columns'), 10);\n\t\t\t\tconst newIsRtl = style.getPropertyValue('direction') === 'rtl';\n\t\t\t\tconst parentWidth = node.parentElement.getBoundingClientRect().width;\n\t\t\t\tconst newScrollbarWidth = parentWidth - width;\n\n\t\t\t\t// write to Svelte variables\n\t\t\t\t$$invalidate(46, numColumns = newNumColumns);\n\n\t\t\t\t$$invalidate(25, scrollbarWidth = newScrollbarWidth); // eslint-disable-line no-unused-vars\n\t\t\t\t$$invalidate(24, isRtl = newIsRtl); // eslint-disable-line no-unused-vars\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction checkZwjSupportAndUpdate(zwjEmojisToCheck) {\n\t\tconst rootNode = rootElement.getRootNode();\n\t\tconst emojiToDomNode = emoji => rootNode.getElementById(`emo-${emoji.id}`);\n\t\tcheckZwjSupport(zwjEmojisToCheck, baselineEmoji, emojiToDomNode);\n\n\t\t// force update\n\t\t$$invalidate(1, currentEmojis = currentEmojis); // eslint-disable-line no-self-assign\n\t}\n\n\tfunction isZwjSupported(emoji) {\n\t\treturn !emoji.unicode || !hasZwj(emoji) || supportedZwjEmojis.get(emoji.unicode);\n\t}\n\n\tasync function filterEmojisByVersion(emojis) {\n\t\tconst emojiSupportLevel = await emojiSupportLevelPromise;\n\n\t\t// !version corresponds to custom emoji\n\t\treturn emojis.filter(({ version }) => !version || version <= emojiSupportLevel);\n\t}\n\n\tasync function summarizeEmojis(emojis) {\n\t\treturn summarizeEmojisForUI(emojis, await emojiSupportLevelPromise);\n\t}\n\n\tasync function getEmojisByGroup(group) {\n\n\t\tif (typeof group === 'undefined') {\n\t\t\treturn [];\n\t\t}\n\n\t\t// -1 is custom emoji\n\t\tconst emoji = group === -1\n\t\t? customEmoji\n\t\t: await database.getEmojiByGroup(group);\n\n\t\treturn summarizeEmojis(await filterEmojisByVersion(emoji));\n\t}\n\n\tasync function getEmojisBySearchQuery(query) {\n\t\treturn summarizeEmojis(await filterEmojisByVersion(await database.getEmojiBySearchQuery(query)));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSearchKeydown(event) {\n\t\tif (!searchMode || !currentEmojis.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst goToNextOrPrevious = previous => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(5, activeSearchItem = incrementOrDecrement(previous, activeSearchItem, currentEmojis));\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn goToNextOrPrevious(false);\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn goToNextOrPrevious(true);\n\t\t\tcase 'Enter':\n\t\t\t\tif (activeSearchItem !== -1) {\n\t\t\t\t\thalt(event);\n\t\t\t\t\treturn clickEmoji(currentEmojis[activeSearchItem].id);\n\t\t\t\t} else if (currentEmojis.length) {\n\t\t\t\t\t$$invalidate(5, activeSearchItem = 0);\n\t\t\t\t}\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on nav\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavClick(group) {\n\t\t$$invalidate(2, rawSearchText = '');\n\t\t$$invalidate(44, searchText = '');\n\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t$$invalidate(11, currentGroupIndex = groups$1.findIndex(_ => _.id === group.id));\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onNavKeydown(event) {\n\t\tconst { target, key } = event;\n\n\t\tconst doFocus = el => {\n\t\t\tif (el) {\n\t\t\t\thalt(event);\n\t\t\t\tel.focus();\n\t\t\t}\n\t\t};\n\n\t\tswitch (key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\treturn doFocus(target.previousSibling);\n\t\t\tcase 'ArrowRight':\n\t\t\t\treturn doFocus(target.nextSibling);\n\t\t\tcase 'Home':\n\t\t\t\treturn doFocus(target.parentElement.firstChild);\n\t\t\tcase 'End':\n\t\t\t\treturn doFocus(target.parentElement.lastChild);\n\t\t}\n\t}\n\n\t//\n\t// Handle user input on an emoji\n\t//\n\tasync function clickEmoji(unicodeOrName) {\n\t\tconst emoji = await database.getEmojiByUnicodeOrName(unicodeOrName);\n\t\tconst emojiSummary = [...currentEmojis, ...currentFavorites].find(_ => _.id === unicodeOrName);\n\t\tconst skinTonedUnicode = emojiSummary.unicode && unicodeWithSkin(emojiSummary, currentSkinTone);\n\t\tawait database.incrementFavoriteEmojiCount(unicodeOrName);\n\n\t\tfireEvent('emoji-click', {\n\t\t\temoji,\n\t\t\tskinTone: currentSkinTone,\n\t\t\t...skinTonedUnicode && { unicode: skinTonedUnicode },\n\t\t\t...emojiSummary.name && { name: emojiSummary.name }\n\t\t});\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onEmojiClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!target.classList.contains('emoji')) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst id = target.id.substring(4); // replace 'emo-' or 'fav-' prefix\n\n\t\t/* no await */\n\t\tclickEmoji(id);\n\t}\n\n\t//\n\t// Handle user input on the skintone picker\n\t//\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsClick(event) {\n\t\tconst { target } = event;\n\n\t\tif (!isSkinToneOption(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\thalt(event);\n\t\tconst skinTone = parseInt(target.id.slice(9), 10); // remove 'skintone-' prefix\n\t\t$$invalidate(8, currentSkinTone = skinTone);\n\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\tfocus('skintone-button');\n\t\tfireEvent('skin-tone-change', { skinTone });\n\n\t\t/* no await */\n\t\tdatabase.setPreferredSkinTone(skinTone);\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onClickSkinToneButton(event) {\n\t\t$$invalidate(6, skinTonePickerExpanded = !skinTonePickerExpanded);\n\t\t$$invalidate(20, activeSkinTone = currentSkinTone);\n\n\t\tif (skinTonePickerExpanded) {\n\t\t\thalt(event);\n\t\t\trAF(() => focus(`skintone-${activeSkinTone}`));\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeydown(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst changeActiveSkinTone = async nextSkinTone => {\n\t\t\thalt(event);\n\t\t\t$$invalidate(20, activeSkinTone = nextSkinTone);\n\t\t\tawait tick();\n\t\t\tfocus(`skintone-${activeSkinTone}`);\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(true, activeSkinTone, skinTones));\n\t\t\tcase 'ArrowDown':\n\t\t\t\treturn changeActiveSkinTone(incrementOrDecrement(false, activeSkinTone, skinTones));\n\t\t\tcase 'Home':\n\t\t\t\treturn changeActiveSkinTone(0);\n\t\t\tcase 'End':\n\t\t\t\treturn changeActiveSkinTone(skinTones.length - 1);\n\t\t\tcase 'Enter':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t\tcase 'Escape':\n\t\t\t\thalt(event);\n\t\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t\t\treturn focus('skintone-button');\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction onSkinToneOptionsKeyup(event) {\n\t\tif (!skinTonePickerExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase ' ':\n\t\t\t\t// enter on keydown, space on keyup. this is just how browsers work for buttons\n\t\t\t\t// https://lists.w3.org/Archives/Public/w3c-wai-ig/2019JanMar/0086.html\n\t\t\t\treturn onSkinToneOptionsClick(event);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tasync function onSkinToneOptionsFocusOut(event) {\n\t\t// On blur outside of the skintone options, collapse the skintone picker.\n\t\t// Except if focus is just moving to another skintone option, e.g. pressing up/down to change focus\n\t\tconst { relatedTarget } = event;\n\n\t\tif (!relatedTarget || !isSkinToneOption(relatedTarget)) {\n\t\t\t$$invalidate(6, skinTonePickerExpanded = false);\n\t\t}\n\t}\n\n\tfunction input_input_handler() {\n\t\trawSearchText = this.value;\n\t\t$$invalidate(2, rawSearchText);\n\t}\n\n\tfunction div3_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tskinToneDropdown = $$value;\n\t\t\t$$invalidate(7, skinToneDropdown);\n\t\t});\n\t}\n\n\tconst click_handler = group => onNavClick(group);\n\n\tfunction div10_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\ttabpanelElement = $$value;\n\t\t\t$$invalidate(3, tabpanelElement);\n\t\t});\n\t}\n\n\tfunction button1_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\tbaselineEmoji = $$value;\n\t\t\t$$invalidate(17, baselineEmoji);\n\t\t});\n\t}\n\n\tfunction section_binding($$value) {\n\t\tbinding_callbacks[$$value ? 'unshift' : 'push'](() => {\n\t\t\trootElement = $$value;\n\t\t\t$$invalidate(16, rootElement);\n\t\t});\n\t}\n\n\t$$self.$$set = $$props => {\n\t\tif ('skinToneEmoji' in $$props) $$invalidate(40, skinToneEmoji = $$props.skinToneEmoji);\n\t\tif ('i18n' in $$props) $$invalidate(0, i18n = $$props.i18n);\n\t\tif ('database' in $$props) $$invalidate(39, database = $$props.database);\n\t\tif ('customEmoji' in $$props) $$invalidate(41, customEmoji = $$props.customEmoji);\n\t\tif ('customCategorySorting' in $$props) $$invalidate(42, customCategorySorting = $$props.customCategorySorting);\n\t};\n\n\t$$self.$$.update = () => {\n\t\tif ($$self.$$.dirty[1] & /*customEmoji, database*/ 1280) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the customEmoji\n\t\t\t//\n\t\t\t{\n\t\t\t\tif (customEmoji && database) {\n\t\t\t\t\t$$invalidate(39, database.customEmoji = customEmoji, database);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n*/ 1 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the database object\n\t\t\t//\n\t\t\t{\n\t\t\t\t// show a Loading message if it takes a long time, or show an error if there's a network/IDB error\n\t\t\t\tasync function handleDatabaseLoading() {\n\t\t\t\t\tlet showingLoadingMessage = false;\n\n\t\t\t\t\tconst timeoutHandle = setTimeout(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tshowingLoadingMessage = true;\n\t\t\t\t\t\t\t$$invalidate(18, message = i18n.loadingMessage);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTIMEOUT_BEFORE_LOADING_MESSAGE\n\t\t\t\t\t);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait database.ready();\n\t\t\t\t\t\t$$invalidate(14, databaseLoaded = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t} catch(err) {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t$$invalidate(18, message = i18n.networkErrorMessage);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tclearTimeout(timeoutHandle);\n\n\t\t\t\t\t\tif (showingLoadingMessage) {\n\t\t\t\t\t\t\t// Seems safer than checking the i18n string, which may change\n\t\t\t\t\t\t\tshowingLoadingMessage = false;\n\n\t\t\t\t\t\t\t$$invalidate(18, message = ''); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (database) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\thandleDatabaseLoading();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144 | $$self.$$.dirty[1] & /*customEmoji*/ 1024) {\n\t\t\t{\n\t\t\t\tif (customEmoji && customEmoji.length) {\n\t\t\t\t\t$$invalidate(12, groups$1 = [customGroup, ...groups]);\n\t\t\t\t} else if (groups$1 !== groups) {\n\t\t\t\t\tif (currentGroupIndex) {\n\t\t\t\t\t\t// If the current group is anything other than \"custom\" (which is first), decrement.\n\t\t\t\t\t\t// This fixes the odd case where you set customEmoji, then pick a category, then unset customEmoji\n\t\t\t\t\t\t$$invalidate(11, currentGroupIndex--, currentGroupIndex);\n\t\t\t\t\t}\n\n\t\t\t\t\t$$invalidate(12, groups$1 = groups);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*rawSearchText*/ 4) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Handle user input on the search input\n\t\t\t//\n\t\t\t{\n\t\t\t\trIC(() => {\n\t\t\t\t\t$$invalidate(44, searchText = (rawSearchText || '').trim()); // defer to avoid input delays, plus we can trim here\n\t\t\t\t\t$$invalidate(5, activeSearchItem = -1);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, currentGroupIndex*/ 6144) {\n\t\t\t//\n\t\t\t// Update the current group based on the currentGroupIndex\n\t\t\t//\n\t\t\t$$invalidate(13, currentGroup = groups$1[currentGroupIndex]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded, currentGroup*/ 24576 | $$self.$$.dirty[1] & /*searchText*/ 8192) {\n\t\t\t//\n\t\t\t// Set or update the currentEmojis. Check for invalid ZWJ renderings\n\t\t\t// (i.e. double emoji).\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateEmojis() {\n\n\t\t\t\t\tif (!databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(1, currentEmojis = []);\n\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t} else if (searchText.length >= MIN_SEARCH_TEXT_LENGTH) {\n\t\t\t\t\t\tconst currentSearchText = searchText;\n\t\t\t\t\t\tconst newEmojis = await getEmojisBySearchQuery(currentSearchText);\n\n\t\t\t\t\t\tif (currentSearchText === searchText) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = true);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (currentGroup) {\n\t\t\t\t\t\tconst currentGroupId = currentGroup.id;\n\t\t\t\t\t\tconst newEmojis = await getEmojisByGroup(currentGroupId);\n\n\t\t\t\t\t\tif (currentGroupId === currentGroup.id) {\n\t\t\t\t\t\t\t// if the situation changes asynchronously, do not update\n\t\t\t\t\t\t\t$$invalidate(1, currentEmojis = newEmojis);\n\n\t\t\t\t\t\t\t$$invalidate(4, searchMode = false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdateEmojis();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*groups, searchMode*/ 4112) {\n\t\t\t//\n\t\t\t// Global styles for the entire picker\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(22, pickerStyle = `\n --font-family: ${FONT_FAMILY};\n --num-groups: ${groups$1.length}; \n --indicator-opacity: ${searchMode ? 0 : 1}; \n --num-skintones: ${NUM_SKIN_TONES};`);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t//\n\t\t\t// Set or update the preferred skin tone\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updatePreferredSkinTone() {\n\t\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t\t$$invalidate(8, currentSkinTone = await database.getPreferredSkinTone());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* no await */\n\t\t\t\tupdatePreferredSkinTone();\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[1] & /*skinToneEmoji*/ 512) {\n\t\t\t$$invalidate(9, skinTones = Array(NUM_SKIN_TONES).fill().map((_, i) => applySkinTone(skinToneEmoji, i)));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTones, currentSkinTone*/ 768) {\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(21, skinToneButtonText = skinTones[currentSkinTone]);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*i18n, currentSkinTone*/ 257) {\n\t\t\t$$invalidate(23, skinToneButtonLabel = i18n.skinToneLabel.replace('{skinTone}', i18n.skinTones[currentSkinTone]));\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database*/ 256) {\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t//\n\t\t\t// Set or update the favorites emojis\n\t\t\t//\n\t\t\t{\n\t\t\t\tasync function updateDefaultFavoriteEmojis() {\n\t\t\t\t\t$$invalidate(45, defaultFavoriteEmojis = (await Promise.all(MOST_COMMONLY_USED_EMOJI.map(unicode => database.getEmojiByUnicodeOrName(unicode)))).filter(Boolean)); // filter because in Jest tests we don't have all the emoji in the DB\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateDefaultFavoriteEmojis();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*databaseLoaded*/ 16384 | $$self.$$.dirty[1] & /*database, numColumns, defaultFavoriteEmojis*/ 49408) {\n\t\t\t{\n\t\t\t\tasync function updateFavorites() {\n\t\t\t\t\tconst dbFavorites = await database.getTopFavoriteEmoji(numColumns);\n\t\t\t\t\tconst favorites = await summarizeEmojis(uniqBy([...dbFavorites, ...defaultFavoriteEmojis], _ => _.unicode || _.name).slice(0, numColumns));\n\t\t\t\t\t$$invalidate(10, currentFavorites = favorites);\n\t\t\t\t}\n\n\t\t\t\tif (databaseLoaded && defaultFavoriteEmojis) {\n\t\t\t\t\t/* no await */\n\t\t\t\t\tupdateFavorites();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, tabpanelElement*/ 10) {\n\t\t\t// Some emojis have their ligatures rendered as two or more consecutive emojis\n\t\t\t// We want to treat these the same as unsupported emojis, so we compare their\n\t\t\t// widths against the baseline widths and remove them as necessary\n\t\t\t{\n\t\t\t\tconst zwjEmojisToCheck = currentEmojis.filter(emoji => emoji.unicode).filter(emoji => hasZwj(emoji) && !supportedZwjEmojis.has(emoji.unicode)); // filter custom emoji\n\n\t\t\t\tif (zwjEmojisToCheck.length) {\n\t\t\t\t\t// render now, check their length later\n\t\t\t\t\trAF(() => checkZwjSupportAndUpdate(zwjEmojisToCheck));\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(1, currentEmojis = currentEmojis.filter(isZwjSupported));\n\n\t\t\t\t\trAF(() => {\n\t\t\t\t\t\t// Avoid Svelte doing an invalidation on the \"setter\" here.\n\t\t\t\t\t\t// At best the invalidation is useless, at worst it can cause infinite loops:\n\t\t\t\t\t\t// https://github.com/nolanlawson/emoji-picker-element/pull/180\n\t\t\t\t\t\t// https://github.com/sveltejs/svelte/issues/6521\n\t\t\t\t\t\t// Also note tabpanelElement can be null if the element is disconnected\n\t\t\t\t\t\t// immediately after connected, hence `|| {}`\n\t\t\t\t\t\t(tabpanelElement || {}).scrollTop = 0; // reset scroll top to 0 when emojis change\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*currentEmojis, currentFavorites*/ 1026 | $$self.$$.dirty[1] & /*initialLoad*/ 4096) {\n\t\t\t{\n\t\t\t\t// consider initialLoad to be complete when the first tabpanel and favorites are rendered\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (\"production\" !== 'production' || false) {\n\t\t\t\t\tif (currentEmojis.length && currentFavorites.length && initialLoad) {\n\t\t\t\t\t\t$$invalidate(43, initialLoad = false);\n\t\t\t\t\t\trequestPostAnimationFrame(() => (void 0));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*searchMode, currentEmojis*/ 18 | $$self.$$.dirty[1] & /*customCategorySorting*/ 2048) {\n\t\t\t//\n\t\t\t// Derive currentEmojisWithCategories from currentEmojis. This is always done even if there\n\t\t\t// are no categories, because it's just easier to code the HTML this way.\n\t\t\t//\n\t\t\t{\n\t\t\t\tfunction calculateCurrentEmojisWithCategories() {\n\t\t\t\t\tif (searchMode) {\n\t\t\t\t\t\treturn [{ category: '', emojis: currentEmojis }];\n\t\t\t\t\t}\n\n\t\t\t\t\tconst categoriesToEmoji = new Map();\n\n\t\t\t\t\tfor (const emoji of currentEmojis) {\n\t\t\t\t\t\tconst category = emoji.category || '';\n\t\t\t\t\t\tlet emojis = categoriesToEmoji.get(category);\n\n\t\t\t\t\t\tif (!emojis) {\n\t\t\t\t\t\t\temojis = [];\n\t\t\t\t\t\t\tcategoriesToEmoji.set(category, emojis);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\temojis.push(emoji);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [...categoriesToEmoji.entries()].map(([category, emojis]) => ({ category, emojis })).sort((a, b) => customCategorySorting(a.category, b.category));\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-unused-vars\n\t\t\t\t$$invalidate(15, currentEmojisWithCategories = calculateCurrentEmojisWithCategories());\n\t\t\t}\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*activeSearchItem, currentEmojis*/ 34) {\n\t\t\t//\n\t\t\t// Handle active search item (i.e. pressing up or down while searching)\n\t\t\t//\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\t$$invalidate(26, activeSearchItemId = activeSearchItem !== -1 && currentEmojis[activeSearchItem].id);\n\t\t}\n\n\t\tif ($$self.$$.dirty[0] & /*skinTonePickerExpanded, skinToneDropdown*/ 192) {\n\t\t\t// To make the animation nicer, change the z-index of the skintone picker button\n\t\t\t// *after* the animation has played. This makes it appear that the picker box\n\t\t\t// is expanding \"below\" the button\n\t\t\t{\n\t\t\t\tif (skinTonePickerExpanded) {\n\t\t\t\t\tskinToneDropdown.addEventListener(\n\t\t\t\t\t\t'transitionend',\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = true); // eslint-disable-line no-unused-vars\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ once: true }\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t$$invalidate(19, skinTonePickerExpandedAfterAnimation = false); // eslint-disable-line no-unused-vars\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn [\n\t\ti18n,\n\t\tcurrentEmojis,\n\t\trawSearchText,\n\t\ttabpanelElement,\n\t\tsearchMode,\n\t\tactiveSearchItem,\n\t\tskinTonePickerExpanded,\n\t\tskinToneDropdown,\n\t\tcurrentSkinTone,\n\t\tskinTones,\n\t\tcurrentFavorites,\n\t\tcurrentGroupIndex,\n\t\tgroups$1,\n\t\tcurrentGroup,\n\t\tdatabaseLoaded,\n\t\tcurrentEmojisWithCategories,\n\t\trootElement,\n\t\tbaselineEmoji,\n\t\tmessage,\n\t\tskinTonePickerExpandedAfterAnimation,\n\t\tactiveSkinTone,\n\t\tskinToneButtonText,\n\t\tpickerStyle,\n\t\tskinToneButtonLabel,\n\t\tisRtl,\n\t\tscrollbarWidth,\n\t\tactiveSearchItemId,\n\t\tunicodeWithSkin,\n\t\tlabelWithSkin,\n\t\tcalculateEmojiGridStyle,\n\t\tonSearchKeydown,\n\t\tonNavClick,\n\t\tonNavKeydown,\n\t\tonEmojiClick,\n\t\tonSkinToneOptionsClick,\n\t\tonClickSkinToneButton,\n\t\tonSkinToneOptionsKeydown,\n\t\tonSkinToneOptionsKeyup,\n\t\tonSkinToneOptionsFocusOut,\n\t\tdatabase,\n\t\tskinToneEmoji,\n\t\tcustomEmoji,\n\t\tcustomCategorySorting,\n\t\tinitialLoad,\n\t\tsearchText,\n\t\tdefaultFavoriteEmojis,\n\t\tnumColumns,\n\t\tinput_input_handler,\n\t\tdiv3_binding,\n\t\tclick_handler,\n\t\tdiv10_binding,\n\t\tbutton1_binding,\n\t\tsection_binding\n\t];\n}\n\nclass Picker extends SvelteComponent {\n\tconstructor(options) {\n\t\tsuper();\n\n\t\tinit(\n\t\t\tthis,\n\t\t\toptions,\n\t\t\tinstance,\n\t\t\tcreate_fragment,\n\t\t\tsafe_not_equal,\n\t\t\t{\n\t\t\t\tskinToneEmoji: 40,\n\t\t\t\ti18n: 0,\n\t\t\t\tdatabase: 39,\n\t\t\t\tcustomEmoji: 41,\n\t\t\t\tcustomCategorySorting: 42\n\t\t\t},\n\t\t\tnull,\n\t\t\t[-1, -1, -1]\n\t\t);\n\t}\n}\n\nconst DEFAULT_DATA_SOURCE = 'https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json';\nconst DEFAULT_LOCALE = 'en';\n\nvar enI18n = {\n categoriesLabel: 'Categories',\n emojiUnsupportedMessage: 'Your browser does not support color emoji.',\n favoritesLabel: 'Favorites',\n loadingMessage: 'Loading…',\n networkErrorMessage: 'Could not load emoji.',\n regionLabel: 'Emoji picker',\n searchDescription: 'When search results are available, press up or down to select and enter to choose.',\n searchLabel: 'Search',\n searchResultsLabel: 'Search results',\n skinToneDescription: 'When expanded, press up or down to select and enter to choose.',\n skinToneLabel: 'Choose a skin tone (currently {skinTone})',\n skinTonesLabel: 'Skin tones',\n skinTones: [\n 'Default',\n 'Light',\n 'Medium-Light',\n 'Medium',\n 'Medium-Dark',\n 'Dark'\n ],\n categories: {\n custom: 'Custom',\n 'smileys-emotion': 'Smileys and emoticons',\n 'people-body': 'People and body',\n 'animals-nature': 'Animals and nature',\n 'food-drink': 'Food and drink',\n 'travel-places': 'Travel and places',\n activities: 'Activities',\n objects: 'Objects',\n symbols: 'Symbols',\n flags: 'Flags'\n }\n};\n\nconst PROPS = [\n 'customEmoji',\n 'customCategorySorting',\n 'database',\n 'dataSource',\n 'i18n',\n 'locale',\n 'skinToneEmoji'\n];\n\nclass PickerElement extends HTMLElement {\n constructor (props) {\n super();\n this.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = \":host{--emoji-size:1.375rem;--emoji-padding:0.5rem;--category-emoji-size:var(--emoji-size);--category-emoji-padding:var(--emoji-padding);--indicator-height:3px;--input-border-radius:0.5rem;--input-border-size:1px;--input-font-size:1rem;--input-line-height:1.5;--input-padding:0.25rem;--num-columns:8;--outline-size:2px;--border-size:1px;--skintone-border-radius:1rem;--category-font-size:1rem;display:flex;width:min-content;height:400px}:host,:host(.light){--background:#fff;--border-color:#e0e0e0;--indicator-color:#385ac1;--input-border-color:#999;--input-font-color:#111;--input-placeholder-color:#999;--outline-color:#999;--category-font-color:#111;--button-active-background:#e6e6e6;--button-hover-background:#d9d9d9}:host(.dark){--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}@media (prefers-color-scheme:dark){:host{--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555555;--button-hover-background:#484848}}:host([hidden]){display:none}button{margin:0;padding:0;border:0;background:0 0;box-shadow:none;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0}input{padding:0;margin:0;line-height:1.15;font-family:inherit}input[type=search]{-webkit-appearance:none}:focus{outline:var(--outline-color) solid var(--outline-size);outline-offset:calc(-1*var(--outline-size))}:host([data-js-focus-visible]) :focus:not([data-focus-visible-added]){outline:0}:focus:not(:focus-visible){outline:0}.hide-focus{outline:0}*{box-sizing:border-box}.picker{contain:content;display:flex;flex-direction:column;background:var(--background);border:var(--border-size) solid var(--border-color);width:100%;height:100%;overflow:hidden;--total-emoji-size:calc(var(--emoji-size) + (2 * var(--emoji-padding)));--total-category-emoji-size:calc(var(--category-emoji-size) + (2 * var(--category-emoji-padding)))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{opacity:0;pointer-events:none}.abs-pos{position:absolute;left:0;top:0}.gone{display:none!important}.skintone-button-wrapper,.skintone-list{background:var(--background);z-index:3}.skintone-button-wrapper.expanded{z-index:1}.skintone-list{position:absolute;inset-inline-end:0;top:0;z-index:2;overflow:visible;border-bottom:var(--border-size) solid var(--border-color);border-radius:0 0 var(--skintone-border-radius) var(--skintone-border-radius);will-change:transform;transition:transform .2s ease-in-out;transform-origin:center 0}@media (prefers-reduced-motion:reduce){.skintone-list{transition-duration:.001s}}@supports not (inset-inline-end:0){.skintone-list{right:0}}.skintone-list.no-animate{transition:none}.tabpanel{overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:transform;min-height:0;flex:1;contain:content}.emoji-menu{display:grid;grid-template-columns:repeat(var(--num-columns),var(--total-emoji-size));justify-content:space-around;align-items:flex-start;width:100%}.category{padding:var(--emoji-padding);font-size:var(--category-font-size);color:var(--category-font-color)}.custom-emoji,.emoji,button.emoji{height:var(--total-emoji-size);width:var(--total-emoji-size)}.emoji,button.emoji{font-size:var(--emoji-size);display:flex;align-items:center;justify-content:center;border-radius:100%;line-height:1;overflow:hidden;font-family:var(--font-family);cursor:pointer}@media (hover:hover) and (pointer:fine){.emoji:hover,button.emoji:hover{background:var(--button-hover-background)}}.emoji.active,.emoji:active,button.emoji.active,button.emoji:active{background:var(--button-active-background)}.custom-emoji{padding:var(--emoji-padding);object-fit:contain;pointer-events:none;background-repeat:no-repeat;background-position:center center;background-size:var(--emoji-size) var(--emoji-size)}.nav,.nav-button{align-items:center}.nav{display:grid;justify-content:space-between;contain:content}.nav-button{display:flex;justify-content:center}.nav-emoji{font-size:var(--category-emoji-size);width:var(--total-category-emoji-size);height:var(--total-category-emoji-size)}.indicator-wrapper{display:flex;border-bottom:1px solid var(--border-color)}.indicator{width:calc(100%/var(--num-groups));height:var(--indicator-height);opacity:var(--indicator-opacity);background-color:var(--indicator-color);will-change:transform,opacity;transition:opacity .1s linear,transform .25s ease-in-out}@media (prefers-reduced-motion:reduce){.indicator{will-change:opacity;transition:opacity .1s linear}}.pad-top,input.search{background:var(--background);width:100%}.pad-top{height:var(--emoji-padding);z-index:3}.search-row{display:flex;align-items:center;position:relative;padding-inline-start:var(--emoji-padding);padding-bottom:var(--emoji-padding)}.search-wrapper{flex:1;min-width:0}input.search{padding:var(--input-padding);border-radius:var(--input-border-radius);border:var(--input-border-size) solid var(--input-border-color);color:var(--input-font-color);font-size:var(--input-font-size);line-height:var(--input-line-height)}input.search::placeholder{color:var(--input-placeholder-color)}.favorites{display:flex;flex-direction:row;border-top:var(--border-size) solid var(--border-color);contain:content}.message{padding:var(--emoji-padding)}\";\n this.shadowRoot.appendChild(style);\n this._ctx = {\n // Set defaults\n locale: DEFAULT_LOCALE,\n dataSource: DEFAULT_DATA_SOURCE,\n skinToneEmoji: DEFAULT_SKIN_TONE_EMOJI,\n customCategorySorting: DEFAULT_CATEGORY_SORTING,\n customEmoji: null,\n i18n: enI18n,\n ...props\n };\n // Handle properties set before the element was upgraded\n for (const prop of PROPS) {\n if (prop !== 'database' && Object.prototype.hasOwnProperty.call(this, prop)) {\n this._ctx[prop] = this[prop];\n delete this[prop];\n }\n }\n this._dbFlush(); // wait for a flush before creating the db, in case the user calls e.g. a setter or setAttribute\n }\n\n connectedCallback () {\n this._cmp = new Picker({\n target: this.shadowRoot,\n props: this._ctx\n });\n }\n\n disconnectedCallback () {\n this._cmp.$destroy();\n this._cmp = undefined;\n\n const { database } = this._ctx;\n if (database) {\n database.close()\n // only happens if the database failed to load in the first place, so we don't care)\n .catch(err => console.error(err));\n }\n }\n\n static get observedAttributes () {\n return ['locale', 'data-source', 'skin-tone-emoji'] // complex objects aren't supported, also use kebab-case\n }\n\n attributeChangedCallback (attrName, oldValue, newValue) {\n // convert from kebab-case to camelcase\n // see https://github.com/sveltejs/svelte/issues/3852#issuecomment-665037015\n this._set(\n attrName.replace(/-([a-z])/g, (_, up) => up.toUpperCase()),\n newValue\n );\n }\n\n _set (prop, newValue) {\n this._ctx[prop] = newValue;\n if (this._cmp) {\n this._cmp.$set({ [prop]: newValue });\n }\n if (['locale', 'dataSource'].includes(prop)) {\n this._dbFlush();\n }\n }\n\n _dbCreate () {\n const { locale, dataSource, database } = this._ctx;\n // only create a new database if we really need to\n if (!database || database.locale !== locale || database.dataSource !== dataSource) {\n this._set('database', new Database({ locale, dataSource }));\n }\n }\n\n // Update the Database in one microtask if the locale/dataSource change. We do one microtask\n // so we don't create two Databases if e.g. both the locale and the dataSource change\n _dbFlush () {\n Promise.resolve().then(() => (\n this._dbCreate()\n ));\n }\n}\n\nconst definitions = {};\n\nfor (const prop of PROPS) {\n definitions[prop] = {\n get () {\n if (prop === 'database') {\n // in rare cases, the microtask may not be flushed yet, so we need to instantiate the DB\n // now if the user is asking for it\n this._dbCreate();\n }\n return this._ctx[prop]\n },\n set (val) {\n if (prop === 'database') {\n throw new Error('database is read-only')\n }\n this._set(prop, val);\n }\n };\n}\n\nObject.defineProperties(PickerElement.prototype, definitions);\n\n/* istanbul ignore else */\nif (!customElements.get('emoji-picker')) { // if already defined, do nothing (e.g. same script imported twice)\n customElements.define('emoji-picker', PickerElement);\n}\n\nexport { PickerElement as default };\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=2c0ab9be&\"\nimport script from \"./Loader.vue?vue&type=script&lang=js&\"\nexport * from \"./Loader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{\n\t\t'vac-box-search': _vm.showSearchBar,\n\t\t'vac-box-empty': !_vm.showSearchBar\n\t}},[(_vm.showSearch)?[(!_vm.loadingRooms && _vm.rooms.length)?_c('div',{staticClass:\"vac-icon-search\"},[_vm._t(\"search-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"search\"}})]})],2):_vm._e(),(!_vm.loadingRooms && _vm.rooms.length)?_c('input',{staticClass:\"vac-input\",attrs:{\"type\":\"search\",\"placeholder\":_vm.textMessages.SEARCH,\"autocomplete\":\"off\"},on:{\"input\":function($event){return _vm.$emit('search-room', $event)}}}):_vm._e()]:_vm._e(),(_vm.showAddRoom)?_c('div',{staticClass:\"vac-svg-button vac-add-icon\",on:{\"click\":function($event){return _vm.$emit('add-room')}}},[_vm._t(\"add-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"add\"}})]})],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"version\":\"1.1\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":(\"0 0 \" + _vm.size + \" \" + _vm.size)}},[_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path}}),(_vm.svgItem[_vm.name].path2)?_c('path',{attrs:{\"id\":_vm.svgId,\"d\":_vm.svgItem[_vm.name].path2}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SvgIcon.vue?vue&type=template&id=e01c0bf4&\"\nimport script from \"./SvgIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsSearch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsSearch.vue?vue&type=template&id=1fc42a9b&\"\nimport script from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsSearch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-container\"},[_vm._t(\"room-list-item\",function(){return [_vm._t(\"room-list-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_c('div',{staticClass:\"vac-name-container vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-title-container\"},[(_vm.userStatus)?_c('div',{staticClass:\"vac-state-circle\",class:{ 'vac-state-online': _vm.userStatus === 'online' }}):_vm._e(),_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.room.lastMessage)?_c('div',{staticClass:\"vac-text-date\"},[_vm._v(\" \"+_vm._s(_vm.room.lastMessage.timestamp)+\" \")]):_vm._e()]),_c('div',{staticClass:\"vac-text-last\",class:{\n\t\t\t\t\t'vac-message-new':\n\t\t\t\t\t\t_vm.room.lastMessage && _vm.room.lastMessage.new && !_vm.typingUsers\n\t\t\t\t}},[(_vm.isMessageCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.room.lastMessage.distributed\n\t\t\t\t\t\t\t\t\t? 'double-checkmark'\n\t\t\t\t\t\t\t\t\t: 'checkmark',\"param\":_vm.room.lastMessage.seen ? 'seen' : ''}})]},null,{ message: _vm.room.lastMessage })],2):_vm._e(),(_vm.room.lastMessage && !_vm.room.lastMessage.deleted && _vm.isAudio)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]}),_vm._v(\" \"+_vm._s(_vm.formattedDuration)+\" \")],2):(_vm.room.lastMessage)?_c('format-message',{attrs:{\"content\":_vm.getLastMessage,\"deleted\":!!_vm.room.lastMessage.deleted && !_vm.typingUsers,\"users\":_vm.room.users,\"linkify\":false,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"single-line\":true},scopedSlots:_vm._u([{key:\"deleted-icon\",fn:function(data){return [_vm._t(\"deleted-icon\",null,null,data)]}}],null,true)}):_vm._e(),(!_vm.room.lastMessage && _vm.typingUsers)?_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_vm._e(),_c('div',{staticClass:\"vac-room-options-container\"},[(_vm.room.unreadCount)?_c('div',{staticClass:\"vac-badge-counter vac-room-badge\"},[_vm._v(\" \"+_vm._s(_vm.room.unreadCount)+\" \")]):_vm._e(),_vm._t(\"room-list-options\",function(){return [(_vm.roomActions.length)?_c('div',{staticClass:\"vac-svg-button vac-list-room-options\",on:{\"click\":function($event){$event.stopPropagation();_vm.roomMenuOpened = _vm.room.roomId}}},[_vm._t(\"room-list-options-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"room\"}})]})],2):_vm._e(),(_vm.roomActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.roomMenuOpened === _vm.room.roomId)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeRoomMenu),expression:\"closeRoomMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.roomActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.roomActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]},null,{ room: _vm.room })],2)],1)])]},null,{ room: _vm.room })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-format-message-wrapper\",class:{ 'vac-text-ellipsis': _vm.singleLine }},[(!_vm.textFormatting.disabled)?_c('div',{class:{ 'vac-text-ellipsis': _vm.singleLine }},_vm._l((_vm.linkifiedMessage),function(message,i){return _c('div',{key:i,staticClass:\"vac-format-container\"},[_c(message.url ? 'a' : 'span',{tag:\"component\",class:{\n\t\t\t\t\t'vac-text-ellipsis': _vm.singleLine,\n\t\t\t\t\t'vac-text-bold': message.bold,\n\t\t\t\t\t'vac-text-italic': _vm.deleted || message.italic,\n\t\t\t\t\t'vac-text-strike': message.strike,\n\t\t\t\t\t'vac-text-underline': message.underline,\n\t\t\t\t\t'vac-text-inline-code': !_vm.singleLine && message.inline,\n\t\t\t\t\t'vac-text-multiline-code': !_vm.singleLine && message.multiline,\n\t\t\t\t\t'vac-text-tag': !_vm.singleLine && !_vm.reply && message.tag\n\t\t\t\t},attrs:{\"href\":message.href,\"target\":message.href ? _vm.linkOptions.target : null,\"rel\":message.href ? _vm.linkOptions.rel : null},on:{\"click\":function($event){return _vm.openTag(message)}}},[_vm._t(\"deleted-icon\",function(){return [(_vm.deleted)?_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}}):_vm._e()]},null,{ deleted: _vm.deleted }),(message.url && message.image)?[_c('div',{staticClass:\"vac-image-link-container\"},[_c('div',{staticClass:\"vac-image-link\",style:({\n\t\t\t\t\t\t\t\t'background-image': (\"url('\" + (message.value) + \"')\"),\n\t\t\t\t\t\t\t\theight: message.height\n\t\t\t\t\t\t\t})})]),_c('div',{staticClass:\"vac-image-link-message\"},[_c('span',[_vm._v(_vm._s(message.value))])])]:[_c('span',{domProps:{\"innerHTML\":_vm._s(message.value)}},[_vm._v(\" \"+_vm._s(message.value)+\" \")])]],2)],1)}),0):_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.formattedContent)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","const linkify = require('linkifyjs')\n// require('linkifyjs/plugins/hashtag')(linkify)\n\nexport default (text, doLinkify, textFormatting) => {\n\tconst typeMarkdown = {\n\t\tbold: textFormatting.bold,\n\t\titalic: textFormatting.italic,\n\t\tstrike: textFormatting.strike,\n\t\tunderline: textFormatting.underline,\n\t\tmultilineCode: textFormatting.multilineCode,\n\t\tinlineCode: textFormatting.inlineCode\n\t}\n\n\tconst pseudoMarkdown = {\n\t\t[typeMarkdown.bold]: {\n\t\t\tend: '\\\\' + typeMarkdown.bold,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'bold'\n\t\t},\n\t\t[typeMarkdown.italic]: {\n\t\t\tend: typeMarkdown.italic,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'italic'\n\t\t},\n\t\t[typeMarkdown.strike]: {\n\t\t\tend: typeMarkdown.strike,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'strike'\n\t\t},\n\t\t[typeMarkdown.underline]: {\n\t\t\tend: typeMarkdown.underline,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'underline'\n\t\t},\n\t\t[typeMarkdown.multilineCode]: {\n\t\t\tend: typeMarkdown.multilineCode,\n\t\t\tallowed_chars: '(.|\\n)',\n\t\t\ttype: 'multiline-code'\n\t\t},\n\t\t[typeMarkdown.inlineCode]: {\n\t\t\tend: typeMarkdown.inlineCode,\n\t\t\tallowed_chars: '.',\n\t\t\ttype: 'inline-code'\n\t\t},\n\t\t'': {\n\t\t\tallowed_chars: '.',\n\t\t\tend: '',\n\t\t\ttype: 'tag'\n\t\t}\n\t}\n\n\tconst json = compileToJSON(text, pseudoMarkdown)\n\n\tconst html = compileToHTML(json, pseudoMarkdown)\n\n\tconst result = [].concat.apply([], html)\n\n\tif (doLinkify) linkifyResult(result)\n\n\treturn result\n}\n\nfunction compileToJSON(str, pseudoMarkdown) {\n\tlet result = []\n\tlet minIndexOf = -1\n\tlet minIndexOfKey = null\n\n\tlet links = linkify.find(str)\n\tlet minIndexFromLink = false\n\n\tif (links.length > 0) {\n\t\tminIndexOf = str.indexOf(links[0].value)\n\t\tminIndexFromLink = true\n\t}\n\n\tObject.keys(pseudoMarkdown).forEach(startingValue => {\n\t\tconst io = str.indexOf(startingValue)\n\t\tif (io >= 0 && (minIndexOf < 0 || io < minIndexOf)) {\n\t\t\tminIndexOf = io\n\t\t\tminIndexOfKey = startingValue\n\t\t\tminIndexFromLink = false\n\t\t}\n\t})\n\n\tif (minIndexFromLink && minIndexOfKey !== -1) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tlet strLink = str.substr(minIndexOf, links[0].value.length)\n\t\tlet strRight = str.substr(minIndexOf + links[0].value.length)\n\t\tresult.push(strLeft)\n\t\tresult.push(strLink)\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t}\n\n\tif (minIndexOfKey) {\n\t\tlet strLeft = str.substr(0, minIndexOf)\n\t\tconst char = minIndexOfKey\n\t\tlet strRight = str.substr(minIndexOf + char.length)\n\n\t\tif (str.replace(/\\s/g, '').length === char.length * 2) {\n\t\t\treturn [str]\n\t\t}\n\n\t\tconst match = strRight.match(\n\t\t\tnew RegExp(\n\t\t\t\t'^(' +\n\t\t\t\t\t(pseudoMarkdown[char].allowed_chars || '.') +\n\t\t\t\t\t'*' +\n\t\t\t\t\t(pseudoMarkdown[char].end ? '?' : '') +\n\t\t\t\t\t')' +\n\t\t\t\t\t(pseudoMarkdown[char].end\n\t\t\t\t\t\t? '(' + pseudoMarkdown[char].end + ')'\n\t\t\t\t\t\t: ''),\n\t\t\t\t'm'\n\t\t\t)\n\t\t)\n\t\tif (!match || !match[1]) {\n\t\t\tstrLeft = strLeft + char\n\t\t\tresult.push(strLeft)\n\t\t} else {\n\t\t\tif (strLeft) {\n\t\t\t\tresult.push(strLeft)\n\t\t\t}\n\t\t\tconst object = {\n\t\t\t\tstart: char,\n\t\t\t\tcontent: compileToJSON(match[1], pseudoMarkdown),\n\t\t\t\tend: match[2],\n\t\t\t\ttype: pseudoMarkdown[char].type\n\t\t\t}\n\t\t\tresult.push(object)\n\t\t\tstrRight = strRight.substr(match[0].length)\n\t\t}\n\t\tresult = result.concat(compileToJSON(strRight, pseudoMarkdown))\n\t\treturn result\n\t} else {\n\t\tif (str) {\n\t\t\treturn [str]\n\t\t} else {\n\t\t\treturn []\n\t\t}\n\t}\n}\n\nfunction compileToHTML(json, pseudoMarkdown) {\n\tconst result = []\n\n\tjson.forEach(item => {\n\t\tif (typeof item === 'string') {\n\t\t\tresult.push({ types: [], value: item })\n\t\t} else {\n\t\t\tif (pseudoMarkdown[item.start]) {\n\t\t\t\tresult.push(parseContent(item))\n\t\t\t}\n\t\t}\n\t})\n\n\treturn result\n}\n\nfunction parseContent(item) {\n\tconst result = []\n\titerateContent(item, result, [])\n\treturn result\n}\n\nfunction iterateContent(item, result, types) {\n\titem.content.forEach(it => {\n\t\tif (typeof it === 'string') {\n\t\t\tresult.push({\n\t\t\t\ttypes: removeDuplicates(types.concat([item.type])),\n\t\t\t\tvalue: it\n\t\t\t})\n\t\t} else {\n\t\t\titerateContent(\n\t\t\t\tit,\n\t\t\t\tresult,\n\t\t\t\tremoveDuplicates([it.type].concat([item.type]).concat(types))\n\t\t\t)\n\t\t}\n\t})\n}\n\nfunction removeDuplicates(items) {\n\treturn [...new Set(items)]\n}\n\nfunction linkifyResult(array) {\n\tconst result = []\n\n\tarray.forEach(arr => {\n\t\tconst links = linkify.find(arr.value)\n\n\t\tif (links.length) {\n\t\t\tconst spaces = arr.value.replace(links[0].value, '')\n\t\t\tresult.push({ types: arr.types, value: spaces })\n\n\t\t\tarr.types = ['url'].concat(arr.types)\n\t\t\tarr.href = links[0].href\n\t\t\tarr.value = links[0].value\n\t\t}\n\n\t\tresult.push(arr)\n\t})\n\n\treturn result\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormatMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormatMessage.vue?vue&type=template&id=3a015d3f&\"\nimport script from \"./FormatMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./FormatMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (room, currentUserId, textMessages) => {\n\tif (room.typingUsers && room.typingUsers.length) {\n\t\tconst typingUsers = room.users.filter(user => {\n\t\t\tif (user._id === currentUserId) return\n\t\t\tif (room.typingUsers.indexOf(user._id) === -1) return\n\t\t\tif (user.status && user.status.state === 'offline') return\n\t\t\treturn true\n\t\t})\n\n\t\tif (!typingUsers.length) return\n\n\t\tif (room.users.length === 2) {\n\t\t\treturn textMessages.IS_TYPING\n\t\t} else {\n\t\t\treturn (\n\t\t\t\ttypingUsers.map(user => user.username).join(', ') +\n\t\t\t\t' ' +\n\t\t\t\ttextMessages.IS_TYPING\n\t\t\t)\n\t\t}\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomContent.vue?vue&type=template&id=6888cbad&\"\nimport script from \"./RoomContent.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default (items, prop, val, startsWith = false) => {\n\tif (!val || val === '') return items\n\n\treturn items.filter(v => {\n\t\tif (startsWith) return formatString(v[prop]).startsWith(formatString(val))\n\t\treturn formatString(v[prop]).includes(formatString(val))\n\t})\n}\n\nfunction formatString(string) {\n\treturn string\n\t\t.toLowerCase()\n\t\t.normalize('NFD')\n\t\t.replace(/[\\u0300-\\u036f]/g, '')\n}\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomsList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomsList.vue?vue&type=template&id=e9cbf0d4&\"\nimport script from \"./RoomsList.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomsList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.isMobile && !_vm.showRoomsList) || !_vm.isMobile || _vm.singleRoom),expression:\"(isMobile && !showRoomsList) || !isMobile || singleRoom\"}],staticClass:\"vac-col-messages\",on:{\"touchstart\":_vm.touchStart}},[(_vm.showNoRoom)?_vm._t(\"no-room-selected\",function(){return [_c('div',{staticClass:\"vac-container-center vac-room-empty\"},[_c('div',[_vm._v(_vm._s(_vm.textMessages.ROOM_EMPTY))])])]}):_c('room-header',{attrs:{\"current-user-id\":_vm.currentUserId,\"text-messages\":_vm.textMessages,\"single-room\":_vm.singleRoom,\"show-rooms-list\":_vm.showRoomsList,\"is-mobile\":_vm.isMobile,\"room-info-enabled\":_vm.roomInfoEnabled,\"menu-actions\":_vm.menuActions,\"room\":_vm.room,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"message-selection-actions\":_vm.messageSelectionActions,\"selected-messages-total\":_vm.selectedMessages.length},on:{\"toggle-rooms-list\":function($event){return _vm.$emit('toggle-rooms-list')},\"room-info\":function($event){return _vm.$emit('room-info')},\"menu-action-handler\":function($event){return _vm.$emit('menu-action-handler', $event)},\"message-selection-action-handler\":_vm.messageSelectionActionHandler,\"cancel-message-selection\":function($event){_vm.messageSelectionEnabled = false}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{ref:\"scrollContainer\",staticClass:\"vac-container-scroll\",attrs:{\"id\":\"messages-list\"},on:{\"scroll\":_vm.onContainerScroll}},[_c('loader',{attrs:{\"show\":_vm.loadingMessages},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-messages-container\"},[_c('div',{class:{ 'vac-messages-hidden': _vm.loadingMessages }},[_c('transition',{attrs:{\"name\":\"vac-fade-message\"}},[_c('div',[(_vm.showNoMessages)?_c('div',{staticClass:\"vac-text-started\"},[_vm._t(\"messages-empty\",function(){return [_vm._v(\" \"+_vm._s(_vm.textMessages.MESSAGES_EMPTY)+\" \")]})],2):_vm._e(),(_vm.showMessagesStarted)?_c('div',{staticClass:\"vac-text-started\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.CONVERSATION_STARTED)+\" \"+_vm._s(_vm.messages[0].date)+\" \")]):_vm._e()])]),(_vm.messages.length && !_vm.messagesLoaded)?_c('div',{attrs:{\"id\":\"infinite-loader-messages\"}},[_c('loader',{attrs:{\"show\":true,\"infinite\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_vm._e(),_c('transition-group',{key:_vm.roomId,attrs:{\"name\":\"vac-fade-message\",\"tag\":\"span\"}},_vm._l((_vm.messages),function(m,i){return _c('div',{key:m.indexId || m._id},[_c('room-message',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":m,\"index\":i,\"messages\":_vm.messages,\"edited-message-id\":_vm.editedMessageId,\"message-actions\":_vm.messageActions,\"room-users\":_vm.room.users,\"text-messages\":_vm.textMessages,\"new-messages\":_vm.newMessages,\"show-reaction-emojis\":_vm.showReactionEmojis,\"show-new-messages-divider\":_vm.showNewMessagesDivider,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"username-options\":_vm.usernameOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled,\"selected-messages\":_vm.selectedMessages},on:{\"message-added\":_vm.onMessageAdded,\"message-action-handler\":_vm.messageActionHandler,\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag,\"open-failed-message\":function($event){return _vm.$emit('open-failed-message', $event)},\"send-message-reaction\":_vm.sendMessageReaction,\"select-message\":_vm.selectMessage,\"unselect-message\":_vm.unselectMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),0)],1)])],1),(!_vm.loadingMessages)?_c('div',[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollIcon)?_c('div',{staticClass:\"vac-icon-scroll\",on:{\"click\":_vm.scrollToBottom}},[_c('transition',{attrs:{\"name\":\"vac-bounce\"}},[(_vm.scrollMessagesCount)?_c('div',{staticClass:\"vac-badge-counter vac-messages-count\"},[_vm._v(\" \"+_vm._s(_vm.scrollMessagesCount)+\" \")]):_vm._e()]),_vm._t(\"scroll-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"scroll\"}})]})],2):_vm._e()])],1):_vm._e(),_c('room-footer',{attrs:{\"room\":_vm.room,\"room-id\":_vm.roomId,\"room-message\":_vm.roomMessage,\"text-messages\":_vm.textMessages,\"show-send-icon\":_vm.showSendIcon,\"show-files\":_vm.showFiles,\"show-audio\":_vm.showAudio,\"show-emojis\":_vm.showEmojis,\"show-footer\":_vm.showFooter,\"accepted-files\":_vm.acceptedFiles,\"textarea-action-enabled\":_vm.textareaActionEnabled,\"user-tags-enabled\":_vm.userTagsEnabled,\"emojis-suggestion-enabled\":_vm.emojisSuggestionEnabled,\"templates-text\":_vm.templatesText,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"audio-bit-rate\":_vm.audioBitRate,\"audio-sample-rate\":_vm.audioSampleRate,\"init-reply-message\":_vm.initReplyMessage,\"init-edit-message\":_vm.initEditMessage},on:{\"update-edited-message-id\":function($event){_vm.editedMessageId = $event},\"edit-message\":function($event){return _vm.$emit('edit-message', $event)},\"send-message\":function($event){return _vm.$emit('send-message', $event)},\"typing-message\":function($event){return _vm.$emit('typing-message', $event)},\"textarea-action-handler\":function($event){return _vm.$emit('textarea-action-handler', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-header vac-app-border-b\"},[_vm._t(\"room-header\",function(){return [_c('div',{staticClass:\"vac-room-wrapper\"},[_c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageSelectionEnabled)?_c('div',{staticClass:\"vac-room-selection\"},[_vm._l((_vm.messageSelectionActions),function(action){return _c('div',{key:action.name,attrs:{\"id\":action.name}},[_c('div',{staticClass:\"vac-selection-button\",on:{\"click\":function($event){return _vm.messageSelectionActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \"),_c('span',{staticClass:\"vac-selection-button-count\"},[_vm._v(\" \"+_vm._s(_vm.selectedMessagesTotal)+\" \")])])])}),_c('div',{staticClass:\"vac-selection-cancel vac-item-clickable\",on:{\"click\":function($event){return _vm.$emit('cancel-message-selection')}}},[_vm._v(\" \"+_vm._s(_vm.textMessages.CANCEL_SELECT_MESSAGE)+\" \")])],2):_vm._e()]),(!_vm.messageSelectionEnabled && _vm.messageSelectionAnimationEnded)?[(!_vm.singleRoom)?_c('div',{staticClass:\"vac-svg-button vac-toggle-button\",class:{ 'vac-rotate-icon-init': !_vm.isMobile, 'vac-rotate-icon': !_vm.showRoomsList && !_vm.isMobile },on:{\"click\":function($event){return _vm.$emit('toggle-rooms-list')}}},[_vm._t(\"toggle-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"toggle\"}})]})],2):_vm._e(),_c('div',{staticClass:\"vac-info-wrapper\",class:{ 'vac-item-clickable': _vm.roomInfoEnabled },on:{\"click\":function($event){return _vm.$emit('room-info')}}},[_vm._t(\"room-header-avatar\",function(){return [(_vm.room.avatar)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.room.avatar) + \"')\") })}):_vm._e()]},null,{ room: _vm.room }),_vm._t(\"room-header-info\",function(){return [_c('div',{staticClass:\"vac-text-ellipsis\"},[_c('div',{staticClass:\"vac-room-name vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.room.roomName)+\" \")]),(_vm.typingUsers)?_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.typingUsers)+\" \")]):_c('div',{staticClass:\"vac-room-info vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.userStatus)+\" \")])])]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2),(_vm.room.roomId)?_vm._t(\"room-options\",function(){return [(_vm.menuActions.length)?_c('div',{staticClass:\"vac-svg-button vac-room-options\",on:{\"click\":function($event){_vm.menuOpened = !_vm.menuOpened}}},[_vm._t(\"menu-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"menu\"}})]})],2):_vm._e(),(_vm.menuActions.length)?_c('transition',{attrs:{\"name\":\"vac-slide-left\"}},[(_vm.menuOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"vac-menu-options\"},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.menuActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.menuActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()]}):_vm._e()]:_vm._e()],2)]},null,{ room: _vm.room, typingUsers: _vm.typingUsers, userStatus: _vm.userStatus })],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\t\t\t\n\t\t\n\t\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomHeader.vue?vue&type=template&id=938fbc28&\"\nimport script from \"./RoomHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(Object.keys(_vm.room).length && _vm.showFooter),expression:\"Object.keys(room).length && showFooter\"}],staticClass:\"vac-room-footer\",class:{\n\t\t'vac-app-box-shadow': _vm.shadowFooter\n\t},attrs:{\"id\":\"room-footer\"}},[_c('room-emojis',{attrs:{\"filtered-emojis\":_vm.filteredEmojis,\"select-item\":_vm.selectEmojiItem,\"active-up-or-down\":_vm.activeUpOrDownEmojis},on:{\"select-emoji\":function($event){return _vm.selectEmoji($event)},\"activate-item\":function($event){_vm.activeUpOrDownEmojis = 0}}}),_c('room-users-tag',{attrs:{\"filtered-users-tag\":_vm.filteredUsersTag,\"select-item\":_vm.selectUsersTagItem,\"active-up-or-down\":_vm.activeUpOrDownUsersTag},on:{\"select-user-tag\":function($event){return _vm.selectUserTag($event)},\"activate-item\":function($event){_vm.activeUpOrDownUsersTag = 0}}}),_c('room-templates-text',{attrs:{\"filtered-templates-text\":_vm.filteredTemplatesText,\"select-item\":_vm.selectTemplatesTextItem,\"active-up-or-down\":_vm.activeUpOrDownTemplatesText},on:{\"select-template-text\":function($event){return _vm.selectTemplateText($event)},\"activate-item\":function($event){_vm.activeUpOrDownTemplatesText = 0}}}),_c('room-message-reply',{attrs:{\"room\":_vm.room,\"message-reply\":_vm.messageReply,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('room-files',{attrs:{\"files\":_vm.files},on:{\"remove-file\":_vm.removeFile,\"reset-message\":_vm.resetMessage},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-box-footer\",class:{ 'vac-box-footer-border': !_vm.files.length }},[(_vm.showAudio && !_vm.files.length)?_c('div',{staticClass:\"vac-icon-textarea-left\"},[(_vm.isRecording)?[_c('div',{staticClass:\"vac-svg-button vac-icon-audio-stop\",on:{\"click\":_vm.stopRecorder}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2),_c('div',{staticClass:\"vac-dot-audio-record\"}),_c('div',{staticClass:\"vac-dot-audio-record-time\"},[_vm._v(\" \"+_vm._s(_vm.recordedTime)+\" \")]),_c('div',{staticClass:\"vac-svg-button vac-icon-audio-confirm\",on:{\"click\":function($event){return _vm.toggleRecorder(false)}}},[_vm._t(\"audio-stop-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"checkmark\"}})]})],2)]:_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.toggleRecorder(true)}}},[_vm._t(\"microphone-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-microphone\",attrs:{\"name\":\"microphone\"}})]})],2)],2):_vm._e(),_c('textarea',{ref:\"roomTextarea\",staticClass:\"vac-textarea\",class:{\n\t\t\t\t'vac-textarea-outline': _vm.editedMessage._id\n\t\t\t},style:({\n\t\t\t\t'min-height': \"20px\",\n\t\t\t\t'padding-left': \"12px\"\n\t\t\t}),attrs:{\"id\":\"roomTextarea\",\"placeholder\":_vm.textMessages.TYPE_MESSAGE},on:{\"input\":_vm.onChangeInput,\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.escapeTextarea.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.selectItem.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.updateActiveUpOrDown(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.updateActiveUpOrDown(1)}],\"paste\":_vm.onPasteImage}}),_c('div',{staticClass:\"vac-icon-textarea\"},[(_vm.editedMessage._id)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.resetMessage}},[_vm._t(\"edit-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2):_vm._e(),(_vm.showEmojis)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(function () { return (_vm.emojiOpened = false); }),expression:\"() => (emojiOpened = false)\"}]},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{attrs:{\"emoji-opened\":_vm.emojiOpened,\"position-top\":true},on:{\"add-emoji\":_vm.addEmoji,\"open-emoji\":function($event){_vm.emojiOpened = $event}},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.addEmoji},{ emojiOpened: _vm.emojiOpened })],2):_vm._e(),(_vm.showFiles)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.launchFilePicker}},[_vm._t(\"paperclip-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"paperclip\"}})]})],2):_vm._e(),(_vm.textareaActionEnabled)?_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.textareaActionHandler}},[_vm._t(\"custom-action-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"deleted\"}})]})],2):_vm._e(),(_vm.showFiles)?_c('input',{ref:\"file\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\",\"accept\":_vm.acceptedFiles},on:{\"change\":function($event){return _vm.onFileChange($event.target.files)}}}):_vm._e(),(_vm.showSendIcon)?_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-send-disabled': _vm.isMessageEmpty },on:{\"click\":_vm.sendMessage}},[_vm._t(\"send-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"send\",\"param\":_vm.isMessageEmpty || _vm.isFileLoading ? 'disabled' : ''}})]})],2):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-emoji-wrapper\"},[_c('div',{staticClass:\"vac-svg-button\",class:{ 'vac-emoji-reaction': _vm.emojiReaction },on:{\"click\":_vm.openEmoji}},[_vm._t(\"emoji-picker-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"emoji\",\"param\":_vm.emojiReaction ? 'reaction' : ''}})]})],2),(_vm.emojiOpened)?[_c('transition',{attrs:{\"name\":\"vac-slide-up\",\"appear\":\"\"}},[_c('div',{staticClass:\"vac-emoji-picker\",class:{ 'vac-picker-reaction': _vm.emojiReaction },style:({\n\t\t\t\t\theight: (_vm.emojiPickerHeight + \"px\"),\n\t\t\t\t\ttop: _vm.positionTop ? _vm.emojiPickerHeight : (_vm.emojiPickerTop + \"px\"),\n\t\t\t\t\tright: _vm.emojiPickerRight,\n\t\t\t\t\tdisplay: _vm.emojiPickerTop || !_vm.emojiReaction ? 'initial' : 'none'\n\t\t\t\t})},[(_vm.emojiOpened)?_c('emoji-picker',{ref:\"emojiPicker\"}):_vm._e()],1)])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPickerContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmojiPickerContainer.vue?vue&type=template&id=44125154&\"\nimport script from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPickerContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.files.length)?_c('div',{staticClass:\"vac-room-files-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-files-box\"},_vm._l((_vm.files),function(file,i){return _c('div',{key:i},[_c('room-file',{attrs:{\"file\":file,\"index\":i},on:{\"remove-file\":function($event){return _vm.$emit('remove-file', $event)}}})],1)}),0),_c('div',{staticClass:\"vac-icon-close\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-room-file-container\"},[_c('loader',{attrs:{\"show\":_vm.file.loading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-svg-button vac-icon-remove\",on:{\"click\":function($event){return _vm.$emit('remove-file', _vm.index)}}},[_vm._t(\"image-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close\",\"param\":\"image\"}})]})],2),(_vm.isImage)?_c('div',{staticClass:\"vac-message-image\",class:{ 'vac-blur-loading': _vm.file.loading },style:({\n\t\t\t'background-image': (\"url('\" + (_vm.file.localUrl || _vm.file.url) + \"')\")\n\t\t})}):(_vm.isVideo)?_c('video',{class:{ 'vac-blur-loading': _vm.file.loading },attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.localUrl || _vm.file.url}})]):_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-blur-loading': _vm.file.loading }},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.file.name)+\" \")]),(_vm.file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.file.extension)+\" \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFile.vue?vue&type=template&id=c0a62836&\"\nimport script from \"./RoomFile.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFiles.vue?vue&type=template&id=60413016&\"\nimport script from \"./RoomFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.messageReply)?_c('div',{staticClass:\"vac-reply-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},[_c('div',{staticClass:\"vac-reply-box\"},[_c('div',{staticClass:\"vac-reply-info\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.messageReply.username)+\" \")]),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.messageReply.content,\"users\":_vm.room.users,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)]),(_vm.isImage)?_c('img',{staticClass:\"vac-image-reply\",attrs:{\"src\":_vm.firstFile.url}}):(_vm.isVideo)?_c('video',{staticClass:\"vac-image-reply\",attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})]):(_vm.isAudio)?_c('audio-player',{staticClass:\"vac-audio-reply\",attrs:{\"src\":_vm.firstFile.url},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-image-reply vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"vac-icon-reply\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":function($event){return _vm.$emit('reset-message')}}},[_vm._t(\"reply-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\"}})]})],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"vac-audio-player\"},[_c('div',{staticClass:\"vac-svg-button\",on:{\"click\":_vm.playback}},[(_vm.isPlaying)?_vm._t(\"audio-pause-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-pause\"}})]}):_vm._t(\"audio-play-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"audio-play\"}})]})],2),_c('audio-control',{attrs:{\"percentage\":_vm.progress,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"change-linehead\":_vm.onUpdateProgress,\"hover-audio-progress\":function($event){return _vm.$emit('hover-audio-progress', $event)}}}),_c('audio',{attrs:{\"id\":_vm.playerUniqId,\"src\":_vm.audioSource}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"progress\",staticClass:\"vac-player-bar\",on:{\"mousedown\":_vm.onMouseDown,\"mouseover\":function($event){return _vm.$emit('hover-audio-progress', true)},\"mouseout\":function($event){return _vm.$emit('hover-audio-progress', false)}}},[_c('div',{staticClass:\"vac-player-progress\"},[_c('div',{staticClass:\"vac-line-container\"},[_c('div',{staticClass:\"vac-line-progress\",style:({ width: (_vm.percentage + \"%\") })}),_c('div',{staticClass:\"vac-line-dot\",class:{ 'vac-line-dot__active': _vm.isMouseDown },style:({ left: (_vm.percentage + \"%\") })})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=1721db79&\"\nimport script from \"./AudioControl.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioControl.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AudioPlayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioPlayer.vue?vue&type=template&id=d8b85268&\"\nimport script from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioPlayer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessageReply.vue?vue&type=template&id=86b41b08&\"\nimport script from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredUsersTag.length)?_c('div',{staticClass:\"vac-tags-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredUsersTag),function(user,index){return _c('div',{key:user._id,staticClass:\"vac-tags-box\",class:{ 'vac-tags-box-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-user-tag', user)}}},[_c('div',{staticClass:\"vac-tags-info\"},[(user.avatar)?_c('div',{staticClass:\"vac-avatar vac-tags-avatar\",style:({ 'background-image': (\"url('\" + (user.avatar) + \"')\") })}):_vm._e(),_c('div',{staticClass:\"vac-tags-username\"},[_vm._v(\" \"+_vm._s(user.username)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomUsersTag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomUsersTag.vue?vue&type=template&id=082c6732&\"\nimport script from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomUsersTag.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredEmojis.length)?_c('div',{staticClass:\"vac-emojis-container\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredEmojis),function(emoji,index){return _c('div',{key:emoji,staticClass:\"vac-emoji-element\",class:{ 'vac-emoji-element-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-emoji', emoji)}}},[_vm._v(\" \"+_vm._s(emoji)+\" \")])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomEmojis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomEmojis.vue?vue&type=template&id=b6026542&\"\nimport script from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomEmojis.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-slide-up\"}},[(_vm.filteredTemplatesText.length)?_c('div',{staticClass:\"vac-template-container vac-app-box-shadow\",style:({ bottom: (_vm.footerHeight + \"px\") })},_vm._l((_vm.filteredTemplatesText),function(template,index){return _c('div',{key:index,staticClass:\"vac-template-box\",class:{ 'vac-template-active': index === _vm.activeItem },on:{\"mouseover\":function($event){_vm.activeItem = index},\"click\":function($event){return _vm.$emit('select-template-text', template)}}},[_c('div',{staticClass:\"vac-template-info\"},[_c('div',{staticClass:\"vac-template-tag\"},[_vm._v(\" /\"+_vm._s(template.tag)+\" \")]),_c('div',{staticClass:\"vac-template-text\"},[_vm._v(\" \"+_vm._s(template.text)+\" \")])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomTemplatesText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomTemplatesText.vue?vue&type=template&id=113f1c86&\"\nimport script from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomTemplatesText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nlet lamejs\ntry {\n\tlamejs = require('lamejs')\n} catch (_) {\n\tlamejs = { missing: true }\n}\n\nconst { Mp3Encoder } = lamejs\n\nexport default class {\n\tconstructor(config) {\n\t\tif (lamejs.missing) {\n\t\t\tthrow new Error(\n\t\t\t\t'You must add lamejs in your dependencies to use the audio recorder. Please run \"npm install lamejs --save\"'\n\t\t\t)\n\t\t}\n\n\t\tthis.bitRate = config.bitRate\n\t\tthis.sampleRate = config.sampleRate\n\t\tthis.dataBuffer = []\n\t\tthis.encoder = new Mp3Encoder(1, this.sampleRate, this.bitRate)\n\t}\n\n\tencode(arrayBuffer) {\n\t\tconst maxSamples = 1152\n\t\tconst samples = this._convertBuffer(arrayBuffer)\n\t\tlet remaining = samples.length\n\n\t\tfor (let i = 0; remaining >= 0; i += maxSamples) {\n\t\t\tconst left = samples.subarray(i, i + maxSamples)\n\t\t\tconst buffer = this.encoder.encodeBuffer(left)\n\t\t\tthis.dataBuffer.push(new Int8Array(buffer))\n\t\t\tremaining -= maxSamples\n\t\t}\n\t}\n\n\tfinish() {\n\t\tthis.dataBuffer.push(this.encoder.flush())\n\t\tconst blob = new Blob(this.dataBuffer, { type: 'audio/mp3' })\n\t\tthis.dataBuffer = []\n\n\t\treturn {\n\t\t\tid: Date.now(),\n\t\t\tblob: blob,\n\t\t\turl: URL.createObjectURL(blob)\n\t\t}\n\t}\n\n\t_floatTo16BitPCM(input, output) {\n\t\tfor (let i = 0; i < input.length; i++) {\n\t\t\tconst s = Math.max(-1, Math.min(1, input[i]))\n\t\t\toutput[i] = s < 0 ? s * 0x8000 : s * 0x7fff\n\t\t}\n\t}\n\n\t_convertBuffer(arrayBuffer) {\n\t\tconst data = new Float32Array(arrayBuffer)\n\t\tconst out = new Int16Array(arrayBuffer.length)\n\t\tthis._floatTo16BitPCM(data, out)\n\t\treturn out\n\t}\n}\n","// Credits to https://github.com/grishkovelli/vue-audio-recorder\n\nimport Mp3Encoder from './mp3-encoder'\n\nexport default class {\n\tconstructor(options = {}) {\n\t\tthis.beforeRecording = options.beforeRecording\n\t\tthis.pauseRecording = options.pauseRecording\n\t\tthis.afterRecording = options.afterRecording\n\t\tthis.micFailed = options.micFailed\n\n\t\tthis.encoderOptions = {\n\t\t\tbitRate: options.bitRate,\n\t\t\tsampleRate: options.sampleRate\n\t\t}\n\n\t\tthis.bufferSize = 4096\n\t\tthis.records = []\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.duration = 0\n\t\tthis.volume = 0\n\n\t\tthis._duration = 0\n\t}\n\n\tstart() {\n\t\tconst constraints = {\n\t\t\tvideo: false,\n\t\t\taudio: {\n\t\t\t\tchannelCount: 1,\n\t\t\t\techoCancellation: false\n\t\t\t}\n\t\t}\n\n\t\tthis.beforeRecording && this.beforeRecording('start recording')\n\n\t\tnavigator.mediaDevices\n\t\t\t.getUserMedia(constraints)\n\t\t\t.then(this._micCaptured.bind(this))\n\t\t\t.catch(this._micError.bind(this))\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = true\n\n\t\tif (!this.lameEncoder) {\n\t\t\tthis.lameEncoder = new Mp3Encoder(this.encoderOptions)\n\t\t}\n\t}\n\n\tstop() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\t\tthis.context.close()\n\n\t\tlet record = null\n\n\t\trecord = this.lameEncoder.finish()\n\n\t\trecord.duration = this.duration\n\t\tthis.records.push(record)\n\n\t\tthis._duration = 0\n\t\tthis.duration = 0\n\n\t\tthis.isPause = false\n\t\tthis.isRecording = false\n\n\t\tthis.afterRecording && this.afterRecording(record)\n\t}\n\n\tpause() {\n\t\tthis.stream.getTracks().forEach(track => track.stop())\n\t\tthis.input.disconnect()\n\t\tthis.processor.disconnect()\n\n\t\tthis._duration = this.duration\n\t\tthis.isPause = true\n\n\t\tthis.pauseRecording && this.pauseRecording('pause recording')\n\t}\n\n\t_micCaptured(stream) {\n\t\tthis.context = new (window.AudioContext || window.webkitAudioContext)()\n\t\tthis.duration = this._duration\n\t\tthis.input = this.context.createMediaStreamSource(stream)\n\t\tthis.processor = this.context.createScriptProcessor(this.bufferSize, 1, 1)\n\t\tthis.stream = stream\n\n\t\tthis.processor.onaudioprocess = ev => {\n\t\t\tconst sample = ev.inputBuffer.getChannelData(0)\n\t\t\tlet sum = 0.0\n\n\t\t\tif (this.lameEncoder) {\n\t\t\t\tthis.lameEncoder.encode(sample)\n\t\t\t}\n\n\t\t\tfor (let i = 0; i < sample.length; ++i) {\n\t\t\t\tsum += sample[i] * sample[i]\n\t\t\t}\n\n\t\t\tthis.duration =\n\t\t\t\tparseFloat(this._duration) +\n\t\t\t\tparseFloat(this.context.currentTime.toFixed(2))\n\t\t\tthis.volume = Math.sqrt(sum / sample.length).toFixed(2)\n\t\t}\n\n\t\tthis.input.connect(this.processor)\n\t\tthis.processor.connect(this.context.destination)\n\t}\n\n\t_micError(error) {\n\t\tthis.micFailed && this.micFailed(error)\n\t}\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomFooter.vue?vue&type=template&id=457f6483&\"\nimport script from \"./RoomFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomFooter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"message\",staticClass:\"vac-message-wrapper\",attrs:{\"id\":_vm.message._id}},[(_vm.showDate)?_c('div',{staticClass:\"vac-card-info vac-card-date\"},[_vm._v(\" \"+_vm._s(_vm.message.date)+\" \")]):_vm._e(),(_vm.newMessage._id === _vm.message._id)?_c('div',{staticClass:\"vac-line-new\"},[_vm._v(\" \"+_vm._s(_vm.textMessages.NEW_MESSAGES)+\" \")]):_vm._e(),(_vm.message.system)?_c('div',{staticClass:\"vac-card-info vac-card-system\"},[_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1):_c('div',{staticClass:\"vac-message-box\",class:{ 'vac-offset-current': _vm.message.senderId === _vm.currentUserId },on:{\"click\":_vm.selectMessage}},[_vm._t(\"message\",function(){return [(_vm.message.avatar && _vm.message.senderId !== _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasSenderUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-offset\"}):_vm._e(),_c('div',{staticClass:\"vac-message-container\",class:{\n\t\t\t\t\t'vac-message-container-offset': _vm.messageOffset\n\t\t\t\t}},[_c('div',{staticClass:\"vac-message-card\",class:{\n\t\t\t\t\t\t'vac-message-highlight': _vm.isMessageHover,\n\t\t\t\t\t\t'vac-message-current': _vm.message.senderId === _vm.currentUserId,\n\t\t\t\t\t\t'vac-message-deleted': _vm.message.deleted,\n\t\t\t\t\t\t'vac-item-clickable': _vm.messageSelectionEnabled,\n\t\t\t\t\t\t'vac-message-selected': _vm.isMessageSelected\n\t\t\t\t\t},on:{\"mouseover\":_vm.onHoverMessage,\"mouseleave\":_vm.onLeaveMessage}},[(_vm.showUsername)?_c('div',{staticClass:\"vac-text-username\",class:{\n\t\t\t\t\t\t\t'vac-username-reply': !_vm.message.deleted && _vm.message.replyMessage\n\t\t\t\t\t\t}},[_c('span',[_vm._v(_vm._s(_vm.message.username))])]):_vm._e(),(!_vm.message.deleted && _vm.message.replyMessage)?_c('message-reply',{attrs:{\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):_vm._e(),(_vm.message.deleted)?_c('div',[_vm._t(\"deleted-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-deleted\",attrs:{\"name\":\"deleted\"}})]}),_c('span',[_vm._v(_vm._s(_vm.textMessages.MESSAGE_DELETED))])],2):(!_vm.message.files || !_vm.message.files.length)?_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(!_vm.isAudio || _vm.message.files.length > 1)?_c('message-files',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"room-users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":_vm.openFile,\"open-user-tag\":_vm.openUserTag},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):[_c('audio-player',{attrs:{\"message-id\":_vm.message._id,\"src\":_vm.message.files[0].url,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),(!_vm.message.deleted)?_c('div',{staticClass:\"vac-progress-time\"},[_vm._v(\" \"+_vm._s(_vm.progressTime)+\" \")]):_vm._e()],_c('div',{staticClass:\"vac-text-timestamp\"},[(_vm.message.edited && !_vm.message.deleted)?_c('div',{staticClass:\"vac-icon-edited\"},[_vm._t(\"pencil-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"pencil\"}})]})],2):_vm._e(),_c('span',[_vm._v(_vm._s(_vm.message.timestamp))]),(_vm.isCheckmarkVisible)?_c('span',[_vm._t(\"checkmark-icon\",function(){return [_c('svg-icon',{staticClass:\"vac-icon-check\",attrs:{\"name\":_vm.message.distributed ? 'double-checkmark' : 'checkmark',\"param\":_vm.message.seen ? 'seen' : ''}})]},null,{ message: _vm.message })],2):_vm._e()]),_c('message-actions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"message-actions\":_vm.messageActions,\"show-reaction-emojis\":_vm.showReactionEmojis,\"message-hover\":_vm.messageHover,\"hover-message-id\":_vm.hoverMessageId,\"hover-audio-progress\":_vm.hoverAudioProgress},on:{\"update-message-hover\":function($event){_vm.messageHover = $event},\"update-options-opened\":function($event){_vm.optionsOpened = $event},\"update-emoji-opened\":function($event){_vm.emojiOpened = $event},\"message-action-handler\":_vm.messageActionHandler,\"send-message-reaction\":_vm.sendMessageReaction},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2),_c('message-reactions',{attrs:{\"current-user-id\":_vm.currentUserId,\"message\":_vm.message},on:{\"send-message-reaction\":_vm.sendMessageReaction}})],1),_vm._t(\"message-failure\",function(){return [(_vm.message.failure && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-failure-container vac-svg-button\",class:{\n\t\t\t\t\t\t'vac-failure-container-avatar':\n\t\t\t\t\t\t\t_vm.message.avatar && _vm.message.senderId === _vm.currentUserId\n\t\t\t\t\t},on:{\"click\":function($event){return _vm.$emit('open-failed-message', { message: _vm.message })}}},[_c('div',{staticClass:\"vac-failure-text\"},[_vm._v(\" ! \")])]):_vm._e()]},null,{ message: _vm.message }),(_vm.message.avatar && _vm.message.senderId === _vm.currentUserId)?_c('div',{staticClass:\"vac-avatar vac-avatar-current\",style:({ 'background-image': (\"url('\" + (_vm.message.avatar) + \"')\") })}):_vm._e(),(_vm.hasCurrentUserAvatar && !_vm.message.avatar)?_c('div',{staticClass:\"vac-avatar-current-offset\"}):_vm._e()]},null,{ message: _vm.message })],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-reply-message\"},[_c('div',{staticClass:\"vac-reply-username\"},[_vm._v(\" \"+_vm._s(_vm.replyUsername)+\" \")]),(_vm.isImage)?_c('div',{staticClass:\"vac-image-reply-container\"},[_c('div',{staticClass:\"vac-message-image vac-message-image-reply\",style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.firstFile.url) + \"')\")\n\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-reply-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.firstFile.url}})])]):(_vm.isAudio)?_c('audio-player',{attrs:{\"src\":_vm.firstFile.url},on:{\"update-progress-time\":function($event){_vm.progressTime = $event},\"hover-audio-progress\":function($event){_vm.hoverAudioProgress = $event}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}):(_vm.isOtherFile)?_c('div',{staticClass:\"vac-file-container\"},[_c('div',[_vm._t(\"file-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"file\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.name)+\" \")]),(_vm.firstFile.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(_vm.firstFile.extension)+\" \")]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"vac-reply-content\"},[_c('format-message',{attrs:{\"content\":_vm.message.replyMessage.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions,\"reply\":true},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReply.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReply.vue?vue&type=template&id=514045b4&\"\nimport script from \"./MessageReply.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReply.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-files-container\"},[_vm._l((_vm.imageVideoFiles),function(file,idx){return _c('div',{key:idx + 'iv'},[_c('message-file',{attrs:{\"file\":file,\"current-user-id\":_vm.currentUserId,\"message\":_vm.message,\"index\":idx,\"message-selection-enabled\":_vm.messageSelectionEnabled},on:{\"open-file\":function($event){return _vm.$emit('open-file', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],1)}),_vm._l((_vm.otherFiles),function(file,idx){return _c('div',{key:idx + 'a',staticClass:\"vac-file-wrapper\"},[(file.progress >= 0)?_c('progress-bar',{style:({ top: '44px' }),attrs:{\"progress\":file.progress}}):_vm._e(),_c('div',{staticClass:\"vac-file-container\",class:{ 'vac-file-container-progress': file.progress >= 0 },on:{\"click\":function($event){return _vm.openFile($event, file, 'download')}}},[_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2),_c('div',{staticClass:\"vac-text-ellipsis\"},[_vm._v(\" \"+_vm._s(file.name)+\" \")]),(file.extension)?_c('div',{staticClass:\"vac-text-ellipsis vac-text-extension\"},[_vm._v(\" \"+_vm._s(file.extension)+\" \")]):_vm._e()])],1)}),_c('format-message',{attrs:{\"content\":_vm.message.content,\"users\":_vm.roomUsers,\"text-formatting\":_vm.textFormatting,\"link-options\":_vm.linkOptions},on:{\"open-user-tag\":function($event){return _vm.$emit('open-user-tag', $event)}},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(i,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"vac-fade-spinner\",\"appear\":\"\"}},[_c('div',{ref:\"progress\",staticClass:\"vac-progress-wrapper\"},[_c('svg',{attrs:{\"height\":_vm.radius * 2,\"width\":_vm.radius * 2}},[_c('circle',{style:({\n\t\t\t\t\tstrokeDashoffset: _vm.strokeDashoffset,\n\t\t\t\t\tstrokeLinecap: 'round'\n\t\t\t\t}),attrs:{\"stroke\":\"rgba(255, 255, 255, 0.7)\",\"stroke-dasharray\":_vm.circumference + ' ' + _vm.circumference,\"stroke-width\":_vm.stroke,\"fill\":\"transparent\",\"r\":_vm.normalizedRadius,\"cx\":_vm.radius,\"cy\":_vm.radius}})]),_c('div',{staticClass:\"vac-progress-content\",style:({\n\t\t\t\theight: _vm.radius * 2 - 19 + 'px',\n\t\t\t\twidth: _vm.radius * 2 - 19 + 'px'\n\t\t\t})},[_c('div',{staticClass:\"vac-progress-text\"},[_vm._v(\" \"+_vm._s(_vm.progress)),_c('span',{staticClass:\"vac-progress-pourcent\"},[_vm._v(\"%\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressBar.vue?vue&type=template&id=561521ed&\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-file-container\"},[(_vm.isImage)?_c('div',{ref:'imageRef' + _vm.index,staticClass:\"vac-message-image-container\",on:{\"mouseover\":function($event){_vm.imageHover = true},\"mouseleave\":function($event){_vm.imageHover = false},\"click\":function($event){return _vm.openFile($event, 'preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"progress\":_vm.file.progress}}):_c('loader',{style:({ top: ((_vm.imageResponsive.loaderTop) + \"px\") }),attrs:{\"show\":_vm.isImageLoading},scopedSlots:_vm._u([_vm._l((_vm.$scopedSlots),function(idx,name){return {key:name,fn:function(data){return [_vm._t(name,null,null,data)]}}})],null,true)}),_c('div',{staticClass:\"vac-message-image\",class:{\n\t\t\t\t'vac-blur-loading':\n\t\t\t\t\t_vm.isImageLoading && _vm.message.senderId === _vm.currentUserId\n\t\t\t},style:({\n\t\t\t\t'background-image': (\"url('\" + (_vm.isImageLoading ? _vm.file.preview || _vm.file.url : _vm.file.url) + \"')\"),\n\t\t\t\t'max-height': ((_vm.imageResponsive.maxHeight) + \"px\")\n\t\t\t})},[_c('transition',{attrs:{\"name\":\"vac-fade-image\"}},[(!_vm.messageSelectionEnabled && _vm.imageHover && !_vm.isImageLoading)?_c('div',{staticClass:\"vac-image-buttons\"},[_c('div',{staticClass:\"vac-svg-button vac-button-view\",on:{\"click\":function($event){return _vm.openFile($event, 'preview')}}},[_vm._t(\"eye-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"eye\"}})]})],2),_c('div',{staticClass:\"vac-svg-button vac-button-download\",on:{\"click\":function($event){return _vm.openFile($event, 'download')}}},[_vm._t(\"document-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"document\"}})]})],2)]):_vm._e()])],1)],1):(_vm.isVideo)?_c('div',{staticClass:\"vac-video-container\",on:{\"click\":function($event){$event.preventDefault();return _vm.openFile('preview')}}},[(_vm.file.progress >= 0)?_c('progress-bar',{attrs:{\"progress\":_vm.file.progress}}):_vm._e(),_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFile.vue?vue&type=template&id=442d693d&\"\nimport script from \"./MessageFile.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFile.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageFiles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageFiles.vue?vue&type=template&id=ebb72a26&\"\nimport script from \"./MessageFiles.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageFiles.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vac-message-actions-wrapper\"},[_c('div',{staticClass:\"vac-options-container\",style:({\n\t\t\tdisplay: _vm.hoverAudioProgress ? 'none' : 'initial',\n\t\t\twidth:\n\t\t\t\t_vm.filteredMessageActions.length && _vm.showReactionEmojis ? '70px' : '45px'\n\t\t})},[_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},[(_vm.isMessageActions || _vm.isMessageReactions)?_c('div',{key:\"1\",staticClass:\"vac-blur-container\",class:{\n\t\t\t\t\t'vac-options-me': _vm.message.senderId === _vm.currentUserId\n\t\t\t\t}}):_vm._e(),(_vm.isMessageActions)?_c('div',{key:\"2\",ref:\"actionIcon\",staticClass:\"vac-svg-button vac-message-options\",on:{\"click\":_vm.openOptions}},[_vm._t(\"dropdown-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"dropdown\",\"param\":\"message\"}})]})],2):_vm._e(),(_vm.isMessageReactions)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeEmoji),expression:\"closeEmoji\"}],key:\"3\"},[_vm._t(\"emoji-picker\",function(){return [_c('emoji-picker-container',{staticClass:\"vac-message-emojis\",style:({ right: _vm.isMessageActions ? '30px' : '5px' }),attrs:{\"emoji-opened\":_vm.emojiOpened,\"emoji-reaction\":true,\"position-right\":_vm.message.senderId === _vm.currentUserId},on:{\"add-emoji\":_vm.sendMessageReaction,\"open-emoji\":_vm.openEmoji},scopedSlots:_vm._u([{key:\"emoji-picker-icon\",fn:function(){return [_vm._t(\"emoji-picker-reaction-icon\")]},proxy:true}],null,true)})]},{\"addEmoji\":_vm.sendMessageReaction},{ emojiOpened: _vm.emojiOpened })],2):_vm._e()])],1),(_vm.filteredMessageActions.length)?_c('transition',{attrs:{\"name\":_vm.message.senderId === _vm.currentUserId\n\t\t\t\t? 'vac-slide-left'\n\t\t\t\t: 'vac-slide-right'}},[(_vm.optionsOpened)?_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeOptions),expression:\"closeOptions\"}],ref:\"menuOptions\",staticClass:\"vac-menu-options\",class:{\n\t\t\t\t'vac-menu-left': _vm.message.senderId !== _vm.currentUserId\n\t\t\t},style:({ top: (_vm.menuOptionsTop + \"px\") })},[_c('div',{staticClass:\"vac-menu-list\"},_vm._l((_vm.filteredMessageActions),function(action){return _c('div',{key:action.name},[_c('div',{staticClass:\"vac-menu-item\",on:{\"click\":function($event){return _vm.messageActionHandler(action)}}},[_vm._v(\" \"+_vm._s(action.title)+\" \")])])}),0)]):_vm._e()]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageActions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageActions.vue?vue&type=template&id=27f1a961&\"\nimport script from \"./MessageActions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageActions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.message.deleted)?_c('transition-group',{attrs:{\"name\":\"vac-slide-left\",\"tag\":\"span\"}},_vm._l((_vm.message.reactions),function(reaction,key){return _c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(reaction.length),expression:\"reaction.length\"}],key:key + 0,staticClass:\"vac-button-reaction\",class:{\n\t\t\t'vac-reaction-me': reaction.indexOf(_vm.currentUserId) !== -1\n\t\t},style:({\n\t\t\tfloat: _vm.message.senderId === _vm.currentUserId ? 'right' : 'left'\n\t\t}),on:{\"click\":function($event){return _vm.sendMessageReaction({ unicode: key }, reaction)}}},[_vm._v(\" \"+_vm._s(key)),_c('span',[_vm._v(_vm._s(reaction.length))])])}),0):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageReactions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageReactions.vue?vue&type=template&id=3fc44a38&\"\nimport script from \"./MessageReactions.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageReactions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomMessage.vue?vue&type=template&id=545cd2c3&\"\nimport script from \"./RoomMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomMessage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Room.vue?vue&type=template&id=5c60aee1&\"\nimport script from \"./Room.vue?vue&type=script&lang=js&\"\nexport * from \"./Room.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal\",staticClass:\"vac-media-preview\",attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeModal.apply(null, arguments)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeModal.apply(null, arguments)}}},[_c('transition',{attrs:{\"name\":\"vac-bounce-preview\",\"appear\":\"\"}},[(_vm.isImage)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('div',{staticClass:\"vac-image-preview\",style:({\n\t\t\t\t\t'background-image': (\"url('\" + (_vm.file.url) + \"')\")\n\t\t\t\t})})]):(_vm.isVideo)?_c('div',{staticClass:\"vac-media-preview-container\"},[_c('video',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"controls\":\"\",\"autoplay\":\"\"}},[_c('source',{attrs:{\"src\":_vm.file.url}})])]):_vm._e()]),_c('div',{staticClass:\"vac-svg-button\"},[_vm._t(\"preview-close-icon\",function(){return [_c('svg-icon',{attrs:{\"name\":\"close-outline\",\"param\":\"preview\"}})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MediaPreview.vue?vue&type=template&id=2d3ea15a&\"\nimport script from \"./MediaPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaPreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n\tROOMS_EMPTY: 'No rooms',\n\tROOM_EMPTY: 'No room selected',\n\tNEW_MESSAGES: 'New Messages',\n\tMESSAGE_DELETED: 'This message was deleted',\n\tMESSAGES_EMPTY: 'No messages',\n\tCONVERSATION_STARTED: 'Conversation started on:',\n\tTYPE_MESSAGE: 'Type message',\n\tSEARCH: 'Search',\n\tIS_ONLINE: 'is online',\n\tLAST_SEEN: 'last seen ',\n\tIS_TYPING: 'is writing...',\n\tCANCEL_SELECT_MESSAGE: 'Cancel'\n}\n","export const defaultThemeStyles = {\n\tlight: {\n\t\tgeneral: {\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorButtonClear: '#1976d2',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#fff',\n\t\t\tcolorPlaceholder: '#9ca6af',\n\t\t\tcolorCaret: '#1976d2',\n\t\t\tcolorSpinner: '#333',\n\t\t\tborderStyle: '1px solid #e1e4e8',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#fff',\n\t\t\tcolorRoomName: '#0a0a0a',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#f8f9fa',\n\t\t\tborderStyleInput: '1px solid #e1e4e8',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#e5e5e6',\n\t\t\tbackgroundTagActive: '#e5e5e6',\n\t\t\tbackgroundTag: '#f8f9fa'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#f8f9fa'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6',\n\t\t\tbackgroundActive: '#e5effa',\n\t\t\tcolorActive: '#1976d2',\n\t\t\tborderColorSearch: '#e1e5e8'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundHover: '#f6f6f6'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#fff',\n\t\t\tbackgroundMe: '#ccf2cf',\n\t\t\tcolor: '#0a0a0a',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#dadfe2',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#757e85',\n\t\t\tcolorUsername: '#9ca6af',\n\t\t\tcolorTimestamp: '#828c94',\n\t\t\tbackgroundDate: '#e5effa',\n\t\t\tcolorDate: '#505a62',\n\t\t\tbackgroundSystem: '#e5effa',\n\t\t\tcolorSystem: '#505a62',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.08)',\n\t\t\tcolorReplyUsername: '#0a0a0a',\n\t\t\tcolorReply: '#6e6e6e',\n\t\t\tcolorTag: '#0d579c',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#1976d2',\n\t\t\tbackgroundScrollCounter: '#0696c7',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: '#eee',\n\t\t\tborderStyleReaction: '1px solid #eee',\n\t\t\tbackgroundReactionHover: '#fff',\n\t\t\tborderStyleReactionHover: '1px solid #ddd',\n\t\t\tcolorReactionCounter: '#0a0a0a',\n\t\t\tbackgroundReactionMe: '#cfecf5',\n\t\t\tborderStyleReactionMe: '1px solid #3b98b8',\n\t\t\tbackgroundReactionHoverMe: '#cfecf5',\n\t\t\tborderStyleReactionHoverMe: '1px solid #3b98b8',\n\t\t\tcolorReactionCounterMe: '#0b59b3',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(0, 0, 0, 0.15)',\n\t\t\tbackgroundAudioProgress: '#455247',\n\t\t\tbackgroundAudioProgressSelector: '#455247',\n\t\t\tcolorFileExtension: '#757e85'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#0a0a0a',\n\t\t\tcolorMessage: '#67717a',\n\t\t\tcolorTimestamp: '#a2aeb8',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#9ca6af',\n\t\t\tbackgroundCounterBadge: '#0696c7',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#fff'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#9ca6af',\n\t\t\tadd: '#1976d2',\n\t\t\ttoggle: '#0a0a0a',\n\t\t\tmenu: '#0a0a0a',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#1976d2',\n\t\t\tcloseOutline: '#000',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#1976d2',\n\t\t\tsendDisabled: '#9ca6af',\n\t\t\temoji: '#1976d2',\n\t\t\temojiReaction: 'rgba(0, 0, 0, 0.3)',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#9e9e9e',\n\t\t\tcheckmark: '#9e9e9e',\n\t\t\tcheckmarkSeen: '#0696c7',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#9e9e9e',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#1976d2',\n\t\t\taudioPlay: '#455247',\n\t\t\taudioPause: '#455247',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t},\n\tdark: {\n\t\tgeneral: {\n\t\t\tcolor: '#fff',\n\t\t\tcolorButtonClear: '#fff',\n\t\t\tcolorButton: '#fff',\n\t\t\tbackgroundColorButton: '#1976d2',\n\t\t\tbackgroundInput: '#202223',\n\t\t\tcolorPlaceholder: '#596269',\n\t\t\tcolorCaret: '#fff',\n\t\t\tcolorSpinner: '#fff',\n\t\t\tborderStyle: 'none',\n\t\t\tbackgroundScrollIcon: '#fff'\n\t\t},\n\n\t\tcontainer: {\n\t\t\tborder: 'none',\n\t\t\tborderRadius: '4px',\n\t\t\tboxShadow:\n\t\t\t\t'0px 1px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)'\n\t\t},\n\n\t\theader: {\n\t\t\tbackground: '#181a1b',\n\t\t\tcolorRoomName: '#fff',\n\t\t\tcolorRoomInfo: '#9ca6af'\n\t\t},\n\n\t\tfooter: {\n\t\t\tbackground: '#131415',\n\t\t\tborderStyleInput: 'none',\n\t\t\tborderInputSelected: '#1976d2',\n\t\t\tbackgroundReply: '#1b1c1c',\n\t\t\tbackgroundTagActive: '#1b1c1c',\n\t\t\tbackgroundTag: '#131415'\n\t\t},\n\n\t\tcontent: {\n\t\t\tbackground: '#131415'\n\t\t},\n\n\t\tsidemenu: {\n\t\t\tbackground: '#181a1b',\n\t\t\tbackgroundHover: '#202224',\n\t\t\tbackgroundActive: '#151617',\n\t\t\tcolorActive: '#fff',\n\t\t\tborderColorSearch: '#181a1b'\n\t\t},\n\n\t\tdropdown: {\n\t\t\tbackground: '#2a2c33',\n\t\t\tbackgroundHover: '#26282e'\n\t\t},\n\n\t\tmessage: {\n\t\t\tbackground: '#22242a',\n\t\t\tbackgroundMe: '#1f7e80',\n\t\t\tcolor: '#fff',\n\t\t\tcolorStarted: '#9ca6af',\n\t\t\tbackgroundDeleted: '#1b1c21',\n\t\t\tbackgroundSelected: '#c2dcf2',\n\t\t\tcolorDeleted: '#a2a5a8',\n\t\t\tcolorUsername: '#b3bac9',\n\t\t\tcolorTimestamp: '#ebedf2',\n\t\t\tbackgroundDate: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorDate: '#bec5cc',\n\t\t\tbackgroundSystem: 'rgba(0, 0, 0, 0.3)',\n\t\t\tcolorSystem: '#bec5cc',\n\t\t\tbackgroundMedia: 'rgba(0, 0, 0, 0.18)',\n\t\t\tbackgroundReply: 'rgba(0, 0, 0, 0.18)',\n\t\t\tcolorReplyUsername: '#fff',\n\t\t\tcolorReply: '#d6d6d6',\n\t\t\tcolorTag: '#f0c60a',\n\t\t\tbackgroundImage: '#ddd',\n\t\t\tcolorNewMessages: '#fff',\n\t\t\tbackgroundScrollCounter: '#1976d2',\n\t\t\tcolorScrollCounter: '#fff',\n\t\t\tbackgroundReaction: 'none',\n\t\t\tborderStyleReaction: 'none',\n\t\t\tbackgroundReactionHover: '#202223',\n\t\t\tborderStyleReactionHover: 'none',\n\t\t\tcolorReactionCounter: '#fff',\n\t\t\tbackgroundReactionMe: '#4e9ad1',\n\t\t\tborderStyleReactionMe: 'none',\n\t\t\tbackgroundReactionHoverMe: '#4e9ad1',\n\t\t\tborderStyleReactionHoverMe: 'none',\n\t\t\tcolorReactionCounterMe: '#fff',\n\t\t\tbackgroundAudioRecord: '#eb4034',\n\t\t\tbackgroundAudioLine: 'rgba(255, 255, 255, 0.15)',\n\t\t\tbackgroundAudioProgress: '#b7d4d3',\n\t\t\tbackgroundAudioProgressSelector: '#b7d4d3',\n\t\t\tcolorFileExtension: '#a2a5a8'\n\t\t},\n\n\t\tmarkdown: {\n\t\t\tbackground: 'rgba(239, 239, 239, 0.7)',\n\t\t\tborder: 'rgba(212, 212, 212, 0.9)',\n\t\t\tcolor: '#e01e5a',\n\t\t\tcolorMulti: '#0a0a0a'\n\t\t},\n\n\t\troom: {\n\t\t\tcolorUsername: '#fff',\n\t\t\tcolorMessage: '#6c7278',\n\t\t\tcolorTimestamp: '#6c7278',\n\t\t\tcolorStateOnline: '#4caf50',\n\t\t\tcolorStateOffline: '#596269',\n\t\t\tbackgroundCounterBadge: '#1976d2',\n\t\t\tcolorCounterBadge: '#fff'\n\t\t},\n\n\t\temoji: {\n\t\t\tbackground: '#343740'\n\t\t},\n\n\t\ticons: {\n\t\t\tsearch: '#596269',\n\t\t\tadd: '#fff',\n\t\t\ttoggle: '#fff',\n\t\t\tmenu: '#fff',\n\t\t\tclose: '#9ca6af',\n\t\t\tcloseImage: '#fff',\n\t\t\tfile: '#1976d2',\n\t\t\tpaperclip: '#fff',\n\t\t\tcloseOutline: '#fff',\n\t\t\tclosePreview: '#fff',\n\t\t\tsend: '#fff',\n\t\t\tsendDisabled: '#646a70',\n\t\t\temoji: '#fff',\n\t\t\temojiReaction: '#fff',\n\t\t\tdocument: '#1976d2',\n\t\t\tpencil: '#ebedf2',\n\t\t\tcheckmark: '#ebedf2',\n\t\t\tcheckmarkSeen: '#f0d90a',\n\t\t\teye: '#fff',\n\t\t\tdropdownMessage: '#fff',\n\t\t\tdropdownMessageBackground: 'rgba(0, 0, 0, 0.25)',\n\t\t\tdropdownRoom: '#fff',\n\t\t\tdropdownScroll: '#0a0a0a',\n\t\t\tmicrophone: '#fff',\n\t\t\taudioPlay: '#b7d4d3',\n\t\t\taudioPause: '#b7d4d3',\n\t\t\taudioCancel: '#eb4034',\n\t\t\taudioConfirm: '#1ba65b'\n\t\t}\n\t}\n}\n\nexport const cssThemeVars = ({\n\tgeneral,\n\tcontainer,\n\theader,\n\tfooter,\n\tsidemenu,\n\tcontent,\n\tdropdown,\n\tmessage,\n\tmarkdown,\n\troom,\n\temoji,\n\ticons\n}) => {\n\treturn {\n\t\t// general\n\t\t'--chat-color': general.color,\n\t\t'--chat-color-button-clear': general.colorButtonClear,\n\t\t'--chat-color-button': general.colorButton,\n\t\t'--chat-bg-color-button': general.backgroundColorButton,\n\t\t'--chat-bg-color-input': general.backgroundInput,\n\t\t'--chat-color-spinner': general.colorSpinner,\n\t\t'--chat-color-placeholder': general.colorPlaceholder,\n\t\t'--chat-color-caret': general.colorCaret,\n\t\t'--chat-border-style': general.borderStyle,\n\t\t'--chat-bg-scroll-icon': general.backgroundScrollIcon,\n\n\t\t// container\n\t\t'--chat-container-border': container.border,\n\t\t'--chat-container-border-radius': container.borderRadius,\n\t\t'--chat-container-box-shadow': container.boxShadow,\n\n\t\t// header\n\t\t'--chat-header-bg-color': header.background,\n\t\t'--chat-header-color-name': header.colorRoomName,\n\t\t'--chat-header-color-info': header.colorRoomInfo,\n\n\t\t// footer\n\t\t'--chat-footer-bg-color': footer.background,\n\t\t'--chat-border-style-input': footer.borderStyleInput,\n\t\t'--chat-border-color-input-selected': footer.borderInputSelected,\n\t\t'--chat-footer-bg-color-reply': footer.backgroundReply,\n\t\t'--chat-footer-bg-color-tag-active': footer.backgroundTagActive,\n\t\t'--chat-footer-bg-color-tag': footer.backgroundTag,\n\n\t\t// content\n\t\t'--chat-content-bg-color': content.background,\n\n\t\t// sidemenu\n\t\t'--chat-sidemenu-bg-color': sidemenu.background,\n\t\t'--chat-sidemenu-bg-color-hover': sidemenu.backgroundHover,\n\t\t'--chat-sidemenu-bg-color-active': sidemenu.backgroundActive,\n\t\t'--chat-sidemenu-color-active': sidemenu.colorActive,\n\t\t'--chat-sidemenu-border-color-search': sidemenu.borderColorSearch,\n\n\t\t// dropdown\n\t\t'--chat-dropdown-bg-color': dropdown.background,\n\t\t'--chat-dropdown-bg-color-hover': dropdown.backgroundHover,\n\n\t\t// message\n\t\t'--chat-message-bg-color': message.background,\n\t\t'--chat-message-bg-color-me': message.backgroundMe,\n\t\t'--chat-message-color-started': message.colorStarted,\n\t\t'--chat-message-bg-color-deleted': message.backgroundDeleted,\n\t\t'--chat-message-bg-color-selected': message.backgroundSelected,\n\t\t'--chat-message-color-deleted': message.colorDeleted,\n\t\t'--chat-message-color-username': message.colorUsername,\n\t\t'--chat-message-color-timestamp': message.colorTimestamp,\n\t\t'--chat-message-bg-color-date': message.backgroundDate,\n\t\t'--chat-message-color-date': message.colorDate,\n\t\t'--chat-message-bg-color-system': message.backgroundSystem,\n\t\t'--chat-message-color-system': message.colorSystem,\n\t\t'--chat-message-color': message.color,\n\t\t'--chat-message-bg-color-media': message.backgroundMedia,\n\t\t'--chat-message-bg-color-reply': message.backgroundReply,\n\t\t'--chat-message-color-reply-username': message.colorReplyUsername,\n\t\t'--chat-message-color-reply-content': message.colorReply,\n\t\t'--chat-message-color-tag': message.colorTag,\n\t\t'--chat-message-bg-color-image': message.backgroundImage,\n\t\t'--chat-message-color-new-messages': message.colorNewMessages,\n\t\t'--chat-message-bg-color-scroll-counter': message.backgroundScrollCounter,\n\t\t'--chat-message-color-scroll-counter': message.colorScrollCounter,\n\t\t'--chat-message-bg-color-reaction': message.backgroundReaction,\n\t\t'--chat-message-border-style-reaction': message.borderStyleReaction,\n\t\t'--chat-message-bg-color-reaction-hover': message.backgroundReactionHover,\n\t\t'--chat-message-border-style-reaction-hover':\n\t\t\tmessage.borderStyleReactionHover,\n\t\t'--chat-message-color-reaction-counter': message.colorReactionCounter,\n\t\t'--chat-message-bg-color-reaction-me': message.backgroundReactionMe,\n\t\t'--chat-message-border-style-reaction-me': message.borderStyleReactionMe,\n\t\t'--chat-message-bg-color-reaction-hover-me':\n\t\t\tmessage.backgroundReactionHoverMe,\n\t\t'--chat-message-border-style-reaction-hover-me':\n\t\t\tmessage.borderStyleReactionHoverMe,\n\t\t'--chat-message-color-reaction-counter-me': message.colorReactionCounterMe,\n\t\t'--chat-message-bg-color-audio-record': message.backgroundAudioRecord,\n\t\t'--chat-message-bg-color-audio-line': message.backgroundAudioLine,\n\t\t'--chat-message-bg-color-audio-progress': message.backgroundAudioProgress,\n\t\t'--chat-message-bg-color-audio-progress-selector':\n\t\t\tmessage.backgroundAudioProgressSelector,\n\t\t'--chat-message-color-file-extension': message.colorFileExtension,\n\n\t\t// markdown\n\t\t'--chat-markdown-bg': markdown.background,\n\t\t'--chat-markdown-border': markdown.border,\n\t\t'--chat-markdown-color': markdown.color,\n\t\t'--chat-markdown-color-multi': markdown.colorMulti,\n\n\t\t// room\n\t\t'--chat-room-color-username': room.colorUsername,\n\t\t'--chat-room-color-message': room.colorMessage,\n\t\t'--chat-room-color-timestamp': room.colorTimestamp,\n\t\t'--chat-room-color-online': room.colorStateOnline,\n\t\t'--chat-room-color-offline': room.colorStateOffline,\n\t\t'--chat-room-bg-color-badge': room.backgroundCounterBadge,\n\t\t'--chat-room-color-badge': room.colorCounterBadge,\n\n\t\t// emoji\n\t\t'--chat-emoji-bg-color': emoji.background,\n\n\t\t// icons\n\t\t'--chat-icon-color-search': icons.search,\n\t\t'--chat-icon-color-add': icons.add,\n\t\t'--chat-icon-color-toggle': icons.toggle,\n\t\t'--chat-icon-color-menu': icons.menu,\n\t\t'--chat-icon-color-close': icons.close,\n\t\t'--chat-icon-color-close-image': icons.closeImage,\n\t\t'--chat-icon-color-file': icons.file,\n\t\t'--chat-icon-color-paperclip': icons.paperclip,\n\t\t'--chat-icon-color-close-outline': icons.closeOutline,\n\t\t'--chat-icon-color-close-preview': icons.closePreview,\n\t\t'--chat-icon-color-send': icons.send,\n\t\t'--chat-icon-color-send-disabled': icons.sendDisabled,\n\t\t'--chat-icon-color-emoji': icons.emoji,\n\t\t'--chat-icon-color-emoji-reaction': icons.emojiReaction,\n\t\t'--chat-icon-color-document': icons.document,\n\t\t'--chat-icon-color-pencil': icons.pencil,\n\t\t'--chat-icon-color-checkmark': icons.checkmark,\n\t\t'--chat-icon-color-checkmark-seen': icons.checkmarkSeen,\n\t\t'--chat-icon-color-eye': icons.eye,\n\t\t'--chat-icon-color-dropdown-message': icons.dropdownMessage,\n\t\t'--chat-icon-bg-dropdown-message': icons.dropdownMessageBackground,\n\t\t'--chat-icon-color-dropdown-room': icons.dropdownRoom,\n\t\t'--chat-icon-color-dropdown-scroll': icons.dropdownScroll,\n\t\t'--chat-icon-color-microphone': icons.microphone,\n\t\t'--chat-icon-color-audio-play': icons.audioPlay,\n\t\t'--chat-icon-color-audio-pause': icons.audioPause,\n\t\t'--chat-icon-color-audio-cancel': icons.audioCancel,\n\t\t'--chat-icon-color-audio-confirm': icons.audioConfirm\n\t}\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatWindow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChatWindow.vue?vue&type=template&id=1349ffc2&\"\nimport script from \"./ChatWindow.vue?vue&type=script&lang=js&\"\nexport * from \"./ChatWindow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChatWindow.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ChatWindow from './ChatWindow'\n\nObject.defineProperty(ChatWindow, 'install', {\n\tconfigurable: false,\n\tenumerable: false,\n\tvalue(Vue) {\n\t\tVue.component('ChatWindow', ChatWindow)\n\t}\n})\n\nexport default ChatWindow\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\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","/* eslint-disable es-x/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","//package mp3;\n\n/**\n * Layer III side information.\n *\n * @author Ken\n *\n */\n\nvar common = require('./common.js');\nvar System = common.System;\nvar VbrMode = common.VbrMode;\nvar Float = common.Float;\nvar ShortBlock = common.ShortBlock;\nvar Util = common.Util;\nvar Arrays = common.Arrays;\nvar new_array_n = common.new_array_n;\nvar new_byte = common.new_byte;\nvar new_double = common.new_double;\nvar new_float = common.new_float;\nvar new_float_n = common.new_float_n;\nvar new_int = common.new_int;\nvar new_int_n = common.new_int_n;\nvar assert = common.assert;\n\nvar Encoder = require('./Encoder.js');\n\nfunction ScaleFac(arrL, arrS, arr21, arr12) {\n\n this.l = new_int(1 + Encoder.SBMAX_l);\n this.s = new_int(1 + Encoder.SBMAX_s);\n this.psfb21 = new_int(1 + Encoder.PSFB21);\n this.psfb12 = new_int(1 + Encoder.PSFB12);\n var l = this.l;\n var s = this.s;\n\n if (arguments.length == 4) {\n //public ScaleFac(final int[] arrL, final int[] arrS, final int[] arr21,\n // final int[] arr12) {\n this.arrL = arguments[0];\n this.arrS = arguments[1];\n this.arr21 = arguments[2];\n this.arr12 = arguments[3];\n\n System.arraycopy(this.arrL, 0, l, 0, Math.min(this.arrL.length, this.l.length));\n System.arraycopy(this.arrS, 0, s, 0, Math.min(this.arrS.length, this.s.length));\n System.arraycopy(this.arr21, 0, this.psfb21, 0, Math.min(this.arr21.length, this.psfb21.length));\n System.arraycopy(this.arr12, 0, this.psfb12, 0, Math.min(this.arr12.length, this.psfb12.length));\n }\n}\n\nmodule.exports = ScaleFac;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index 18602652..9a8c21d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-advanced-chat", - "version": "1.5.4", + "version": "1.5.5", "license": "MIT", "description": "A beautiful chat rooms component made with Vue.js - compatible with Vue, React & Angular", "author": {