@clappr/player 0.11.9 → 0.11.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clappr.js +493 -241
- package/dist/clappr.js.map +1 -1
- package/dist/clappr.min.js +1 -1
- package/dist/clappr.min.js.map +1 -1
- package/dist/clappr.plainhtml5.js +444 -230
- package/dist/clappr.plainhtml5.js.map +1 -1
- package/dist/clappr.plainhtml5.min.js +1 -1
- package/dist/clappr.plainhtml5.min.js.map +1 -1
- package/package.json +5 -5
- package/src/base_bundle.js +3 -4
- package/src/main.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clappr.plainhtml5.js","sources":["../../clappr-core/dist/clappr-core.esm.js","../../clappr-plugins/dist/clappr-plugins.esm.js","../src/base_bundle.js"],"sourcesContent":["function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nfunction _callSuper(t, o, e) {\n return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nfunction _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nfunction _createForOfIteratorHelper(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (!t) {\n if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) {\n t && (r = t);\n var n = 0,\n F = function () {};\n return {\n s: F,\n n: function () {\n return n >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[n++]\n };\n },\n e: function (r) {\n throw r;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var o,\n a = !0,\n u = !1;\n return {\n s: function () {\n t = t.call(r);\n },\n n: function () {\n var r = t.next();\n return a = r.done, r;\n },\n e: function (r) {\n u = !0, o = r;\n },\n f: function () {\n try {\n a || null == t.return || t.return();\n } finally {\n if (u) throw o;\n }\n }\n };\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = _superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nfunction _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && _setPrototypeOf(t, e);\n}\nfunction _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function () {\n return !!t;\n })();\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _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}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == typeof e || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return _assertThisInitialized(t);\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t)););\n return t;\n}\nfunction _superPropGet(t, o, e, r) {\n var p = _get(_getPrototypeOf(t.prototype ), o, e);\n return \"function\" == typeof p ? function (t) {\n return p.apply(e, t);\n } : p;\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (String )(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\n/* Zepto v1.2.0 - zepto ajax callbacks deferred event ie selector - zeptojs.com/license */\nvar Zepto = function () {\n var undefined$1,\n key,\n $,\n classList,\n emptyArray = [],\n concat = emptyArray.concat,\n filter = emptyArray.filter,\n slice = emptyArray.slice,\n document = window.document,\n elementDisplay = {},\n classCache = {},\n cssNumber = {\n 'column-count': 1,\n 'columns': 1,\n 'font-weight': 1,\n 'line-height': 1,\n 'opacity': 1,\n 'z-index': 1,\n 'zoom': 1\n },\n fragmentRE = /^\\s*<(\\w+|!)[^>]*>/,\n singleTagRE = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,\n tagExpanderRE = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/ig,\n rootNodeRE = /^(?:body|html)$/i,\n capitalRE = /([A-Z])/g,\n // special attributes that should be get/set via method calls\n methodAttributes = ['val', 'css', 'html', 'text', 'data', 'width', 'height', 'offset'],\n adjacencyOperators = ['after', 'prepend', 'before', 'append'],\n table = document.createElement('table'),\n tableRow = document.createElement('tr'),\n containers = {\n 'tr': document.createElement('tbody'),\n 'tbody': table,\n 'thead': table,\n 'tfoot': table,\n 'td': tableRow,\n 'th': tableRow,\n '*': document.createElement('div')\n },\n readyRE = /complete|loaded|interactive/,\n simpleSelectorRE = /^[\\w-]*$/,\n class2type = {},\n toString = class2type.toString,\n zepto = {},\n camelize,\n uniq,\n tempParent = document.createElement('div'),\n propMap = {\n 'tabindex': 'tabIndex',\n 'readonly': 'readOnly',\n 'for': 'htmlFor',\n 'class': 'className',\n 'maxlength': 'maxLength',\n 'cellspacing': 'cellSpacing',\n 'cellpadding': 'cellPadding',\n 'rowspan': 'rowSpan',\n 'colspan': 'colSpan',\n 'usemap': 'useMap',\n 'frameborder': 'frameBorder',\n 'contenteditable': 'contentEditable'\n },\n isArray = Array.isArray || function (object) {\n return object instanceof Array;\n };\n zepto.matches = function (element, selector) {\n if (!selector || !element || element.nodeType !== 1) return false;\n var matchesSelector = element.matches || element.webkitMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.matchesSelector;\n if (matchesSelector) return matchesSelector.call(element, selector);\n // fall back to performing a selector:\n var match,\n parent = element.parentNode,\n temp = !parent;\n if (temp) (parent = tempParent).appendChild(element);\n match = ~zepto.qsa(parent, selector).indexOf(element);\n temp && tempParent.removeChild(element);\n return match;\n };\n function type(obj) {\n return obj == null ? String(obj) : class2type[toString.call(obj)] || \"object\";\n }\n function isFunction(value) {\n return type(value) == \"function\";\n }\n function isWindow(obj) {\n return obj != null && obj == obj.window;\n }\n function isDocument(obj) {\n return obj != null && obj.nodeType == obj.DOCUMENT_NODE;\n }\n function isObject(obj) {\n return type(obj) == \"object\";\n }\n function isPlainObject(obj) {\n return isObject(obj) && !isWindow(obj) && Object.getPrototypeOf(obj) == Object.prototype;\n }\n function likeArray(obj) {\n var length = !!obj && 'length' in obj && obj.length,\n type = $.type(obj);\n return 'function' != type && !isWindow(obj) && ('array' == type || length === 0 || typeof length == 'number' && length > 0 && length - 1 in obj);\n }\n function compact(array) {\n return filter.call(array, function (item) {\n return item != null;\n });\n }\n function flatten(array) {\n return array.length > 0 ? $.fn.concat.apply([], array) : array;\n }\n camelize = function (str) {\n return str.replace(/-+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n });\n };\n function dasherize(str) {\n return str.replace(/::/g, '/').replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2').replace(/([a-z\\d])([A-Z])/g, '$1_$2').replace(/_/g, '-').toLowerCase();\n }\n uniq = function (array) {\n return filter.call(array, function (item, idx) {\n return array.indexOf(item) == idx;\n });\n };\n function classRE(name) {\n return name in classCache ? classCache[name] : classCache[name] = new RegExp('(^|\\\\s)' + name + '(\\\\s|$)');\n }\n function maybeAddPx(name, value) {\n return typeof value == \"number\" && !cssNumber[dasherize(name)] ? value + \"px\" : value;\n }\n function defaultDisplay(nodeName) {\n var element, display;\n if (!elementDisplay[nodeName]) {\n element = document.createElement(nodeName);\n document.body.appendChild(element);\n display = getComputedStyle(element, '').getPropertyValue(\"display\");\n element.parentNode.removeChild(element);\n display == \"none\" && (display = \"block\");\n elementDisplay[nodeName] = display;\n }\n return elementDisplay[nodeName];\n }\n function children(element) {\n return 'children' in element ? slice.call(element.children) : $.map(element.childNodes, function (node) {\n if (node.nodeType == 1) return node;\n });\n }\n function Z(dom, selector) {\n var i,\n len = dom ? dom.length : 0;\n for (i = 0; i < len; i++) this[i] = dom[i];\n this.length = len;\n this.selector = selector || '';\n }\n\n // `$.zepto.fragment` takes a html string and an optional tag name\n // to generate DOM nodes from the given html string.\n // The generated DOM nodes are returned as an array.\n // This function can be overridden in plugins for example to make\n // it compatible with browsers that don't support the DOM fully.\n zepto.fragment = function (html, name, properties) {\n var dom, nodes, container;\n\n // A special case optimization for a single tag\n if (singleTagRE.test(html)) dom = $(document.createElement(RegExp.$1));\n if (!dom) {\n if (html.replace) html = html.replace(tagExpanderRE, \"<$1></$2>\");\n if (name === undefined$1) name = fragmentRE.test(html) && RegExp.$1;\n if (!(name in containers)) name = '*';\n container = containers[name];\n container.innerHTML = '' + html;\n dom = $.each(slice.call(container.childNodes), function () {\n container.removeChild(this);\n });\n }\n if (isPlainObject(properties)) {\n nodes = $(dom);\n $.each(properties, function (key, value) {\n if (methodAttributes.indexOf(key) > -1) nodes[key](value);else nodes.attr(key, value);\n });\n }\n return dom;\n };\n\n // `$.zepto.Z` swaps out the prototype of the given `dom` array\n // of nodes with `$.fn` and thus supplying all the Zepto functions\n // to the array. This method can be overridden in plugins.\n zepto.Z = function (dom, selector) {\n return new Z(dom, selector);\n };\n\n // `$.zepto.isZ` should return `true` if the given object is a Zepto\n // collection. This method can be overridden in plugins.\n zepto.isZ = function (object) {\n return object instanceof zepto.Z;\n };\n\n // `$.zepto.init` is Zepto's counterpart to jQuery's `$.fn.init` and\n // takes a CSS selector and an optional context (and handles various\n // special cases).\n // This method can be overridden in plugins.\n zepto.init = function (selector, context) {\n var dom;\n // If nothing given, return an empty Zepto collection\n if (!selector) return zepto.Z();\n // Optimize for string selectors\n else if (typeof selector == 'string') {\n selector = selector.trim();\n // If it's a html fragment, create nodes from it\n // Note: In both Chrome 21 and Firefox 15, DOM error 12\n // is thrown if the fragment doesn't begin with <\n if (selector[0] == '<' && fragmentRE.test(selector)) dom = zepto.fragment(selector, RegExp.$1, context), selector = null;\n // If there's a context, create a collection on that context first, and select\n // nodes from there\n else if (context !== undefined$1) return $(context).find(selector);\n // If it's a CSS selector, use it to select nodes.\n else dom = zepto.qsa(document, selector);\n }\n // If a function is given, call it when the DOM is ready\n else if (isFunction(selector)) return $(document).ready(selector);\n // If a Zepto collection is given, just return it\n else if (zepto.isZ(selector)) return selector;else {\n // normalize array if an array of nodes is given\n if (isArray(selector)) dom = compact(selector);\n // Wrap DOM nodes.\n else if (isObject(selector)) dom = [selector], selector = null;\n // If it's a html fragment, create nodes from it\n else if (fragmentRE.test(selector)) dom = zepto.fragment(selector.trim(), RegExp.$1, context), selector = null;\n // If there's a context, create a collection on that context first, and select\n // nodes from there\n else if (context !== undefined$1) return $(context).find(selector);\n // And last but no least, if it's a CSS selector, use it to select nodes.\n else dom = zepto.qsa(document, selector);\n }\n // create a new Zepto collection from the nodes found\n return zepto.Z(dom, selector);\n };\n\n // `$` will be the base `Zepto` object. When calling this\n // function just call `$.zepto.init, which makes the implementation\n // details of selecting nodes and creating Zepto collections\n // patchable in plugins.\n $ = function (selector, context) {\n return zepto.init(selector, context);\n };\n function extend(target, source, deep) {\n for (key in source) if (deep && (isPlainObject(source[key]) || isArray(source[key]))) {\n if (isPlainObject(source[key]) && !isPlainObject(target[key])) target[key] = {};\n if (isArray(source[key]) && !isArray(target[key])) target[key] = [];\n extend(target[key], source[key], deep);\n } else if (source[key] !== undefined$1) target[key] = source[key];\n }\n\n // Copy all but undefined properties from one or more\n // objects to the `target` object.\n $.extend = function (target) {\n var deep,\n args = slice.call(arguments, 1);\n if (typeof target == 'boolean') {\n deep = target;\n target = args.shift();\n }\n args.forEach(function (arg) {\n extend(target, arg, deep);\n });\n return target;\n };\n\n // `$.zepto.qsa` is Zepto's CSS selector implementation which\n // uses `document.querySelectorAll` and optimizes for some special cases, like `#id`.\n // This method can be overridden in plugins.\n zepto.qsa = function (element, selector) {\n var found,\n maybeID = selector[0] == '#',\n maybeClass = !maybeID && selector[0] == '.',\n nameOnly = maybeID || maybeClass ? selector.slice(1) : selector,\n // Ensure that a 1 char tag name still gets checked\n isSimple = simpleSelectorRE.test(nameOnly);\n return element.getElementById && isSimple && maybeID ?\n // Safari DocumentFragment doesn't have getElementById\n (found = element.getElementById(nameOnly)) ? [found] : [] : element.nodeType !== 1 && element.nodeType !== 9 && element.nodeType !== 11 ? [] : slice.call(isSimple && !maybeID && element.getElementsByClassName ?\n // DocumentFragment doesn't have getElementsByClassName/TagName\n maybeClass ? element.getElementsByClassName(nameOnly) :\n // If it's simple, it could be a class\n element.getElementsByTagName(selector) :\n // Or a tag\n element.querySelectorAll(selector) // Or it's not simple, and we need to query all\n );\n };\n function filtered(nodes, selector) {\n return selector == null ? $(nodes) : $(nodes).filter(selector);\n }\n $.contains = document.documentElement.contains ? function (parent, node) {\n return parent !== node && parent.contains(node);\n } : function (parent, node) {\n while (node && (node = node.parentNode)) if (node === parent) return true;\n return false;\n };\n function funcArg(context, arg, idx, payload) {\n return isFunction(arg) ? arg.call(context, idx, payload) : arg;\n }\n function setAttribute(node, name, value) {\n value == null ? node.removeAttribute(name) : node.setAttribute(name, value);\n }\n\n // access className property while respecting SVGAnimatedString\n function className(node, value) {\n var klass = node.className || '',\n svg = klass && klass.baseVal !== undefined$1;\n if (value === undefined$1) return svg ? klass.baseVal : klass;\n svg ? klass.baseVal = value : node.className = value;\n }\n\n // \"true\" => true\n // \"false\" => false\n // \"null\" => null\n // \"42\" => 42\n // \"42.5\" => 42.5\n // \"08\" => \"08\"\n // JSON => parse if valid\n // String => self\n function deserializeValue(value) {\n try {\n return value ? value == \"true\" || (value == \"false\" ? false : value == \"null\" ? null : +value + \"\" == value ? +value : /^[\\[\\{]/.test(value) ? $.parseJSON(value) : value) : value;\n } catch (e) {\n return value;\n }\n }\n $.type = type;\n $.isFunction = isFunction;\n $.isWindow = isWindow;\n $.isArray = isArray;\n $.isPlainObject = isPlainObject;\n $.isEmptyObject = function (obj) {\n var name;\n for (name in obj) return false;\n return true;\n };\n $.isNumeric = function (val) {\n var num = Number(val),\n type = typeof val;\n return val != null && type != 'boolean' && (type != 'string' || val.length) && !isNaN(num) && isFinite(num) || false;\n };\n $.inArray = function (elem, array, i) {\n return emptyArray.indexOf.call(array, elem, i);\n };\n $.camelCase = camelize;\n $.trim = function (str) {\n return str == null ? \"\" : String.prototype.trim.call(str);\n };\n\n // plugin compatibility\n $.uuid = 0;\n $.support = {};\n $.expr = {};\n $.noop = function () {};\n $.map = function (elements, callback) {\n var value,\n values = [],\n i,\n key;\n if (likeArray(elements)) for (i = 0; i < elements.length; i++) {\n value = callback(elements[i], i);\n if (value != null) values.push(value);\n } else for (key in elements) {\n value = callback(elements[key], key);\n if (value != null) values.push(value);\n }\n return flatten(values);\n };\n $.each = function (elements, callback) {\n var i, key;\n if (likeArray(elements)) {\n for (i = 0; i < elements.length; i++) if (callback.call(elements[i], i, elements[i]) === false) return elements;\n } else {\n for (key in elements) if (callback.call(elements[key], key, elements[key]) === false) return elements;\n }\n return elements;\n };\n $.grep = function (elements, callback) {\n return filter.call(elements, callback);\n };\n if (window.JSON) $.parseJSON = JSON.parse;\n\n // Populate the class2type map\n $.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"), function (i, name) {\n class2type[\"[object \" + name + \"]\"] = name.toLowerCase();\n });\n\n // Define methods that will be available on all\n // Zepto collections\n $.fn = {\n constructor: zepto.Z,\n length: 0,\n // Because a collection acts like an array\n // copy over these useful array functions.\n forEach: emptyArray.forEach,\n reduce: emptyArray.reduce,\n push: emptyArray.push,\n sort: emptyArray.sort,\n splice: emptyArray.splice,\n indexOf: emptyArray.indexOf,\n concat: function () {\n var i,\n value,\n args = [];\n for (i = 0; i < arguments.length; i++) {\n value = arguments[i];\n args[i] = zepto.isZ(value) ? value.toArray() : value;\n }\n return concat.apply(zepto.isZ(this) ? this.toArray() : this, args);\n },\n // `map` and `slice` in the jQuery API work differently\n // from their array counterparts\n map: function (fn) {\n return $($.map(this, function (el, i) {\n return fn.call(el, i, el);\n }));\n },\n slice: function () {\n return $(slice.apply(this, arguments));\n },\n ready: function (callback) {\n // need to check if document.body exists for IE as that browser reports\n // document ready when it hasn't yet created the body element\n if (readyRE.test(document.readyState) && document.body) callback($);else document.addEventListener('DOMContentLoaded', function () {\n callback($);\n }, false);\n return this;\n },\n get: function (idx) {\n return idx === undefined$1 ? slice.call(this) : this[idx >= 0 ? idx : idx + this.length];\n },\n toArray: function () {\n return this.get();\n },\n size: function () {\n return this.length;\n },\n remove: function () {\n return this.each(function () {\n if (this.parentNode != null) this.parentNode.removeChild(this);\n });\n },\n each: function (callback) {\n emptyArray.every.call(this, function (el, idx) {\n return callback.call(el, idx, el) !== false;\n });\n return this;\n },\n filter: function (selector) {\n if (isFunction(selector)) return this.not(this.not(selector));\n return $(filter.call(this, function (element) {\n return zepto.matches(element, selector);\n }));\n },\n add: function (selector, context) {\n return $(uniq(this.concat($(selector, context))));\n },\n is: function (selector) {\n return this.length > 0 && zepto.matches(this[0], selector);\n },\n not: function (selector) {\n var nodes = [];\n if (isFunction(selector) && selector.call !== undefined$1) this.each(function (idx) {\n if (!selector.call(this, idx)) nodes.push(this);\n });else {\n var excludes = typeof selector == 'string' ? this.filter(selector) : likeArray(selector) && isFunction(selector.item) ? slice.call(selector) : $(selector);\n this.forEach(function (el) {\n if (excludes.indexOf(el) < 0) nodes.push(el);\n });\n }\n return $(nodes);\n },\n has: function (selector) {\n return this.filter(function () {\n return isObject(selector) ? $.contains(this, selector) : $(this).find(selector).size();\n });\n },\n eq: function (idx) {\n return idx === -1 ? this.slice(idx) : this.slice(idx, +idx + 1);\n },\n first: function () {\n var el = this[0];\n return el && !isObject(el) ? el : $(el);\n },\n last: function () {\n var el = this[this.length - 1];\n return el && !isObject(el) ? el : $(el);\n },\n find: function (selector) {\n var result,\n $this = this;\n if (!selector) result = $();else if (typeof selector == 'object') result = $(selector).filter(function () {\n var node = this;\n return emptyArray.some.call($this, function (parent) {\n return $.contains(parent, node);\n });\n });else if (this.length == 1) result = $(zepto.qsa(this[0], selector));else result = this.map(function () {\n return zepto.qsa(this, selector);\n });\n return result;\n },\n closest: function (selector, context) {\n var nodes = [],\n collection = typeof selector == 'object' && $(selector);\n this.each(function (_, node) {\n while (node && !(collection ? collection.indexOf(node) >= 0 : zepto.matches(node, selector))) node = node !== context && !isDocument(node) && node.parentNode;\n if (node && nodes.indexOf(node) < 0) nodes.push(node);\n });\n return $(nodes);\n },\n parents: function (selector) {\n var ancestors = [],\n nodes = this;\n while (nodes.length > 0) nodes = $.map(nodes, function (node) {\n if ((node = node.parentNode) && !isDocument(node) && ancestors.indexOf(node) < 0) {\n ancestors.push(node);\n return node;\n }\n });\n return filtered(ancestors, selector);\n },\n parent: function (selector) {\n return filtered(uniq(this.pluck('parentNode')), selector);\n },\n children: function (selector) {\n return filtered(this.map(function () {\n return children(this);\n }), selector);\n },\n contents: function () {\n return this.map(function () {\n return this.contentDocument || slice.call(this.childNodes);\n });\n },\n siblings: function (selector) {\n return filtered(this.map(function (i, el) {\n return filter.call(children(el.parentNode), function (child) {\n return child !== el;\n });\n }), selector);\n },\n empty: function () {\n return this.each(function () {\n this.innerHTML = '';\n });\n },\n // `pluck` is borrowed from Prototype.js\n pluck: function (property) {\n return $.map(this, function (el) {\n return el[property];\n });\n },\n show: function () {\n return this.each(function () {\n this.style.display == \"none\" && (this.style.display = '');\n if (getComputedStyle(this, '').getPropertyValue(\"display\") == \"none\") this.style.display = defaultDisplay(this.nodeName);\n });\n },\n replaceWith: function (newContent) {\n return this.before(newContent).remove();\n },\n wrap: function (structure) {\n var func = isFunction(structure);\n if (this[0] && !func) var dom = $(structure).get(0),\n clone = dom.parentNode || this.length > 1;\n return this.each(function (index) {\n $(this).wrapAll(func ? structure.call(this, index) : clone ? dom.cloneNode(true) : dom);\n });\n },\n wrapAll: function (structure) {\n if (this[0]) {\n $(this[0]).before(structure = $(structure));\n var children;\n // drill down to the inmost element\n while ((children = structure.children()).length) structure = children.first();\n $(structure).append(this);\n }\n return this;\n },\n wrapInner: function (structure) {\n var func = isFunction(structure);\n return this.each(function (index) {\n var self = $(this),\n contents = self.contents(),\n dom = func ? structure.call(this, index) : structure;\n contents.length ? contents.wrapAll(dom) : self.append(dom);\n });\n },\n unwrap: function () {\n this.parent().each(function () {\n $(this).replaceWith($(this).children());\n });\n return this;\n },\n clone: function () {\n return this.map(function () {\n return this.cloneNode(true);\n });\n },\n hide: function () {\n return this.css(\"display\", \"none\");\n },\n toggle: function (setting) {\n return this.each(function () {\n var el = $(this);\n (setting === undefined$1 ? el.css(\"display\") == \"none\" : setting) ? el.show() : el.hide();\n });\n },\n prev: function (selector) {\n return $(this.pluck('previousElementSibling')).filter(selector || '*');\n },\n next: function (selector) {\n return $(this.pluck('nextElementSibling')).filter(selector || '*');\n },\n html: function (html) {\n return 0 in arguments ? this.each(function (idx) {\n var originHtml = this.innerHTML;\n $(this).empty().append(funcArg(this, html, idx, originHtml));\n }) : 0 in this ? this[0].innerHTML : null;\n },\n text: function (text) {\n return 0 in arguments ? this.each(function (idx) {\n var newText = funcArg(this, text, idx, this.textContent);\n this.textContent = newText == null ? '' : '' + newText;\n }) : 0 in this ? this.pluck('textContent').join(\"\") : null;\n },\n attr: function (name, value) {\n var result;\n return typeof name == 'string' && !(1 in arguments) ? 0 in this && this[0].nodeType == 1 && (result = this[0].getAttribute(name)) != null ? result : undefined$1 : this.each(function (idx) {\n if (this.nodeType !== 1) return;\n if (isObject(name)) for (key in name) setAttribute(this, key, name[key]);else setAttribute(this, name, funcArg(this, value, idx, this.getAttribute(name)));\n });\n },\n removeAttr: function (name) {\n return this.each(function () {\n this.nodeType === 1 && name.split(' ').forEach(function (attribute) {\n setAttribute(this, attribute);\n }, this);\n });\n },\n prop: function (name, value) {\n name = propMap[name] || name;\n return 1 in arguments ? this.each(function (idx) {\n this[name] = funcArg(this, value, idx, this[name]);\n }) : this[0] && this[0][name];\n },\n removeProp: function (name) {\n name = propMap[name] || name;\n return this.each(function () {\n delete this[name];\n });\n },\n data: function (name, value) {\n var attrName = 'data-' + name.replace(capitalRE, '-$1').toLowerCase();\n var data = 1 in arguments ? this.attr(attrName, value) : this.attr(attrName);\n return data !== null ? deserializeValue(data) : undefined$1;\n },\n val: function (value) {\n if (0 in arguments) {\n if (value == null) value = \"\";\n return this.each(function (idx) {\n this.value = funcArg(this, value, idx, this.value);\n });\n } else {\n return this[0] && (this[0].multiple ? $(this[0]).find('option').filter(function () {\n return this.selected;\n }).pluck('value') : this[0].value);\n }\n },\n offset: function (coordinates) {\n if (coordinates) return this.each(function (index) {\n var $this = $(this),\n coords = funcArg(this, coordinates, index, $this.offset()),\n parentOffset = $this.offsetParent().offset(),\n props = {\n top: coords.top - parentOffset.top,\n left: coords.left - parentOffset.left\n };\n if ($this.css('position') == 'static') props['position'] = 'relative';\n $this.css(props);\n });\n if (!this.length) return null;\n if (document.documentElement !== this[0] && !$.contains(document.documentElement, this[0])) return {\n top: 0,\n left: 0\n };\n var obj = this[0].getBoundingClientRect();\n return {\n left: obj.left + window.pageXOffset,\n top: obj.top + window.pageYOffset,\n width: Math.round(obj.width),\n height: Math.round(obj.height)\n };\n },\n css: function (property, value) {\n if (arguments.length < 2) {\n var element = this[0];\n if (typeof property == 'string') {\n if (!element) return;\n return element.style[camelize(property)] || getComputedStyle(element, '').getPropertyValue(property);\n } else if (isArray(property)) {\n if (!element) return;\n var props = {};\n var computedStyle = getComputedStyle(element, '');\n $.each(property, function (_, prop) {\n props[prop] = element.style[camelize(prop)] || computedStyle.getPropertyValue(prop);\n });\n return props;\n }\n }\n var css = '';\n if (type(property) == 'string') {\n if (!value && value !== 0) this.each(function () {\n this.style.removeProperty(dasherize(property));\n });else css = dasherize(property) + \":\" + maybeAddPx(property, value);\n } else {\n for (key in property) if (!property[key] && property[key] !== 0) this.each(function () {\n this.style.removeProperty(dasherize(key));\n });else css += dasherize(key) + ':' + maybeAddPx(key, property[key]) + ';';\n }\n return this.each(function () {\n this.style.cssText += ';' + css;\n });\n },\n index: function (element) {\n return element ? this.indexOf($(element)[0]) : this.parent().children().indexOf(this[0]);\n },\n hasClass: function (name) {\n if (!name) return false;\n return emptyArray.some.call(this, function (el) {\n return this.test(className(el));\n }, classRE(name));\n },\n addClass: function (name) {\n if (!name) return this;\n return this.each(function (idx) {\n if (!('className' in this)) return;\n classList = [];\n var cls = className(this),\n newName = funcArg(this, name, idx, cls);\n newName.split(/\\s+/g).forEach(function (klass) {\n if (!$(this).hasClass(klass)) classList.push(klass);\n }, this);\n classList.length && className(this, cls + (cls ? \" \" : \"\") + classList.join(\" \"));\n });\n },\n removeClass: function (name) {\n return this.each(function (idx) {\n if (!('className' in this)) return;\n if (name === undefined$1) return className(this, '');\n classList = className(this);\n funcArg(this, name, idx, classList).split(/\\s+/g).forEach(function (klass) {\n classList = classList.replace(classRE(klass), \" \");\n });\n className(this, classList.trim());\n });\n },\n toggleClass: function (name, when) {\n if (!name) return this;\n return this.each(function (idx) {\n var $this = $(this),\n names = funcArg(this, name, idx, className(this));\n names.split(/\\s+/g).forEach(function (klass) {\n (when === undefined$1 ? !$this.hasClass(klass) : when) ? $this.addClass(klass) : $this.removeClass(klass);\n });\n });\n },\n scrollTop: function (value) {\n if (!this.length) return;\n var hasScrollTop = 'scrollTop' in this[0];\n if (value === undefined$1) return hasScrollTop ? this[0].scrollTop : this[0].pageYOffset;\n return this.each(hasScrollTop ? function () {\n this.scrollTop = value;\n } : function () {\n this.scrollTo(this.scrollX, value);\n });\n },\n scrollLeft: function (value) {\n if (!this.length) return;\n var hasScrollLeft = 'scrollLeft' in this[0];\n if (value === undefined$1) return hasScrollLeft ? this[0].scrollLeft : this[0].pageXOffset;\n return this.each(hasScrollLeft ? function () {\n this.scrollLeft = value;\n } : function () {\n this.scrollTo(value, this.scrollY);\n });\n },\n position: function () {\n if (!this.length) return;\n var elem = this[0],\n // Get *real* offsetParent\n offsetParent = this.offsetParent(),\n // Get correct offsets\n offset = this.offset(),\n parentOffset = rootNodeRE.test(offsetParent[0].nodeName) ? {\n top: 0,\n left: 0\n } : offsetParent.offset();\n\n // Subtract element margins\n // note: when an element has margin: auto the offsetLeft and marginLeft\n // are the same in Safari causing offset.left to incorrectly be 0\n offset.top -= parseFloat($(elem).css('margin-top')) || 0;\n offset.left -= parseFloat($(elem).css('margin-left')) || 0;\n\n // Add offsetParent borders\n parentOffset.top += parseFloat($(offsetParent[0]).css('border-top-width')) || 0;\n parentOffset.left += parseFloat($(offsetParent[0]).css('border-left-width')) || 0;\n\n // Subtract the two offsets\n return {\n top: offset.top - parentOffset.top,\n left: offset.left - parentOffset.left\n };\n },\n offsetParent: function () {\n return this.map(function () {\n var parent = this.offsetParent || document.body;\n while (parent && !rootNodeRE.test(parent.nodeName) && $(parent).css(\"position\") == \"static\") parent = parent.offsetParent;\n return parent;\n });\n }\n };\n\n // for now\n $.fn.detach = $.fn.remove\n\n // Generate the `width` and `height` functions\n ;\n ['width', 'height'].forEach(function (dimension) {\n var dimensionProperty = dimension.replace(/./, function (m) {\n return m[0].toUpperCase();\n });\n $.fn[dimension] = function (value) {\n var offset,\n el = this[0];\n if (value === undefined$1) return isWindow(el) ? el['inner' + dimensionProperty] : isDocument(el) ? el.documentElement['scroll' + dimensionProperty] : (offset = this.offset()) && offset[dimension];else return this.each(function (idx) {\n el = $(this);\n el.css(dimension, funcArg(this, value, idx, el[dimension]()));\n });\n };\n });\n function traverseNode(node, fun) {\n fun(node);\n for (var i = 0, len = node.childNodes.length; i < len; i++) traverseNode(node.childNodes[i], fun);\n }\n\n // Generate the `after`, `prepend`, `before`, `append`,\n // `insertAfter`, `insertBefore`, `appendTo`, and `prependTo` methods.\n adjacencyOperators.forEach(function (operator, operatorIndex) {\n var inside = operatorIndex % 2; //=> prepend, append\n\n $.fn[operator] = function () {\n // arguments can be nodes, arrays of nodes, Zepto objects and HTML strings\n var argType,\n nodes = $.map(arguments, function (arg) {\n var arr = [];\n argType = type(arg);\n if (argType == \"array\") {\n arg.forEach(function (el) {\n if (el.nodeType !== undefined$1) return arr.push(el);else if ($.zepto.isZ(el)) return arr = arr.concat(el.get());\n arr = arr.concat(zepto.fragment(el));\n });\n return arr;\n }\n return argType == \"object\" || arg == null ? arg : zepto.fragment(arg);\n }),\n parent,\n copyByClone = this.length > 1;\n if (nodes.length < 1) return this;\n return this.each(function (_, target) {\n parent = inside ? target : target.parentNode;\n\n // convert all methods to a \"before\" operation\n target = operatorIndex == 0 ? target.nextSibling : operatorIndex == 1 ? target.firstChild : operatorIndex == 2 ? target : null;\n var parentInDocument = $.contains(document.documentElement, parent);\n nodes.forEach(function (node) {\n if (copyByClone) node = node.cloneNode(true);else if (!parent) return $(node).remove();\n parent.insertBefore(node, target);\n if (parentInDocument) traverseNode(node, function (el) {\n if (el.nodeName != null && el.nodeName.toUpperCase() === 'SCRIPT' && (!el.type || el.type === 'text/javascript') && !el.src) {\n var target = el.ownerDocument ? el.ownerDocument.defaultView : window;\n target['eval'].call(target, el.innerHTML);\n }\n });\n });\n });\n };\n\n // after => insertAfter\n // prepend => prependTo\n // before => insertBefore\n // append => appendTo\n $.fn[inside ? operator + 'To' : 'insert' + (operatorIndex ? 'Before' : 'After')] = function (html) {\n $(html)[operator](this);\n return this;\n };\n });\n zepto.Z.prototype = Z.prototype = $.fn;\n\n // Export internal API functions in the `$.zepto` namespace\n zepto.uniq = uniq;\n zepto.deserializeValue = deserializeValue;\n $.zepto = zepto;\n return $;\n}();\nwindow.Zepto = Zepto;\nwindow.$ === undefined && (window.$ = Zepto);\n(function ($) {\n var jsonpID = +new Date(),\n document = window.document,\n key,\n name,\n rscript = /<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,\n scriptTypeRE = /^(?:text|application)\\/javascript/i,\n xmlTypeRE = /^(?:text|application)\\/xml/i,\n jsonType = 'application/json',\n htmlType = 'text/html',\n blankRE = /^\\s*$/,\n originAnchor = document.createElement('a');\n originAnchor.href = window.location.href;\n\n // trigger a custom event and return false if it was cancelled\n function triggerAndReturn(context, eventName, data) {\n var event = $.Event(eventName);\n $(context).trigger(event, data);\n return !event.isDefaultPrevented();\n }\n\n // trigger an Ajax \"global\" event\n function triggerGlobal(settings, context, eventName, data) {\n if (settings.global) return triggerAndReturn(context || document, eventName, data);\n }\n\n // Number of active Ajax requests\n $.active = 0;\n function ajaxStart(settings) {\n if (settings.global && $.active++ === 0) triggerGlobal(settings, null, 'ajaxStart');\n }\n function ajaxStop(settings) {\n if (settings.global && ! --$.active) triggerGlobal(settings, null, 'ajaxStop');\n }\n\n // triggers an extra global event \"ajaxBeforeSend\" that's like \"ajaxSend\" but cancelable\n function ajaxBeforeSend(xhr, settings) {\n var context = settings.context;\n if (settings.beforeSend.call(context, xhr, settings) === false || triggerGlobal(settings, context, 'ajaxBeforeSend', [xhr, settings]) === false) return false;\n triggerGlobal(settings, context, 'ajaxSend', [xhr, settings]);\n }\n function ajaxSuccess(data, xhr, settings, deferred) {\n var context = settings.context,\n status = 'success';\n settings.success.call(context, data, status, xhr);\n if (deferred) deferred.resolveWith(context, [data, status, xhr]);\n triggerGlobal(settings, context, 'ajaxSuccess', [xhr, settings, data]);\n ajaxComplete(status, xhr, settings);\n }\n // type: \"timeout\", \"error\", \"abort\", \"parsererror\"\n function ajaxError(error, type, xhr, settings, deferred) {\n var context = settings.context;\n settings.error.call(context, xhr, type, error);\n if (deferred) deferred.rejectWith(context, [xhr, type, error]);\n triggerGlobal(settings, context, 'ajaxError', [xhr, settings, error || type]);\n ajaxComplete(type, xhr, settings);\n }\n // status: \"success\", \"notmodified\", \"error\", \"timeout\", \"abort\", \"parsererror\"\n function ajaxComplete(status, xhr, settings) {\n var context = settings.context;\n settings.complete.call(context, xhr, status);\n triggerGlobal(settings, context, 'ajaxComplete', [xhr, settings]);\n ajaxStop(settings);\n }\n function ajaxDataFilter(data, type, settings) {\n if (settings.dataFilter == empty) return data;\n var context = settings.context;\n return settings.dataFilter.call(context, data, type);\n }\n\n // Empty function, used as default callback\n function empty() {}\n $.ajaxJSONP = function (options, deferred) {\n if (!('type' in options)) return $.ajax(options);\n var _callbackName = options.jsonpCallback,\n callbackName = ($.isFunction(_callbackName) ? _callbackName() : _callbackName) || 'Zepto' + jsonpID++,\n script = document.createElement('script'),\n originalCallback = window[callbackName],\n responseData,\n abort = function (errorType) {\n $(script).triggerHandler('error', errorType || 'abort');\n },\n xhr = {\n abort: abort\n },\n abortTimeout;\n if (deferred) deferred.promise(xhr);\n $(script).on('load error', function (e, errorType) {\n clearTimeout(abortTimeout);\n $(script).off().remove();\n if (e.type == 'error' || !responseData) {\n ajaxError(null, errorType || 'error', xhr, options, deferred);\n } else {\n ajaxSuccess(responseData[0], xhr, options, deferred);\n }\n window[callbackName] = originalCallback;\n if (responseData && $.isFunction(originalCallback)) originalCallback(responseData[0]);\n originalCallback = responseData = undefined;\n });\n if (ajaxBeforeSend(xhr, options) === false) {\n abort('abort');\n return xhr;\n }\n window[callbackName] = function () {\n responseData = arguments;\n };\n script.src = options.url.replace(/\\?(.+)=\\?/, '?$1=' + callbackName);\n document.head.appendChild(script);\n if (options.timeout > 0) abortTimeout = setTimeout(function () {\n abort('timeout');\n }, options.timeout);\n return xhr;\n };\n $.ajaxSettings = {\n // Default type of request\n type: 'GET',\n // Callback that is executed before request\n beforeSend: empty,\n // Callback that is executed if the request succeeds\n success: empty,\n // Callback that is executed the the server drops error\n error: empty,\n // Callback that is executed on request complete (both: error and success)\n complete: empty,\n // The context for the callbacks\n context: null,\n // Whether to trigger \"global\" Ajax events\n global: true,\n // Transport\n xhr: function () {\n return new window.XMLHttpRequest();\n },\n // MIME types mapping\n // IIS returns Javascript as \"application/x-javascript\"\n accepts: {\n script: 'text/javascript, application/javascript, application/x-javascript',\n json: jsonType,\n xml: 'application/xml, text/xml',\n html: htmlType,\n text: 'text/plain'\n },\n // Whether the request is to another domain\n crossDomain: false,\n // Default timeout\n timeout: 0,\n // Whether data should be serialized to string\n processData: true,\n // Whether the browser should be allowed to cache GET responses\n cache: true,\n //Used to handle the raw response data of XMLHttpRequest.\n //This is a pre-filtering function to sanitize the response.\n //The sanitized response should be returned\n dataFilter: empty\n };\n function mimeToDataType(mime) {\n if (mime) mime = mime.split(';', 2)[0];\n return mime && (mime == htmlType ? 'html' : mime == jsonType ? 'json' : scriptTypeRE.test(mime) ? 'script' : xmlTypeRE.test(mime) && 'xml') || 'text';\n }\n function appendQuery(url, query) {\n if (query == '') return url;\n return (url + '&' + query).replace(/[&?]{1,2}/, '?');\n }\n\n // serialize payload and append it to the URL for GET requests\n function serializeData(options) {\n if (options.processData && options.data && $.type(options.data) != \"string\") options.data = $.param(options.data, options.traditional);\n if (options.data && (!options.type || options.type.toUpperCase() == 'GET' || 'jsonp' == options.dataType)) options.url = appendQuery(options.url, options.data), options.data = undefined;\n }\n $.ajax = function (options) {\n var settings = $.extend({}, options || {}),\n deferred = $.Deferred && $.Deferred(),\n urlAnchor,\n hashIndex;\n for (key in $.ajaxSettings) if (settings[key] === undefined) settings[key] = $.ajaxSettings[key];\n ajaxStart(settings);\n if (!settings.crossDomain) {\n urlAnchor = document.createElement('a');\n urlAnchor.href = settings.url;\n // cleans up URL for .href (IE only), see https://github.com/madrobby/zepto/pull/1049\n urlAnchor.href = urlAnchor.href;\n settings.crossDomain = originAnchor.protocol + '//' + originAnchor.host !== urlAnchor.protocol + '//' + urlAnchor.host;\n }\n if (!settings.url) settings.url = window.location.toString();\n if ((hashIndex = settings.url.indexOf('#')) > -1) settings.url = settings.url.slice(0, hashIndex);\n serializeData(settings);\n var dataType = settings.dataType,\n hasPlaceholder = /\\?.+=\\?/.test(settings.url);\n if (hasPlaceholder) dataType = 'jsonp';\n if (settings.cache === false || (!options || options.cache !== true) && ('script' == dataType || 'jsonp' == dataType)) settings.url = appendQuery(settings.url, '_=' + Date.now());\n if ('jsonp' == dataType) {\n if (!hasPlaceholder) settings.url = appendQuery(settings.url, settings.jsonp ? settings.jsonp + '=?' : settings.jsonp === false ? '' : 'callback=?');\n return $.ajaxJSONP(settings, deferred);\n }\n var mime = settings.accepts[dataType],\n headers = {},\n setHeader = function (name, value) {\n headers[name.toLowerCase()] = [name, value];\n },\n protocol = /^([\\w-]+:)\\/\\//.test(settings.url) ? RegExp.$1 : window.location.protocol,\n xhr = settings.xhr(),\n nativeSetHeader = xhr.setRequestHeader,\n abortTimeout;\n if (deferred) deferred.promise(xhr);\n if (!settings.crossDomain) setHeader('X-Requested-With', 'XMLHttpRequest');\n setHeader('Accept', mime || '*/*');\n if (mime = settings.mimeType || mime) {\n if (mime.indexOf(',') > -1) mime = mime.split(',', 2)[0];\n xhr.overrideMimeType && xhr.overrideMimeType(mime);\n }\n if (settings.contentType || settings.contentType !== false && settings.data && settings.type.toUpperCase() != 'GET') setHeader('Content-Type', settings.contentType || 'application/x-www-form-urlencoded');\n if (settings.headers) for (name in settings.headers) setHeader(name, settings.headers[name]);\n xhr.setRequestHeader = setHeader;\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n xhr.onreadystatechange = empty;\n clearTimeout(abortTimeout);\n var result,\n error = false;\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304 || xhr.status == 0 && protocol == 'file:') {\n dataType = dataType || mimeToDataType(settings.mimeType || xhr.getResponseHeader('content-type'));\n if (xhr.responseType == 'arraybuffer' || xhr.responseType == 'blob') result = xhr.response;else {\n result = xhr.responseText;\n try {\n // http://perfectionkills.com/global-eval-what-are-the-options/\n // sanitize response accordingly if data filter callback provided\n result = ajaxDataFilter(result, dataType, settings);\n if (dataType == 'script') (1, eval)(result);else if (dataType == 'xml') result = xhr.responseXML;else if (dataType == 'json') result = blankRE.test(result) ? null : $.parseJSON(result);\n } catch (e) {\n error = e;\n }\n if (error) return ajaxError(error, 'parsererror', xhr, settings, deferred);\n }\n ajaxSuccess(result, xhr, settings, deferred);\n } else {\n ajaxError(xhr.statusText || null, xhr.status ? 'error' : 'abort', xhr, settings, deferred);\n }\n }\n };\n if (ajaxBeforeSend(xhr, settings) === false) {\n xhr.abort();\n ajaxError(null, 'abort', xhr, settings, deferred);\n return xhr;\n }\n var async = 'async' in settings ? settings.async : true;\n xhr.open(settings.type, settings.url, async, settings.username, settings.password);\n if (settings.xhrFields) for (name in settings.xhrFields) xhr[name] = settings.xhrFields[name];\n for (name in headers) nativeSetHeader.apply(xhr, headers[name]);\n if (settings.timeout > 0) abortTimeout = setTimeout(function () {\n xhr.onreadystatechange = empty;\n xhr.abort();\n ajaxError(null, 'timeout', xhr, settings, deferred);\n }, settings.timeout);\n\n // avoid sending empty string (#319)\n xhr.send(settings.data ? settings.data : null);\n return xhr;\n };\n\n // handle optional data/success arguments\n function parseArguments(url, data, success, dataType) {\n if ($.isFunction(data)) dataType = success, success = data, data = undefined;\n if (!$.isFunction(success)) dataType = success, success = undefined;\n return {\n url: url,\n data: data,\n success: success,\n dataType: dataType\n };\n }\n $.get = function /* url, data, success, dataType */\n () {\n return $.ajax(parseArguments.apply(null, arguments));\n };\n $.post = function /* url, data, success, dataType */\n () {\n var options = parseArguments.apply(null, arguments);\n options.type = 'POST';\n return $.ajax(options);\n };\n $.getJSON = function /* url, data, success */\n () {\n var options = parseArguments.apply(null, arguments);\n options.dataType = 'json';\n return $.ajax(options);\n };\n $.fn.load = function (url, data, success) {\n if (!this.length) return this;\n var self = this,\n parts = url.split(/\\s/),\n selector,\n options = parseArguments(url, data, success),\n callback = options.success;\n if (parts.length > 1) options.url = parts[0], selector = parts[1];\n options.success = function (response) {\n self.html(selector ? $('<div>').html(response.replace(rscript, \"\")).find(selector) : response);\n callback && callback.apply(self, arguments);\n };\n $.ajax(options);\n return this;\n };\n var escape = encodeURIComponent;\n function serialize(params, obj, traditional, scope) {\n var type,\n array = $.isArray(obj),\n hash = $.isPlainObject(obj);\n $.each(obj, function (key, value) {\n type = $.type(value);\n if (scope) key = traditional ? scope : scope + '[' + (hash || type == 'object' || type == 'array' ? key : '') + ']';\n // handle data in serializeArray() format\n if (!scope && array) params.add(value.name, value.value);\n // recurse into nested objects\n else if (type == \"array\" || !traditional && type == \"object\") serialize(params, value, traditional, key);else params.add(key, value);\n });\n }\n $.param = function (obj, traditional) {\n var params = [];\n params.add = function (key, value) {\n if ($.isFunction(value)) value = value();\n if (value == null) value = \"\";\n this.push(escape(key) + '=' + escape(value));\n };\n serialize(params, obj, traditional);\n return params.join('&').replace(/%20/g, '+');\n };\n})(Zepto);\n(function ($) {\n // Create a collection of callbacks to be fired in a sequence, with configurable behaviour\n // Option flags:\n // - once: Callbacks fired at most one time.\n // - memory: Remember the most recent context and arguments\n // - stopOnFalse: Cease iterating over callback list\n // - unique: Permit adding at most one instance of the same callback\n $.Callbacks = function (options) {\n options = $.extend({}, options);\n var memory,\n // Last fire value (for non-forgettable lists)\n fired,\n // Flag to know if list was already fired\n firing,\n // Flag to know if list is currently firing\n firingStart,\n // First callback to fire (used internally by add and fireWith)\n firingLength,\n // End of the loop when firing\n firingIndex,\n // Index of currently firing callback (modified by remove if needed)\n list = [],\n // Actual callback list\n stack = !options.once && [],\n // Stack of fire calls for repeatable lists\n fire = function (data) {\n memory = options.memory && data;\n fired = true;\n firingIndex = firingStart || 0;\n firingStart = 0;\n firingLength = list.length;\n firing = true;\n for (; list && firingIndex < firingLength; ++firingIndex) {\n if (list[firingIndex].apply(data[0], data[1]) === false && options.stopOnFalse) {\n memory = false;\n break;\n }\n }\n firing = false;\n if (list) {\n if (stack) stack.length && fire(stack.shift());else if (memory) list.length = 0;else Callbacks.disable();\n }\n },\n Callbacks = {\n add: function () {\n if (list) {\n var start = list.length,\n add = function (args) {\n $.each(args, function (_, arg) {\n if (typeof arg === \"function\") {\n if (!options.unique || !Callbacks.has(arg)) list.push(arg);\n } else if (arg && arg.length && typeof arg !== 'string') add(arg);\n });\n };\n add(arguments);\n if (firing) firingLength = list.length;else if (memory) {\n firingStart = start;\n fire(memory);\n }\n }\n return this;\n },\n remove: function () {\n if (list) {\n $.each(arguments, function (_, arg) {\n var index;\n while ((index = $.inArray(arg, list, index)) > -1) {\n list.splice(index, 1);\n // Handle firing indexes\n if (firing) {\n if (index <= firingLength) --firingLength;\n if (index <= firingIndex) --firingIndex;\n }\n }\n });\n }\n return this;\n },\n has: function (fn) {\n return !!(list && (fn ? $.inArray(fn, list) > -1 : list.length));\n },\n empty: function () {\n firingLength = list.length = 0;\n return this;\n },\n disable: function () {\n list = stack = memory = undefined;\n return this;\n },\n disabled: function () {\n return !list;\n },\n lock: function () {\n stack = undefined;\n if (!memory) Callbacks.disable();\n return this;\n },\n locked: function () {\n return !stack;\n },\n fireWith: function (context, args) {\n if (list && (!fired || stack)) {\n args = args || [];\n args = [context, args.slice ? args.slice() : args];\n if (firing) stack.push(args);else fire(args);\n }\n return this;\n },\n fire: function () {\n return Callbacks.fireWith(this, arguments);\n },\n fired: function () {\n return !!fired;\n }\n };\n return Callbacks;\n };\n})(Zepto);\n(function ($) {\n var slice = Array.prototype.slice;\n function Deferred(func) {\n var tuples = [\n // action, add listener, listener list, final state\n [\"resolve\", \"done\", $.Callbacks({\n once: 1,\n memory: 1\n }), \"resolved\"], [\"reject\", \"fail\", $.Callbacks({\n once: 1,\n memory: 1\n }), \"rejected\"], [\"notify\", \"progress\", $.Callbacks({\n memory: 1\n })]],\n state = \"pending\",\n promise = {\n state: function () {\n return state;\n },\n always: function () {\n deferred.done(arguments).fail(arguments);\n return this;\n },\n then: function /* fnDone [, fnFailed [, fnProgress]] */\n () {\n var fns = arguments;\n return Deferred(function (defer) {\n $.each(tuples, function (i, tuple) {\n var fn = $.isFunction(fns[i]) && fns[i];\n deferred[tuple[1]](function () {\n var returned = fn && fn.apply(this, arguments);\n if (returned && $.isFunction(returned.promise)) {\n returned.promise().done(defer.resolve).fail(defer.reject).progress(defer.notify);\n } else {\n var context = this === promise ? defer.promise() : this,\n values = fn ? [returned] : arguments;\n defer[tuple[0] + \"With\"](context, values);\n }\n });\n });\n fns = null;\n }).promise();\n },\n promise: function (obj) {\n return obj != null ? $.extend(obj, promise) : promise;\n }\n },\n deferred = {};\n $.each(tuples, function (i, tuple) {\n var list = tuple[2],\n stateString = tuple[3];\n promise[tuple[1]] = list.add;\n if (stateString) {\n list.add(function () {\n state = stateString;\n }, tuples[i ^ 1][2].disable, tuples[2][2].lock);\n }\n deferred[tuple[0]] = function () {\n deferred[tuple[0] + \"With\"](this === deferred ? promise : this, arguments);\n return this;\n };\n deferred[tuple[0] + \"With\"] = list.fireWith;\n });\n promise.promise(deferred);\n if (func) func.call(deferred, deferred);\n return deferred;\n }\n $.when = function (sub) {\n var resolveValues = slice.call(arguments),\n len = resolveValues.length,\n i = 0,\n remain = len !== 1 || sub && $.isFunction(sub.promise) ? len : 0,\n deferred = remain === 1 ? sub : Deferred(),\n progressValues,\n progressContexts,\n resolveContexts,\n updateFn = function (i, ctx, val) {\n return function (value) {\n ctx[i] = this;\n val[i] = arguments.length > 1 ? slice.call(arguments) : value;\n if (val === progressValues) {\n deferred.notifyWith(ctx, val);\n } else if (! --remain) {\n deferred.resolveWith(ctx, val);\n }\n };\n };\n if (len > 1) {\n progressValues = new Array(len);\n progressContexts = new Array(len);\n resolveContexts = new Array(len);\n for (; i < len; ++i) {\n if (resolveValues[i] && $.isFunction(resolveValues[i].promise)) {\n resolveValues[i].promise().done(updateFn(i, resolveContexts, resolveValues)).fail(deferred.reject).progress(updateFn(i, progressContexts, progressValues));\n } else {\n --remain;\n }\n }\n }\n if (!remain) deferred.resolveWith(resolveContexts, resolveValues);\n return deferred.promise();\n };\n $.Deferred = Deferred;\n})(Zepto);\n(function ($) {\n var _zid = 1,\n undefined$1,\n slice = Array.prototype.slice,\n isFunction = $.isFunction,\n isString = function (obj) {\n return typeof obj == 'string';\n },\n handlers = {},\n specialEvents = {},\n focusinSupported = 'onfocusin' in window,\n focus = {\n focus: 'focusin',\n blur: 'focusout'\n },\n hover = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n };\n specialEvents.click = specialEvents.mousedown = specialEvents.mouseup = specialEvents.mousemove = 'MouseEvents';\n function zid(element) {\n return element._zid || (element._zid = _zid++);\n }\n function findHandlers(element, event, fn, selector) {\n event = parse(event);\n if (event.ns) var matcher = matcherFor(event.ns);\n return (handlers[zid(element)] || []).filter(function (handler) {\n return handler && (!event.e || handler.e == event.e) && (!event.ns || matcher.test(handler.ns)) && (!fn || zid(handler.fn) === zid(fn)) && (!selector || handler.sel == selector);\n });\n }\n function parse(event) {\n var parts = ('' + event).split('.');\n return {\n e: parts[0],\n ns: parts.slice(1).sort().join(' ')\n };\n }\n function matcherFor(ns) {\n return new RegExp('(?:^| )' + ns.replace(' ', ' .* ?') + '(?: |$)');\n }\n function eventCapture(handler, captureSetting) {\n return handler.del && !focusinSupported && handler.e in focus || !!captureSetting;\n }\n function realEvent(type) {\n return hover[type] || focusinSupported && focus[type] || type;\n }\n function add(element, events, fn, data, selector, delegator, capture) {\n var id = zid(element),\n set = handlers[id] || (handlers[id] = []);\n events.split(/\\s/).forEach(function (event) {\n if (event == 'ready') return $(document).ready(fn);\n var handler = parse(event);\n handler.fn = fn;\n handler.sel = selector;\n // emulate mouseenter, mouseleave\n if (handler.e in hover) fn = function (e) {\n var related = e.relatedTarget;\n if (!related || related !== this && !$.contains(this, related)) return handler.fn.apply(this, arguments);\n };\n handler.del = delegator;\n var callback = delegator || fn;\n handler.proxy = function (e) {\n e = compatible(e);\n if (e.isImmediatePropagationStopped()) return;\n e.data = data;\n var result = callback.apply(element, e._args == undefined$1 ? [e] : [e].concat(e._args));\n if (result === false) e.preventDefault(), e.stopPropagation();\n return result;\n };\n handler.i = set.length;\n set.push(handler);\n if ('addEventListener' in element) element.addEventListener(realEvent(handler.e), handler.proxy, eventCapture(handler, capture));\n });\n }\n function remove(element, events, fn, selector, capture) {\n var id = zid(element);\n (events || '').split(/\\s/).forEach(function (event) {\n findHandlers(element, event, fn, selector).forEach(function (handler) {\n delete handlers[id][handler.i];\n if ('removeEventListener' in element) element.removeEventListener(realEvent(handler.e), handler.proxy, eventCapture(handler, capture));\n });\n });\n }\n $.event = {\n add: add,\n remove: remove\n };\n $.proxy = function (fn, context) {\n var args = 2 in arguments && slice.call(arguments, 2);\n if (isFunction(fn)) {\n var proxyFn = function () {\n return fn.apply(context, args ? args.concat(slice.call(arguments)) : arguments);\n };\n proxyFn._zid = zid(fn);\n return proxyFn;\n } else if (isString(context)) {\n if (args) {\n args.unshift(fn[context], fn);\n return $.proxy.apply(null, args);\n } else {\n return $.proxy(fn[context], fn);\n }\n } else {\n throw new TypeError(\"expected function\");\n }\n };\n $.fn.bind = function (event, data, callback) {\n return this.on(event, data, callback);\n };\n $.fn.unbind = function (event, callback) {\n return this.off(event, callback);\n };\n $.fn.one = function (event, selector, data, callback) {\n return this.on(event, selector, data, callback, 1);\n };\n var returnTrue = function () {\n return true;\n },\n returnFalse = function () {\n return false;\n },\n ignoreProperties = /^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,\n eventMethods = {\n preventDefault: 'isDefaultPrevented',\n stopImmediatePropagation: 'isImmediatePropagationStopped',\n stopPropagation: 'isPropagationStopped'\n };\n function compatible(event, source) {\n if (source || !event.isDefaultPrevented) {\n source || (source = event);\n $.each(eventMethods, function (name, predicate) {\n var sourceMethod = source[name];\n event[name] = function () {\n this[predicate] = returnTrue;\n return sourceMethod && sourceMethod.apply(source, arguments);\n };\n event[predicate] = returnFalse;\n });\n event.timeStamp || (event.timeStamp = Date.now());\n if (source.defaultPrevented !== undefined$1 ? source.defaultPrevented : 'returnValue' in source ? source.returnValue === false : source.getPreventDefault && source.getPreventDefault()) event.isDefaultPrevented = returnTrue;\n }\n return event;\n }\n function createProxy(event) {\n var key,\n proxy = {\n originalEvent: event\n };\n for (key in event) if (!ignoreProperties.test(key) && event[key] !== undefined$1) proxy[key] = event[key];\n return compatible(proxy, event);\n }\n $.fn.delegate = function (selector, event, callback) {\n return this.on(event, selector, callback);\n };\n $.fn.undelegate = function (selector, event, callback) {\n return this.off(event, selector, callback);\n };\n $.fn.live = function (event, callback) {\n $(document.body).delegate(this.selector, event, callback);\n return this;\n };\n $.fn.die = function (event, callback) {\n $(document.body).undelegate(this.selector, event, callback);\n return this;\n };\n $.fn.on = function (event, selector, data, callback, one) {\n var autoRemove,\n delegator,\n $this = this;\n if (event && !isString(event)) {\n $.each(event, function (type, fn) {\n $this.on(type, selector, data, fn, one);\n });\n return $this;\n }\n if (!isString(selector) && !isFunction(callback) && callback !== false) callback = data, data = selector, selector = undefined$1;\n if (callback === undefined$1 || data === false) callback = data, data = undefined$1;\n if (callback === false) callback = returnFalse;\n return $this.each(function (_, element) {\n if (one) autoRemove = function (e) {\n remove(element, e.type, callback);\n return callback.apply(this, arguments);\n };\n if (selector) delegator = function (e) {\n var evt,\n match = $(e.target).closest(selector, element).get(0);\n if (match && match !== element) {\n evt = $.extend(createProxy(e), {\n currentTarget: match,\n liveFired: element\n });\n return (autoRemove || callback).apply(match, [evt].concat(slice.call(arguments, 1)));\n }\n };\n add(element, event, callback, data, selector, delegator || autoRemove);\n });\n };\n $.fn.off = function (event, selector, callback) {\n var $this = this;\n if (event && !isString(event)) {\n $.each(event, function (type, fn) {\n $this.off(type, selector, fn);\n });\n return $this;\n }\n if (!isString(selector) && !isFunction(callback) && callback !== false) callback = selector, selector = undefined$1;\n if (callback === false) callback = returnFalse;\n return $this.each(function () {\n remove(this, event, callback, selector);\n });\n };\n $.fn.trigger = function (event, args) {\n event = isString(event) || $.isPlainObject(event) ? $.Event(event) : compatible(event);\n event._args = args;\n return this.each(function () {\n // handle focus(), blur() by calling them directly\n if (event.type in focus && typeof this[event.type] == \"function\") this[event.type]();\n // items in the collection might not be DOM elements\n else if ('dispatchEvent' in this) this.dispatchEvent(event);else $(this).triggerHandler(event, args);\n });\n };\n\n // triggers event handlers on current element just as if an event occurred,\n // doesn't trigger an actual event, doesn't bubble\n $.fn.triggerHandler = function (event, args) {\n var e, result;\n this.each(function (i, element) {\n e = createProxy(isString(event) ? $.Event(event) : event);\n e._args = args;\n e.target = element;\n $.each(findHandlers(element, event.type || event), function (i, handler) {\n result = handler.proxy(e);\n if (e.isImmediatePropagationStopped()) return false;\n });\n });\n return result;\n }\n\n // shortcut methods for `.bind(event, fn)` for each event type\n ;\n ('focusin focusout focus blur load resize scroll unload click dblclick ' + 'mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave ' + 'change select keydown keypress keyup error').split(' ').forEach(function (event) {\n $.fn[event] = function (callback) {\n return 0 in arguments ? this.bind(event, callback) : this.trigger(event);\n };\n });\n $.Event = function (type, props) {\n if (!isString(type)) props = type, type = props.type;\n var event = document.createEvent(specialEvents[type] || 'Events'),\n bubbles = true;\n if (props) for (var name in props) name == 'bubbles' ? bubbles = !!props[name] : event[name] = props[name];\n event.initEvent(type, bubbles, true);\n return compatible(event);\n };\n})(Zepto);\n(function () {\n // getComputedStyle shouldn't freak out when called\n // without a valid element as argument\n try {\n getComputedStyle(undefined);\n } catch (e) {\n var nativeGetComputedStyle = getComputedStyle;\n window.getComputedStyle = function (element, pseudoElement) {\n try {\n return nativeGetComputedStyle(element, pseudoElement);\n } catch (e) {\n return null;\n }\n };\n }\n})();\n(function ($) {\n var zepto = $.zepto,\n oldQsa = zepto.qsa,\n oldMatches = zepto.matches;\n function visible(elem) {\n elem = $(elem);\n return !!(elem.width() || elem.height()) && elem.css(\"display\") !== \"none\";\n }\n\n // Implements a subset from:\n // http://api.jquery.com/category/selectors/jquery-selector-extensions/\n //\n // Each filter function receives the current index, all nodes in the\n // considered set, and a value if there were parentheses. The value\n // of `this` is the node currently being considered. The function returns the\n // resulting node(s), null, or undefined.\n //\n // Complex selectors are not supported:\n // li:has(label:contains(\"foo\")) + li:has(label:contains(\"bar\"))\n // ul.inner:first > li\n var filters = $.expr[':'] = {\n visible: function () {\n if (visible(this)) return this;\n },\n hidden: function () {\n if (!visible(this)) return this;\n },\n selected: function () {\n if (this.selected) return this;\n },\n checked: function () {\n if (this.checked) return this;\n },\n parent: function () {\n return this.parentNode;\n },\n first: function (idx) {\n if (idx === 0) return this;\n },\n last: function (idx, nodes) {\n if (idx === nodes.length - 1) return this;\n },\n eq: function (idx, _, value) {\n if (idx === value) return this;\n },\n contains: function (idx, _, text) {\n if ($(this).text().indexOf(text) > -1) return this;\n },\n has: function (idx, _, sel) {\n if (zepto.qsa(this, sel).length) return this;\n }\n };\n var filterRe = new RegExp('(.*):(\\\\w+)(?:\\\\(([^)]+)\\\\))?$\\\\s*'),\n childRe = /^\\s*>/,\n classTag = 'Zepto' + +new Date();\n function process(sel, fn) {\n // quote the hash in `a[href^=#]` expression\n sel = sel.replace(/=#\\]/g, '=\"#\"]');\n var filter,\n arg,\n match = filterRe.exec(sel);\n if (match && match[2] in filters) {\n filter = filters[match[2]], arg = match[3];\n sel = match[1];\n if (arg) {\n var num = Number(arg);\n if (isNaN(num)) arg = arg.replace(/^[\"']|[\"']$/g, '');else arg = num;\n }\n }\n return fn(sel, filter, arg);\n }\n zepto.qsa = function (node, selector) {\n return process(selector, function (sel, filter, arg) {\n try {\n var taggedParent;\n if (!sel && filter) sel = '*';else if (childRe.test(sel))\n // support \"> *\" child queries by tagging the parent node with a\n // unique class and prepending that classname onto the selector\n taggedParent = $(node).addClass(classTag), sel = '.' + classTag + ' ' + sel;\n var nodes = oldQsa(node, sel);\n } catch (e) {\n console.error('error performing selector: %o', selector);\n throw e;\n } finally {\n if (taggedParent) taggedParent.removeClass(classTag);\n }\n return !filter ? nodes : zepto.uniq($.map(nodes, function (n, i) {\n return filter.call(n, i, nodes, arg);\n }));\n });\n };\n zepto.matches = function (node, selector) {\n return process(selector, function (sel, filter, arg) {\n return (!sel || oldMatches(node, sel)) && (!filter || filter.call(node, null, arg) === node);\n });\n };\n})(Zepto);\nvar zepto = Zepto;\nvar $ = /*@__PURE__*/getDefaultExportFromCjs(zepto);\n\n// Copyright 2014 Globo.com Player authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n/* istanbul ignore file */\n\n/**\n * Array.prototype.find\n *\n * Original source : https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/find\n * See also : https://tc39.github.io/ecma262/#sec-array.prototype.find\n */\nif (!Array.prototype.find) {\n // eslint-disable-next-line\n Object.defineProperty(Array.prototype, 'find', {\n // Note: ES6 arrow function syntax is not used on purpose to avoid this to be undefined\n value: function value(predicate) {\n // 1. Let O be ? ToObject(this value).\n if (this == null) throw new TypeError('\"this\" is null or not defined');\n var o = Object(this);\n\n // 2. Let len be ? ToLength(? Get(O, \"length\")).\n var len = o.length >>> 0;\n\n // 3. If IsCallable(predicate) is false, throw a TypeError exception.\n if (typeof predicate !== 'function') throw new TypeError('predicate must be a function');\n\n // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.\n var thisArg = arguments[1];\n\n // 5. Let k be 0.\n var k = 0;\n\n // 6. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ! ToString(k).\n // b. Let kValue be ? Get(O, Pk).\n // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).\n // d. If testResult is true, return kValue.\n var kValue = o[k];\n if (predicate.call(thisArg, kValue, k, o)) return kValue;\n\n // e. Increase k by 1.\n k++;\n }\n\n // 7. Return undefined.\n return undefined;\n }\n });\n}\n\n// polyfills for smart TVs\n\nif (!Object.entries) {\n Object.entries = function (obj) {\n var ownProps = Object.keys(obj),\n i = ownProps.length,\n resArray = new Array(i); // preallocate the Array\n while (i--) resArray[i] = [ownProps[i], obj[ownProps[i]]];\n return resArray;\n };\n}\nif (!Object.values) {\n Object.values = function (obj) {\n var ownProps = Object.keys(obj),\n i = ownProps.length,\n resArray = new Array(i); // preallocate the Array\n while (i--) resArray[i] = obj[ownProps[i]];\n return resArray;\n };\n}\n\n/**\n * Object.assign\n * This polyfill doesn't support symbol properties, since ES5 doesn't have symbols anyway\n *\n * Original source : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */\nif (typeof Object.assign != 'function') {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, 'assign', {\n // length of function is 2.\n value: function assign(target, varArgs) {\n\n if (target == null) {\n // TypeError if undefined or null\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n },\n writable: true,\n configurable: true\n });\n}\n\n// https://tc39.github.io/ecma262/#sec-array.prototype.findindex\nif (!Array.prototype.findIndex) {\n Object.defineProperty(Array.prototype, 'findIndex', {\n value: function value(predicate) {\n // 1. Let O be ? ToObject(this value).\n if (this == null) {\n throw new TypeError('\"this\" is null or not defined');\n }\n var o = Object(this);\n\n // 2. Let len be ? ToLength(? Get(O, \"length\")).\n var len = o.length >>> 0;\n\n // 3. If IsCallable(predicate) is false, throw a TypeError exception.\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n\n // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.\n var thisArg = arguments[1];\n\n // 5. Let k be 0.\n var k = 0;\n\n // 6. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ! ToString(k).\n // b. Let kValue be ? Get(O, Pk).\n // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).\n // d. If testResult is true, return k.\n var kValue = o[k];\n if (predicate.call(thisArg, kValue, k, o)) {\n return k;\n }\n // e. Increase k by 1.\n k++;\n }\n\n // 7. Return -1.\n return -1;\n },\n configurable: true,\n writable: true\n });\n}\n\n/* istanbul ignore file */\n// https://github.com/mathiasbynens/small\nvar mp4 = 'data:video/mp4;base64,AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAAC721kYXQhEAUgpBv/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcCEQBSCkG//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADengAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAsJtb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAALwABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAB7HRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAIAAAAAAAAALwAAAAAAAAAAAAAAAQEAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAAC8AAAAAAAEAAAAAAWRtZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAAKxEAAAIAFXEAAAAAAAtaGRscgAAAAAAAAAAc291bgAAAAAAAAAAAAAAAFNvdW5kSGFuZGxlcgAAAAEPbWluZgAAABBzbWhkAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAADTc3RibAAAAGdzdHNkAAAAAAAAAAEAAABXbXA0YQAAAAAAAAABAAAAAAAAAAAAAgAQAAAAAKxEAAAAAAAzZXNkcwAAAAADgICAIgACAASAgIAUQBUAAAAAAfQAAAHz+QWAgIACEhAGgICAAQIAAAAYc3R0cwAAAAAAAAABAAAAAgAABAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAIAAAABAAAAHHN0c3oAAAAAAAAAAAAAAAIAAAFzAAABdAAAABRzdGNvAAAAAAAAAAEAAAAsAAAAYnVkdGEAAABabWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWpdG9vAAAAHWRhdGEAAAABAAAAAExhdmY1Ni40MC4xMDE=';\nvar Media = {\n mp4: mp4\n};\n\n/* eslint-disable no-useless-escape */\n// The order of the following arrays is important, be careful if you change it.\n\nvar BROWSER_DATA = [{\n name: 'Chromium',\n group: 'Chrome',\n identifier: 'Chromium/([0-9\\.]*)'\n}, {\n name: 'Chrome Mobile',\n group: 'Chrome',\n identifier: 'Chrome/([0-9\\.]*) Mobile',\n versionIdentifier: 'Chrome/([0-9\\.]*)'\n}, {\n name: 'Chrome',\n group: 'Chrome',\n identifier: 'Chrome/([0-9\\.]*)'\n}, {\n name: 'Chrome for iOS',\n group: 'Chrome',\n identifier: 'CriOS/([0-9\\.]*)'\n}, {\n name: 'Android Browser',\n group: 'Chrome',\n identifier: 'CrMo/([0-9\\.]*)'\n}, {\n name: 'Firefox',\n group: 'Firefox',\n identifier: 'Firefox/([0-9\\.]*)'\n}, {\n name: 'Opera Mini',\n group: 'Opera',\n identifier: 'Opera Mini/([0-9\\.]*)'\n}, {\n name: 'Opera',\n group: 'Opera',\n identifier: 'Opera ([0-9\\.]*)'\n}, {\n name: 'Opera',\n group: 'Opera',\n identifier: 'Opera/([0-9\\.]*)',\n versionIdentifier: 'Version/([0-9\\.]*)'\n}, {\n name: 'IEMobile',\n group: 'Explorer',\n identifier: 'IEMobile/([0-9\\.]*)'\n}, {\n name: 'Internet Explorer',\n group: 'Explorer',\n identifier: 'MSIE ([a-zA-Z0-9\\.]*)'\n}, {\n name: 'Internet Explorer',\n group: 'Explorer',\n identifier: 'Trident/([0-9\\.]*)',\n versionIdentifier: 'rv:([0-9\\.]*)'\n}, {\n name: 'Spartan',\n group: 'Spartan',\n identifier: 'Edge/([0-9\\.]*)',\n versionIdentifier: 'Edge/([0-9\\.]*)'\n}, {\n name: 'Safari',\n group: 'Safari',\n identifier: 'Safari/([0-9\\.]*)',\n versionIdentifier: 'Version/([0-9\\.]*)'\n}];\n\n/* eslint-disable no-useless-escape */\n// The order of the following arrays is important, be careful if you change it.\n\nvar OS_DATA = [{\n name: 'Windows 2000',\n group: 'Windows',\n identifier: 'Windows NT 5.0',\n version: '5.0'\n}, {\n name: 'Windows XP',\n group: 'Windows',\n identifier: 'Windows NT 5.1',\n version: '5.1'\n}, {\n name: 'Windows Vista',\n group: 'Windows',\n identifier: 'Windows NT 6.0',\n version: '6.0'\n}, {\n name: 'Windows 7',\n group: 'Windows',\n identifier: 'Windows NT 6.1',\n version: '7.0'\n}, {\n name: 'Windows 8',\n group: 'Windows',\n identifier: 'Windows NT 6.2',\n version: '8.0'\n}, {\n name: 'Windows 8.1',\n group: 'Windows',\n identifier: 'Windows NT 6.3',\n version: '8.1'\n}, {\n name: 'Windows 10',\n group: 'Windows',\n identifier: 'Windows NT 10.0',\n version: '10.0'\n}, {\n name: 'Windows Phone',\n group: 'Windows Phone',\n identifier: 'Windows Phone ([0-9\\.]*)'\n}, {\n name: 'Windows Phone',\n group: 'Windows Phone',\n identifier: 'Windows Phone OS ([0-9\\.]*)'\n}, {\n name: 'Windows',\n group: 'Windows',\n identifier: 'Windows'\n}, {\n name: 'Chrome OS',\n group: 'Chrome OS',\n identifier: 'CrOS'\n}, {\n name: 'Android',\n group: 'Android',\n identifier: 'Android',\n versionIdentifier: 'Android ([a-zA-Z0-9\\.-]*)'\n}, {\n name: 'iPad',\n group: 'iOS',\n identifier: 'iPad',\n versionIdentifier: 'OS ([0-9_]*)',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'iPod',\n group: 'iOS',\n identifier: 'iPod',\n versionIdentifier: 'OS ([0-9_]*)',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'iPhone',\n group: 'iOS',\n identifier: 'iPhone OS',\n versionIdentifier: 'OS ([0-9_]*)',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X High Sierra',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])13([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Sierra',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])12([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X El Capitan',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])11([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Yosemite',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])10([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Mavericks',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])9([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Mountain Lion',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])8([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Lion',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])7([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Snow Leopard',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])6([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Leopard',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])5([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Tiger',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])4([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Panther',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])3([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Jaguar',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])2([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Puma',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])1([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Cheetah',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])0([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS',\n group: 'Mac OS',\n identifier: 'Mac OS'\n}, {\n name: 'Ubuntu',\n group: 'Linux',\n identifier: 'Ubuntu',\n versionIdentifier: 'Ubuntu/([0-9\\.]*)'\n}, {\n name: 'Debian',\n group: 'Linux',\n identifier: 'Debian'\n}, {\n name: 'Gentoo',\n group: 'Linux',\n identifier: 'Gentoo'\n}, {\n name: 'Linux',\n group: 'Linux',\n identifier: 'Linux'\n}, {\n name: 'BlackBerry',\n group: 'BlackBerry',\n identifier: 'BlackBerry'\n}];\n\nvar Browser = {};\nvar hasLocalstorage = function hasLocalstorage() {\n try {\n localStorage.setItem('clappr', 'clappr');\n localStorage.removeItem('clappr');\n return true;\n } catch (e) {\n return false;\n }\n};\nvar hasFlash = function hasFlash() {\n try {\n var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');\n return !!fo;\n } catch (e) {\n return !!(navigator.mimeTypes && navigator.mimeTypes['application/x-shockwave-flash'] !== undefined && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin);\n }\n};\nvar getBrowserInfo = function getBrowserInfo(ua) {\n var parts = ua.match(/\\b(playstation 4|nx|opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [],\n extra;\n if (/trident/i.test(parts[1])) {\n extra = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\n return {\n name: 'IE',\n version: parseInt(extra[1] || '')\n };\n } else if (parts[1] === 'Chrome') {\n extra = ua.match(/\\bOPR\\/(\\d+)/);\n if (extra != null) return {\n name: 'Opera',\n version: parseInt(extra[1])\n };\n extra = ua.match(/\\bEdge\\/(\\d+)/);\n if (extra != null) return {\n name: 'Edge',\n version: parseInt(extra[1])\n };\n } else if (/android/i.test(ua) && (extra = ua.match(/version\\/(\\d+)/i))) {\n parts.splice(1, 1, 'Android WebView');\n parts.splice(2, 1, extra[1]);\n }\n parts = parts[2] ? [parts[1], parts[2]] : [navigator.appName, navigator.appVersion, '-?'];\n return {\n name: parts[0],\n version: parseInt(parts[1])\n };\n};\n\n// Get browser data\nvar getBrowserData = function getBrowserData() {\n var browserObject = {};\n var userAgent = Browser.userAgent.toLowerCase();\n\n // Check browser type\n var _iterator = _createForOfIteratorHelper(BROWSER_DATA),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var browser = _step.value;\n var browserRegExp = new RegExp(browser.identifier.toLowerCase());\n var browserRegExpResult = browserRegExp.exec(userAgent);\n if (browserRegExpResult != null && browserRegExpResult[1]) {\n browserObject.name = browser.name;\n browserObject.group = browser.group;\n\n // Check version\n if (browser.versionIdentifier) {\n var versionRegExp = new RegExp(browser.versionIdentifier.toLowerCase());\n var versionRegExpResult = versionRegExp.exec(userAgent);\n if (versionRegExpResult != null && versionRegExpResult[1]) setBrowserVersion(versionRegExpResult[1], browserObject);\n } else {\n setBrowserVersion(browserRegExpResult[1], browserObject);\n }\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return browserObject;\n};\n\n// Set browser version\nvar setBrowserVersion = function setBrowserVersion(version, browserObject) {\n var splitVersion = version.split('.', 2);\n browserObject.fullVersion = version;\n\n // Major version\n if (splitVersion[0]) browserObject.majorVersion = parseInt(splitVersion[0]);\n\n // Minor version\n if (splitVersion[1]) browserObject.minorVersion = parseInt(splitVersion[1]);\n};\n\n// Get OS data\nvar getOsData = function getOsData() {\n var osObject = {};\n var userAgent = Browser.userAgent.toLowerCase();\n\n // Check browser type\n var _iterator2 = _createForOfIteratorHelper(OS_DATA),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var os = _step2.value;\n var osRegExp = new RegExp(os.identifier.toLowerCase());\n var osRegExpResult = osRegExp.exec(userAgent);\n if (osRegExpResult != null) {\n osObject.name = os.name;\n osObject.group = os.group;\n\n // Version defined\n if (os.version) {\n setOsVersion(os.version, os.versionSeparator ? os.versionSeparator : '.', osObject);\n\n // Version detected\n } else if (osRegExpResult[1]) {\n setOsVersion(osRegExpResult[1], os.versionSeparator ? os.versionSeparator : '.', osObject);\n\n // Version identifier\n } else if (os.versionIdentifier) {\n var versionRegExp = new RegExp(os.versionIdentifier.toLowerCase());\n var versionRegExpResult = versionRegExp.exec(userAgent);\n if (versionRegExpResult != null && versionRegExpResult[1]) setOsVersion(versionRegExpResult[1], os.versionSeparator ? os.versionSeparator : '.', osObject);\n }\n break;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n return osObject;\n};\n\n// Set OS version\nvar setOsVersion = function setOsVersion(version, separator, osObject) {\n var finalSeparator = separator.substr(0, 1) == '[' ? new RegExp(separator, 'g') : separator;\n var splitVersion = version.split(finalSeparator, 2);\n if (separator != '.') version = version.replace(new RegExp(separator, 'g'), '.');\n osObject.fullVersion = version;\n\n // Major version\n if (splitVersion && splitVersion[0]) osObject.majorVersion = parseInt(splitVersion[0]);\n\n // Minor version\n if (splitVersion && splitVersion[1]) osObject.minorVersion = parseInt(splitVersion[1]);\n};\n\n// Set viewport size\nvar getViewportSize = function getViewportSize() {\n var viewportObject = {};\n viewportObject.width = $(window).width();\n viewportObject.height = $(window).height();\n return viewportObject;\n};\n\n// Set viewport orientation\nvar setViewportOrientation = function setViewportOrientation() {\n switch (window.orientation) {\n case -90:\n case 90:\n Browser.viewport.orientation = 'landscape';\n break;\n default:\n Browser.viewport.orientation = 'portrait';\n break;\n }\n};\nvar getDevice = function getDevice(ua) {\n var platformRegExp = /\\((iP(?:hone|ad|od))?(?:[^;]*; ){0,2}([^)]+(?=\\)))/;\n var matches = platformRegExp.exec(ua);\n var device = matches && (matches[1] || matches[2]) || '';\n return device;\n};\nvar browserInfo = getBrowserInfo(navigator.userAgent);\nBrowser.isEdge = /Edg|EdgiOS|EdgA/i.test(navigator.userAgent);\nBrowser.isChrome = /Chrome|CriOS/i.test(navigator.userAgent) && !Browser.isEdge;\nBrowser.isSafari = /Safari/i.test(navigator.userAgent) && !Browser.isChrome && !Browser.isEdge;\nBrowser.isFirefox = /Firefox/i.test(navigator.userAgent);\nBrowser.isLegacyIE = !!window.ActiveXObject;\nBrowser.isIE = Browser.isLegacyIE || /trident.*rv:1\\d/i.test(navigator.userAgent);\nBrowser.isIE11 = /trident.*rv:11/i.test(navigator.userAgent);\nBrowser.isChromecast = Browser.isChrome && /CrKey/i.test(navigator.userAgent);\nBrowser.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone|IEMobile|Mobile Safari|Opera Mini/i.test(navigator.userAgent);\nBrowser.isiOS = /iPad|iPhone|iPod/i.test(navigator.userAgent);\nBrowser.isAndroid = /Android/i.test(navigator.userAgent);\nBrowser.isWindowsPhone = /Windows Phone/i.test(navigator.userAgent);\nBrowser.isWin8App = /MSAppHost/i.test(navigator.userAgent);\nBrowser.isWiiU = /WiiU/i.test(navigator.userAgent);\nBrowser.isPS4 = /PlayStation 4/i.test(navigator.userAgent);\nBrowser.hasLocalstorage = hasLocalstorage();\nBrowser.hasFlash = hasFlash();\n\n/**\n* @deprecated\n* This parameter currently exists for retrocompatibility reasons.\n* Use Browser.data.name instead.\n*/\nBrowser.name = browserInfo.name;\n\n/**\n* @deprecated\n* This parameter currently exists for retrocompatibility reasons.\n* Use Browser.data.fullVersion instead.\n*/\nBrowser.version = browserInfo.version;\nBrowser.userAgent = navigator.userAgent;\nBrowser.data = getBrowserData();\nBrowser.os = getOsData();\nBrowser.isWindows = /^Windows$/i.test(Browser.os.group);\nBrowser.isMacOS = /^Mac OS$/i.test(Browser.os.group);\nBrowser.isLinux = /^Linux$/i.test(Browser.os.group);\nBrowser.viewport = getViewportSize();\nBrowser.device = getDevice(Browser.userAgent);\ntypeof window.orientation !== 'undefined' && setViewportOrientation();\n\nvar idsCounter = {};\nvar videoStack = [];\nvar requestAnimationFrame = (window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (fn) {\n window.setTimeout(fn, 1000 / 60);\n}).bind(window);\nvar cancelAnimationFrame = (window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout).bind(window);\nfunction assign(obj, source) {\n if (source) {\n for (var prop in source) {\n var propDescriptor = Object.getOwnPropertyDescriptor(source, prop);\n propDescriptor ? Object.defineProperty(obj, prop, propDescriptor) : obj[prop] = source[prop];\n }\n }\n return obj;\n}\nfunction extend(parent, properties) {\n var Surrogate = /*#__PURE__*/function (_parent) {\n function Surrogate() {\n var _this;\n _classCallCheck(this, Surrogate);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Surrogate, [].concat(args));\n if (properties.initialize) properties.initialize.apply(_this, args);\n return _this;\n }\n _inherits(Surrogate, _parent);\n return _createClass(Surrogate);\n }(parent);\n assign(Surrogate.prototype, properties);\n return Surrogate;\n}\n\n/**\n *\n * @param {number} time\n * @param {*=} paddedHours\n * @returns\n */\nfunction formatTime(time, paddedHours) {\n if (!isFinite(time)) return '--:--';\n time = time * 1000;\n time = parseInt(time / 1000);\n var seconds = time % 60;\n time = parseInt(time / 60);\n var minutes = time % 60;\n time = parseInt(time / 60);\n var hours = time % 24;\n var days = parseInt(time / 24);\n var out = '';\n if (days && days > 0) {\n out += days + ':';\n if (hours < 1) out += '00:';\n }\n if (hours && hours > 0 || paddedHours) out += ('0' + hours).slice(-2) + ':';\n out += ('0' + minutes).slice(-2) + ':';\n out += ('0' + seconds).slice(-2);\n return out.trim();\n}\nvar Fullscreen = {\n fullscreenElement: function fullscreenElement() {\n return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n },\n requestFullscreen: function requestFullscreen(el) {\n if (el.requestFullscreen) {\n return el.requestFullscreen();\n } else if (el.webkitRequestFullscreen) {\n if (typeof el.then === 'function') return el.webkitRequestFullscreen();\n el.webkitRequestFullscreen();\n } else if (el.mozRequestFullScreen) {\n return el.mozRequestFullScreen();\n } else if (el.msRequestFullscreen) {\n return el.msRequestFullscreen();\n } else if (el.querySelector && el.querySelector('video') && el.querySelector('video').webkitEnterFullScreen) {\n el.querySelector('video').webkitEnterFullScreen();\n } else if (el.webkitEnterFullScreen) {\n el.webkitEnterFullScreen();\n }\n },\n cancelFullscreen: function cancelFullscreen() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n if (el.exitFullscreen) el.exitFullscreen();else if (el.webkitCancelFullScreen) el.webkitCancelFullScreen();else if (el.webkitExitFullscreen) el.webkitExitFullscreen();else if (el.mozCancelFullScreen) el.mozCancelFullScreen();else if (el.msExitFullscreen) el.msExitFullscreen();\n },\n fullscreenEnabled: function fullscreenEnabled() {\n return !!(document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled);\n }\n};\nvar Config = /*#__PURE__*/function () {\n function Config() {\n _classCallCheck(this, Config);\n }\n return _createClass(Config, null, [{\n key: \"_defaultConfig\",\n value: function _defaultConfig() {\n return {\n volume: {\n value: 100,\n parse: parseInt\n }\n };\n }\n }, {\n key: \"_defaultValueFor\",\n value: function _defaultValueFor(key) {\n try {\n return this._defaultConfig()[key].parse(this._defaultConfig()[key].value);\n } catch (e) {\n return undefined;\n }\n }\n }, {\n key: \"_createKeyspace\",\n value: function _createKeyspace(key) {\n return \"clappr.\".concat(document.domain, \".\").concat(key);\n }\n }, {\n key: \"restore\",\n value: function restore(key) {\n if (Browser.hasLocalstorage && localStorage[this._createKeyspace(key)]) return this._defaultConfig()[key].parse(localStorage[this._createKeyspace(key)]);\n return this._defaultValueFor(key);\n }\n }, {\n key: \"persist\",\n value: function persist(key, value) {\n if (Browser.hasLocalstorage) {\n try {\n localStorage[this._createKeyspace(key)] = value;\n return true;\n } catch (e) {\n return false;\n }\n }\n }\n }]);\n}();\nvar QueryString = /*#__PURE__*/function () {\n function QueryString() {\n _classCallCheck(this, QueryString);\n }\n return _createClass(QueryString, null, [{\n key: \"params\",\n get: function get() {\n var query = window.location.search.substring(1);\n if (query !== this.query) {\n this._urlParams = this.parse(query);\n this.query = query;\n }\n return this._urlParams;\n }\n }, {\n key: \"hashParams\",\n get: function get() {\n var hash = window.location.hash.substring(1);\n if (hash !== this.hash) {\n this._hashParams = this.parse(hash);\n this.hash = hash;\n }\n return this._hashParams;\n }\n }, {\n key: \"parse\",\n value: function parse(paramsString) {\n var match;\n var pl = /\\+/g,\n // Regex for replacing addition symbol with a space\n search = /([^&=]+)=?([^&]*)/g,\n decode = function decode(s) {\n return decodeURIComponent(s.replace(pl, ' '));\n },\n params = {};\n while (match = search.exec(paramsString)) {\n // eslint-disable-line no-cond-assign\n params[decode(match[1]).toLowerCase()] = decode(match[2]);\n }\n return params;\n }\n }]);\n}();\nfunction seekStringToSeconds() {\n var paramName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 't';\n var seconds = 0;\n var seekString = QueryString.params[paramName] || QueryString.hashParams[paramName] || '';\n var parts = seekString.match(/[0-9]+[hms]+/g) || [];\n if (parts.length > 0) {\n var factor = {\n 'h': 3600,\n 'm': 60,\n 's': 1\n };\n parts.forEach(function (el) {\n if (el) {\n var suffix = el[el.length - 1];\n var time = parseInt(el.slice(0, el.length - 1), 10);\n seconds += time * factor[suffix];\n }\n });\n } else if (seekString) {\n seconds = parseInt(seekString, 10);\n }\n return seconds;\n}\nfunction uniqueId(prefix) {\n idsCounter[prefix] || (idsCounter[prefix] = 0);\n var id = ++idsCounter[prefix];\n return prefix + id;\n}\nfunction isNumber(value) {\n return value - parseFloat(value) + 1 >= 0;\n}\nfunction currentScriptUrl() {\n var scripts = document.getElementsByTagName('script');\n return scripts.length ? scripts[scripts.length - 1].src : '';\n}\nfunction getBrowserLanguage() {\n return window.navigator && window.navigator.language;\n}\nfunction now() {\n if (window.performance && window.performance.now) return performance.now();\n return Date.now();\n}\n\n// remove the item from the array if it exists in the array\nfunction removeArrayItem(arr, item) {\n var i = arr.indexOf(item);\n if (i >= 0) arr.splice(i, 1);\n}\n\n// find an item regardless of its letter case\nfunction listContainsIgnoreCase(item, items) {\n if (item === undefined || items === undefined) return false;\n return items.find(function (itemEach) {\n return item.toLowerCase() === itemEach.toLowerCase();\n }) !== undefined;\n}\n\n// https://github.com/video-dev/can-autoplay\nfunction canAutoPlayMedia(cb, options) {\n options = Object.assign({\n inline: false,\n muted: false,\n timeout: 250,\n type: 'video',\n source: Media.mp4,\n element: null\n }, options);\n var element = options.element ? options.element : document.createElement(options.type);\n element.muted = options.muted;\n if (options.muted === true) element.setAttribute('muted', 'muted');\n if (options.inline === true) element.setAttribute('playsinline', 'playsinline');\n element.src = options.source;\n var promise = element.play();\n var timeoutId = setTimeout(function () {\n setResult(false, new Error(\"Timeout \".concat(options.timeout, \" ms has been reached\")));\n }, options.timeout);\n var setResult = function setResult(result) {\n var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n clearTimeout(timeoutId);\n cb(result, error);\n };\n if (promise !== undefined) {\n promise.then(function () {\n return setResult(true);\n })[\"catch\"](function (err) {\n return setResult(false, err);\n });\n } else {\n setResult(true);\n }\n}\n\n// Simple element factory with video recycle feature.\nvar DomRecycler = /*#__PURE__*/function () {\n function DomRecycler() {\n _classCallCheck(this, DomRecycler);\n }\n return _createClass(DomRecycler, null, [{\n key: \"configure\",\n value: function configure(options) {\n this.options = $.extend(true, this.options, options);\n }\n }, {\n key: \"create\",\n value: function create(name) {\n if (this.options.recycleVideo && name === 'video' && videoStack.length > 0) return videoStack.shift();\n return document.createElement(name);\n }\n }, {\n key: \"garbage\",\n value: function garbage(el) {\n if (!this.options.recycleVideo || el.tagName.toUpperCase() !== 'VIDEO') return;\n $(el).children().remove();\n Object.values(el.attributes).forEach(function (attr) {\n return el.removeAttribute(attr.name);\n });\n videoStack.push(el);\n }\n }]);\n}();\nDomRecycler.options = {\n recycleVideo: false\n};\nvar DoubleEventHandler = /*#__PURE__*/function () {\n function DoubleEventHandler() {\n var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 500;\n _classCallCheck(this, DoubleEventHandler);\n this.delay = delay;\n this.lastTime = 0;\n }\n return _createClass(DoubleEventHandler, [{\n key: \"handle\",\n value: function handle(event, cb) {\n var prevented = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // Based on http://jsfiddle.net/brettwp/J4djY/\n var currentTime = new Date().getTime();\n var diffTime = currentTime - this.lastTime;\n if (diffTime < this.delay && diffTime > 0) {\n cb();\n prevented && event.preventDefault();\n }\n this.lastTime = currentTime;\n }\n }]);\n}();\nvar Utils = {\n Config: Config,\n Fullscreen: Fullscreen,\n QueryString: QueryString,\n DomRecycler: DomRecycler,\n assign: assign,\n extend: extend,\n formatTime: formatTime,\n seekStringToSeconds: seekStringToSeconds,\n uniqueId: uniqueId,\n currentScriptUrl: currentScriptUrl,\n isNumber: isNumber,\n requestAnimationFrame: requestAnimationFrame,\n cancelAnimationFrame: cancelAnimationFrame,\n getBrowserLanguage: getBrowserLanguage,\n now: now,\n removeArrayItem: removeArrayItem,\n listContainsIgnoreCase: listContainsIgnoreCase,\n canAutoPlayMedia: canAutoPlayMedia,\n Media: Media,\n DoubleEventHandler: DoubleEventHandler\n};\n\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nvar BOLD = 'font-weight: bold; font-size: 13px;';\nvar INFO = 'color: #006600;' + BOLD;\nvar DEBUG = 'color: #0000ff;' + BOLD;\nvar WARN = 'color: #ff8000;' + BOLD;\nvar ERROR = 'color: #ff0000;' + BOLD;\nvar LEVEL_DEBUG = 0;\nvar LEVEL_INFO = 1;\nvar LEVEL_WARN = 2;\nvar LEVEL_ERROR = 3;\nvar LEVEL_DISABLED = LEVEL_ERROR;\nvar COLORS = [DEBUG, INFO, WARN, ERROR, ERROR];\nvar DESCRIPTIONS = ['debug', 'info', 'warn', 'error', 'disabled'];\nvar Log = /*#__PURE__*/function () {\n function Log() {\n var level = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : LEVEL_INFO;\n var offLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : LEVEL_DISABLED;\n _classCallCheck(this, Log);\n this.EXCLUDE_LIST = ['timeupdate', 'playback:timeupdate', 'playback:progress', 'container:hover', 'container:timeupdate', 'container:progress', 'core:mousemove'];\n this.level = level;\n this.previousLevel = this.level;\n this.offLevel = offLevel;\n }\n return _createClass(Log, [{\n key: \"level\",\n get: function get() {\n return this._level;\n },\n set: function set(newLevel) {\n this._level = newLevel;\n }\n }, {\n key: \"debug\",\n value: function debug(klass) {\n this.log(klass, LEVEL_DEBUG, Array.prototype.slice.call(arguments, 1));\n }\n }, {\n key: \"info\",\n value: function info(klass) {\n this.log(klass, LEVEL_INFO, Array.prototype.slice.call(arguments, 1));\n }\n }, {\n key: \"warn\",\n value: function warn(klass) {\n this.log(klass, LEVEL_WARN, Array.prototype.slice.call(arguments, 1));\n }\n }, {\n key: \"error\",\n value: function error(klass) {\n this.log(klass, LEVEL_ERROR, Array.prototype.slice.call(arguments, 1));\n }\n }, {\n key: \"onOff\",\n value: function onOff() {\n if (this.level === this.offLevel) {\n this.level = this.previousLevel;\n } else {\n this.previousLevel = this.level;\n this.level = this.offLevel;\n }\n // handle instances where console.log is unavailable\n window.console && window.console.log && window.console.log('%c[Clappr.Log] set log level to ' + DESCRIPTIONS[this.level], WARN);\n }\n }, {\n key: \"log\",\n value: function log(klass, level, message) {\n if (level < this.level) return;\n if (this.EXCLUDE_LIST.indexOf(message[0]) >= 0) return;\n if (!message) {\n message = klass;\n klass = null;\n }\n var color = COLORS[level];\n var klassDescription = '';\n if (klass) klassDescription = '[' + klass + ']';\n window.console && window.console.log && window.console.log.apply(console, ['%c[' + DESCRIPTIONS[level] + ']' + klassDescription, color].concat(message));\n }\n }]);\n}();\nLog.LEVEL_DEBUG = LEVEL_DEBUG;\nLog.LEVEL_INFO = LEVEL_INFO;\nLog.LEVEL_WARN = LEVEL_WARN;\nLog.LEVEL_ERROR = LEVEL_ERROR;\nLog.getInstance = function () {\n if (this._instance === undefined) this._instance = new this();\n return this._instance;\n};\nLog.setLevel = function (level) {\n this.getInstance().level = level;\n};\nLog.debug = function () {\n this.getInstance().debug.apply(this.getInstance(), arguments);\n};\nLog.info = function () {\n this.getInstance().info.apply(this.getInstance(), arguments);\n};\nLog.warn = function () {\n this.getInstance().warn.apply(this.getInstance(), arguments);\n};\nLog.error = function () {\n this.getInstance().error.apply(this.getInstance(), arguments);\n};\n\nvar slice = Array.prototype.slice;\nvar eventSplitter = /\\s+/;\nvar eventsApi = function eventsApi(obj, action, name, rest) {\n if (!name) return true;\n\n // Handle event maps.\n if (_typeof(name) === 'object') {\n for (var key in name) obj[action].apply(obj, [key, name[key]].concat(rest));\n return false;\n }\n\n // Handle space separated event names.\n if (eventSplitter.test(name)) {\n var names = name.split(eventSplitter);\n for (var i = 0, l = names.length; i < l; i++) obj[action].apply(obj, [names[i]].concat(rest));\n return false;\n }\n return true;\n};\nvar triggerEvents = function triggerEvents(events, args, klass, name) {\n var ev,\n i = -1;\n var l = events.length,\n a1 = args[0],\n a2 = args[1],\n a3 = args[2];\n run();\n function run() {\n try {\n switch (args.length) {\n /* eslint-disable curly */\n case 0:\n while (++i < l) {\n (ev = events[i]).callback.call(ev.ctx);\n }\n return;\n case 1:\n while (++i < l) {\n (ev = events[i]).callback.call(ev.ctx, a1);\n }\n return;\n case 2:\n while (++i < l) {\n (ev = events[i]).callback.call(ev.ctx, a1, a2);\n }\n return;\n case 3:\n while (++i < l) {\n (ev = events[i]).callback.call(ev.ctx, a1, a2, a3);\n }\n return;\n default:\n while (++i < l) {\n (ev = events[i]).callback.apply(ev.ctx, args);\n }\n return;\n }\n } catch (exception) {\n Log.error.apply(Log, [klass, 'error on event', name, 'trigger', '-', exception]);\n run();\n }\n }\n};\n\n/**\n * @class Events\n * @constructor\n * @module base\n */\nvar Events = /*#__PURE__*/function () {\n function Events() {\n _classCallCheck(this, Events);\n }\n return _createClass(Events, [{\n key: \"on\",\n value:\n /**\n * listen to an event indefinitely, if you want to stop you need to call `off`\n * @method on\n * @param {String} name\n * @param {Function} callback\n * @param {Object} context\n */\n function on(name, callback, context) {\n if (!eventsApi(this, 'on', name, [callback, context]) || !callback) return this;\n this._events || (this._events = {});\n var events = this._events[name] || (this._events[name] = []);\n events.push({\n callback: callback,\n context: context,\n ctx: context || this\n });\n return this;\n }\n\n /**\n * listen to an event only once\n * @method once\n * @param {String} name\n * @param {Function} callback\n * @param {Object} context\n */\n }, {\n key: \"once\",\n value: function _once(name, callback, context) {\n var _this = this;\n var _once;\n if (!eventsApi(this, 'once', name, [callback, context]) || !callback) return this;\n var off = function off() {\n return _this.off(name, _once);\n };\n _once = function once() {\n off();\n callback.apply(this, arguments);\n };\n _once._callback = callback;\n return this.on(name, _once, context);\n }\n\n /**\n * stop listening to an event\n * @method off\n * @param {String} name\n * @param {Function} callback\n * @param {Object} context\n */\n }, {\n key: \"off\",\n value: function off(name, callback, context) {\n var retain, ev, events, names, i, l, j, k;\n if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this;\n if (!name && !callback && !context) {\n this._events = void 0;\n return this;\n }\n names = name ? [name] : Object.keys(this._events);\n // jshint maxdepth:5\n for (i = 0, l = names.length; i < l; i++) {\n name = names[i];\n events = this._events[name];\n if (events) {\n this._events[name] = retain = [];\n if (callback || context) {\n for (j = 0, k = events.length; j < k; j++) {\n ev = events[j];\n if (callback && callback !== ev.callback && callback !== ev.callback._callback || context && context !== ev.context) retain.push(ev);\n }\n }\n if (!retain.length) delete this._events[name];\n }\n }\n return this;\n }\n\n /**\n * triggers an event given its `name`\n * @method trigger\n * @param {String} name\n */\n }, {\n key: \"trigger\",\n value: function trigger(name) {\n var klass = this.name || this.constructor.name;\n Log.debug.apply(Log, [klass].concat(Array.prototype.slice.call(arguments)));\n if (!this._events) return this;\n var args = slice.call(arguments, 1);\n if (!eventsApi(this, 'trigger', name, args)) return this;\n var events = this._events[name];\n var allEvents = this._events.all;\n if (events) triggerEvents(events, args, klass, name);\n if (allEvents) triggerEvents(allEvents, arguments, klass, name);\n return this;\n }\n\n /**\n * stop listening an event for a given object\n * @method stopListening\n * @param {Object} obj\n * @param {String} name\n * @param {Function} callback\n */\n }, {\n key: \"stopListening\",\n value: function stopListening(obj, name, callback) {\n var listeningTo = this._listeningTo;\n if (!listeningTo) return this;\n var remove = !name && !callback;\n if (!callback && _typeof(name) === 'object') callback = this;\n if (obj) (listeningTo = {})[obj._listenId] = obj;\n for (var id in listeningTo) {\n obj = listeningTo[id];\n obj.off(name, callback, this);\n if (remove || Object.keys(obj._events).length === 0) delete this._listeningTo[id];\n }\n return this;\n }\n }], [{\n key: \"register\",\n value: function register(eventName) {\n Events.Custom || (Events.Custom = {});\n var property = typeof eventName === 'string' && eventName.toUpperCase().trim();\n if (property && !Events.Custom[property]) {\n Events.Custom[property] = property.toLowerCase().split('_').map(function (value, index) {\n return index === 0 ? value : value = value[0].toUpperCase() + value.slice(1);\n }).join('');\n } else Log.error('Events', 'Error when register event: ' + eventName);\n }\n }, {\n key: \"listAvailableCustomEvents\",\n value: function listAvailableCustomEvents() {\n Events.Custom || (Events.Custom = {});\n return Object.keys(Events.Custom).filter(function (property) {\n return typeof Events.Custom[property] === 'string';\n });\n }\n }]);\n}();\nEvents.prototype.listenTo = function (obj, name, callback) {\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var id = obj._listenId || (obj._listenId = uniqueId('l'));\n listeningTo[id] = obj;\n if (!callback && _typeof(name) === 'object') callback = this;\n obj.on(name, callback, this);\n return this;\n};\n\n/**\n * listen to an event once for a given `obj`\n * @method listenToOnce\n * @param {Object} obj\n * @param {String} name\n * @param {Function} callback\n * @param {Object} context\n * @example\n * ```javascript\n * this.listenToOnce(this.core.playback, Events.PLAYBACK_PAUSE, this.callback)\n * ```\n */\nEvents.prototype.listenToOnce = function (obj, name, callback) {\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var id = obj._listenId || (obj._listenId = uniqueId('l'));\n listeningTo[id] = obj;\n if (!callback && _typeof(name) === 'object') callback = this;\n obj.once(name, callback, this);\n return this;\n};\n\n// PLAYER EVENTS\n/**\n * Fired when the player is ready on startup\n *\n * @event PLAYER_READY\n */\nEvents.PLAYER_READY = 'ready';\n/**\n * Fired when player resizes\n *\n * @event PLAYER_RESIZE\n * @param {Object} currentSize an object with the current size\n */\nEvents.PLAYER_RESIZE = 'resize';\n/**\n * Fired when player changes its fullscreen state\n *\n * @event PLAYER_FULLSCREEN\n * @param {Boolean} whether or not the player is on fullscreen mode\n */\nEvents.PLAYER_FULLSCREEN = 'fullscreen';\n/**\n * Fired when player starts to play\n *\n * @event PLAYER_PLAY\n */\nEvents.PLAYER_PLAY = 'play';\n/**\n * Fired when player pauses\n *\n * @event PLAYER_PAUSE\n */\nEvents.PLAYER_PAUSE = 'pause';\n/**\n * Fired when player stops\n *\n * @event PLAYER_STOP\n */\nEvents.PLAYER_STOP = 'stop';\n/**\n * Fired when player ends the video\n *\n * @event PLAYER_ENDED\n */\nEvents.PLAYER_ENDED = 'ended';\n/**\n * Fired when player seeks the video\n *\n * @event PLAYER_SEEK\n * @param {Number} time the current time in seconds\n */\nEvents.PLAYER_SEEK = 'seek';\n/**\n * Fired when player receives an error\n *\n * @event PLAYER_ERROR\n * @param {Object} error the error\n */\nEvents.PLAYER_ERROR = 'playererror';\n/**\n * Fired when there is an error\n *\n * @event ERROR\n * @param {Object} error\n * the error with the following format `{code, description, level, raw, origin, scope}`\n * @param {String} [options.code]\n * error's code: code to identify error in the following format: origin:code\n * @param {String} [options.description]\n * error's description: description of the error\n * @param {String} [options.level]\n * error's level: FATAL or WARN.\n * @param {String} [options.origin]\n * error's origin. Example: hls, html5, etc\n * @param {String} [options.scope]\n * error's scope. Example: playback, container, etc\n * @param {String} [options.raw]\n * raw error: the initial error received\n */\nEvents.ERROR = 'error';\n/**\n * Fired when the time is updated on player\n *\n * @event PLAYER_TIMEUPDATE\n * @param {Object} progress Data\n * progress object\n * @param {Number} [progress.current]\n * current time (in seconds)\n * @param {Number} [progress.total]\n * total time (in seconds)\n */\nEvents.PLAYER_TIMEUPDATE = 'timeupdate';\n/**\n * Fired when player updates its volume\n *\n * @event PLAYER_VOLUMEUPDATE\n * @param {Number} volume the current volume\n */\nEvents.PLAYER_VOLUMEUPDATE = 'volumeupdate';\n\n/**\n * Fired when subtitle is available\n *\n * @event PLAYER_SUBTITLE_AVAILABLE\n */\nEvents.PLAYER_SUBTITLE_AVAILABLE = 'subtitleavailable';\n\n// Playback Events\n/** Fired when picture-in-picture mode is entered\n *\n * @event PLAYBACK_PIP_ENTER\n */\nEvents.PLAYBACK_PIP_ENTER = 'playback:picture-in-picture:enter';\n/** Fired when picture-in-picture mode is exited\n *\n * @event PLAYBACK_PIP_EXIT\n */\nEvents.PLAYBACK_PIP_EXIT = 'playback:picture-in-picture:exit';\n/**\n * Fired when the playback is downloading the media\n *\n * @event PLAYBACK_PROGRESS\n * @param progress {Object}\n * Data progress object\n * @param [progress.start] {Number}\n * start position of buffered content at current position\n * @param [progress.current] {Number}\n * end position of buffered content at current position\n * @param [progress.total] {Number}\n * total content to be downloaded\n * @param buffered {Array}\n * array of buffered segments ({start, end}). [Only for supported playbacks]\n */\nEvents.PLAYBACK_PROGRESS = 'playback:progress';\n/**\n * Fired when the time is updated on playback\n *\n * @event PLAYBACK_TIMEUPDATE\n * @param {Object} progress Data\n * progress object\n * @param {Number} [progress.current]\n * current time (in seconds)\n * @param {Number} [progress.total]\n * total time (in seconds)\n */\nEvents.PLAYBACK_TIMEUPDATE = 'playback:timeupdate';\n/**\n * Fired when playback is ready\n *\n * @event PLAYBACK_READY\n */\nEvents.PLAYBACK_READY = 'playback:ready';\n/**\n * Fired when the playback starts having to buffer because\n * playback can currently not be smooth.\n *\n * This corresponds to the playback `buffering` property being\n * `true`.\n *\n * @event PLAYBACK_BUFFERING\n */\nEvents.PLAYBACK_BUFFERING = 'playback:buffering';\n/**\n * Fired when the playback has enough in the buffer to be\n * able to play smoothly, after previously being unable to\n * do this.\n *\n * This corresponds to the playback `buffering` property being\n * `false`.\n *\n * @event PLAYBACK_BUFFERFULL\n */\nEvents.PLAYBACK_BUFFERFULL = 'playback:bufferfull';\n/**\n * Fired when playback changes any settings (volume, seek and etc)\n *\n * @event PLAYBACK_SETTINGSUPDATE\n */\nEvents.PLAYBACK_SETTINGSUPDATE = 'playback:settingsupdate';\n/**\n * Fired when playback loaded its metadata\n *\n * @event PLAYBACK_LOADEDMETADATA\n * @param {Object} metadata Data\n * settings object\n * @param {Number} [metadata.duration]\n * the playback duration\n * @param {Object} [metadata.data]\n * extra meta data\n */\nEvents.PLAYBACK_LOADEDMETADATA = 'playback:loadedmetadata';\n/**\n * Fired when playback updates its video quality\n *\n * @event PLAYBACK_HIGHDEFINITIONUPDATE\n * @param {Boolean} isHD\n * true when is on HD, false otherwise\n */\nEvents.PLAYBACK_HIGHDEFINITIONUPDATE = 'playback:highdefinitionupdate';\n/**\n * Fired when playback updates its bitrate\n *\n * @event PLAYBACK_BITRATE\n * @param {Object} bitrate Data\n * bitrate object\n * @param {Number} [bitrate.bandwidth]\n * bitrate bandwidth when it's available\n * @param {Number} [bitrate.width]\n * playback width (ex: 720, 640, 1080)\n * @param {Number} [bitrate.height]\n * playback height (ex: 240, 480, 720)\n * @param {Number} [bitrate.level]\n * playback level when it's available, it could be just a map for width (0 => 240, 1 => 480, 2 => 720)\n */\nEvents.PLAYBACK_BITRATE = 'playback:bitrate';\n/**\n * Fired when the playback has its levels\n *\n * @event PLAYBACK_LEVELS_AVAILABLE\n * @param {Array} levels\n * the ordered levels, each one with the following format `{id: 1, label: '500kbps'}` ps: id should be a number >= 0\n * @param {Number} initial\n * the initial level otherwise -1 (AUTO)\n */\nEvents.PLAYBACK_LEVELS_AVAILABLE = 'playback:levels:available';\n/**\n * Fired when the playback starts to switch level\n *\n * @event PLAYBACK_LEVEL_SWITCH_START\n *\n */\nEvents.PLAYBACK_LEVEL_SWITCH_START = 'playback:levels:switch:start';\n/**\n * Fired when the playback ends the level switch\n *\n * @event PLAYBACK_LEVEL_SWITCH_END\n *\n */\nEvents.PLAYBACK_LEVEL_SWITCH_END = 'playback:levels:switch:end';\n\n/**\n * Fired when playback internal state changes\n *\n * @event PLAYBACK_PLAYBACKSTATE\n * @param {Object} state Data\n * state object\n * @param {String} [state.type]\n * the playback type\n */\nEvents.PLAYBACK_PLAYBACKSTATE = 'playback:playbackstate';\n/**\n * Fired when DVR becomes enabled/disabled.\n *\n * @event PLAYBACK_DVR\n * @param {boolean} state true if dvr enabled\n */\nEvents.PLAYBACK_DVR = 'playback:dvr';\n// TODO doc\nEvents.PLAYBACK_MEDIACONTROL_DISABLE = 'playback:mediacontrol:disable';\n// TODO doc\nEvents.PLAYBACK_MEDIACONTROL_ENABLE = 'playback:mediacontrol:enable';\n/**\n * Fired when the media for a playback ends.\n *\n * @event PLAYBACK_ENDED\n * @param {String} name the name of the playback\n */\nEvents.PLAYBACK_ENDED = 'playback:ended';\n/**\n * Fired when user requests `play()`\n *\n * @event PLAYBACK_PLAY_INTENT\n */\nEvents.PLAYBACK_PLAY_INTENT = 'playback:play:intent';\n/**\n * Fired when the media for a playback starts playing.\n * This is not necessarily when the user requests `play()`\n * The media may have to buffer first.\n * I.e. `isPlaying()` might return `true` before this event is fired,\n * because `isPlaying()` represents the intended state.\n *\n * @event PLAYBACK_PLAY\n */\nEvents.PLAYBACK_PLAY = 'playback:play';\n/**\n * Fired when the media for a playback pauses.\n *\n * @event PLAYBACK_PAUSE\n */\nEvents.PLAYBACK_PAUSE = 'playback:pause';\n/**\n * Fired when the media for a playback is seeking.\n *\n * @event PLAYBACK_SEEK\n */\nEvents.PLAYBACK_SEEK = 'playback:seek';\n/**\n * Fired when the media for a playback is seeked.\n *\n * @event PLAYBACK_SEEKED\n */\nEvents.PLAYBACK_SEEKED = 'playback:seeked';\n/**\n * Fired when the media for a playback is stopped.\n *\n * @event PLAYBACK_STOP\n */\nEvents.PLAYBACK_STOP = 'playback:stop';\n/**\n * Fired if an error occurs in the playback.\n *\n * @event PLAYBACK_ERROR\n * @param {Object} error An object containing the error details\n * @param {String} name Playback name\n */\nEvents.PLAYBACK_ERROR = 'playback:error';\n// TODO doc\nEvents.PLAYBACK_STATS_ADD = 'playback:stats:add';\n// TODO doc\nEvents.PLAYBACK_FRAGMENT_LOADED = 'playback:fragment:loaded';\n/**\n * Fired when a fragment has been appended into buffer\n *\n * @event PLAYBACK_FRAGMENT_BUFFERED\n * @param {Object} data Data\n * \n */\nEvents.PLAYBACK_FRAGMENT_BUFFERED = 'playback:fragment:buffered';\n// TODO doc\nEvents.PLAYBACK_LEVEL_SWITCH = 'playback:level:switch';\n/**\n * Fired when subtitle is available on playback for display\n *\n * @event PLAYBACK_SUBTITLE_AVAILABLE\n */\nEvents.PLAYBACK_SUBTITLE_AVAILABLE = 'playback:subtitle:available';\n/**\n * Fired when playback subtitle track has changed\n *\n * @event CONTAINER_SUBTITLE_CHANGED\n * @param {Object} track Data\n * track object\n * @param {Number} [track.id]\n * selected track id\n */\nEvents.PLAYBACK_SUBTITLE_CHANGED = 'playback:subtitle:changed';\n\n/**\n * Fired when audio tracks are available to be used on the playback\n * @event PLAYBACK_AUDIO_AVAILABLE\n * @param {import('../playback/playback').AudioTrack[]} tracks - list of available audio tracks\n */\nEvents.PLAYBACK_AUDIO_AVAILABLE = 'playback:audio:available';\n\n/**\n * Fired whenever the current audio track has changed\n * @event PLAYBACK_AUDIO_CHANGED\n * @param {import('../playback/playback').AudioTrack} track - audio track active after change\n */\nEvents.PLAYBACK_AUDIO_CHANGED = 'playback:audio:changed';\n\n/**\n * Fired when the playback was resized.\n *\n * @event PLAYBACK_RESIZE\n */\nEvents.PLAYBACK_RESIZE = 'playback:resize';\n\n// Core Events\n/**\n * Fired when the containers are created\n *\n * @event CORE_CONTAINERS_CREATED\n */\nEvents.CORE_CONTAINERS_CREATED = 'core:containers:created';\n/**\n * Fired when the active container changed\n *\n * @event CORE_ACTIVE_CONTAINER_CHANGED\n */\nEvents.CORE_ACTIVE_CONTAINER_CHANGED = 'core:active:container:changed';\n\n/**\n * Fired before options are changed in core\n *\n * @event CORE_OPTIONS_WILL_CHANGE\n * @param {Object} current options before change\n */\nEvents.CORE_OPTIONS_WILL_CHANGE = 'core:options:will:change';\n\n/**\n * Fired when the options were changed for the core\n *\n * @event CORE_OPTIONS_CHANGE\n * @param {Object} new options provided to configure() method\n */\nEvents.CORE_OPTIONS_CHANGE = 'core:options:change';\n/**\n * Fired after creating containers, when the core is ready\n *\n * @event CORE_READY\n */\nEvents.CORE_READY = 'core:ready';\n/**\n * Fired when the fullscreen state change\n *\n * @event CORE_FULLSCREEN\n * @param {Boolean} whether or not the player is on fullscreen mode\n */\nEvents.CORE_FULLSCREEN = 'core:fullscreen';\n/**\n * Fired when core updates size\n *\n * @event CORE_RESIZE\n * @param {Object} currentSize an object with the current size\n */\nEvents.CORE_RESIZE = 'core:resize';\n/**\n * Fired when the screen orientation has changed.\n * This event is trigger only for mobile devices.\n *\n * @event CORE_SCREEN_ORIENTATION_CHANGED\n * @param {Object} screen An object with screen orientation\n * screen object\n * @param {Object} [screen.event]\n * window resize event object\n * @param {String} [screen.orientation]\n * screen orientation (ie: 'landscape' or 'portrait')\n */\nEvents.CORE_SCREEN_ORIENTATION_CHANGED = 'core:screen:orientation:changed';\n/**\n * Fired when occurs mouse move event on core element\n *\n * @event CORE_MOUSE_MOVE\n * @param {Object} event a DOM event\n */\nEvents.CORE_MOUSE_MOVE = 'core:mousemove';\n/**\n * Fired when occurs mouse leave event on core element\n *\n * @event CORE_MOUSE_LEAVE\n * @param {Object} event a DOM event\n */\nEvents.CORE_MOUSE_LEAVE = 'core:mouseleave';\n\n// Container Events\n/**\n * Fired when the container internal state changes\n *\n * @event CONTAINER_PLAYBACKSTATE\n * @param {Object} state Data\n * state object\n * @param {String} [state.type]\n * the playback type\n */\nEvents.CONTAINER_PLAYBACKSTATE = 'container:playbackstate';\nEvents.CONTAINER_PLAYBACKDVRSTATECHANGED = 'container:dvr';\n/**\n * Fired when the container updates its bitrate\n *\n * @event CONTAINER_BITRATE\n * @param {Object} bitrate Data\n * bitrate object\n * @param {Number} [bitrate.bandwidth]\n * bitrate bandwidth when it's available\n * @param {Number} [bitrate.width]\n * playback width (ex: 720, 640, 1080)\n * @param {Number} [bitrate.height]\n * playback height (ex: 240, 480, 720)\n * @param {Number} [bitrate.level]\n * playback level when it's available, it could be just a map for width (0 => 240, 1 => 480, 2 => 720)\n */\nEvents.CONTAINER_BITRATE = 'container:bitrate';\nEvents.CONTAINER_STATS_REPORT = 'container:stats:report';\nEvents.CONTAINER_DESTROYED = 'container:destroyed';\n/**\n * Fired when the container is ready\n *\n * @event CONTAINER_READY\n */\nEvents.CONTAINER_READY = 'container:ready';\n\n/**\n * Fired when the container was resized.\n *\n * Some fullscreen modes won't trigger this resize since they don't affect the container, only the playback contents.\n *\n * @event CONTAINER_RESIZE\n */\nEvents.CONTAINER_RESIZE = 'container:resize';\nEvents.CONTAINER_ERROR = 'container:error';\n/**\n * Fired when the container loaded its metadata\n *\n * @event CONTAINER_LOADEDMETADATA\n * @param {Object} metadata Data\n * settings object\n * @param {Number} [metadata.duration]\n * the playback duration\n * @param {Object} [metadata.data]\n * extra meta data\n */\nEvents.CONTAINER_LOADEDMETADATA = 'container:loadedmetadata';\n\n/**\n * Fired when subtitle is available on container for display\n *\n * @event CONTAINER_SUBTITLE_AVAILABLE\n */\nEvents.CONTAINER_SUBTITLE_AVAILABLE = 'container:subtitle:available';\n/**\n * Fired when subtitle track has changed\n *\n * @event CONTAINER_SUBTITLE_CHANGED\n * @param {Object} track Data\n * track object\n * @param {Number} [track.id]\n * selected track id\n */\nEvents.CONTAINER_SUBTITLE_CHANGED = 'container:subtitle:changed';\n\n/**\n * Fired when audio tracks are available to be used on the container\n * @event CONTAINER_AUDIO_AVAILABLE\n * @param {import('../playback/playback').AudioTrack[]} tracks - list of available audio tracks\n */\nEvents.CONTAINER_AUDIO_AVAILABLE = 'container:audio:available';\n\n/**\n * Fired whenever the current audio track has changed\n * @event CONTAINER_AUDIO_CHANGED\n * @param {import('../playback/playback').AudioTrack} track - audio track active after change\n */\nEvents.CONTAINER_AUDIO_CHANGED = 'container:audio:changed';\n\n/**\n * Fired when the time is updated on container\n *\n * @event CONTAINER_TIMEUPDATE\n * @param {Object} progress Data\n * progress object\n * @param {Number} [progress.current]\n * current time (in seconds)\n * @param {Number} [progress.total]\n * total time (in seconds)\n */\nEvents.CONTAINER_TIMEUPDATE = 'container:timeupdate';\n/**\n * Fired when the container is downloading the media\n *\n * @event CONTAINER_PROGRESS\n * @param {Object} progress Data\n * progress object\n * @param {Number} [progress.start]\n * initial downloaded content\n * @param {Number} [progress.current]\n * current dowloaded content\n * @param {Number} [progress.total]\n * total content to be downloaded\n */\nEvents.CONTAINER_PROGRESS = 'container:progress';\nEvents.CONTAINER_PLAY = 'container:play';\nEvents.CONTAINER_STOP = 'container:stop';\nEvents.CONTAINER_PAUSE = 'container:pause';\nEvents.CONTAINER_ENDED = 'container:ended';\nEvents.CONTAINER_CLICK = 'container:click';\nEvents.CONTAINER_DBLCLICK = 'container:dblclick';\nEvents.CONTAINER_CONTEXTMENU = 'container:contextmenu';\nEvents.CONTAINER_MOUSE_ENTER = 'container:mouseenter';\nEvents.CONTAINER_MOUSE_LEAVE = 'container:mouseleave';\nEvents.CONTAINER_MOUSE_UP = 'container:mouseup';\nEvents.CONTAINER_MOUSE_DOWN = 'container:mousedown';\n\n/**\n * Fired when the container enters on Picture-in-Picture mode\n * @event CONTAINER_PIP_ENTER\n */\nEvents.CONTAINER_PIP_ENTER = 'container:picture-in-picture:enter';\n/**\n * Fired when the container exits from Picture-in-Picture mode\n * @event CONTAINER_PIP_EXIT\n */\nEvents.CONTAINER_PIP_EXIT = 'container:picture-in-picture:exit';\n\n/**\n * Fired when the container seeks the video\n *\n * @event CONTAINER_SEEK\n * @param {Number} time the current time in seconds\n */\nEvents.CONTAINER_SEEK = 'container:seek';\n/**\n * Fired when the container was finished the seek video\n *\n * @event CONTAINER_SEEKED\n * @param {Number} time the current time in seconds\n */\nEvents.CONTAINER_SEEKED = 'container:seeked';\nEvents.CONTAINER_VOLUME = 'container:volume';\nEvents.CONTAINER_FULLSCREEN = 'container:fullscreen';\n/**\n * Fired when container is buffering\n *\n * @event CONTAINER_STATE_BUFFERING\n */\nEvents.CONTAINER_STATE_BUFFERING = 'container:state:buffering';\n/**\n * Fired when the container filled the buffer\n *\n * @event CONTAINER_STATE_BUFFERFULL\n */\nEvents.CONTAINER_STATE_BUFFERFULL = 'container:state:bufferfull';\n/**\n * Fired when the container changes any settings (volume, seek and etc)\n *\n * @event CONTAINER_SETTINGSUPDATE\n */\nEvents.CONTAINER_SETTINGSUPDATE = 'container:settingsupdate';\n/**\n * Fired when container updates its video quality\n *\n * @event CONTAINER_HIGHDEFINITIONUPDATE\n * @param {Boolean} isHD\n * true when is on HD, false otherwise\n */\nEvents.CONTAINER_HIGHDEFINITIONUPDATE = 'container:highdefinitionupdate';\n\n/**\n * Fired when the media control shows\n *\n * @event CONTAINER_MEDIACONTROL_SHOW\n */\nEvents.CONTAINER_MEDIACONTROL_SHOW = 'container:mediacontrol:show';\n/**\n * Fired when the media control hides\n *\n * @event CONTAINER_MEDIACONTROL_HIDE\n */\nEvents.CONTAINER_MEDIACONTROL_HIDE = 'container:mediacontrol:hide';\nEvents.CONTAINER_MEDIACONTROL_DISABLE = 'container:mediacontrol:disable';\nEvents.CONTAINER_MEDIACONTROL_ENABLE = 'container:mediacontrol:enable';\nEvents.CONTAINER_STATS_ADD = 'container:stats:add';\n/**\n * Fired before options are changed in container\n *\n * @event CONTAINER_OPTIONS_WILL_CHANGE\n * @param {Object} current options before change\n */\nEvents.CONTAINER_OPTIONS_WILL_CHANGE = 'container:options:will:change';\n\n/**\n * Fired when the options were changed for the container\n *\n * @event CONTAINER_OPTIONS_CHANGE\n */\nEvents.CONTAINER_OPTIONS_CHANGE = 'container:options:change';\n\n// MediaControl Events\nEvents.MEDIACONTROL_RENDERED = 'mediacontrol:rendered';\n/**\n * Fired when the player enters/exit on fullscreen\n *\n * @event MEDIACONTROL_FULLSCREEN\n */\nEvents.MEDIACONTROL_FULLSCREEN = 'mediacontrol:fullscreen';\n/**\n * Fired when the media control shows\n *\n * @event MEDIACONTROL_SHOW\n */\nEvents.MEDIACONTROL_SHOW = 'mediacontrol:show';\n/**\n * Fired when the media control hides\n *\n * @event MEDIACONTROL_HIDE\n */\nEvents.MEDIACONTROL_HIDE = 'mediacontrol:hide';\n/**\n * Fired when mouse enters on the seekbar\n *\n * @event MEDIACONTROL_MOUSEMOVE_SEEKBAR\n * @param {Object} event\n * the javascript event\n */\nEvents.MEDIACONTROL_MOUSEMOVE_SEEKBAR = 'mediacontrol:mousemove:seekbar';\n/**\n * Fired when mouse leaves the seekbar\n *\n * @event MEDIACONTROL_MOUSELEAVE_SEEKBAR\n * @param {Object} event\n * the javascript event\n */\nEvents.MEDIACONTROL_MOUSELEAVE_SEEKBAR = 'mediacontrol:mouseleave:seekbar';\n/**\n * Fired when the media is being played\n *\n * @event MEDIACONTROL_PLAYING\n */\nEvents.MEDIACONTROL_PLAYING = 'mediacontrol:playing';\n/**\n * Fired when the media is not being played\n *\n * @event MEDIACONTROL_NOTPLAYING\n */\nEvents.MEDIACONTROL_NOTPLAYING = 'mediacontrol:notplaying';\n/**\n * Fired when the container was changed\n *\n * @event MEDIACONTROL_CONTAINERCHANGED\n */\nEvents.MEDIACONTROL_CONTAINERCHANGED = 'mediacontrol:containerchanged';\n/**\n * Fired when the options were changed for the mediacontrol\n *\n * @event MEDIACONTROL_OPTIONS_CHANGE\n */\nEvents.MEDIACONTROL_OPTIONS_CHANGE = 'mediacontrol:options:change';\n\n/**\n * @class BaseObject\n * @constructor\n * @extends Events\n * @module base\n */\nvar BaseObject = /*#__PURE__*/function (_Events) {\n /**\n * @method constructor\n * @param {Object} options\n */\n function BaseObject() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, BaseObject);\n _this = _callSuper(this, BaseObject, [options]);\n _this._options = options;\n _this.uniqueId = uniqueId('o');\n return _this;\n }\n /**\n * a unique id prefixed with `'o'`, `o1, o232`\n *\n * @property uniqueId\n * @type String\n */\n _inherits(BaseObject, _Events);\n return _createClass(BaseObject, [{\n key: \"options\",\n get:\n /**\n * returns the object options\n * @property options\n * @type Object\n */\n function get() {\n return this._options;\n }\n }]);\n}(Events);\n\n/* eslint-disable no-var */\n// Simple JavaScript Templating\n// Paul Miller (http://paulmillr.com)\n// http://underscorejs.org\n// (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\n// By default, Underscore uses ERB-style template delimiters, change the\n// following template settings to use alternative delimiters.\nvar settings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n};\n\n// When customizing `templateSettings`, if you don't want to define an\n// interpolation, evaluation or escaping regex, we need one that is\n// guaranteed not to match.\nvar noMatch = /(.)^/;\n\n// Certain characters need to be escaped so that they can be put into a\n// string literal.\nvar escapes = {\n '\\'': '\\'',\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\t': 't',\n \"\\u2028\": 'u2028',\n \"\\u2029\": 'u2029'\n};\nvar escaper = /\\\\|'|\\r|\\n|\\t|\\u2028|\\u2029/g;\n\n// List of HTML entities for escaping.\nvar htmlEntities = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n};\nvar entityRe = new RegExp('[&<>\"\\']', 'g');\nvar escapeExpr = function escapeExpr(string) {\n if (string === null) return '';\n return ('' + string).replace(entityRe, function (match) {\n return htmlEntities[match];\n });\n};\nvar counter = 0;\n\n/**\n * JavaScript micro-templating, similar to John Resig's implementation.\n * Underscore templating handles arbitrary delimiters, preserves whitespace,\n * and correctly escapes quotes within interpolated code.\n * @param {string} text\n * @param {*=} data\n * @returns\n */\nvar tmpl = function tmpl(text, data) {\n var render;\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = new RegExp([(settings.escape || noMatch).source, (settings.interpolate || noMatch).source, (settings.evaluate || noMatch).source].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = '__p+=\\'';\n text.replace(matcher, function (match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escaper, function (match) {\n return '\\\\' + escapes[match];\n });\n if (escape) source += '\\'+\\n((__t=(' + escape + '))==null?\\'\\':escapeExpr(__t))+\\n\\'';\n if (interpolate) source += '\\'+\\n((__t=(' + interpolate + '))==null?\\'\\':__t)+\\n\\'';\n if (evaluate) source += '\\';\\n' + evaluate + '\\n__p+=\\'';\n index = offset + match.length;\n return match;\n });\n source += '\\';\\n';\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n source = 'var __t,__p=\\'\\',__j=Array.prototype.join,' + 'print=function(){__p+=__j.call(arguments,\\'\\');};\\n' + source + 'return __p;\\n//# sourceURL=/microtemplates/source[' + counter++ + ']';\n try {\n /*jshint -W054 */\n // TODO: find a way to avoid eval\n render = new Function(settings.variable || 'obj', 'escapeExpr', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n if (data) return render(data, escapeExpr);\n var template = function template(data) {\n return render.call(this, data, escapeExpr);\n };\n\n // Provide the compiled function source as a convenience for precompilation.\n template.source = 'function(' + (settings.variable || 'obj') + '){\\n' + source + '}';\n return template;\n};\ntmpl.settings = settings;\n\n// Copyright 2014 Globo.com Player authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nvar Styler = {\n getStyleFor: function getStyleFor(style) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n baseUrl: ''\n };\n return $('<style class=\"clappr-style\"></style>').html(tmpl(style.toString())(options));\n }\n};\n\nvar delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n\n/**\n * A base class to create ui object.\n * @class UIObject\n * @constructor\n * @extends BaseObject\n * @module base\n */\nvar UIObject = /*#__PURE__*/function (_BaseObject) {\n /**\n * it builds an ui component by:\n * * creating an id for the component `cid`\n * * making sure the element is created `$el`\n * * delegating all `events` to the element\n * @method constructor\n * @param {Object} options the options object\n */\n function UIObject(options) {\n var _this;\n _classCallCheck(this, UIObject);\n _this = _callSuper(this, UIObject, [options]);\n /**\n * a unique id prefixed with `'c'`, `c1, c232`\n *\n * @property cid\n * @type String\n */\n _this.cid = uniqueId('c');\n _this._ensureElement();\n _this.delegateEvents();\n return _this;\n }\n\n /**\n * selects within the component.\n * @method $\n * @param {String} selector a selector to find within the component.\n * @return {HTMLElement} an element, if it exists.\n * @example\n * ```javascript\n * fullScreenBarUIComponent.$('.button-full') //will return only `.button-full` within the component\n * ```\n */\n _inherits(UIObject, _BaseObject);\n return _createClass(UIObject, [{\n key: \"tagName\",\n get:\n /**\n * gets the tag name for the ui component\n * @method tagName\n * @default div\n * @return {String} tag's name\n */\n function get() {\n return 'div';\n }\n /**\n * a literal object mapping element's events to methods\n * @property events\n * @type Object\n * @example\n *\n *```javascript\n *\n * class MyButton extends UIObject {\n * constructor(options) {\n * super(options)\n * this.myId = 0\n * }\n * get events() { return { 'click': 'myClick' } }\n * myClick(){ this.myId = 42 }\n * }\n *\n * // when you click on MyButton the method `myClick` will be called\n *```\n */\n }, {\n key: \"events\",\n get: function get() {\n return {};\n }\n /**\n * a literal object mapping attributes and values to the element\n * element's attribute name and the value the attribute value\n * @property attributes\n * @type Object\n * @example\n *\n *```javascript\n *\n * class MyButton extends UIObject {\n * constructor(options) { super(options) }\n * get attributes() { return { class: 'my-button'} }\n * }\n *\n * // MyButton.el.className will be 'my-button'\n * ```\n */\n }, {\n key: \"attributes\",\n get: function get() {\n return {};\n }\n }, {\n key: \"$\",\n value: function $(selector) {\n return this.$el.find(selector);\n }\n\n /**\n * render the component, usually attach it to a real existent `element`\n * @method render\n * @return {UIObject} itself\n */\n }, {\n key: \"render\",\n value: function render() {\n return this;\n }\n\n /**\n * removes the ui component from DOM\n * @method destroy\n * @return {UIObject} itself\n */\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.$el.remove();\n this.stopListening();\n this.undelegateEvents();\n return this;\n }\n\n /**\n * set element to `el` and `$el`\n * @method setElement\n * @param {HTMLElement} element\n * @param {Boolean} delegate whether is delegate or not\n * @return {UIObject} itself\n */\n }, {\n key: \"setElement\",\n value: function setElement(element, delegate) {\n if (this.$el) this.undelegateEvents();\n /**\n * the dom element wrapped by `$`\n *\n * @property $el\n * @type import(\"clappr-zepto\").ZeptoCollection\n */\n this.$el = $.zepto.isZ(element) ? element : $(element);\n /**\n * the dom element itself\n *\n * @property el\n * @type HTMLElement\n */\n this.el = this.$el[0];\n if (delegate !== false) this.delegateEvents();\n return this;\n }\n\n /**\n * delegates all the original `events` on `element` to its callbacks\n * @method delegateEvents\n * @param {Object} events\n * @return {UIObject} itself\n */\n }, {\n key: \"delegateEvents\",\n value: function delegateEvents(events) {\n if (!events) events = this.events;\n this.undelegateEvents();\n for (var key in events) {\n var method = events[key];\n if (method && method.constructor !== Function) method = this[events[key]];\n if (!method) continue;\n var match = key.match(delegateEventSplitter);\n var eventName = match[1],\n selector = match[2];\n eventName += '.delegateEvents' + this.cid;\n if (selector === '') this.$el.on(eventName, method.bind(this));else this.$el.on(eventName, selector, method.bind(this));\n }\n return this;\n }\n\n /**\n * undelegats all the `events`\n * @method undelegateEvents\n * @return {UIObject} itself\n */\n }, {\n key: \"undelegateEvents\",\n value: function undelegateEvents() {\n this.$el.off('.delegateEvents' + this.cid);\n return this;\n }\n\n /**\n * ensures the creation of this ui component\n * @method _ensureElement\n * @private\n */\n }, {\n key: \"_ensureElement\",\n value: function _ensureElement() {\n if (!this.el) {\n var attrs = $.extend(true, {}, this.attributes);\n if (this.id) attrs.id = this.id;\n if (this.className) attrs['class'] = this.className;\n var $el = $(DomRecycler.create(this.tagName)).attr(attrs);\n this.setElement($el, false);\n } else {\n this.setElement(this.el, false);\n }\n }\n\n /**\n * method called before resize the element\n * @method onResize\n * @return {UIObject} itself\n */\n }, {\n key: \"onResize\",\n value: function onResize() {\n return this;\n }\n\n /**\n * resize current element\n * @method resize\n * @param {Object} options the options object\n * @return {UIObject} itself\n */\n }, {\n key: \"resize\",\n value: function resize(options) {\n var newWidth = isNumber(options.width) ? \"\".concat(options.width, \"px\") : \"\".concat(options.width);\n var newHeight = isNumber(options.height) ? \"\".concat(options.height, \"px\") : \"\".concat(options.height);\n this.el.style.width = newWidth;\n this.el.style.height = newHeight;\n this.onResize(options);\n return this;\n }\n }]);\n}(BaseObject);\n\n/**\n * The PlayerError is responsible to receive and propagate errors.\n * @class PlayerError\n * @constructor\n * @extends BaseObject\n * @module components\n */\nvar PlayerError = /*#__PURE__*/function (_BaseObject) {\n function PlayerError() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var core = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, PlayerError);\n _this = _callSuper(this, PlayerError, [options]);\n _this.core = core;\n return _this;\n }\n\n /**\n * creates and trigger an error.\n * @method createError\n * @param {Object} err should be an object with code, description, level, origin, scope and raw error.\n */\n _inherits(PlayerError, _BaseObject);\n return _createClass(PlayerError, [{\n key: \"name\",\n get: function get() {\n return 'error';\n }\n\n /**\n * @property Levels\n * @type {Object} object with error levels\n */\n }, {\n key: \"createError\",\n value: function createError(err) {\n if (!this.core) {\n Log.warn(this.name, 'Core is not set. Error: ', err);\n return;\n }\n this.core.trigger(Events.ERROR, err);\n }\n }], [{\n key: \"Levels\",\n get: function get() {\n return {\n FATAL: 'FATAL',\n WARN: 'WARN',\n INFO: 'INFO'\n };\n }\n }]);\n}(BaseObject);\n\nvar ErrorMixin = {\n /**\n * creates an error.\n * @method createError\n * @param {Object} error should be an object with code, description, level and raw error.\n * @return {Object} Object with formatted error data including origin and scope\n */\n createError: function createError(error) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n useCodePrefix: true\n };\n var scope = this.constructor && this.constructor.type || '';\n var origin = this.name || scope;\n var i18n = this.i18n || this.core && this.core.i18n || this.container && this.container.i18n;\n var prefixedCode = \"\".concat(origin, \":\").concat(error && error.code || 'unknown');\n var defaultError = {\n description: '',\n level: PlayerError.Levels.FATAL,\n origin: origin,\n scope: scope,\n raw: {}\n };\n var errorData = Object.assign({}, defaultError, error, {\n code: options.useCodePrefix ? prefixedCode : error.code\n });\n if (i18n && errorData.level == PlayerError.Levels.FATAL && !errorData.UI) {\n var defaultUI = {\n title: i18n.t('default_error_title'),\n message: i18n.t('default_error_message')\n };\n errorData.UI = defaultUI;\n }\n this.playerError ? this.playerError.createError(errorData) : Log.warn(origin, 'PlayerError is not defined. Error: ', errorData);\n return errorData;\n }\n};\n\nvar UICorePlugin = /*#__PURE__*/function (_UIObject) {\n function UICorePlugin(core) {\n var _this;\n _classCallCheck(this, UICorePlugin);\n _this = _callSuper(this, UICorePlugin, [core.options]);\n _this.core = core;\n _this.enabled = true;\n _this.bindEvents();\n _this.render();\n return _this;\n }\n _inherits(UICorePlugin, _UIObject);\n return _createClass(UICorePlugin, [{\n key: \"playerError\",\n get: function get() {\n return this.core.playerError;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {}\n }, {\n key: \"getExternalInterface\",\n value: function getExternalInterface() {\n return {};\n }\n }, {\n key: \"enable\",\n value: function enable() {\n if (!this.enabled) {\n this.bindEvents();\n this.$el.show();\n this.enabled = true;\n }\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.stopListening();\n this.$el.hide();\n this.enabled = false;\n }\n }, {\n key: \"render\",\n value: function render() {\n return this;\n }\n }]);\n}(UIObject);\nObject.assign(UICorePlugin.prototype, ErrorMixin);\nUICorePlugin.extend = function (properties) {\n return extend(UICorePlugin, properties);\n};\nUICorePlugin.type = 'core';\n\nvar css_248z$5 = \".container[data-container] {\\n position: absolute;\\n background-color: black;\\n height: 100%;\\n width: 100%;\\n max-width: 100%; }\\n .container[data-container] .chromeless {\\n cursor: default; }\\n\\n[data-player]:not(.nocursor) .container[data-container]:not(.chromeless).pointer-enabled {\\n cursor: pointer; }\\n\";\n\n/**\n * An abstraction to represent a container for a given playback\n * TODO: describe its responsabilities\n * @class Container\n * @constructor\n * @extends UIObject\n * @module base\n */\nvar Container = /*#__PURE__*/function (_UIObject) {\n /**\n * it builds a container\n * @method constructor\n * @param {Object} options the options object\n * @param {Strings} i18n the internationalization component\n */\n function Container(options, i18n, playerError) {\n var _this;\n _classCallCheck(this, Container);\n _this = _callSuper(this, Container, [options]);\n _this._i18n = i18n;\n _this.currentTime = 0;\n _this.volume = 100;\n _this.playback = options.playback;\n _this.playerError = playerError;\n _this.settings = $.extend(true, {}, _this.playback.settings);\n _this.isReady = false;\n _this.mediaControlDisabled = false;\n _this.plugins = [_this.playback];\n _this.dblTapHandler = new DoubleEventHandler(500);\n _this.clickTimer = null;\n _this.clickDelay = 200; // FIXME: could be a player option\n _this.actionsMetadata = {};\n _this.bindEvents();\n return _this;\n }\n\n /**\n * binds playback events to the methods of the container.\n * it listens to playback's events and triggers them as container events.\n *\n * | Playback |\n * |----------|\n * | progress |\n * | timeupdate |\n * | ready |\n * | buffering |\n * | bufferfull |\n * | settingsupdate |\n * | loadedmetadata |\n * | highdefinitionupdate |\n * | bitrate |\n * | playbackstate |\n * | dvr |\n * | mediacontrol_disable |\n * | mediacontrol_enable |\n * | ended |\n * | play |\n * | pause |\n * | error |\n * | pip_enter |\n * | pip_exit |\n *\n * ps: the events usually translate from PLABACK_x to CONTAINER_x, you can check all the events at `Event` class.\n *\n * @method bindEvents\n */\n _inherits(Container, _UIObject);\n return _createClass(Container, [{\n key: \"name\",\n get:\n /**\n * container's name\n * @method name\n * @default Container\n * @return {String} container's name\n */\n function get() {\n return 'Container';\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n \"class\": 'container',\n 'data-container': ''\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'click': 'clicked',\n 'dblclick': 'dblClicked',\n 'touchend': 'dblTap',\n 'contextmenu': 'onContextMenu',\n 'mouseenter': 'mouseEnter',\n 'mouseleave': 'mouseLeave',\n 'mouseup': 'onMouseUp',\n 'mousedown': 'onMouseDown'\n };\n }\n\n /**\n * Determine if the playback has ended.\n * @property ended\n * @type Boolean\n */\n }, {\n key: \"ended\",\n get: function get() {\n return this.playback.ended;\n }\n\n /**\n * Determine if the playback is having to buffer in order for\n * playback to be smooth.\n * (i.e if a live stream is playing smoothly, this will be false)\n * @property buffering\n * @type Boolean\n */\n }, {\n key: \"buffering\",\n get: function get() {\n return this.playback.buffering;\n }\n\n /**\n * The internationalization plugin.\n * @property i18n\n * @type {Strings}\n */\n }, {\n key: \"i18n\",\n get: function get() {\n return this._i18n;\n }\n\n /**\n * checks if has closed caption tracks.\n * @property hasClosedCaptionsTracks\n * @type {Boolean}\n */\n }, {\n key: \"hasClosedCaptionsTracks\",\n get: function get() {\n return this.playback.hasClosedCaptionsTracks;\n }\n\n /**\n * gets the available closed caption tracks.\n * @property closedCaptionsTracks\n * @type {Array} an array of objects with at least 'id' and 'name' properties\n */\n }, {\n key: \"closedCaptionsTracks\",\n get: function get() {\n return this.playback.closedCaptionsTracks;\n }\n\n /**\n * gets the selected closed caption track index. (-1 is disabled)\n * @property closedCaptionsTrackId\n * @type {Number}\n */\n }, {\n key: \"closedCaptionsTrackId\",\n get: function get() {\n return this.playback.closedCaptionsTrackId;\n }\n\n /**\n * sets the selected closed caption track index. (-1 is disabled)\n * @property closedCaptionsTrackId\n * @type {Number}\n */,\n set: function set(trackId) {\n this.playback.closedCaptionsTrackId = trackId;\n }\n\n /**\n * returns a list of the available audio tracks.\n * @type {import('../../base/playback/playback').AudioTrack[]} audio tracks\n */\n }, {\n key: \"audioTracks\",\n get: function get() {\n return this.playback.audioTracks;\n }\n\n /**\n * returns the audio track currently in use.\n * @type {import('../../base/playback/playback').AudioTrack} audio track\n */\n }, {\n key: \"currentAudioTrack\",\n get: function get() {\n return this.playback.currentAudioTrack;\n }\n\n /**\n * returns the picture-in-picture state.\n * @type {Boolean}\n */\n }, {\n key: \"isPiPActive\",\n get: function get() {\n return this.playback.isPiPActive;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.playback, Events.PLAYBACK_PROGRESS, this.onProgress);\n this.listenTo(this.playback, Events.PLAYBACK_TIMEUPDATE, this.timeUpdated);\n this.listenTo(this.playback, Events.PLAYBACK_READY, this.ready);\n this.listenTo(this.playback, Events.PLAYBACK_BUFFERING, this.onBuffering);\n this.listenTo(this.playback, Events.PLAYBACK_BUFFERFULL, this.bufferfull);\n this.listenTo(this.playback, Events.PLAYBACK_SETTINGSUPDATE, this.settingsUpdate);\n this.listenTo(this.playback, Events.PLAYBACK_LOADEDMETADATA, this.loadedMetadata);\n this.listenTo(this.playback, Events.PLAYBACK_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);\n this.listenTo(this.playback, Events.PLAYBACK_BITRATE, this.updateBitrate);\n this.listenTo(this.playback, Events.PLAYBACK_PLAYBACKSTATE, this.playbackStateChanged);\n this.listenTo(this.playback, Events.PLAYBACK_DVR, this.playbackDvrStateChanged);\n this.listenTo(this.playback, Events.PLAYBACK_MEDIACONTROL_DISABLE, this.disableMediaControl);\n this.listenTo(this.playback, Events.PLAYBACK_MEDIACONTROL_ENABLE, this.enableMediaControl);\n this.listenTo(this.playback, Events.PLAYBACK_SEEK, this.onSeek);\n this.listenTo(this.playback, Events.PLAYBACK_SEEKED, this.onSeeked);\n this.listenTo(this.playback, Events.PLAYBACK_ENDED, this.onEnded);\n this.listenTo(this.playback, Events.PLAYBACK_PLAY, this.playing);\n this.listenTo(this.playback, Events.PLAYBACK_PAUSE, this.paused);\n this.listenTo(this.playback, Events.PLAYBACK_STOP, this.stopped);\n this.listenTo(this.playback, Events.PLAYBACK_ERROR, this.error);\n this.listenTo(this.playback, Events.PLAYBACK_SUBTITLE_AVAILABLE, this.subtitleAvailable);\n this.listenTo(this.playback, Events.PLAYBACK_SUBTITLE_CHANGED, this.subtitleChanged);\n this.listenTo(this.playback, Events.PLAYBACK_AUDIO_AVAILABLE, this.audioAvailable);\n this.listenTo(this.playback, Events.PLAYBACK_AUDIO_CHANGED, this.audioChanged);\n this.listenTo(this.playback, Events.PLAYBACK_PIP_ENTER, this.onEnterPiP);\n this.listenTo(this.playback, Events.PLAYBACK_PIP_EXIT, this.onExitPiP);\n }\n }, {\n key: \"subtitleAvailable\",\n value: function subtitleAvailable() {\n this.trigger(Events.CONTAINER_SUBTITLE_AVAILABLE);\n }\n }, {\n key: \"subtitleChanged\",\n value: function subtitleChanged(track) {\n this.trigger(Events.CONTAINER_SUBTITLE_CHANGED, track);\n }\n }, {\n key: \"audioAvailable\",\n value: function audioAvailable(tracks) {\n this.trigger(Events.CONTAINER_AUDIO_AVAILABLE, tracks);\n }\n }, {\n key: \"audioChanged\",\n value: function audioChanged(track) {\n this.trigger(Events.CONTAINER_AUDIO_CHANGED, track);\n }\n }, {\n key: \"playbackStateChanged\",\n value: function playbackStateChanged(state) {\n this.trigger(Events.CONTAINER_PLAYBACKSTATE, state);\n }\n }, {\n key: \"playbackDvrStateChanged\",\n value: function playbackDvrStateChanged(dvrInUse) {\n this.settings = this.playback.settings;\n this.dvrInUse = dvrInUse;\n this.trigger(Events.CONTAINER_PLAYBACKDVRSTATECHANGED, dvrInUse);\n }\n }, {\n key: \"updateBitrate\",\n value: function updateBitrate(newBitrate) {\n this.trigger(Events.CONTAINER_BITRATE, newBitrate);\n }\n }, {\n key: \"statsReport\",\n value: function statsReport(metrics) {\n this.trigger(Events.CONTAINER_STATS_REPORT, metrics);\n }\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n return this.playback.getPlaybackType();\n }\n\n /**\n * returns `true` if DVR is enable otherwise `false`.\n * @method isDvrEnabled\n * @return {Boolean}\n */\n }, {\n key: \"isDvrEnabled\",\n value: function isDvrEnabled() {\n return !!this.playback.dvrEnabled;\n }\n\n /**\n * returns `true` if DVR is in use otherwise `false`.\n * @method isDvrInUse\n * @return {Boolean}\n */\n }, {\n key: \"isDvrInUse\",\n value: function isDvrInUse() {\n return !!this.dvrInUse;\n }\n\n /**\n * destroys the container\n * @method destroy\n */\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.disableResizeObserver();\n this.trigger(Events.CONTAINER_DESTROYED, this, this.name);\n this.stopListening();\n this.plugins.forEach(function (plugin) {\n return plugin.destroy();\n });\n this.$el.remove();\n this.undelegateEvents();\n }\n }, {\n key: \"setStyle\",\n value: function setStyle(style) {\n this.$el.css(style);\n }\n }, {\n key: \"ready\",\n value: function ready() {\n this.isReady = true;\n this.trigger(Events.CONTAINER_READY, this.name);\n }\n }, {\n key: \"isPlaying\",\n value: function isPlaying() {\n return this.playback.isPlaying();\n }\n }, {\n key: \"getStartTimeOffset\",\n value: function getStartTimeOffset() {\n return this.playback.getStartTimeOffset();\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.currentTime;\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.playback.getDuration();\n }\n }, {\n key: \"error\",\n value: function error(_error) {\n if (!this.isReady) this.ready();\n this.trigger(Events.CONTAINER_ERROR, _error, this.name);\n }\n }, {\n key: \"loadedMetadata\",\n value: function loadedMetadata(metadata) {\n this.trigger(Events.CONTAINER_LOADEDMETADATA, metadata);\n }\n }, {\n key: \"timeUpdated\",\n value: function timeUpdated(timeProgress) {\n this.currentTime = timeProgress.current;\n this.trigger(Events.CONTAINER_TIMEUPDATE, timeProgress, this.name);\n }\n }, {\n key: \"onProgress\",\n value: function onProgress() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n this.trigger.apply(this, [Events.CONTAINER_PROGRESS].concat(args, [this.name]));\n }\n }, {\n key: \"playing\",\n value: function playing() {\n this.trigger(Events.CONTAINER_PLAY, this.name, this.actionsMetadata.playEvent || {});\n this.actionsMetadata.playEvent = {};\n }\n }, {\n key: \"paused\",\n value: function paused() {\n this.trigger(Events.CONTAINER_PAUSE, this.name, this.actionsMetadata.pauseEvent || {});\n this.actionsMetadata.pauseEvent = {};\n }\n }, {\n key: \"stopped\",\n value: function stopped() {\n this.trigger(Events.CONTAINER_STOP, this.actionsMetadata.stopEvent || {});\n this.actionsMetadata.stopEvent = {};\n }\n\n /**\n * plays the playback\n * @method play\n * @param {Object} customData\n */\n }, {\n key: \"play\",\n value: function play() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.actionsMetadata.playEvent = customData;\n this.playback.play(customData);\n }\n\n /**\n * stops the playback\n * @method stop\n * @param {Object} customData\n */\n }, {\n key: \"stop\",\n value: function stop() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.actionsMetadata.stopEvent = customData;\n this.playback.stop(customData);\n this.currentTime = 0;\n }\n }, {\n key: \"switchAudioTrack\",\n value: function switchAudioTrack(id) {\n this.playback.switchAudioTrack(id);\n }\n\n /**\n * pauses the playback\n * @method pause\n * @param {Object} customData\n */\n }, {\n key: \"pause\",\n value: function pause() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.actionsMetadata.pauseEvent = customData;\n this.playback.pause(customData);\n }\n }, {\n key: \"onEnded\",\n value: function onEnded() {\n this.trigger(Events.CONTAINER_ENDED, this, this.name);\n this.currentTime = 0;\n }\n }, {\n key: \"clicked\",\n value: function clicked() {\n var _this2 = this;\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n // The event is delayed because it can be canceled by a double-click event\n // An example of use is to prevent playback from pausing when switching to full screen\n this.clickTimer = setTimeout(function () {\n _this2.clickTimer && _this2.trigger(Events.CONTAINER_CLICK, _this2, _this2.name);\n }, this.clickDelay);\n }\n }\n }, {\n key: \"cancelClicked\",\n value: function cancelClicked() {\n clearTimeout(this.clickTimer);\n this.clickTimer = null;\n }\n }, {\n key: \"dblClicked\",\n value: function dblClicked() {\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.cancelClicked();\n this.trigger(Events.CONTAINER_DBLCLICK, this, this.name);\n }\n }\n }, {\n key: \"dblTap\",\n value: function dblTap(evt) {\n var _this3 = this;\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.dblTapHandler.handle(evt, function () {\n _this3.cancelClicked();\n _this3.trigger(Events.CONTAINER_DBLCLICK, _this3, _this3.name);\n });\n }\n }\n }, {\n key: \"onContextMenu\",\n value: function onContextMenu(event) {\n if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events.CONTAINER_CONTEXTMENU, event, this.name);\n }\n }, {\n key: \"seek\",\n value: function seek(time) {\n this.playback.seek(time);\n }\n }, {\n key: \"onSeek\",\n value: function onSeek(time) {\n this.trigger(Events.CONTAINER_SEEK, time, this.name);\n }\n }, {\n key: \"onSeeked\",\n value: function onSeeked() {\n this.trigger(Events.CONTAINER_SEEKED, this.name);\n }\n }, {\n key: \"seekPercentage\",\n value: function seekPercentage(percentage) {\n var duration = this.getDuration();\n if (percentage >= 0 && percentage <= 100) {\n var time = duration * (percentage / 100);\n this.seek(time);\n }\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(value) {\n this.volume = parseFloat(value);\n this.trigger(Events.CONTAINER_VOLUME, this.volume, this.name);\n this.playback.volume(this.volume);\n }\n }, {\n key: \"fullscreen\",\n value: function fullscreen() {\n this.trigger(Events.CONTAINER_FULLSCREEN, this.name);\n }\n }, {\n key: \"onBuffering\",\n value: function onBuffering() {\n this.trigger(Events.CONTAINER_STATE_BUFFERING, this.name);\n }\n }, {\n key: \"bufferfull\",\n value: function bufferfull() {\n this.trigger(Events.CONTAINER_STATE_BUFFERFULL, this.name);\n }\n }, {\n key: \"onEnterPiP\",\n value: function onEnterPiP() {\n this.trigger(Events.CONTAINER_PIP_ENTER, this.name);\n }\n }, {\n key: \"onExitPiP\",\n value: function onExitPiP() {\n this.trigger(Events.CONTAINER_PIP_EXIT, this.name);\n }\n\n /**\n * adds plugin to the container\n * @method addPlugin\n * @param {Object} plugin\n */\n }, {\n key: \"addPlugin\",\n value: function addPlugin(plugin) {\n this.plugins.push(plugin);\n }\n\n /**\n * checks if a plugin, given its name, exist\n * @method hasPlugin\n * @param {String} name\n * @return {Boolean}\n */\n }, {\n key: \"hasPlugin\",\n value: function hasPlugin(name) {\n return !!this.getPlugin(name);\n }\n\n /**\n * get the plugin given its name\n * @method getPlugin\n * @param {String} name\n */\n }, {\n key: \"getPlugin\",\n value: function getPlugin(name) {\n return this.plugins.filter(function (plugin) {\n return plugin.name === name;\n })[0];\n }\n }, {\n key: \"mouseEnter\",\n value: function mouseEnter() {\n if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events.CONTAINER_MOUSE_ENTER);\n }\n }, {\n key: \"mouseLeave\",\n value: function mouseLeave() {\n if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events.CONTAINER_MOUSE_LEAVE);\n }\n }, {\n key: \"mouseUp\",\n value: function mouseUp() {\n if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events.CONTAINER_MOUSE_UP);\n }\n }, {\n key: \"mouseDown\",\n value: function mouseDown() {\n if (!this.options.chromeless || this.options.allowUserInteraction) this.trigger(Events.CONTAINER_MOUSE_DOWN);\n }\n }, {\n key: \"enterPiP\",\n value: function enterPiP() {\n this.playback.enterPiP();\n }\n }, {\n key: \"exitPiP\",\n value: function exitPiP() {\n this.playback.exitPiP();\n }\n }, {\n key: \"settingsUpdate\",\n value: function settingsUpdate() {\n this.settings = this.playback.settings;\n this.trigger(Events.CONTAINER_SETTINGSUPDATE);\n }\n }, {\n key: \"highDefinitionUpdate\",\n value: function highDefinitionUpdate(isHD) {\n this.trigger(Events.CONTAINER_HIGHDEFINITIONUPDATE, isHD);\n }\n }, {\n key: \"isHighDefinitionInUse\",\n value: function isHighDefinitionInUse() {\n return this.playback.isHighDefinitionInUse();\n }\n }, {\n key: \"disableMediaControl\",\n value: function disableMediaControl() {\n if (!this.mediaControlDisabled) {\n this.mediaControlDisabled = true;\n this.trigger(Events.CONTAINER_MEDIACONTROL_DISABLE);\n }\n }\n }, {\n key: \"enableMediaControl\",\n value: function enableMediaControl() {\n if (this.mediaControlDisabled) {\n this.mediaControlDisabled = false;\n this.trigger(Events.CONTAINER_MEDIACONTROL_ENABLE);\n }\n }\n }, {\n key: \"updateStyle\",\n value: function updateStyle() {\n if (!this.options.chromeless || this.options.allowUserInteraction) this.$el.removeClass('chromeless');else this.$el.addClass('chromeless');\n }\n }, {\n key: \"enableResizeObserver\",\n value: function enableResizeObserver() {\n var _this4 = this;\n this.disableResizeObserver();\n this.resizeObserverInterval = setInterval(function () {\n return _this4.checkResize();\n }, 500);\n }\n }, {\n key: \"disableResizeObserver\",\n value: function disableResizeObserver() {\n this.resizeObserverInterval && clearInterval(this.resizeObserverInterval);\n }\n }, {\n key: \"checkResize\",\n value: function checkResize() {\n var newSize = {\n width: this.el.clientWidth,\n height: this.el.clientHeight\n };\n var _ref = this.currentSize || {},\n width = _ref.width,\n height = _ref.height;\n var isResize = height !== newSize.height || width !== newSize.width;\n if (!isResize) return;\n this.currentSize = newSize;\n this.trigger(Events.CONTAINER_RESIZE, newSize);\n }\n\n /**\n * method called before resize the element\n * @method onResize\n * @param {Object} options the options object\n * @return {UIObject} itself\n */\n }, {\n key: \"onResize\",\n value: function onResize(options) {\n this.playback.resize(options);\n return this;\n }\n\n /**\n * enables to configure the container after its creation\n * @method configure\n * @param {Object} options all the options to change in form of a javascript object\n * @param {Object} oldOptions previous options\n */\n }, {\n key: \"configure\",\n value: function configure(options, oldOptions) {\n this.trigger(Events.CONTAINER_OPTIONS_WILL_CHANGE, oldOptions);\n this._options = $.extend(true, this._options, options);\n this.updateStyle();\n this.playback.configure(this.options);\n this.trigger(Events.CONTAINER_OPTIONS_CHANGE);\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = Styler.getStyleFor(css_248z$5.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n this.$el.append(this.playback.render().el);\n this.updateStyle();\n this.checkResize();\n this.enableResizeObserver();\n return this;\n }\n }]);\n}(UIObject);\nObject.assign(Container.prototype, ErrorMixin);\n\n/**\n * An object representing a single audio track.\n * @typedef {Object} AudioTrack\n * @property {string} id - A unique identifier for the track. Used to identify it among the others.\n * @property {string} language - The language of the track (e.g., 'en', 'pt-BR').\n * @property {string} [label] - An optional label to be used in the UI to describe the track.\n * @property {('main'|'description')} kind - The category the audio track belongs to.\n * The kind 'description' is applied to audio tracks that narrate or describe the visual content.\n */\n\n/**\n * An abstraction to represent a generic playback, it's like an interface to be implemented by subclasses.\n * @class Playback\n * @constructor\n * @extends UIObject\n * @module base\n */\nvar Playback = /*#__PURE__*/function (_UIObject) {\n /**\n * @method constructor\n * @param {Object} options the options object\n * @param {Strings} i18n the internationalization component\n */\n function Playback(options, i18n, playerError) {\n var _this;\n _classCallCheck(this, Playback);\n _this = _callSuper(this, Playback, [options]);\n _this.settings = {};\n _this._i18n = i18n;\n _this.playerError = playerError;\n _this._consented = false;\n return _this;\n }\n\n /**\n * Gives user consent to playback (mobile devices).\n * @method consent\n * @param {Function} callback function called when playback is consented\n */\n _inherits(Playback, _UIObject);\n return _createClass(Playback, [{\n key: \"isAudioOnly\",\n get:\n /**\n * Determine if the playback does not contain video/has video but video should be ignored.\n * @property isAudioOnly\n * @type Boolean\n */\n function get() {\n return false;\n }\n }, {\n key: \"isAdaptive\",\n get: function get() {\n return false;\n }\n\n /**\n * Determine if the playback has ended.\n * @property ended\n * @type Boolean\n */\n }, {\n key: \"ended\",\n get: function get() {\n return false;\n }\n\n /**\n * The internationalization plugin.\n * @property i18n\n * @type {Strings}\n */\n }, {\n key: \"i18n\",\n get: function get() {\n return this._i18n;\n }\n\n /**\n * Determine if the playback is having to buffer in order for\n * playback to be smooth.\n * (i.e if a live stream is playing smoothly, this will be false)\n * @property buffering\n * @type Boolean\n */\n }, {\n key: \"buffering\",\n get: function get() {\n return false;\n }\n\n /**\n * The estimated time (in seconds) of a video's live edge plus time sync playlist advanced.\n * (i.e if first playlist hasn't been loaded, will return 0)\n * @property latency\n * @type {Number}\n */\n }, {\n key: \"latency\",\n get: function get() {\n return null;\n }\n\n /**\n * The datetime value relative for a video's active level Program Date Time, if present.\n * (i.e if first playlist hasn't been loaded, will return null)\n * @property currentProgramDateTime\n * @return {Date}\n */\n }, {\n key: \"currentProgramDateTime\",\n get: function get() {\n return null;\n }\n\n /**\n * checks if picture in picture mode is active.\n * @property isPiPActive\n * @type {Boolean} `true` if the current playback is in picture in picture mode, otherwise `false`\n */\n }, {\n key: \"isPiPActive\",\n get: function get() {\n return false;\n }\n }, {\n key: \"consent\",\n value: function consent(cb) {\n typeof cb === 'function' && cb();\n }\n\n /**\n * plays the playback.\n * @method play\n */\n }, {\n key: \"play\",\n value: function play() {}\n\n /**\n * pauses the playback.\n * @method pause\n */\n }, {\n key: \"pause\",\n value: function pause() {}\n\n /**\n * stops the playback.\n * @method stop\n */\n }, {\n key: \"stop\",\n value: function stop() {}\n\n /**\n * enter in picture in picture mode\n * @method enterPiP\n */\n }, {\n key: \"enterPiP\",\n value: function enterPiP() {}\n\n /**\n * exit from picture in picture mode\n * @method exitPiP\n */\n }, {\n key: \"exitPiP\",\n value: function exitPiP() {}\n\n /**\n * seeks the playback to a given `time` in seconds\n * @method seek\n * @param {Number} time should be a number between 0 and the video duration\n */\n }, {\n key: \"seek\",\n value: function seek(time) {} // eslint-disable-line no-unused-vars\n\n /**\n * seeks the playback to a given `percentage` in percentage\n * @method seekPercentage\n * @param {Number} time should be a number between 0 and 100\n */\n }, {\n key: \"seekPercentage\",\n value: function seekPercentage(percentage) {} // eslint-disable-line no-unused-vars\n\n /**\n * The time that \"0\" now represents relative to when playback started.\n * For a stream with a sliding window this will increase as content is\n * removed from the beginning.\n * @method getStartTimeOffset\n * @return {Number} time (in seconds) that time \"0\" represents.\n */\n }, {\n key: \"getStartTimeOffset\",\n value: function getStartTimeOffset() {\n return 0;\n }\n\n /**\n * gets the duration in seconds\n * @method getDuration\n * @return {Number} duration (in seconds) of the current source\n */\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return 0;\n }\n\n /**\n * checks if the playback is playing.\n * @method isPlaying\n * @return {Boolean} `true` if the current playback is playing, otherwise `false`\n */\n }, {\n key: \"isPlaying\",\n value: function isPlaying() {\n return false;\n }\n\n /**\n * checks if the playback is ready.\n * @property isReady\n * @type {Boolean} `true` if the current playback is ready, otherwise `false`\n */\n }, {\n key: \"isReady\",\n get: function get() {\n return false;\n }\n\n /**\n * checks if the playback has closed caption tracks.\n * @property hasClosedCaptionsTracks\n * @type {Boolean}\n */\n }, {\n key: \"hasClosedCaptionsTracks\",\n get: function get() {\n return this.closedCaptionsTracks.length > 0;\n }\n\n /**\n * gets the playback available closed caption tracks.\n * @property closedCaptionsTracks\n * @type {Array} an array of objects with at least 'id' and 'name' properties\n */\n }, {\n key: \"closedCaptionsTracks\",\n get: function get() {\n return [];\n }\n\n /**\n * gets the selected closed caption track index. (-1 is disabled)\n * @property closedCaptionsTrackId\n * @type {Number}\n */\n }, {\n key: \"closedCaptionsTrackId\",\n get: function get() {\n return -1;\n }\n\n /**\n * sets the selected closed caption track index. (-1 is disabled)\n * @property closedCaptionsTrackId\n * @type {Number}\n */,\n set: function set(trackId) {} // eslint-disable-line no-unused-vars\n\n /**\n * returns a list of the available audio tracks for the playback.\n * @type {AudioTrack[]} audio tracks\n */\n }, {\n key: \"audioTracks\",\n get: function get() {\n return [];\n }\n\n /**\n * returns the audio track currently in use by the playback.\n * @type {AudioTrack} audio track\n */\n }, {\n key: \"currentAudioTrack\",\n get: function get() {\n return null;\n }\n\n /**\n * switches the current audio track used by the playback.\n * @param {string} id - id of the audio track to be set.\n */\n }, {\n key: \"switchAudioTrack\",\n value: function switchAudioTrack(id) {} // eslint-disable-line no-unused-vars\n\n /**\n * gets the playback type (`'vod', 'live', 'aod'`)\n * @method getPlaybackType\n * @return {String} you should write the playback type otherwise it'll assume `'no_op'`\n * @example\n * ```javascript\n * html5VideoPlayback.getPlaybackType() //vod\n * html5AudioPlayback.getPlaybackType() //aod\n * html5VideoPlayback.getPlaybackType() //live\n * flashHlsPlayback.getPlaybackType() //live\n * ```\n */\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n return Playback.NO_OP;\n }\n\n /**\n * checks if the playback is in HD.\n * @method isHighDefinitionInUse\n * @return {Boolean} `true` if the playback is playing in HD, otherwise `false`\n */\n }, {\n key: \"isHighDefinitionInUse\",\n value: function isHighDefinitionInUse() {\n return false;\n }\n\n /**\n * mutes the playback\n * @method mute\n */\n }, {\n key: \"mute\",\n value: function mute() {}\n\n /**\n * restores the playback volume\n * @method unmute\n */\n }, {\n key: \"unmute\",\n value: function unmute() {}\n\n /**\n * sets the volume for the playback\n * @method volume\n * @param {Number} value a number between 0 (`muted`) to 100 (`max`)\n */\n }, {\n key: \"volume\",\n value: function volume(value) {} // eslint-disable-line no-unused-vars\n\n /**\n * enables to configure the playback after its creation\n * @method configure\n * @param {Object} options all the options to change in form of a javascript object\n */\n }, {\n key: \"configure\",\n value: function configure(options) {\n this._options = $.extend(true, this._options, options);\n }\n\n /**\n * attempt to autoplays the playback.\n * @method attemptAutoPlay\n */\n }, {\n key: \"attemptAutoPlay\",\n value: function attemptAutoPlay() {\n var _this2 = this;\n this.canAutoPlay(function (result, error) {\n // eslint-disable-line no-unused-vars\n result && _this2.play();\n });\n }\n\n /**\n * checks if the playback can autoplay.\n * @method canAutoPlay\n * @param {Function} callback function where first param is Boolean and second param is playback Error or null\n */\n }, {\n key: \"canAutoPlay\",\n value: function canAutoPlay(cb) {\n cb(true, null); // Assume playback can autoplay by default\n }\n\n /**\n * method called before resize the element\n * @method onResize\n * @param {Object} options the options object\n * @return {UIObject} itself\n */\n }, {\n key: \"onResize\",\n value: function onResize(options) {\n this.trigger(Events.PLAYBACK_RESIZE, options);\n return this;\n }\n }]);\n}(UIObject);\nObject.assign(Playback.prototype, ErrorMixin);\nPlayback.extend = function (properties) {\n return extend(Playback, properties);\n};\n\n/**\n * checks if the playback can play a given `source`\n * If a mimeType is provided then this will be used instead of inferring the mimetype\n * from the source extension.\n * @method canPlay\n * @static\n * @param {String} source the given source ex: `http://example.com/play.mp4`\n * @param {String} [mimeType] the given mime type, ex: `'application/vnd.apple.mpegurl'`\n * @return {Boolean} `true` if the playback is playable, otherwise `false`\n */\nPlayback.canPlay = function (source, mimeType) {\n // eslint-disable-line no-unused-vars\n return false;\n};\n\n/**\n * a playback type for video on demand\n *\n * @property VOD\n * @static\n * @type String\n */\nPlayback.VOD = 'vod';\n/**\n * a playback type for audio on demand\n *\n * @property AOD\n * @static\n * @type String\n */\nPlayback.AOD = 'aod';\n/**\n * a playback type for live video\n *\n * @property LIVE\n * @static\n * @type String\n */\nPlayback.LIVE = 'live';\n/**\n * a default playback type\n *\n * @property NO_OP\n * @static\n * @type String\n */\nPlayback.NO_OP = 'no_op';\n/**\n * the plugin type\n *\n * @property type\n * @static\n * @type String\n */\nPlayback.type = 'playback';\n\nvar ContainerFactory = /*#__PURE__*/function (_BaseObject) {\n function ContainerFactory(options, loader, i18n, playerError) {\n var _this;\n _classCallCheck(this, ContainerFactory);\n _this = _callSuper(this, ContainerFactory, [options]);\n _this._i18n = i18n;\n _this.loader = loader;\n _this.playerError = playerError;\n return _this;\n }\n _inherits(ContainerFactory, _BaseObject);\n return _createClass(ContainerFactory, [{\n key: \"options\",\n get: function get() {\n return this._options;\n },\n set: function set(options) {\n this._options = options;\n }\n }, {\n key: \"createContainers\",\n value: function createContainers() {\n var _this2 = this;\n return $.Deferred(function (promise) {\n promise.resolve(_this2.options.sources.map(function (source) {\n return _this2.createContainer(source);\n }));\n });\n }\n }, {\n key: \"findPlaybackPlugin\",\n value: function findPlaybackPlugin(source, mimeType) {\n return this.loader.playbackPlugins.filter(function (p) {\n return p.canPlay(source, mimeType);\n })[0];\n }\n }, {\n key: \"createContainer\",\n value: function createContainer(source) {\n var resolvedSource = null;\n var mimeType = this.options.mimeType;\n if (_typeof(source) === 'object') {\n resolvedSource = source.source.toString();\n if (source.mimeType) mimeType = source.mimeType;\n } else {\n resolvedSource = source.toString();\n }\n if (resolvedSource.match(/^\\/\\//)) resolvedSource = window.location.protocol + resolvedSource;\n var options = _objectSpread2(_objectSpread2({}, this.options), {}, {\n src: resolvedSource,\n mimeType: mimeType\n });\n var playbackPlugin = this.findPlaybackPlugin(resolvedSource, mimeType);\n\n // Fallback to empty playback object until we sort out unsupported sources error without NoOp playback\n var playback = playbackPlugin ? new playbackPlugin(options, this._i18n, this.playerError) : new Playback();\n options = _objectSpread2(_objectSpread2({}, options), {}, {\n playback: playback\n });\n var container = new Container(options, this._i18n, this.playerError);\n var defer = $.Deferred();\n defer.promise(container);\n this.addContainerPlugins(container);\n this.listenToOnce(container, Events.CONTAINER_READY, function () {\n return defer.resolve(container);\n });\n return container;\n }\n }, {\n key: \"addContainerPlugins\",\n value: function addContainerPlugins(container) {\n this.loader.containerPlugins.forEach(function (Plugin) {\n container.addPlugin(new Plugin(container));\n });\n }\n }]);\n}(BaseObject);\n\nvar css_248z$4 = \"[data-player] {\\n -webkit-touch-callout: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -o-user-select: none;\\n user-select: none;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n transform: translate3d(0, 0, 0);\\n position: relative;\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font-style: normal;\\n font-weight: normal;\\n text-align: center;\\n overflow: hidden;\\n font-size: 100%;\\n font-family: \\\"Roboto\\\", \\\"Open Sans\\\", Arial, sans-serif;\\n text-shadow: 0 0 0;\\n box-sizing: border-box; }\\n [data-player]:focus {\\n outline: 0; }\\n [data-player] * {\\n box-sizing: inherit; }\\n [data-player] > * {\\n float: none;\\n max-width: none; }\\n [data-player] > div {\\n display: block; }\\n [data-player].fullscreen {\\n width: 100% !important;\\n height: 100% !important;\\n top: 0;\\n left: 0; }\\n [data-player].nocursor {\\n cursor: none; }\\n\\n.clappr-style {\\n display: none !important; }\\n\";\n\nvar css_248z$3 = \"[data-player] div, [data-player] span, [data-player] applet, [data-player] object, [data-player] iframe,\\n[data-player] h1, [data-player] h2, [data-player] h3, [data-player] h4, [data-player] h5, [data-player] h6, [data-player] p, [data-player] blockquote, [data-player] pre,\\n[data-player] a, [data-player] abbr, [data-player] acronym, [data-player] address, [data-player] big, [data-player] cite, [data-player] code,\\n[data-player] del, [data-player] dfn, [data-player] em, [data-player] img, [data-player] ins, [data-player] kbd, [data-player] q, [data-player] s, [data-player] samp,\\n[data-player] small, [data-player] strike, [data-player] strong, [data-player] sub, [data-player] sup, [data-player] tt, [data-player] var,\\n[data-player] b, [data-player] u, [data-player] i, [data-player] center,\\n[data-player] dl, [data-player] dt, [data-player] dd, [data-player] ol, [data-player] ul, [data-player] li,\\n[data-player] fieldset, [data-player] form, [data-player] label, [data-player] legend,\\n[data-player] table, [data-player] caption, [data-player] tbody, [data-player] tfoot, [data-player] thead, [data-player] tr, [data-player] th, [data-player] td,\\n[data-player] article, [data-player] aside, [data-player] canvas, [data-player] details, [data-player] embed,\\n[data-player] figure, [data-player] figcaption, [data-player] footer, [data-player] header, [data-player] hgroup,\\n[data-player] menu, [data-player] nav, [data-player] output, [data-player] ruby, [data-player] section, [data-player] summary,\\n[data-player] time, [data-player] mark, [data-player] audio, [data-player] video {\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font: inherit;\\n font-size: 100%;\\n vertical-align: baseline; }\\n\\n[data-player] table {\\n border-collapse: collapse;\\n border-spacing: 0; }\\n\\n[data-player] caption, [data-player] th, [data-player] td {\\n text-align: left;\\n font-weight: normal;\\n vertical-align: middle; }\\n\\n[data-player] q, [data-player] blockquote {\\n quotes: none; }\\n [data-player] q:before, [data-player] q:after, [data-player] blockquote:before, [data-player] blockquote:after {\\n content: \\\"\\\";\\n content: none; }\\n\\n[data-player] a img {\\n border: none; }\\n\";\n\n/**\n * The Core is responsible to manage Containers and the player state.\n * @class Core\n * @constructor\n * @extends UIObject\n * @module components\n */\nvar Core = /*#__PURE__*/function (_UIObject) {\n function Core(options) {\n var _this;\n _classCallCheck(this, Core);\n _this = _callSuper(this, Core, [options]);\n _this.playerError = new PlayerError(options, _this);\n _this.configureDomRecycler();\n _this.firstResize = true;\n _this.styleRendered = false;\n _this.plugins = [];\n _this.containers = [];\n //FIXME fullscreen api sucks\n _this._boundFullscreenHandler = function () {\n return _this.handleFullscreenChange();\n };\n _this._boundHandleWindowResize = function (o) {\n return _this.handleWindowResize(o);\n };\n $(document).bind('fullscreenchange', _this._boundFullscreenHandler);\n $(document).bind('MSFullscreenChange', _this._boundFullscreenHandler);\n $(document).bind('mozfullscreenchange', _this._boundFullscreenHandler);\n Browser.isMobile && $(window).bind('resize', _this._boundHandleWindowResize);\n return _this;\n }\n _inherits(Core, _UIObject);\n return _createClass(Core, [{\n key: \"events\",\n get: function get() {\n return {\n 'webkitfullscreenchange': 'handleFullscreenChange',\n 'mousemove': 'onMouseMove',\n 'mouseleave': 'onMouseLeave'\n };\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'data-player': '',\n tabindex: 9999\n };\n }\n\n /**\n * checks if the core is ready.\n * @property isReady\n * @type {Boolean} `true` if the core is ready, otherwise `false`\n */\n }, {\n key: \"isReady\",\n get: function get() {\n return !!this.ready;\n }\n\n /**\n * The internationalization plugin.\n * @property i18n\n * @type {Strings}\n */\n }, {\n key: \"i18n\",\n get: function get() {\n return this.getPlugin('strings') || {\n t: function t(key) {\n return key;\n }\n };\n }\n\n /**\n * @deprecated\n * This property currently exists for backward compatibility reasons.\n * If you need to access the media control instance, use the method getPlugin('media_control').\n * This approach is still not recommended.\n */\n }, {\n key: \"mediaControl\",\n get: function get() {\n return this._mediaControl || (this._mediaControl = this.getPlugin('media_control')) || this.dummyMediaControl;\n }\n }, {\n key: \"dummyMediaControl\",\n get: function get() {\n if (this._dummyMediaControl) return this._dummyMediaControl;\n this._dummyMediaControl = new UICorePlugin(this);\n return this._dummyMediaControl;\n }\n\n /**\n * gets the active container reference.\n * @property activeContainer\n * @type {Object}\n */\n }, {\n key: \"activeContainer\",\n get: function get() {\n return this._activeContainer;\n }\n\n /**\n * sets the active container reference and trigger a event with the new reference.\n * @property activeContainer\n * @type {Object}\n */,\n set: function set(container) {\n this._activeContainer = container;\n this.trigger(Events.CORE_ACTIVE_CONTAINER_CHANGED, this._activeContainer);\n }\n\n /**\n * gets the active playback reference.\n * @property activePlayback\n * @type {Object}\n */\n }, {\n key: \"activePlayback\",\n get: function get() {\n return this.activeContainer && this.activeContainer.playback;\n }\n\n /**\n * gets the active playback's video element.\n * @property activePlaybackEl\n * @type {Object}\n */\n }, {\n key: \"activePlaybackEl\",\n get: function get() {\n if (!this.activePlayback) return undefined;\n return this.activePlayback.$el ? this.activePlayback.$el.find('video')[0] || this.activePlayback.el : this.activePlayback.el;\n }\n }, {\n key: \"configureDomRecycler\",\n value: function configureDomRecycler() {\n var recycleVideo = this.options && this.options.playback && this.options.playback.recycleVideo;\n DomRecycler.configure({\n recycleVideo: recycleVideo\n });\n }\n }, {\n key: \"createContainers\",\n value: function createContainers(options) {\n this.defer = $.Deferred();\n this.defer.promise(this);\n this.containerFactory = new ContainerFactory(options, options.loader, this.i18n, this.playerError);\n this.prepareContainers();\n }\n }, {\n key: \"prepareContainers\",\n value: function prepareContainers() {\n var _this2 = this;\n this.containerFactory.createContainers().then(function (containers) {\n return _this2.setupContainers(containers);\n }).then(function (containers) {\n return _this2.resolveOnContainersReady(containers);\n });\n }\n }, {\n key: \"updateSize\",\n value: function updateSize() {\n this.isFullscreen() ? this.setFullscreen() : this.setPlayerSize();\n }\n }, {\n key: \"setFullscreen\",\n value: function setFullscreen() {\n if (!Browser.isiOS) {\n this.$el.addClass('fullscreen');\n this.$el.removeAttr('style');\n this.previousSize = {\n width: this.options.width,\n height: this.options.height\n };\n this.currentSize = {\n width: $(window).width(),\n height: $(window).height()\n };\n }\n }\n }, {\n key: \"setPlayerSize\",\n value: function setPlayerSize() {\n this.$el.removeClass('fullscreen');\n this.currentSize = this.previousSize;\n this.previousSize = {\n width: $(window).width(),\n height: $(window).height()\n };\n this.resize(this.currentSize);\n }\n\n /**\n * method called before resize the element\n * @method onResize\n * @param {Object} options the options object\n * @return {UIObject} itself\n */\n }, {\n key: \"onResize\",\n value: function onResize(options) {\n this.previousSize = {\n width: this.options.width,\n height: this.options.height\n };\n this.options.width = options.width;\n this.options.height = options.height;\n this.currentSize = options;\n this.triggerResize(this.currentSize);\n return this;\n }\n }, {\n key: \"enableResizeObserver\",\n value: function enableResizeObserver() {\n var _this3 = this;\n this.disableResizeObserver();\n var checkSizeCallback = function checkSizeCallback() {\n var _this3$el$clientWidth, _this3$el$clientHeigh;\n var width = (_this3$el$clientWidth = _this3.el.clientWidth) !== null && _this3$el$clientWidth !== void 0 ? _this3$el$clientWidth : _this3.options.width;\n var height = (_this3$el$clientHeigh = _this3.el.clientHeight) !== null && _this3$el$clientHeigh !== void 0 ? _this3$el$clientHeigh : _this3.options.height;\n _this3.triggerResize({\n width: width,\n height: height\n });\n };\n this.resizeObserverInterval = setInterval(checkSizeCallback, 500);\n }\n }, {\n key: \"triggerResize\",\n value: function triggerResize(newSize) {\n var thereWasChange = this.firstResize || this.oldHeight !== newSize.height || this.oldWidth !== newSize.width;\n if (!thereWasChange) return;\n this.oldHeight = newSize.height;\n this.oldWidth = newSize.width;\n this.computedSize = newSize;\n this.firstResize = false;\n this.trigger(Events.CORE_RESIZE, newSize);\n }\n }, {\n key: \"disableResizeObserver\",\n value: function disableResizeObserver() {\n this.resizeObserverInterval && clearInterval(this.resizeObserverInterval);\n this.resizeObserverInterval = null;\n }\n }, {\n key: \"resolveOnContainersReady\",\n value: function resolveOnContainersReady(containers) {\n var _this4 = this;\n $.when.apply($, containers).done(function () {\n _this4.defer.resolve(_this4);\n _this4.ready = true;\n _this4.trigger(Events.CORE_READY);\n });\n }\n }, {\n key: \"addPlugin\",\n value: function addPlugin(plugin) {\n this.plugins.push(plugin);\n }\n }, {\n key: \"hasPlugin\",\n value: function hasPlugin(name) {\n return !!this.getPlugin(name);\n }\n }, {\n key: \"getPlugin\",\n value: function getPlugin(name) {\n return this.plugins.filter(function (plugin) {\n return plugin.name === name;\n })[0];\n }\n }, {\n key: \"load\",\n value: function load(sources, mimeType) {\n this.options.mimeType = mimeType;\n sources = sources && sources.constructor === Array ? sources : [sources];\n this.options.sources = sources;\n this.containers.forEach(function (container) {\n return container.destroy();\n });\n this.containerFactory.options = $.extend(true, this.options, {\n sources: sources\n });\n this.prepareContainers();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.disableResizeObserver();\n this.containers.forEach(function (container) {\n return container.destroy();\n });\n this.plugins.forEach(function (plugin) {\n return plugin.destroy();\n });\n this.$el.remove();\n $(document).unbind('fullscreenchange', this._boundFullscreenHandler);\n $(document).unbind('MSFullscreenChange', this._boundFullscreenHandler);\n $(document).unbind('mozfullscreenchange', this._boundFullscreenHandler);\n Browser.isMobile && $(window).unbind('resize', this._boundHandleWindowResize);\n this.stopListening();\n this.undelegateEvents();\n }\n }, {\n key: \"handleFullscreenChange\",\n value: function handleFullscreenChange() {\n this.trigger(Events.CORE_FULLSCREEN, this.isFullscreen());\n this.updateSize();\n }\n }, {\n key: \"handleWindowResize\",\n value: function handleWindowResize(event) {\n var _this$el$clientWidth, _this$el$clientHeight;\n var orientation = window.innerWidth > window.innerHeight ? 'landscape' : 'portrait';\n if (this._screenOrientation === orientation) return;\n this._screenOrientation = orientation;\n var width = (_this$el$clientWidth = this.el.clientWidth) !== null && _this$el$clientWidth !== void 0 ? _this$el$clientWidth : this.options.width;\n var height = (_this$el$clientHeight = this.el.clientHeight) !== null && _this$el$clientHeight !== void 0 ? _this$el$clientHeight : this.options.height;\n this.triggerResize({\n width: width,\n height: height\n });\n this.trigger(Events.CORE_SCREEN_ORIENTATION_CHANGED, {\n event: event,\n orientation: this._screenOrientation\n });\n }\n }, {\n key: \"removeContainer\",\n value: function removeContainer(container) {\n this.stopListening(container);\n this.containerFactory.stopListening(container);\n this.containers = this.containers.filter(function (c) {\n return c !== container;\n });\n }\n }, {\n key: \"setupContainer\",\n value: function setupContainer(container) {\n this.listenTo(container, Events.CONTAINER_DESTROYED, this.removeContainer);\n this.containers.push(container);\n }\n }, {\n key: \"setupContainers\",\n value: function setupContainers(containers) {\n containers.forEach(this.setupContainer.bind(this));\n this.trigger(Events.CORE_CONTAINERS_CREATED);\n this.renderContainers();\n this.activeContainer = containers[0];\n this.render();\n this.appendToParent();\n return this.containers;\n }\n }, {\n key: \"renderContainers\",\n value: function renderContainers() {\n var _this5 = this;\n this.containers.forEach(function (container) {\n return _this5.el.appendChild(container.render().el);\n });\n }\n }, {\n key: \"createContainer\",\n value: function createContainer(source, options) {\n var container = this.containerFactory.createContainer(source, options);\n this.setupContainer(container);\n this.el.appendChild(container.render().el);\n return container;\n }\n\n /**\n * @deprecated\n * This method currently exists for retrocompatibility reasons.\n * If you want the current container reference, use the activeContainer getter.\n */\n }, {\n key: \"getCurrentContainer\",\n value: function getCurrentContainer() {\n return this.activeContainer;\n }\n\n /**\n * @deprecated\n * This method currently exists for retrocompatibility reasons.\n * If you want the current playback reference, use the activePlayback getter.\n */\n }, {\n key: \"getCurrentPlayback\",\n value: function getCurrentPlayback() {\n return this.activePlayback;\n }\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n return this.activeContainer && this.activeContainer.getPlaybackType();\n }\n }, {\n key: \"isFullscreen\",\n value: function isFullscreen() {\n var fullscreenElement = Fullscreen.fullscreenElement();\n return fullscreenElement && fullscreenElement === this.el || fullscreenElement && fullscreenElement === this.activePlaybackEl || this.activePlaybackEl && this.activePlaybackEl.webkitDisplayingFullscreen || false;\n }\n }, {\n key: \"toggleFullscreen\",\n value: function toggleFullscreen() {\n var _this6 = this;\n if (this.isFullscreen()) {\n var fullscreenEl = Browser.isiOS ? this.activePlaybackEl : document;\n Fullscreen.cancelFullscreen(fullscreenEl);\n !Browser.isiOS && this.$el.removeClass('fullscreen nocursor');\n } else {\n var _fullscreenEl = Browser.isiOS ? this.activePlaybackEl : this.el;\n if (!_fullscreenEl) return;\n Browser.isSafari || Browser.isiOS // Safari doesn't return a promise like the other browsers. See more in https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n ? Fullscreen.requestFullscreen(_fullscreenEl) : Fullscreen.requestFullscreen(_fullscreenEl).then(function (_) {\n return _;\n }, function (error) {\n return setTimeout(function () {\n // fixes the issue https://github.com/clappr/clappr/issues/1860\n if (!_this6.isFullscreen()) throw new ReferenceError(error);\n }, 600);\n });\n !Browser.isiOS && this.$el.addClass('fullscreen');\n }\n }\n }, {\n key: \"onMouseMove\",\n value: function onMouseMove(event) {\n this.trigger(Events.CORE_MOUSE_MOVE, event);\n }\n }, {\n key: \"onMouseLeave\",\n value: function onMouseLeave(event) {\n this.trigger(Events.CORE_MOUSE_LEAVE, event);\n }\n\n /**\n * enables to configure the container after its creation\n * @method configure\n * @param {Object} options all the options to change in form of a javascript object\n */\n }, {\n key: \"configure\",\n value: function configure(options) {\n var _this7 = this;\n var oldOptions = $.extend(true, {}, this._options);\n this.trigger(Events.CORE_OPTIONS_WILL_CHANGE, oldOptions);\n this._options = $.extend(true, this._options, options);\n this.configureDomRecycler();\n var sources = options.source || options.sources;\n sources && this.load(sources, options.mimeType || this.options.mimeType);\n this.trigger(Events.CORE_OPTIONS_CHANGE, options);\n this.containers.forEach(function (container) {\n return container.configure(_this7.options, oldOptions);\n });\n }\n }, {\n key: \"appendToParent\",\n value: function appendToParent() {\n var hasCoreParent = this.$el.parent() && this.$el.parent().length;\n !hasCoreParent && this.$el.appendTo(this.options.parentElement);\n }\n }, {\n key: \"appendStyles\",\n value: function appendStyles() {\n if (this.styleRendered) return;\n var style = Styler.getStyleFor(css_248z$4.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n if (this.options.includeResetStyle) {\n var resetStyle = Styler.getStyleFor(css_248z$3.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(resetStyle[0]);\n }\n this.styleRendered = true;\n }\n }, {\n key: \"render\",\n value: function render() {\n this.appendStyles();\n this.options.width = this.options.width || this.$el.width();\n this.options.height = this.options.height || this.$el.height();\n var size = {\n width: this.options.width,\n height: this.options.height\n };\n this.previousSize = this.currentSize = this.computedSize = size;\n this.updateSize();\n this.enableResizeObserver();\n return this;\n }\n }]);\n}(UIObject);\nObject.assign(Core.prototype, ErrorMixin);\n\n/**\n * The Core Factory is responsible for instantiate the core and it's plugins.\n * @class CoreFactory\n * @constructor\n * @extends BaseObject\n * @module components\n */\nvar CoreFactory = /*#__PURE__*/function (_BaseObject) {\n /**\n * it builds the core factory\n * @method constructor\n * @param {Player} player the player object\n */\n function CoreFactory(player) {\n var _this;\n _classCallCheck(this, CoreFactory);\n _this = _callSuper(this, CoreFactory, [player.options]);\n _this.player = player;\n return _this;\n }\n\n /**\n * creates a core and its plugins\n * @method create\n * @return {Core} created core\n */\n _inherits(CoreFactory, _BaseObject);\n return _createClass(CoreFactory, [{\n key: \"loader\",\n get: function get() {\n return this.player.loader;\n }\n }, {\n key: \"create\",\n value: function create() {\n this.options.loader = this.loader;\n this.core = new Core(this.options);\n this.addCorePlugins();\n this.core.createContainers(this.options);\n return this.core;\n }\n\n /**\n * given the core plugins (`loader.corePlugins`) it builds each one\n * @method addCorePlugins\n * @return {Core} the core with all plugins\n */\n }, {\n key: \"addCorePlugins\",\n value: function addCorePlugins() {\n var _this2 = this;\n this.loader.corePlugins.forEach(function (Plugin) {\n var plugin = new Plugin(_this2.core);\n _this2.core.addPlugin(plugin);\n _this2.setupExternalInterface(plugin);\n });\n return this.core;\n }\n }, {\n key: \"setupExternalInterface\",\n value: function setupExternalInterface(plugin) {\n var externalFunctions = plugin.getExternalInterface();\n for (var key in externalFunctions) this.player[key] = externalFunctions[key].bind(plugin);\n }\n }]);\n}(BaseObject);\n\nvar VERSION_REGEX = /(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?/;\nvar Version = /*#__PURE__*/function () {\n function Version(major, minor, patch) {\n _classCallCheck(this, Version);\n this.major = parseInt(major || 0, 10);\n this.minor = parseInt(minor || 0, 10);\n this.patch = parseInt(patch || 0, 10);\n }\n return _createClass(Version, [{\n key: \"compare\",\n value: function compare(other) {\n var diff = this.major - other.major;\n diff = diff || this.minor - other.minor;\n diff = diff || this.patch - other.patch;\n return diff;\n }\n }, {\n key: \"inc\",\n value: function inc() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'patch';\n typeof this[type] !== 'undefined' && (this[type] += 1);\n return this;\n }\n }, {\n key: \"satisfies\",\n value: function satisfies(min, max) {\n return this.compare(min) >= 0 && (!max || this.compare(max) < 0);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.major, \".\").concat(this.minor, \".\").concat(this.patch);\n }\n }], [{\n key: \"parse\",\n value: function parse() {\n var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var matches = str.match(VERSION_REGEX) || [];\n var _matches = _slicedToArray(matches, 4),\n major = _matches[1],\n minor = _matches[2],\n patch = _matches[3];\n if (typeof major === 'undefined') return null;\n return new Version(major, minor, patch);\n }\n }]);\n}();\n\nvar filterPluginsByType = function filterPluginsByType(plugins, type) {\n if (!plugins || !type) return {};\n return Object.entries(plugins).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n value = _ref2[1];\n return value.type === type;\n }).reduce(function (obj, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n return obj[key] = value, obj;\n }, {});\n};\n\n/**\n * It keeps a list of the default plugins (playback, container, core) and it merges external plugins with its internals.\n * @class Loader\n * @constructor\n * @extends BaseObject\n * @module components\n */\nvar Loader = (function () {\n var registry = {\n plugins: {},\n playbacks: []\n };\n var currentVersion = \"0.12.0\";\n return /*#__PURE__*/function () {\n /**\n * builds the loader\n * @method constructor\n * @param {Object} externalPlugins the external plugins\n * @param {Number} playerId you can embed multiple instances of clappr, therefore this is the unique id of each one.\n */\n function Loader() {\n var externalPlugins = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var playerId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n _classCallCheck(this, Loader);\n this.playerId = playerId;\n this.playbackPlugins = _toConsumableArray(registry.playbacks);\n var _Loader$registeredPlu = Loader.registeredPlugins,\n core = _Loader$registeredPlu.core,\n container = _Loader$registeredPlu.container;\n this.containerPlugins = Object.values(container);\n this.corePlugins = Object.values(core);\n if (!Array.isArray(externalPlugins)) this.validateExternalPluginsType(externalPlugins);\n this.addExternalPlugins(externalPlugins);\n }\n\n /**\n * groups by type the external plugins that were passed through `options.plugins` it they're on a flat array\n * @method addExternalPlugins\n * @private\n * @param {Object} an config object or an array of plugins\n * @return {Object} plugins the config object with the plugins separated by type\n */\n return _createClass(Loader, [{\n key: \"groupPluginsByType\",\n value: function groupPluginsByType(plugins) {\n if (Array.isArray(plugins)) {\n plugins = plugins.reduce(function (memo, plugin) {\n memo[plugin.type] || (memo[plugin.type] = []);\n memo[plugin.type].push(plugin);\n return memo;\n }, {});\n }\n return plugins;\n }\n }, {\n key: \"removeDups\",\n value: function removeDups(list) {\n var useReversePrecedence = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var groupUp = function groupUp(plugins, plugin) {\n if (plugins[plugin.prototype.name] && useReversePrecedence) return plugins;\n plugins[plugin.prototype.name] && delete plugins[plugin.prototype.name];\n plugins[plugin.prototype.name] = plugin;\n return plugins;\n };\n var pluginsMap = list.reduceRight(groupUp, Object.create(null));\n var plugins = [];\n for (var key in pluginsMap) plugins.unshift(pluginsMap[key]);\n return plugins;\n }\n\n /**\n * adds all the external plugins that were passed through `options.plugins`\n * @method addExternalPlugins\n * @private\n * @param {Object} plugins the config object with all plugins\n */\n }, {\n key: \"addExternalPlugins\",\n value: function addExternalPlugins(plugins) {\n var loadExternalPluginsFirst = typeof plugins.loadExternalPluginsFirst === 'boolean' ? plugins.loadExternalPluginsFirst : true;\n var loadExternalPlaybacksFirst = typeof plugins.loadExternalPlaybacksFirst === 'boolean' ? plugins.loadExternalPlaybacksFirst : true;\n plugins = this.groupPluginsByType(plugins);\n if (plugins.playback) {\n var playbacks = plugins.playback.filter(function (playback) {\n return Loader.checkVersionSupport(playback), true;\n });\n this.playbackPlugins = loadExternalPlaybacksFirst ? this.removeDups(playbacks.concat(this.playbackPlugins)) : this.removeDups(this.playbackPlugins.concat(playbacks), true);\n }\n if (plugins.container) {\n var containerPlugins = plugins.container.filter(function (plugin) {\n return Loader.checkVersionSupport(plugin), true;\n });\n this.containerPlugins = loadExternalPluginsFirst ? this.removeDups(containerPlugins.concat(this.containerPlugins)) : this.removeDups(this.containerPlugins.concat(containerPlugins), true);\n }\n if (plugins.core) {\n var corePlugins = plugins.core.filter(function (plugin) {\n return Loader.checkVersionSupport(plugin), true;\n });\n this.corePlugins = loadExternalPluginsFirst ? this.removeDups(corePlugins.concat(this.corePlugins)) : this.removeDups(this.corePlugins.concat(corePlugins), true);\n }\n }\n\n /**\n * validate if the external plugins that were passed through `options.plugins` are associated to the correct type\n * @method validateExternalPluginsType\n * @private\n * @param {Object} plugins the config object with all plugins\n */\n }, {\n key: \"validateExternalPluginsType\",\n value: function validateExternalPluginsType(plugins) {\n var pluginTypes = ['playback', 'container', 'core'];\n pluginTypes.forEach(function (type) {\n (plugins[type] || []).forEach(function (el) {\n var errorMessage = 'external ' + el.type + ' plugin on ' + type + ' array';\n if (el.type !== type) throw new ReferenceError(errorMessage);\n });\n });\n }\n }], [{\n key: \"registeredPlaybacks\",\n get: function get() {\n return _toConsumableArray(registry.playbacks);\n }\n }, {\n key: \"registeredPlugins\",\n get: function get() {\n var plugins = registry.plugins;\n var core = filterPluginsByType(plugins, 'core');\n var container = filterPluginsByType(plugins, 'container');\n return {\n core: core,\n container: container\n };\n }\n }, {\n key: \"checkVersionSupport\",\n value: function checkVersionSupport(entry) {\n var _entry$prototype = entry.prototype,\n supportedVersion = _entry$prototype.supportedVersion,\n name = _entry$prototype.name;\n if (!supportedVersion || !supportedVersion.min) {\n Log.warn('Loader', \"missing version information for \".concat(name));\n return false;\n }\n var maxVersion = supportedVersion.max ? Version.parse(supportedVersion.max) : Version.parse(supportedVersion.min).inc('minor');\n var minVersion = Version.parse(supportedVersion.min);\n if (!Version.parse(currentVersion).satisfies(minVersion, maxVersion)) {\n Log.warn('Loader', \"unsupported plugin \".concat(name, \": Clappr version \").concat(currentVersion, \" does not match required range [\").concat(minVersion, \",\").concat(maxVersion, \")\"));\n return false;\n }\n return true;\n }\n }, {\n key: \"registerPlugin\",\n value: function registerPlugin(pluginEntry) {\n if (!pluginEntry || !pluginEntry.prototype.name) {\n Log.warn('Loader', \"missing information to register plugin: \".concat(pluginEntry));\n return false;\n }\n Loader.checkVersionSupport(pluginEntry);\n var pluginRegistry = registry.plugins;\n if (!pluginRegistry) return false;\n var previousEntry = pluginRegistry[pluginEntry.prototype.name];\n if (previousEntry) Log.warn('Loader', \"overriding plugin entry: \".concat(pluginEntry.prototype.name, \" - \").concat(previousEntry));\n pluginRegistry[pluginEntry.prototype.name] = pluginEntry;\n return true;\n }\n }, {\n key: \"registerPlayback\",\n value: function registerPlayback(playbackEntry) {\n if (!playbackEntry || !playbackEntry.prototype.name) return false;\n Loader.checkVersionSupport(playbackEntry);\n var playbacks = registry.playbacks;\n var previousEntryIdx = playbacks.findIndex(function (entry) {\n return entry.prototype.name === playbackEntry.prototype.name;\n });\n if (previousEntryIdx >= 0) {\n var previousEntry = playbacks[previousEntryIdx];\n playbacks.splice(previousEntryIdx, 1);\n Log.warn('Loader', \"overriding playback entry: \".concat(previousEntry.name, \" - \").concat(previousEntry));\n }\n registry.playbacks = [playbackEntry].concat(_toConsumableArray(playbacks));\n return true;\n }\n }, {\n key: \"unregisterPlugin\",\n value: function unregisterPlugin(name) {\n if (!name) return false;\n var plugins = registry.plugins;\n var plugin = plugins[name];\n if (!plugin) return false;\n delete plugins[name];\n return true;\n }\n }, {\n key: \"unregisterPlayback\",\n value: function unregisterPlayback(name) {\n if (!name) return false;\n var playbacks = registry.playbacks;\n var index = playbacks.findIndex(function (entry) {\n return entry.prototype.name === name;\n });\n if (index < 0) return false;\n playbacks.splice(index, 1);\n registry.playbacks = playbacks;\n return true;\n }\n }, {\n key: \"clearPlugins\",\n value: function clearPlugins() {\n registry.plugins = {};\n }\n }, {\n key: \"clearPlaybacks\",\n value: function clearPlaybacks() {\n registry.playbacks = [];\n }\n }]);\n }();\n})();\n\nvar baseUrl = currentScriptUrl().replace(/\\/[^/]+$/, '');\n\n/**\n * @class Player\n * @constructor\n * @extends BaseObject\n * @module components\n * @example\n * ### Using the Player\n *\n * Add the following script on your HTML:\n * ```html\n * <head>\n * <script type=\"text/javascript\" src=\"http://cdn.clappr.io/latest/clappr.min.js\"></script>\n * </head>\n * ```\n * Now, create the player:\n * ```html\n * <body>\n * <div id=\"player\"></div>\n * <script>\n * var player = new Clappr.Player({source: \"http://your.video/here.mp4\", parentId: \"#player\"});\n * </script>\n * </body>\n * ```\n */\nvar Player = /*#__PURE__*/function (_BaseObject) {\n /**\n * @typedef {Object} PlaybackConfig\n * @prop {boolean} disableContextMenu\n * disables the context menu (right click) on the video element if a HTML5Video playback is used.\n * @prop {boolean} preload\n * video will be preloaded according to `preload` attribute options **default**: `'metadata'`\n * @prop {boolean} controls\n * enabled/disables displaying controls\n * @prop {boolean} crossOrigin\n * enables cross-origin capability for media-resources\n * @prop {boolean} playInline\n * enables in-line video elements\n * @prop {boolean} audioOnly\n * enforce audio-only playback (when possible)\n * @prop {Object} externalTracks\n * pass externaly loaded track to playback\n * @prop {Number} [maxBufferLength]\n * The default behavior for the **HLS playback** is to keep buffering indefinitely, even on VoD.\n * This replicates the behavior for progressive download, which continues buffering when pausing the video, thus making the video available for playback even on slow networks.\n * To change this behavior use `maxBufferLength` where **value is in seconds**.\n * @prop {Number} [maxBackBufferLength]\n * After how much distance of the playhead data should be pruned from the buffer (influences memory consumption\n * of adaptive media-engines like Hls.js or Shaka)\n * @prop {Number} [minBufferLength]\n * After how much data in the buffer at least we attempt to consume it (influences QoS-related behavior\n * of adaptive media-engines like Hls.js or Shaka). If this is too low, and the available bandwidth is varying a lot\n * and too close to the streamed bitrate, we may continuously hit under-runs.\n * @prop {Number} [initialBandwidthEstimate]\n * define an initial bandwidth \"guess\" (or previously stored/established value) for underlying adaptive-bitreate engines\n * of adaptive playback implementations, like Hls.js or Shaka\n * @prop {Number} [maxAdaptiveBitrate]\n * Limits the streamed bitrate (for adaptive media-engines in underlying playback implementations)\n * @prop {Object} [maxAdaptiveVideoDimensions]\n * Limits the video dimensions in adaptive media-engines. Should be a literal object with `height` and `width`.\n * @prop {Boolean}[enableAutomaticABR] **default**: `true`\n * Allows to enable/disable automatic bitrate switching in adaptive media-engines\n * @prop {String} [preferredTextLanguage] **default**: `'pt-BR'`\n * Allows to set a preferred text language, that may be enabled by the media-engine if available.\n * @prop {String} [preferredAudioLanguage] **default**: `'pt-BR'`\n * Allows to set a preferred audio language, that may be enabled by the media-engine if available.\n */\n\n /**\n * ## Player's constructor\n *\n * You might pass the options object to build the player.\n * ```javascript\n * var options = {source: \"http://example.com/video.mp4\", param1: \"val1\"};\n * var player = new Clappr.Player(options);\n * ```\n *\n * @method constructor\n * @param {Object} options Data\n * options to build a player instance\n * @param {Number} [options.width]\n * player's width **default**: `640`\n * @param {Number} [options.height]\n * player's height **default**: `360`\n * @param {String} [options.parentId]\n * the id of the element on the page that the player should be inserted into\n * @param {Object} [options.parent]\n * a reference to a dom element that the player should be inserted into\n * @param {String} [options.source]\n * The media source URL, or {source: <<source URL>>, mimeType: <<source mime type>>}\n * @param {Object} [options.sources]\n * An array of media source URL's, or an array of {source: <<source URL>>, mimeType: <<source mime type>>}\n * @param {Boolean} [options.autoPlay]\n * automatically play after page load **default**: `false`\n * @param {Boolean} [options.loop]\n * automatically replay after it ends **default**: `false`\n * @param {Boolean} [options.chromeless]\n * player acts in chromeless mode **default**: `false`\n * @param {Boolean} [options.allowUserInteraction]\n * whether or not the player should handle click events when in chromeless mode **default**: `false` on desktops browsers, `true` on mobile.\n * @param {Boolean} [options.disableKeyboardShortcuts]\n * disable keyboard shortcuts. **default**: `false`. `true` if `allowUserInteraction` is `false`.\n * @param {Boolean} [options.mute]\n * start the video muted **default**: `false`\n * @param {String} [options.mimeType]\n * add `mimeType: \"application/vnd.apple.mpegurl\"` if you need to use a url without extension.\n * @param {Boolean} [options.actualLiveTime]\n * show duration and seek time relative to actual time.\n * @param {String} [options.actualLiveServerTime]\n * specify server time as a string, format: \"2015/11/26 06:01:03\". This option is meant to be used with actualLiveTime.\n * @param {Boolean} [options.persistConfig]\n * persist player's settings (volume) through the same domain **default**: `true`\n * @param {String} [options.preload] @deprecated\n * video will be preloaded according to `preload` attribute options **default**: `'metadata'`\n * @param {Number} [options.maxBufferLength] @deprecated\n * the default behavior for the **HLS playback** is to keep buffering indefinitely, even on VoD.\n * This replicates the behavior for progressive download, which continues buffering when pausing the video, thus making the video available for playback even on slow networks.\n * To change this behavior use `maxBufferLength` where **value is in seconds**.\n * @param {String} [options.gaAccount]\n * enable Google Analytics events dispatch **(play/pause/stop/buffering/etc)** by adding your `gaAccount`\n * @param {String} [options.gaTrackerName]\n * besides `gaAccount` you can optionally, pass your favorite trackerName as `gaTrackerName`\n * @param {Object} [options.mediacontrol]\n * customize control bar colors, example: `mediacontrol: {seekbar: \"#E113D3\", buttons: \"#66B2FF\"}`\n * @param {Boolean} [options.hideMediaControl]\n * control media control auto hide **default**: `true`\n * @param {Boolean} [options.hideVolumeBar]\n * when embedded with width less than 320, volume bar will hide. You can force this behavior for all sizes by adding `true` **default**: `false`\n * @param {String} [options.watermark]\n * put `watermark: 'http://url/img.png'` on your embed parameters to automatically add watermark on your video.\n * You can customize corner position by defining position parameter. Positions can be `bottom-left`, `bottom-right`, `top-left` and `top-right`.\n * @param {String} [options.watermarkLink]\n * `watermarkLink: 'http://example.net/'` - define URL to open when the watermark is clicked. If not provided watermark will not be clickable.\n * @param {Boolean} [options.disableVideoTagContextMenu] @deprecated\n * disables the context menu (right click) on the video element if a HTML5Video playback is used.\n * @param {Boolean} [options.autoSeekFromUrl]\n * Automatically seek to the seconds provided in the url (e.g example.com?t=100) **default**: `true`\n * @param {Boolean} [options.exitFullscreenOnEnd]\n * Automatically exit full screen when the media finishes. **default**: `true`\n * @param {String} [options.poster]\n * define a poster by adding its address `poster: 'http://url/img.png'`. It will appear after video embed, disappear on play and go back when user stops the video.\n * @param {String} [options.playbackNotSupportedMessage]\n * define a custom message to be displayed when a playback is not supported.\n * @param {Object} [options.events]\n * Specify listeners which will be registered with their corresponding player events.\n * E.g. onReady -> \"PLAYER_READY\", onTimeUpdate -> \"PLAYER_TIMEUPDATE\"\n * @param {PlaybackConfig} [options.playback]\n * Generic `Playback` component related configuration\n * @param {Boolean} [options.disableErrorScreen]\n * disables the error screen plugin.\n * @param {Number} [options.autoPlayTimeout]\n * autoplay check timeout.\n */\n\n function Player(options) {\n var _this;\n _classCallCheck(this, Player);\n _this = _callSuper(this, Player, [options]);\n var playbackDefaultOptions = {\n recycleVideo: true\n };\n var defaultOptions = {\n playerId: uniqueId(''),\n persistConfig: true,\n width: 640,\n height: 360,\n baseUrl: baseUrl,\n allowUserInteraction: Browser.isMobile,\n includeResetStyle: true,\n playback: playbackDefaultOptions\n };\n _this._options = $.extend(true, defaultOptions, options);\n _this.options.sources = _this._normalizeSources(options);\n if (!_this.options.chromeless) {\n // \"allowUserInteraction\" cannot be false if not in chromeless mode.\n _this.options.allowUserInteraction = true;\n }\n if (!_this.options.allowUserInteraction) {\n // if user iteraction is not allowed ensure keyboard shortcuts are disabled\n _this.options.disableKeyboardShortcuts = true;\n }\n _this._registerOptionEventListeners(_this.options.events);\n _this._coreFactory = new CoreFactory(_this);\n var parentElement = _this._getParentElement(_this.options);\n parentElement && _this.attachTo(parentElement);\n return _this;\n }\n\n /**\n * Returns the parent element\n * @param {String} parentId\n * @param {Object} parent\n * @returns {Object} the parent element\n */\n _inherits(Player, _BaseObject);\n return _createClass(Player, [{\n key: \"loader\",\n get: function get() {\n if (!this._loader) this._loader = new Loader(this.options.plugins || {}, this.options.playerId);\n return this._loader;\n }\n\n /**\n * Determine if the playback has ended.\n * @property ended\n * @type Boolean\n */,\n set: function set(loader) {\n this._loader = loader;\n }\n }, {\n key: \"ended\",\n get: function get() {\n return this.core.activeContainer.ended;\n }\n\n /**\n * Determine if the playback is having to buffer in order for\n * playback to be smooth.\n * (i.e if a live stream is playing smoothly, this will be false)\n * @property buffering\n * @type Boolean\n */\n }, {\n key: \"buffering\",\n get: function get() {\n return this.core.activeContainer.buffering;\n }\n\n /*\n * determine if the player is ready.\n * @property isReady\n * @type {Boolean} `true` if the player is ready. ie PLAYER_READY event has fired\n */\n }, {\n key: \"isReady\",\n get: function get() {\n return !!this._ready;\n }\n\n /**\n * An events map that allows the user to add custom callbacks in player's options.\n * @property eventsMapping\n * @type {Object}\n */\n }, {\n key: \"eventsMapping\",\n get: function get() {\n return {\n onReady: Events.PLAYER_READY,\n onResize: Events.PLAYER_RESIZE,\n onPlay: Events.PLAYER_PLAY,\n onPause: Events.PLAYER_PAUSE,\n onStop: Events.PLAYER_STOP,\n onEnded: Events.PLAYER_ENDED,\n onSeek: Events.PLAYER_SEEK,\n onError: Events.PLAYER_ERROR,\n onTimeUpdate: Events.PLAYER_TIMEUPDATE,\n onVolumeUpdate: Events.PLAYER_VOLUMEUPDATE,\n onSubtitleAvailable: Events.PLAYER_SUBTITLE_AVAILABLE\n };\n }\n }, {\n key: \"_getParentElement\",\n value: function _getParentElement(_ref) {\n var parentId = _ref.parentId,\n parent = _ref.parent;\n if (parentId) return document.querySelector(parentId);\n return parent;\n }\n\n /**\n * You can use this method to attach the player to a given element. You don't need to do this when you specify it during the player instantiation passing the `parentId` param.\n * @method attachTo\n * @param {Object} element a given element.\n * @return {Player} itself\n */\n }, {\n key: \"attachTo\",\n value: function attachTo(element) {\n this.options.parentElement = element;\n this.core = this._coreFactory.create();\n this._addEventListeners();\n return this;\n }\n }, {\n key: \"_addEventListeners\",\n value: function _addEventListeners() {\n if (!this.core.isReady) this.listenToOnce(this.core, Events.CORE_READY, this._onReady);else this._onReady();\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this._containerChanged);\n this.listenTo(this.core, Events.CORE_FULLSCREEN, this._onFullscreenChange);\n this.listenTo(this.core, Events.CORE_RESIZE, this._onResize);\n return this;\n }\n }, {\n key: \"_addContainerEventListeners\",\n value: function _addContainerEventListeners() {\n var container = this.core.activeContainer;\n if (container) {\n this.listenTo(container, Events.CONTAINER_PLAY, this._onPlay);\n this.listenTo(container, Events.CONTAINER_PAUSE, this._onPause);\n this.listenTo(container, Events.CONTAINER_STOP, this._onStop);\n this.listenTo(container, Events.CONTAINER_ENDED, this._onEnded);\n this.listenTo(container, Events.CONTAINER_SEEK, this._onSeek);\n this.listenTo(container, Events.CONTAINER_ERROR, this._onError);\n this.listenTo(container, Events.CONTAINER_TIMEUPDATE, this._onTimeUpdate);\n this.listenTo(container, Events.CONTAINER_VOLUME, this._onVolumeUpdate);\n this.listenTo(container, Events.CONTAINER_SUBTITLE_AVAILABLE, this._onSubtitleAvailable);\n }\n return this;\n }\n }, {\n key: \"_registerOptionEventListeners\",\n value: function _registerOptionEventListeners() {\n var _this2 = this;\n var newEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var hasNewEvents = Object.keys(newEvents).length > 0;\n hasNewEvents && Object.keys(events).forEach(function (userEvent) {\n var eventType = _this2.eventsMapping[userEvent];\n eventType && _this2.off(eventType, events[userEvent]);\n });\n Object.keys(newEvents).forEach(function (userEvent) {\n var eventType = _this2.eventsMapping[userEvent];\n if (eventType) {\n var eventFunction = newEvents[userEvent];\n eventFunction = typeof eventFunction === 'function' && eventFunction;\n eventFunction && _this2.on(eventType, eventFunction);\n }\n });\n return this;\n }\n }, {\n key: \"_containerChanged\",\n value: function _containerChanged() {\n this.stopListening();\n this._addEventListeners();\n }\n }, {\n key: \"_onReady\",\n value: function _onReady() {\n this._ready = true;\n this._addContainerEventListeners();\n this.trigger(Events.PLAYER_READY);\n }\n }, {\n key: \"_onFullscreenChange\",\n value: function _onFullscreenChange(fullscreen) {\n this.trigger(Events.PLAYER_FULLSCREEN, fullscreen);\n }\n }, {\n key: \"_onVolumeUpdate\",\n value: function _onVolumeUpdate(volume) {\n this.trigger(Events.PLAYER_VOLUMEUPDATE, volume);\n }\n }, {\n key: \"_onSubtitleAvailable\",\n value: function _onSubtitleAvailable() {\n this.trigger(Events.PLAYER_SUBTITLE_AVAILABLE);\n }\n }, {\n key: \"_onResize\",\n value: function _onResize(size) {\n this.trigger(Events.PLAYER_RESIZE, size);\n }\n }, {\n key: \"_onPlay\",\n value: function _onPlay(_) {\n var eventMetadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.trigger(Events.PLAYER_PLAY, eventMetadata);\n }\n }, {\n key: \"_onPause\",\n value: function _onPause(_) {\n var eventMetadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.trigger(Events.PLAYER_PAUSE, eventMetadata);\n }\n }, {\n key: \"_onStop\",\n value: function _onStop() {\n var eventMetadata = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.trigger(Events.PLAYER_STOP, this.getCurrentTime(), eventMetadata);\n }\n }, {\n key: \"_onEnded\",\n value: function _onEnded() {\n this.trigger(Events.PLAYER_ENDED);\n }\n }, {\n key: \"_onSeek\",\n value: function _onSeek(time) {\n this.trigger(Events.PLAYER_SEEK, time);\n }\n }, {\n key: \"_onTimeUpdate\",\n value: function _onTimeUpdate(timeProgress) {\n this.trigger(Events.PLAYER_TIMEUPDATE, timeProgress);\n }\n }, {\n key: \"_onError\",\n value: function _onError(error) {\n this.trigger(Events.PLAYER_ERROR, error);\n }\n }, {\n key: \"_normalizeSources\",\n value: function _normalizeSources(options) {\n var sources = options.sources || (options.source !== undefined ? [options.source] : []);\n return sources.length === 0 ? [{\n source: '',\n mimeType: ''\n }] : sources;\n }\n\n /**\n * resizes the current player canvas.\n * @method resize\n * @param {Object} size should be a literal object with `height` and `width`.\n * @return {Player} itself\n * @example\n * ```javascript\n * player.resize({height: 360, width: 640})\n * ```\n */\n }, {\n key: \"resize\",\n value: function resize(size) {\n this.core.resize(size);\n return this;\n }\n\n /**\n * loads a new source.\n * @method load\n * @param {Array|String} sources source or sources of video.\n * An array item can be a string or {source: <<source URL>>, mimeType: <<source mime type>>}\n * @param {String} mimeType a mime type, example: `'application/vnd.apple.mpegurl'`\n * @param {Boolean} [autoPlay=false] whether playing should be started immediately\n * @return {Player} itself\n */\n }, {\n key: \"load\",\n value: function load(sources, mimeType, autoPlay) {\n if (autoPlay !== undefined) this.configure({\n autoPlay: !!autoPlay\n });\n this.core.load(sources, mimeType);\n return this;\n }\n\n /**\n * destroys the current player and removes it from the DOM.\n * @method destroy\n * @return {Player} itself\n */\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n this.core.destroy();\n return this;\n }\n\n /**\n * Gives user consent to playback. Required by mobile device after a click event before Player.load().\n * @method consent\n * @param {Function} callback function called when current playback is consented\n * @example\n * ```javascript\n * player.consent(function() { doSomethingNext(); });\n * ```\n */\n }, {\n key: \"consent\",\n value: function consent(cb) {\n this.core.getCurrentPlayback().consent(cb);\n }\n\n /**\n * plays the current video (`source`).\n * @method play\n * @param {Object} customData\n * @return {Player} itself\n */\n }, {\n key: \"play\",\n value: function play() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.core.activeContainer.play(customData);\n return this;\n }\n\n /**\n * pauses the current video (`source`).\n * @method pause\n * @param {Object} customData\n * @return {Player} itself\n */\n }, {\n key: \"pause\",\n value: function pause() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.core.activeContainer.pause(customData);\n return this;\n }\n\n /**\n * stops the current video (`source`).\n * @method stop\n * @param {Object} customData\n * @return {Player} itself\n */\n }, {\n key: \"stop\",\n value: function stop() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.core.activeContainer.stop(customData);\n return this;\n }\n\n /**\n * seeks the current video (`source`). For example, `player.seek(120)` will seek to second 120 (2minutes) of the current video.\n * @method seek\n * @param {Number} time should be a number between 0 and the video duration.\n * @return {Player} itself\n */\n }, {\n key: \"seek\",\n value: function seek(time) {\n this.core.activeContainer.seek(time);\n return this;\n }\n\n /**\n * seeks the current video (`source`). For example, `player.seek(50)` will seek to the middle of the current video.\n * @method seekPercentage\n * @param {Number} time should be a number between 0 and 100.\n * @return {Player} itself\n */\n }, {\n key: \"seekPercentage\",\n value: function seekPercentage(percentage) {\n this.core.activeContainer.seekPercentage(percentage);\n return this;\n }\n\n /**\n * mutes the current video (`source`).\n * @method mute\n * @return {Player} itself\n */\n }, {\n key: \"mute\",\n value: function mute() {\n this.core.activePlayback.mute();\n return this;\n }\n\n /**\n * unmutes the current video (`source`).\n * @method unmute\n * @return {Player} itself\n */\n }, {\n key: \"unmute\",\n value: function unmute() {\n this.core.activePlayback.unmute();\n return this;\n }\n\n /**\n * checks if the player is playing.\n * @method isPlaying\n * @return {Boolean} `true` if the current source is playing, otherwise `false`\n */\n }, {\n key: \"isPlaying\",\n value: function isPlaying() {\n return this.core.activeContainer.isPlaying();\n }\n\n /**\n * returns `true` if DVR is enable otherwise `false`.\n * @method isDvrEnabled\n * @return {Boolean}\n */\n }, {\n key: \"isDvrEnabled\",\n value: function isDvrEnabled() {\n return this.core.activeContainer.isDvrEnabled();\n }\n\n /**\n * returns `true` if DVR is in use otherwise `false`.\n * @method isDvrInUse\n * @return {Boolean}\n */\n }, {\n key: \"isDvrInUse\",\n value: function isDvrInUse() {\n return this.core.activeContainer.isDvrInUse();\n }\n\n /**\n * enables to configure a player after its creation\n * @method configure\n * @param {Object} options all the options to change in form of a javascript object\n * @return {Player} itself\n */\n }, {\n key: \"configure\",\n value: function configure() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this._registerOptionEventListeners(options.events, this.options.events);\n this.core.configure(options);\n return this;\n }\n\n /**\n * get a plugin by its name.\n * @method getPlugin\n * @param {String} name of the plugin.\n * @return {Object} the plugin instance\n * @example\n * ```javascript\n * var poster = player.getPlugin('poster');\n * poster.hidePlayButton();\n * ```\n */\n }, {\n key: \"getPlugin\",\n value: function getPlugin(name) {\n var plugins = this.core.plugins.concat(this.core.activeContainer.plugins);\n return plugins.filter(function (plugin) {\n return plugin.name === name;\n })[0];\n }\n\n /**\n * the current time in seconds.\n * @method getCurrentTime\n * @return {Number} current time (in seconds) of the current source\n */\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.core.activeContainer.getCurrentTime();\n }\n\n /**\n * The time that \"0\" now represents relative to when playback started.\n * For a stream with a sliding window this will increase as content is\n * removed from the beginning.\n * @method getStartTimeOffset\n * @return {Number} time (in seconds) that time \"0\" represents.\n */\n }, {\n key: \"getStartTimeOffset\",\n value: function getStartTimeOffset() {\n return this.core.activeContainer.getStartTimeOffset();\n }\n\n /**\n * the duration time in seconds.\n * @method getDuration\n * @return {Number} duration time (in seconds) of the current source\n */\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.core.activeContainer.getDuration();\n }\n }]);\n}(BaseObject);\nObject.assign(Player.prototype, ErrorMixin);\n\n/**\n * The base class for a container plugin\n * @class ContainerPlugin\n * @constructor\n * @extends BaseObject\n * @module base\n */\nvar ContainerPlugin = /*#__PURE__*/function (_BaseObject) {\n function ContainerPlugin(container) {\n var _this;\n _classCallCheck(this, ContainerPlugin);\n _this = _callSuper(this, ContainerPlugin, [container.options]);\n _this.container = container;\n _this.enabled = true;\n _this.bindEvents();\n return _this;\n }\n _inherits(ContainerPlugin, _BaseObject);\n return _createClass(ContainerPlugin, [{\n key: \"playerError\",\n get: function get() {\n return this.container.playerError;\n }\n }, {\n key: \"enable\",\n value: function enable() {\n if (!this.enabled) {\n this.bindEvents();\n this.enabled = true;\n }\n }\n }, {\n key: \"disable\",\n value: function disable() {\n if (this.enabled) {\n this.stopListening();\n this.enabled = false;\n }\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {}\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }]);\n}(BaseObject);\nObject.assign(ContainerPlugin.prototype, ErrorMixin);\nContainerPlugin.extend = function (properties) {\n return extend(ContainerPlugin, properties);\n};\nContainerPlugin.type = 'container';\n\nvar CorePlugin = /*#__PURE__*/function (_BaseObject) {\n function CorePlugin(core) {\n var _this;\n _classCallCheck(this, CorePlugin);\n _this = _callSuper(this, CorePlugin, [core.options]);\n _this.core = core;\n _this.enabled = true;\n _this.bindEvents();\n return _this;\n }\n _inherits(CorePlugin, _BaseObject);\n return _createClass(CorePlugin, [{\n key: \"playerError\",\n get: function get() {\n return this.core.playerError;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {}\n }, {\n key: \"enable\",\n value: function enable() {\n if (!this.enabled) {\n this.bindEvents();\n this.enabled = true;\n }\n }\n }, {\n key: \"disable\",\n value: function disable() {\n if (this.enabled) {\n this.stopListening();\n this.enabled = false;\n }\n }\n }, {\n key: \"getExternalInterface\",\n value: function getExternalInterface() {\n return {};\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }]);\n}(BaseObject);\nObject.assign(CorePlugin.prototype, ErrorMixin);\nCorePlugin.extend = function (properties) {\n return extend(CorePlugin, properties);\n};\nCorePlugin.type = 'core';\n\n/**\n * The base class for an ui container plugin\n * @class UIContainerPlugin\n * @constructor\n * @extends UIObject\n * @module base\n */\nvar UIContainerPlugin = /*#__PURE__*/function (_UIObject) {\n function UIContainerPlugin(container) {\n var _this;\n _classCallCheck(this, UIContainerPlugin);\n _this = _callSuper(this, UIContainerPlugin, [container.options]);\n _this.container = container;\n _this.enabled = true;\n _this.bindEvents();\n return _this;\n }\n _inherits(UIContainerPlugin, _UIObject);\n return _createClass(UIContainerPlugin, [{\n key: \"playerError\",\n get: function get() {\n return this.container.playerError;\n }\n }, {\n key: \"enable\",\n value: function enable() {\n if (!this.enabled) {\n this.bindEvents();\n this.$el.show();\n this.enabled = true;\n }\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.stopListening();\n this.$el.hide();\n this.enabled = false;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {}\n }]);\n}(UIObject);\nObject.assign(UIContainerPlugin.prototype, ErrorMixin);\nUIContainerPlugin.extend = function (properties) {\n return extend(UIContainerPlugin, properties);\n};\nUIContainerPlugin.type = 'container';\n\nvar tracksHTML = \"<% for (var i = 0; i < tracks.length; i++) { %>\\n <track data-html5-video-track=\\\"<%= i %>\\\" kind=\\\"<%= tracks[i].kind %>\\\" label=\\\"<%= tracks[i].label %>\\\" srclang=\\\"<%= tracks[i].lang %>\\\" src=\\\"<%= tracks[i].src %>\\\">\\n<% }; %>\\n\";\n\nvar css_248z$2 = \"[data-html5-video] {\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n display: block; }\\n\";\n\nvar MIMETYPES = {\n 'mp4': ['avc1.42E01E', 'avc1.58A01E', 'avc1.4D401E', 'avc1.64001E', 'mp4v.20.8', 'mp4v.20.240', 'mp4a.40.2'].map(function (codec) {\n return 'video/mp4; codecs=\"' + codec + ', mp4a.40.2\"';\n }),\n 'ogg': ['video/ogg; codecs=\"theora, vorbis\"', 'video/ogg; codecs=\"dirac\"', 'video/ogg; codecs=\"theora, speex\"'],\n '3gpp': ['video/3gpp; codecs=\"mp4v.20.8, samr\"'],\n 'webm': ['video/webm; codecs=\"vp8, vorbis\"'],\n 'mkv': ['video/x-matroska; codecs=\"theora, vorbis\"'],\n 'm3u8': ['application/x-mpegurl']\n};\nMIMETYPES['ogv'] = MIMETYPES['ogg'];\nMIMETYPES['3gp'] = MIMETYPES['3gpp'];\nvar AUDIO_MIMETYPES = {\n 'wav': ['audio/wav'],\n 'mp3': ['audio/mp3', 'audio/mpeg;codecs=\"mp3\"'],\n 'aac': ['audio/mp4;codecs=\"mp4a.40.5\"'],\n 'oga': ['audio/ogg']\n};\nvar KNOWN_AUDIO_MIMETYPES = Object.keys(AUDIO_MIMETYPES).reduce(function (acc, k) {\n return [].concat(_toConsumableArray(acc), _toConsumableArray(AUDIO_MIMETYPES[k]));\n}, []);\nvar UNKNOWN_ERROR = {\n code: 'unknown',\n message: 'unknown'\n};\n\n// TODO: rename this Playback to HTML5Playback (breaking change, only after 0.3.0)\nvar HTML5Video = /*#__PURE__*/function (_Playback) {\n function HTML5Video() {\n var _this;\n _classCallCheck(this, HTML5Video);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, HTML5Video, [].concat(args));\n _this._destroyed = false;\n _this._loadStarted = false;\n _this._isBuffering = false;\n _this._playheadMoving = false;\n _this._playheadMovingTimer = null;\n _this._stopped = false;\n _this._ccTrackId = -1;\n _this._playheadMovingCheckEnabled = !_this.options.disablePlayheadMovingCheck;\n _this._setupSrc(_this.options.src);\n _this._playheadMovingCheckInterval = _this.options.playheadMovingCheckInterval || 500;\n // backwards compatibility (TODO: remove on 0.3.0)\n _this.options.playback || (_this.options.playback = _this.options || {});\n _this.options.playback.disableContextMenu = _this.options.playback.disableContextMenu || _this.options.disableVideoTagContextMenu;\n _this._minDvrSize = _this.isValidMinimumDVRSizeConfig ? _this.minimumDVRSizeConfig : 60;\n var playbackConfig = _this.options.playback;\n var preload = playbackConfig.preload || (Browser.isSafari ? 'auto' : _this.options.preload);\n var posterUrl; // FIXME: poster plugin should always convert poster to object with expected properties ?\n if (_this.options.poster) {\n if (typeof _this.options.poster === 'string') posterUrl = _this.options.poster;else if (typeof _this.options.poster.url === 'string') posterUrl = _this.options.poster.url;\n }\n $.extend(true, _this.el, {\n muted: _this.options.mute,\n defaultMuted: _this.options.mute,\n loop: _this.options.loop,\n poster: posterUrl,\n preload: preload || 'metadata',\n crossOrigin: playbackConfig.crossOrigin,\n 'x-webkit-playsinline': playbackConfig.playInline\n });\n if (playbackConfig.controls || _this.options.useVideoTagDefaultControls) _this.$el.attr('controls', '');\n playbackConfig.playInline && _this.$el.attr({\n playsinline: 'playsinline'\n });\n playbackConfig.crossOrigin && _this.$el.attr({\n crossorigin: playbackConfig.crossOrigin\n });\n\n // TODO should settings be private?\n _this.settings = {\n \"default\": ['seekbar']\n };\n _this.settings.left = ['playpause', 'position', 'duration'];\n _this.settings.right = ['fullscreen', 'volume', 'hd-indicator'];\n playbackConfig.externalTracks && _this._setupExternalTracks(playbackConfig.externalTracks);\n _this.options.autoPlay && _this.attemptAutoPlay();\n return _this;\n }\n _inherits(HTML5Video, _Playback);\n return _createClass(HTML5Video, [{\n key: \"name\",\n get: function get() {\n return 'html5_video';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"tagName\",\n get: function get() {\n return this.isAudioOnly ? 'audio' : 'video';\n }\n }, {\n key: \"isAudioOnly\",\n get: function get() {\n var resourceUrl = this.options.src;\n var mimeTypes = HTML5Video._mimeTypesForUrl(resourceUrl, AUDIO_MIMETYPES, this.options.mimeType);\n return this.options.playback && this.options.playback.audioOnly || this.options.audioOnly || KNOWN_AUDIO_MIMETYPES.indexOf(mimeTypes[0]) >= 0;\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'data-html5-video': ''\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'canplay': '_onCanPlay',\n 'canplaythrough': '_handleBufferingEvents',\n 'durationchange': '_onDurationChange',\n 'ended': '_onEnded',\n 'error': '_onError',\n 'loadeddata': '_onLoadedData',\n 'loadedmetadata': '_onLoadedMetadata',\n 'pause': '_onPause',\n 'playing': '_onPlaying',\n 'progress': '_onProgress',\n 'seeking': '_onSeeking',\n 'seeked': '_onSeeked',\n 'stalled': '_handleBufferingEvents',\n 'timeupdate': '_onTimeUpdate',\n 'waiting': '_onWaiting',\n 'enterpictureinpicture': '_onEnterPiP',\n 'leavepictureinpicture': '_onExitPiP'\n };\n }\n\n /**\n * Determine if the playback has ended.\n * @property ended\n * @type Boolean\n */\n }, {\n key: \"ended\",\n get: function get() {\n return this.el.ended;\n }\n\n /**\n * Determine if the playback is having to buffer in order for\n * playback to be smooth.\n * This is related to the PLAYBACK_BUFFERING and PLAYBACK_BUFFERFULL events\n * @property buffering\n * @type Boolean\n */\n }, {\n key: \"buffering\",\n get: function get() {\n return this._isBuffering;\n }\n }, {\n key: \"isPiPActive\",\n get: function get() {\n return this.el === document.pictureInPictureElement;\n }\n }, {\n key: \"isLive\",\n get: function get() {\n return this.getPlaybackType() === Playback.LIVE;\n }\n }, {\n key: \"dvrEnabled\",\n get: function get() {\n return this.getDuration() >= this._minDvrSize && this.isLive;\n }\n }, {\n key: \"minimumDVRSizeConfig\",\n get: function get() {\n return this.options.playback && this.options.playback.minimumDvrSize;\n }\n }, {\n key: \"isValidMinimumDVRSizeConfig\",\n get: function get() {\n return typeof this.minimumDVRSizeConfig !== 'undefined' && typeof this.minimumDVRSizeConfig === 'number';\n }\n }, {\n key: \"sourceMedia\",\n get: function get() {\n return this._src;\n }\n }, {\n key: \"configure\",\n value: function configure(options) {\n _superPropGet(HTML5Video, \"configure\", this)([options]);\n this.el.loop = !!options.loop;\n }\n\n // See Playback.attemptAutoPlay()\n }, {\n key: \"attemptAutoPlay\",\n value: function attemptAutoPlay() {\n var _this2 = this;\n this.canAutoPlay(function (result, error) {\n error && Log.warn(_this2.name, 'autoplay error.', {\n result: result,\n error: error\n });\n\n // https://github.com/clappr/clappr/issues/1076\n result && setTimeout(function () {\n return !_this2._destroyed && _this2.play();\n }, 0);\n });\n }\n\n // See Playback.canAutoPlay()\n }, {\n key: \"canAutoPlay\",\n value: function canAutoPlay(cb) {\n if (this.options.disableCanAutoPlay) {\n cb(true, null);\n return;\n }\n var opts = {\n timeout: this.options.autoPlayTimeout || 500,\n inline: this.options.playback.playInline || false,\n muted: this.options.mute || false // Known issue: mediacontrols may asynchronously mute video\n };\n\n // Use current video element if recycling feature enabled with mobile devices\n if (Browser.isMobile && DomRecycler.options.recycleVideo) opts.element = this.el;\n\n // Desktop browser autoplay policy may require user action\n // Mobile browser autoplay require user consent and video recycling feature enabled\n // It may returns a false positive with source-less player consent\n canAutoPlayMedia(cb, opts);\n }\n }, {\n key: \"_setupExternalTracks\",\n value: function _setupExternalTracks(tracks) {\n this._externalTracks = tracks.map(function (track) {\n return {\n kind: track.kind || 'subtitles',\n // Default is 'subtitles'\n label: track.label,\n lang: track.lang,\n src: track.src\n };\n });\n }\n\n /**\n * Sets the source url on the <video> element, and also the 'src' property.\n * @method load\n * @public\n * @param {String} srcUrl The source URL.\n */\n }, {\n key: \"load\",\n value: function load(srcUrl) {\n this._setupSrc(srcUrl);\n }\n\n /**\n * Sets the source url on the <video> element, and also the 'src' property.\n * @method setupSrc\n * @private\n * @param {String} srcUrl The source URL.\n */\n }, {\n key: \"_setupSrc\",\n value: function _setupSrc(srcUrl) {\n if (this.el.src === srcUrl) return;\n this._ccIsSetup = false;\n this.el.src = srcUrl;\n this._src = this.el.src;\n }\n }, {\n key: \"_onLoadedMetadata\",\n value: function _onLoadedMetadata(e) {\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_LOADEDMETADATA, {\n duration: e.target.duration,\n data: e\n });\n this._updateSettings();\n var autoSeekFromUrl = typeof this._options.autoSeekFromUrl === 'undefined' || this._options.autoSeekFromUrl;\n if (this.getPlaybackType() !== Playback.LIVE && autoSeekFromUrl) this._checkInitialSeek();\n }\n }, {\n key: \"_onDurationChange\",\n value: function _onDurationChange() {\n this._updateSettings();\n this._onTimeUpdate();\n // onProgress uses the duration\n this._onProgress();\n }\n }, {\n key: \"_updateSettings\",\n value: function _updateSettings() {\n // we can't figure out if hls resource is VoD or not until it is being loaded or duration has changed.\n // that's why we check it again and update media control accordingly.\n if (this.getPlaybackType() === Playback.VOD || this.getPlaybackType() === Playback.AOD) this.settings.left = ['playpause', 'position', 'duration'];else this.settings.left = ['playstop'];\n this.settings.seekEnabled = this.isSeekEnabled();\n this.trigger(Events.PLAYBACK_SETTINGSUPDATE);\n }\n }, {\n key: \"isSeekEnabled\",\n value: function isSeekEnabled() {\n return isFinite(this.getDuration());\n }\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n var onDemandType = this.tagName === 'audio' ? Playback.AOD : Playback.VOD;\n return [0, undefined, Infinity].indexOf(this.el.duration) >= 0 ? Playback.LIVE : onDemandType;\n }\n }, {\n key: \"isHighDefinitionInUse\",\n value: function isHighDefinitionInUse() {\n return false;\n }\n\n // On mobile device, HTML5 video element \"retains\" user action consent if\n // load() method is called. See Player.consent().\n }, {\n key: \"consent\",\n value: function consent(cb) {\n var _this3 = this;\n if (this.isPlaying() || this.el._consented) {\n _superPropGet(HTML5Video, \"consent\", this)([cb]);\n } else {\n var _eventHandler = function eventHandler() {\n _this3.el.removeEventListener('loadedmetadata', _eventHandler, false);\n _this3.el.removeEventListener('error', _eventHandler, false);\n _this3.el._consented = true; // Flag to call load() only once\n _superPropGet(HTML5Video, \"consent\", _this3)([cb]);\n };\n this.el.addEventListener('loadedmetadata', _eventHandler, false);\n this.el.addEventListener('error', _eventHandler, false);\n this.el.load();\n }\n }\n }, {\n key: \"play\",\n value: function play() {\n var _this4 = this;\n this.trigger(Events.PLAYBACK_PLAY_INTENT);\n this._stopped = false;\n this._setupSrc(this._src);\n this._handleBufferingEvents();\n var promise = this.el.play();\n // For more details, see https://developers.google.com/web/updates/2016/03/play-returns-promise\n if (promise && promise[\"catch\"]) promise[\"catch\"](function (error) {\n return Log.warn(_this4.name, 'HTML5 play failed', error);\n });\n return promise;\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.el.pause();\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this.pause();\n this._stopped = true;\n // src will be added again in play()\n this.el.removeAttribute('src');\n this.el.load(); // load with no src to stop loading of the previous source and avoid leaks\n this._stopPlayheadMovingChecks();\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_STOP);\n }\n }, {\n key: \"volume\",\n value: function volume(value) {\n if (value === 0) {\n this.$el.attr({\n muted: 'true'\n });\n this.el.muted = true;\n } else {\n this.$el.attr({\n muted: null\n });\n this.el.muted = false;\n this.el.volume = value / 100;\n }\n }\n\n /**\n * @deprecated\n * @private\n */\n }, {\n key: \"mute\",\n value: function mute() {\n this.el.muted = true;\n }\n\n /**\n * @deprecated\n * @private\n */\n }, {\n key: \"unmute\",\n value: function unmute() {\n this.el.muted = false;\n }\n }, {\n key: \"isMuted\",\n value: function isMuted() {\n return this.el.muted === true || this.el.volume === 0;\n }\n }, {\n key: \"isPlaying\",\n value: function isPlaying() {\n return !this.el.paused && !this.el.ended;\n }\n }, {\n key: \"isReady\",\n get: function get() {\n return this._isReadyState;\n }\n }, {\n key: \"_startPlayheadMovingChecks\",\n value: function _startPlayheadMovingChecks() {\n if (this._playheadMovingTimer !== null || !this._playheadMovingCheckEnabled) return;\n this._playheadMovingTimeOnCheck = null;\n this._determineIfPlayheadMoving();\n this._playheadMovingTimer = setInterval(this._determineIfPlayheadMoving.bind(this), this._playheadMovingCheckInterval);\n }\n }, {\n key: \"_stopPlayheadMovingChecks\",\n value: function _stopPlayheadMovingChecks() {\n if (this._playheadMovingTimer === null) return;\n clearInterval(this._playheadMovingTimer);\n this._playheadMovingTimer = null;\n this._playheadMoving = false;\n }\n }, {\n key: \"_determineIfPlayheadMoving\",\n value: function _determineIfPlayheadMoving() {\n var before = this._playheadMovingTimeOnCheck;\n var now = this.el.currentTime;\n this._playheadMoving = before !== now;\n this._playheadMovingTimeOnCheck = now;\n this._handleBufferingEvents();\n }\n\n // this seems to happen when the user is having to wait\n // for something to happen AFTER A USER INTERACTION\n // e.g the player might be buffering, but when `play()` is called\n // only at this point will this be called.\n // Or the user may seek somewhere but the new area requires buffering,\n // so it will fire then as well.\n // On devices where playing is blocked until requested with a user action,\n // buffering may start, but never finish until the user initiates a play,\n // but this only happens when play is actually requested\n }, {\n key: \"_onWaiting\",\n value: function _onWaiting() {\n this._loadStarted = true;\n this._handleBufferingEvents();\n }\n\n // called after the first frame has loaded\n // note this doesn't fire on ios before the user has requested play\n // ideally the \"loadstart\" event would be used instead, but this fires\n // before a user has requested play on iOS, and also this is always fired\n // even if the preload setting is \"none\". In both these cases this causes\n // infinite buffering until the user does something which isn't great.\n }, {\n key: \"_onLoadedData\",\n value: function _onLoadedData() {\n this._loadStarted = true;\n this._handleBufferingEvents();\n }\n\n // note this doesn't fire on ios before user has requested play\n }, {\n key: \"_onCanPlay\",\n value: function _onCanPlay() {\n this._handleBufferingEvents();\n }\n }, {\n key: \"_onPlaying\",\n value: function _onPlaying() {\n this._checkForClosedCaptions();\n this._startPlayheadMovingChecks();\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_PLAY);\n }\n }, {\n key: \"_onPause\",\n value: function _onPause() {\n this.dvrEnabled && this._updateDvr(true);\n this._stopPlayheadMovingChecks();\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_PAUSE);\n }\n }, {\n key: \"_onSeeking\",\n value: function _onSeeking() {\n var currentTime = this.getCurrentTime();\n // assume live if time within 3 seconds of end of stream\n this.dvrEnabled && this._updateDvr(currentTime < this.getDuration() - 3);\n this.trigger(Events.PLAYBACK_SEEK, currentTime);\n this._handleBufferingEvents();\n }\n }, {\n key: \"_onSeeked\",\n value: function _onSeeked() {\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_SEEKED);\n }\n }, {\n key: \"_onEnded\",\n value: function _onEnded() {\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_ENDED, this.name);\n }\n }, {\n key: \"_onEnterPiP\",\n value: function _onEnterPiP() {\n this.trigger(Events.PLAYBACK_PIP_ENTER, this.name);\n }\n }, {\n key: \"_onExitPiP\",\n value: function _onExitPiP() {\n this.trigger(Events.PLAYBACK_PIP_EXIT, this.name);\n }\n }, {\n key: \"enterPiP\",\n value: function enterPiP() {\n var _this5 = this;\n this.el.requestPictureInPicture().then(function () {\n Log.info(_this5.name, 'enter PIP success');\n })[\"catch\"](function (e) {\n Log.warn(_this5.name, 'enter PIP failed', e);\n });\n }\n }, {\n key: \"exitPiP\",\n value: function exitPiP() {\n var _this6 = this;\n document.exitPictureInPicture().then(function () {\n Log.info(_this6.name, 'exit PIP success');\n })[\"catch\"](function (e) {\n Log.warn(_this6.name, 'exit PIP failed', e);\n });\n }\n\n // The playback should be classed as buffering if the following are true:\n // - the ready state is less then HAVE_FUTURE_DATA or the playhead isn't moving and it should be\n // - the media hasn't \"ended\",\n // - the media hasn't been stopped\n // - loading has started\n }, {\n key: \"_handleBufferingEvents\",\n value: function _handleBufferingEvents() {\n var isLoading = this._loadStarted && !this.el.ended && !this._stopped;\n var isMissingMediaDataToPlay = this.el.readyState < this.el.HAVE_FUTURE_DATA;\n var playheadShouldBeMoving = !this.el.ended && !this.el.paused && !this._playheadMoving;\n var buffering = isLoading && isMissingMediaDataToPlay;\n if (this._playheadMovingCheckEnabled) buffering = buffering || isLoading && playheadShouldBeMoving;\n if (this._isBuffering !== buffering) {\n this._isBuffering = buffering;\n if (buffering) this.trigger(Events.PLAYBACK_BUFFERING, this.name);else this.trigger(Events.PLAYBACK_BUFFERFULL, this.name);\n }\n }\n }, {\n key: \"_onError\",\n value: function _onError() {\n var _ref = this.el.error || UNKNOWN_ERROR,\n code = _ref.code,\n message = _ref.message;\n var isUnknownError = code === UNKNOWN_ERROR.code;\n var formattedError = this.createError({\n code: code,\n description: message,\n raw: this.el.error,\n level: isUnknownError ? PlayerError.Levels.WARN : PlayerError.Levels.FATAL\n });\n if (isUnknownError) Log.warn(this.name, 'HTML5 unknown error: ', formattedError);else this.trigger(Events.PLAYBACK_ERROR, formattedError);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._destroyed = true;\n this._stopPlayheadMovingChecks();\n this.handleTextTrackChange && this.el.textTracks.removeEventListener('change', this.handleTextTrackChange);\n this.$el.off('contextmenu');\n _superPropGet(HTML5Video, \"destroy\", this)([]);\n this.el.removeAttribute('src');\n this.el.load(); // load with no src to stop loading of the previous source and avoid leaks\n this._src = null;\n DomRecycler.garbage(this.el);\n }\n }, {\n key: \"_updateDvr\",\n value: function _updateDvr(status) {\n this.trigger(Events.PLAYBACK_DVR, status);\n this.trigger(Events.PLAYBACK_STATS_ADD, {\n 'dvr': status\n });\n }\n }, {\n key: \"seek\",\n value: function seek(time) {\n if (time < 0) {\n Log.warn('Attempt to seek to a negative time. Resetting to live point. Use seekToLivePoint() to seek to the live point.');\n time = this.getDuration();\n }\n time += this.el.seekable.start(0);\n this.el.currentTime = time;\n }\n }, {\n key: \"seekPercentage\",\n value: function seekPercentage(percentage) {\n var time = this.el.duration * (percentage / 100);\n this.seek(time);\n }\n }, {\n key: \"_checkInitialSeek\",\n value: function _checkInitialSeek() {\n var seekTime = seekStringToSeconds();\n if (seekTime !== 0) this.seek(seekTime);\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.el.currentTime;\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n if (this.isLive) {\n if (this.el.seekable.length > 0) {\n return this.el.seekable.end(0) - this.el.seekable.start(0);\n } else {\n // `seekable` is not available; this is probably OK, but make sure we're\n // updating the control bar to reflect it\n this._scheduleUpdateSettingsCheck();\n }\n }\n return this.el.duration;\n }\n }, {\n key: \"_scheduleUpdateSettingsCheck\",\n value: function _scheduleUpdateSettingsCheck() {\n var _this7 = this;\n if (this._updateSettingsCheckInFlight) return;\n this._updateSettingsCheckInFlight = setTimeout(function () {\n _this7._updateSettings();\n _this7._updateSettingsCheckInFlight = null;\n }, 1000);\n }\n }, {\n key: \"_onTimeUpdate\",\n value: function _onTimeUpdate() {\n var duration = this.isLive ? this.getDuration() : this.el.duration;\n this.trigger(Events.PLAYBACK_TIMEUPDATE, {\n current: this.el.currentTime,\n total: duration\n }, this.name);\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress() {\n if (!this.el.buffered.length) return;\n var buffered = [];\n var bufferedPos = 0;\n for (var i = 0; i < this.el.buffered.length; i++) {\n buffered = [].concat(_toConsumableArray(buffered), [{\n start: this.el.buffered.start(i),\n end: this.el.buffered.end(i)\n }]);\n if (this.el.currentTime >= buffered[i].start && this.el.currentTime <= buffered[i].end) bufferedPos = i;\n }\n var progress = {\n start: buffered[bufferedPos].start,\n current: buffered[bufferedPos].end,\n total: this.el.duration\n };\n this.trigger(Events.PLAYBACK_PROGRESS, progress, buffered);\n }\n }, {\n key: \"_typeFor\",\n value: function _typeFor(src) {\n var mimeTypes = HTML5Video._mimeTypesForUrl(src, MIMETYPES, this.options.mimeType);\n if (mimeTypes.length === 0) mimeTypes = HTML5Video._mimeTypesForUrl(src, AUDIO_MIMETYPES, this.options.mimeType);\n var mimeType = mimeTypes[0] || '';\n return mimeType.split(';')[0];\n }\n }, {\n key: \"_ready\",\n value: function _ready() {\n if (this._isReadyState) return;\n this._isReadyState = true;\n this.trigger(Events.PLAYBACK_READY, this.name);\n }\n }, {\n key: \"_checkForClosedCaptions\",\n value: function _checkForClosedCaptions() {\n // Check if CC available only if current playback is HTML5Video\n if (this.isHTML5Video && !this._ccIsSetup) {\n if (this.hasClosedCaptionsTracks) {\n this.trigger(Events.PLAYBACK_SUBTITLE_AVAILABLE);\n var trackId = this.closedCaptionsTrackId;\n this.closedCaptionsTrackId = trackId;\n this.handleTextTrackChange = this._handleTextTrackChange.bind(this);\n this.el.textTracks.addEventListener('change', this.handleTextTrackChange);\n }\n this._ccIsSetup = true;\n }\n }\n }, {\n key: \"_handleTextTrackChange\",\n value: function _handleTextTrackChange() {\n var tracks = this.closedCaptionsTracks;\n var track = tracks.find(function (track) {\n return track.track.mode === 'showing';\n }) || {\n id: -1\n };\n if (this._ccTrackId !== track.id) {\n this._ccTrackId = track.id;\n this.trigger(Events.PLAYBACK_SUBTITLE_CHANGED, {\n id: track.id\n });\n }\n }\n }, {\n key: \"isHTML5Video\",\n get: function get() {\n return this.name === HTML5Video.prototype.name;\n }\n }, {\n key: \"closedCaptionsTracks\",\n get: function get() {\n var id = 0;\n var trackId = function trackId() {\n return id++;\n };\n var textTracks = this.el.textTracks ? Array.from(this.el.textTracks) : [];\n return textTracks.filter(function (track) {\n return track.kind === 'subtitles' || track.kind === 'captions';\n }).map(function (track) {\n return {\n id: trackId(),\n name: track.label,\n track: track\n };\n });\n }\n }, {\n key: \"closedCaptionsTrackId\",\n get: function get() {\n return this._ccTrackId;\n },\n set: function set(trackId) {\n if (!isNumber(trackId)) return;\n var tracks = this.closedCaptionsTracks;\n var showingTrack;\n\n // Note: -1 is for hide all tracks\n if (trackId !== -1) {\n showingTrack = tracks.find(function (track) {\n return track.id === trackId;\n });\n if (!showingTrack) return; // Track id not found\n\n if (showingTrack.track.mode === 'showing') return; // Track already showing\n }\n\n // Since it is possible to display multiple tracks,\n // ensure that all tracks are hidden.\n tracks.filter(function (track) {\n return track.track.mode !== 'hidden';\n }).forEach(function (track) {\n return track.track.mode = 'hidden';\n });\n showingTrack && (showingTrack.track.mode = 'showing');\n this._ccTrackId = trackId;\n this.trigger(Events.PLAYBACK_SUBTITLE_CHANGED, {\n id: trackId\n });\n }\n }, {\n key: \"template\",\n get: function get() {\n return tmpl(tracksHTML);\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this.options.playback.disableContextMenu) {\n this.$el.on('contextmenu', function () {\n return false;\n });\n }\n if (this._externalTracks && this._externalTracks.length > 0) {\n this.$el.html(this.template({\n tracks: this._externalTracks\n }));\n }\n this._ready();\n var style = Styler.getStyleFor(css_248z$2.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n return this;\n }\n }]);\n}(Playback);\nHTML5Video._mimeTypesForUrl = function () {\n var resourceUrl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var mimeTypesByExtension = arguments.length > 1 ? arguments[1] : undefined;\n var mimeType = arguments.length > 2 ? arguments[2] : undefined;\n var extension = (resourceUrl.split('?')[0].match(/.*\\.(.*)$/) || [])[1];\n var mimeTypes = mimeType || extension && mimeTypesByExtension[extension.toLowerCase()] || [];\n return mimeTypes.constructor === Array ? mimeTypes : [mimeTypes];\n};\nHTML5Video._canPlay = function (type, mimeTypesByExtension, resourceUrl, mimeType) {\n var mimeTypes = HTML5Video._mimeTypesForUrl(resourceUrl, mimeTypesByExtension, mimeType);\n var media = document.createElement(type);\n return !!mimeTypes.filter(function (mediaType) {\n return !!media.canPlayType(mediaType).replace(/no/, '');\n })[0];\n};\nHTML5Video.canPlay = function (resourceUrl, mimeType) {\n return HTML5Video._canPlay('audio', AUDIO_MIMETYPES, resourceUrl, mimeType) || HTML5Video._canPlay('video', MIMETYPES, resourceUrl, mimeType);\n};\n\n// TODO: remove this playback and change HTML5Video to HTML5Playback (breaking change, only after 0.3.0)\nvar HTML5Audio = /*#__PURE__*/function (_HTML5Video) {\n function HTML5Audio() {\n _classCallCheck(this, HTML5Audio);\n return _callSuper(this, HTML5Audio, arguments);\n }\n _inherits(HTML5Audio, _HTML5Video);\n return _createClass(HTML5Audio, [{\n key: \"name\",\n get: function get() {\n return 'html5_audio';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"tagName\",\n get: function get() {\n return 'audio';\n }\n }, {\n key: \"isAudioOnly\",\n get: function get() {\n return true;\n }\n }, {\n key: \"updateSettings\",\n value: function updateSettings() {\n this.settings.left = ['playpause', 'position', 'duration'];\n this.settings.seekEnabled = this.isSeekEnabled();\n this.trigger(Events.PLAYBACK_SETTINGSUPDATE);\n }\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n return Playback.AOD;\n }\n }]);\n}(HTML5Video);\nHTML5Audio.canPlay = function (resourceUrl, mimeType) {\n var mimetypes = {\n 'wav': ['audio/wav'],\n 'mp3': ['audio/mp3', 'audio/mpeg;codecs=\"mp3\"'],\n 'aac': ['audio/mp4;codecs=\"mp4a.40.5\"'],\n 'oga': ['audio/ogg']\n };\n return HTML5Video._canPlay('audio', mimetypes, resourceUrl, mimeType);\n};\n\nvar css_248z$1 = \"[data-html-img] {\\n max-width: 100%;\\n max-height: 100%; }\\n\";\n\nvar HTMLImg = /*#__PURE__*/function (_Playback) {\n function HTMLImg(params) {\n var _this;\n _classCallCheck(this, HTMLImg);\n _this = _callSuper(this, HTMLImg, [params]);\n _this.el.src = params.src;\n return _this;\n }\n _inherits(HTMLImg, _Playback);\n return _createClass(HTMLImg, [{\n key: \"name\",\n get: function get() {\n return 'html_img';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"tagName\",\n get: function get() {\n return 'img';\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'data-html-img': ''\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'load': '_onLoad',\n 'abort': '_onError',\n 'error': '_onError'\n };\n }\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n return Playback.NO_OP;\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = Styler.getStyleFor(css_248z$1.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n this.trigger(Events.PLAYBACK_READY, this.name);\n return this;\n }\n }, {\n key: \"_onLoad\",\n value: function _onLoad() {\n this.trigger(Events.PLAYBACK_ENDED, this.name);\n }\n }, {\n key: \"_onError\",\n value: function _onError(evt) {\n var m = evt.type === 'error' ? 'load error' : 'loading aborted';\n this.trigger(Events.PLAYBACK_ERROR, {\n message: m\n }, this.name);\n }\n }]);\n}(Playback);\nHTMLImg.canPlay = function (resource) {\n return /\\.(png|jpg|jpeg|gif|bmp|tiff|pgm|pnm|webp)(|\\?.*)$/i.test(resource);\n};\n\nvar noOpHTML = \"<canvas data-no-op-canvas></canvas>\\n<p data-no-op-msg><%=message%></p><p>\\n</p>\";\n\nvar css_248z = \"[data-no-op] {\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n text-align: center; }\\n\\n[data-no-op] p[data-no-op-msg] {\\n position: absolute;\\n text-align: center;\\n font-size: 25px;\\n left: 0;\\n right: 0;\\n color: white;\\n padding: 10px;\\n /* center vertically */\\n top: 50%;\\n transform: translateY(-50%);\\n max-height: 100%;\\n overflow: auto; }\\n\\n[data-no-op] canvas[data-no-op-canvas] {\\n background-color: #777;\\n height: 100%;\\n width: 100%; }\\n\";\n\nvar NoOp = /*#__PURE__*/function (_Playback) {\n function NoOp() {\n var _this;\n _classCallCheck(this, NoOp);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, NoOp, [].concat(args));\n _this._noiseFrameNum = -1;\n return _this;\n }\n _inherits(NoOp, _Playback);\n return _createClass(NoOp, [{\n key: \"name\",\n get: function get() {\n return 'no_op';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return tmpl(noOpHTML);\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'data-no-op': ''\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var playbackNotSupported = this.options.playbackNotSupportedMessage || this.i18n.t('playback_not_supported');\n var style = Styler.getStyleFor(css_248z.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n this.$el.html(this.template({\n message: playbackNotSupported\n }));\n this.trigger(Events.PLAYBACK_READY, this.name);\n var showForNoOp = !!(this.options.poster && this.options.poster.showForNoOp);\n if (this.options.autoPlay || !showForNoOp) this._animate();\n return this;\n }\n }, {\n key: \"_noise\",\n value: function _noise() {\n this._noiseFrameNum = (this._noiseFrameNum + 1) % 5;\n if (this._noiseFrameNum) {\n // only update noise every 5 frames to save cpu\n return;\n }\n var idata = this.context.createImageData(this.context.canvas.width, this.context.canvas.height);\n var buffer32;\n try {\n buffer32 = new Uint32Array(idata.data.buffer);\n } catch (err) {\n buffer32 = new Uint32Array(this.context.canvas.width * this.context.canvas.height * 4);\n var data = idata.data;\n for (var i = 0; i < data.length; i++) buffer32[i] = data[i];\n }\n var len = buffer32.length,\n m = Math.random() * 6 + 4;\n var run = 0,\n color = 0;\n for (var _i = 0; _i < len;) {\n if (run < 0) {\n run = m * Math.random();\n var p = Math.pow(Math.random(), 0.4);\n color = 255 * p << 24;\n }\n run -= 1;\n buffer32[_i++] = color;\n }\n this.context.putImageData(idata, 0, 0);\n }\n }, {\n key: \"_loop\",\n value: function _loop() {\n var _this2 = this;\n if (this._stop) return;\n this._noise();\n this._animationHandle = requestAnimationFrame(function () {\n return _this2._loop();\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n if (this._animationHandle) {\n cancelAnimationFrame(this._animationHandle);\n this._stop = true;\n }\n }\n }, {\n key: \"_animate\",\n value: function _animate() {\n this.canvas = this.$el.find('canvas[data-no-op-canvas]')[0];\n this.context = this.canvas.getContext('2d');\n this._loop();\n }\n }]);\n}(Playback);\nNoOp.canPlay = function (source) {\n // eslint-disable-line no-unused-vars\n return true;\n};\n\n/**\n * The internationalization (i18n) plugin\n * @class Strings\n * @constructor\n * @extends CorePlugin\n * @module plugins\n */\nvar Strings = /*#__PURE__*/function (_CorePlugin) {\n function Strings(core) {\n var _this;\n _classCallCheck(this, Strings);\n _this = _callSuper(this, Strings, [core]);\n _this._initializeMessages();\n return _this;\n }\n /**\n * Gets a translated string for the given key.\n * @method t\n * @param {String} key the key to all messages\n * @return {String} translated label\n */\n _inherits(Strings, _CorePlugin);\n return _createClass(Strings, [{\n key: \"name\",\n get: function get() {\n return 'strings';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"t\",\n value: function t(key) {\n var lang = this._language();\n var fallbackLang = this._messages['en'];\n var i18n = lang && this._messages[lang] || fallbackLang;\n return i18n[key] || fallbackLang[key] || key;\n }\n }, {\n key: \"_language\",\n value: function _language() {\n return this.core.options.language || getBrowserLanguage();\n }\n }, {\n key: \"_initializeMessages\",\n value: function _initializeMessages() {\n var defaultMessages = {\n 'en': {\n 'live': 'live',\n 'back_to_live': 'back to live',\n 'disabled': 'Disabled',\n 'playback_not_supported': 'Your browser does not support the playback of this video. Please try using a different browser.',\n 'default_error_title': 'Could not play video.',\n 'default_error_message': 'There was a problem trying to load the video.'\n },\n 'de': {\n 'live': 'Live',\n 'back_to_live': 'Zurück zum Live-Video',\n 'disabled': 'Deaktiviert',\n 'playback_not_supported': 'Ihr Browser unterstützt das Playback Verfahren nicht. Bitte vesuchen Sie es mit einem anderen Browser.',\n 'default_error_title': 'Video kann nicht abgespielt werden',\n 'default_error_message': 'Es gab ein Problem beim Laden des Videos'\n },\n 'pt': {\n 'live': 'ao vivo',\n 'back_to_live': 'voltar para o ao vivo',\n 'disabled': 'Desativado',\n 'playback_not_supported': 'Seu navegador não suporta a reprodução deste video. Por favor, tente usar um navegador diferente.',\n 'default_error_title': 'Não foi possível reproduzir o vídeo.',\n 'default_error_message': 'Ocorreu um problema ao tentar carregar o vídeo.'\n },\n 'es_am': {\n 'live': 'vivo',\n 'back_to_live': 'volver en vivo',\n 'disabled': 'No disponible',\n 'playback_not_supported': 'Su navegador no soporta la reproducción de este video. Por favor, utilice un navegador diferente.',\n 'default_error_title': 'No se puede reproducir el video.',\n 'default_error_message': 'Se ha producido un error al cargar el video.'\n },\n 'es': {\n 'live': 'en directo',\n 'back_to_live': 'volver al directo',\n 'disabled': 'No disponible',\n 'playback_not_supported': 'Este navegador no es compatible para reproducir este vídeo. Utilice un navegador diferente.',\n 'default_error_title': 'No se puede reproducir el vídeo.',\n 'default_error_message': 'Se ha producido un problema al cargar el vídeo.'\n },\n 'ru': {\n 'live': 'прямой эфир',\n 'back_to_live': 'к прямому эфиру',\n 'disabled': 'Отключено',\n 'playback_not_supported': 'Ваш браузер не поддерживает воспроизведение этого видео. Пожалуйста, попробуйте другой браузер.'\n },\n 'bg': {\n 'live': 'на живо',\n 'back_to_live': 'Върни на живо',\n 'disabled': 'Изключено',\n 'playback_not_supported': 'Вашият браузър не поддържа възпроизвеждането на това видео. Моля, пробвайте с друг браузър.',\n 'default_error_title': 'Видеото не може да се възпроизведе.',\n 'default_error_message': 'Възникна проблем при зареждането на видеото.'\n },\n 'fr': {\n 'live': 'en direct',\n 'back_to_live': 'retour au direct',\n 'disabled': 'Désactivé',\n 'playback_not_supported': 'Votre navigateur ne supporte pas la lecture de cette vidéo. Merci de tenter sur un autre navigateur.',\n 'default_error_title': 'Impossible de lire la vidéo.',\n 'default_error_message': 'Un problème est survenu lors du chargement de la vidéo.'\n },\n 'tr': {\n 'live': 'canlı',\n 'back_to_live': 'canlı yayına dön',\n 'disabled': 'Engelli',\n 'playback_not_supported': 'Tarayıcınız bu videoyu oynatma desteğine sahip değil. Lütfen farklı bir tarayıcı ile deneyin.'\n },\n 'et': {\n 'live': 'Otseülekanne',\n 'back_to_live': 'Tagasi otseülekande juurde',\n 'disabled': 'Keelatud',\n 'playback_not_supported': 'Teie brauser ei toeta selle video taasesitust. Proovige kasutada muud brauserit.'\n },\n 'ar': {\n 'live': 'مباشر',\n 'back_to_live': 'الرجوع إلى المباشر',\n 'disabled': 'معطّل',\n 'playback_not_supported': 'المتصفح الذي تستخدمه لا يدعم تشغيل هذا الفيديو. الرجاء إستخدام متصفح آخر.',\n 'default_error_title': 'غير قادر الى التشغيل.',\n 'default_error_message': 'حدثت مشكلة أثناء تحميل الفيديو.'\n },\n 'zh': {\n 'live': '直播',\n 'back_to_live': '返回直播',\n 'disabled': '已禁用',\n 'playback_not_supported': '您的浏览器不支持该视频的播放。请尝试使用另一个浏览器。',\n 'default_error_title': '无法播放视频。',\n 'default_error_message': '在尝试加载视频时出现了问题。'\n }\n };\n this._messages = $.extend(true, defaultMessages, this.core.options.strings || {});\n this._messages['de-DE'] = this._messages['de'];\n this._messages['pt-BR'] = this._messages['pt'];\n this._messages['en-US'] = this._messages['en'];\n this._messages['bg-BG'] = this._messages['bg'];\n this._messages['es-419'] = this._messages['es_am'];\n this._messages['es-ES'] = this._messages['es'];\n this._messages['fr-FR'] = this._messages['fr'];\n this._messages['tr-TR'] = this._messages['tr'];\n this._messages['et-EE'] = this._messages['et'];\n this._messages['ar-IQ'] = this._messages['ar'];\n this._messages['zh-CN'] = this._messages['zh'];\n }\n }]);\n}(CorePlugin);\n\nvar SourcesPlugin = /*#__PURE__*/function (_CorePlugin) {\n function SourcesPlugin() {\n _classCallCheck(this, SourcesPlugin);\n return _callSuper(this, SourcesPlugin, arguments);\n }\n _inherits(SourcesPlugin, _CorePlugin);\n return _createClass(SourcesPlugin, [{\n key: \"name\",\n get: function get() {\n return 'sources';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.core, Events.CORE_CONTAINERS_CREATED, this.onContainersCreated);\n }\n }, {\n key: \"onContainersCreated\",\n value: function onContainersCreated() {\n var firstValidSource = this.core.containers.filter(function (container) {\n return container.playback.name !== 'no_op';\n })[0] || this.core.containers[0];\n firstValidSource && this.core.containers.forEach(function (container) {\n if (container !== firstValidSource) container.destroy();\n });\n }\n }]);\n}(CorePlugin);\n\n// Copyright 2014 Globo.com Player authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n\n/** @constant\n @type {string}\n @default\n*/\nvar version = \"0.12.0\";\n\n// Built-in Plugins/Playbacks\n\nLoader.registerPlugin(Strings);\nLoader.registerPlugin(SourcesPlugin);\nLoader.registerPlayback(NoOp);\nLoader.registerPlayback(HTMLImg);\nLoader.registerPlayback(HTML5Audio);\nLoader.registerPlayback(HTML5Video);\nvar main = {\n Player: Player,\n Events: Events,\n Browser: Browser,\n ContainerPlugin: ContainerPlugin,\n UIContainerPlugin: UIContainerPlugin,\n CorePlugin: CorePlugin,\n UICorePlugin: UICorePlugin,\n Playback: Playback,\n Container: Container,\n Core: Core,\n PlayerError: PlayerError,\n Loader: Loader,\n BaseObject: BaseObject,\n UIObject: UIObject,\n Utils: Utils,\n HTML5Audio: HTML5Audio,\n HTML5Video: HTML5Video,\n HTMLImg: HTMLImg,\n Log: Log,\n Styler: Styler,\n version: version,\n template: tmpl,\n $: $\n};\n\nexport { $, BaseObject, Browser, Container, ContainerPlugin, Core, CorePlugin, Events, HTML5Audio, HTML5Video, HTMLImg, Loader, Log, Playback, Player, PlayerError, Styler, UIContainerPlugin, UICorePlugin, UIObject, Utils, main as default, tmpl as template, version };\n","import { Events, Playback, ContainerPlugin, template, Styler, UICorePlugin, CorePlugin, PlayerError, $, Utils, Browser, UIContainerPlugin } from '@clappr/core';\n\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nfunction _callSuper(t, o, e) {\n return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nfunction _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = _superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nfunction _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && _setPrototypeOf(t, e);\n}\nfunction _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function () {\n return !!t;\n })();\n}\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == typeof e || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return _assertThisInitialized(t);\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t)););\n return t;\n}\nfunction _superPropGet(t, o, e, r) {\n var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);\n return 2 & r && \"function\" == typeof p ? function (t) {\n return p.apply(e, t);\n } : p;\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\n\nvar ClickToPausePlugin = /*#__PURE__*/function (_ContainerPlugin) {\n function ClickToPausePlugin(container) {\n _classCallCheck(this, ClickToPausePlugin);\n return _callSuper(this, ClickToPausePlugin, [container]);\n }\n _inherits(ClickToPausePlugin, _ContainerPlugin);\n return _createClass(ClickToPausePlugin, [{\n key: \"name\",\n get: function get() {\n return 'click_to_pause';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"config\",\n get: function get() {\n return this.container.options.clickToPauseConfig || {};\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.container, Events.CONTAINER_CLICK, this.click);\n this.listenTo(this.container, Events.CONTAINER_SETTINGSUPDATE, this.settingsUpdate);\n }\n }, {\n key: \"click\",\n value: function click() {\n var onClickPayload = this.config.onClickPayload;\n if (this.container.getPlaybackType() !== Playback.LIVE || this.container.isDvrEnabled()) {\n if (this.container.isPlaying()) this.container.pause(onClickPayload);else this.container.play(onClickPayload);\n }\n }\n }, {\n key: \"settingsUpdate\",\n value: function settingsUpdate() {\n var pointerEnabled = this.container.getPlaybackType() !== Playback.LIVE || this.container.isDvrEnabled();\n if (pointerEnabled === this.pointerEnabled) return;\n var method = pointerEnabled ? 'addClass' : 'removeClass';\n this.container.$el[method]('pointer-enabled');\n this.pointerEnabled = pointerEnabled;\n }\n }]);\n}(ContainerPlugin);\n\nvar ccIcon = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\"\\n\\t viewBox=\\\"0 0 49 41.8\\\" style=\\\"enable-background:new 0 0 49 41.8;\\\" xml:space=\\\"preserve\\\">\\n<path d=\\\"M47.1,0H3.2C1.6,0,0,1.2,0,2.8v31.5C0,35.9,1.6,37,3.2,37h11.9l3.2,1.9l4.7,2.7c0.9,0.5,2-0.1,2-1.1V37h22.1\\n\\tc1.6,0,1.9-1.1,1.9-2.7V2.8C49,1.2,48.7,0,47.1,0z M7.2,18.6c0-4.8,3.5-9.3,9.9-9.3c4.8,0,7.1,2.7,7.1,2.7l-2.5,4\\n\\tc0,0-1.7-1.7-4.2-1.7c-2.8,0-4.3,2.1-4.3,4.3c0,2.1,1.5,4.4,4.5,4.4c2.5,0,4.9-2.1,4.9-2.1l2.2,4.2c0,0-2.7,2.9-7.6,2.9\\n\\tC10.8,27.9,7.2,23.5,7.2,18.6z M36.9,27.9c-6.4,0-9.9-4.4-9.9-9.3c0-4.8,3.5-9.3,9.9-9.3C41.7,9.3,44,12,44,12l-2.5,4\\n\\tc0,0-1.7-1.7-4.2-1.7c-2.8,0-4.3,2.1-4.3,4.3c0,2.1,1.5,4.4,4.5,4.4c2.5,0,4.9-2.1,4.9-2.1l2.2,4.2C44.5,25,41.9,27.9,36.9,27.9z\\\"/>\\n</svg>\";\n\nvar ccHTML = \"<button type=\\\"button\\\" class=\\\"cc-button media-control-button media-control-icon\\\" data-cc-button aria-label=\\\"<%= ariaLabel %>\\\"></button>\\n<ul>\\n <% if (title) { %>\\n <li data-title><%= title %></li>\\n <% }; %>\\n <li><a href=\\\"#\\\" data-cc-select=\\\"-1\\\"><%= disabledLabel %></a></li>\\n <% for (var i = 0; i < tracks.length; i++) { %>\\n <li><a href=\\\"#\\\" data-cc-select=\\\"<%= tracks[i].id %>\\\"><%= tracks[i].label %></a></li>\\n <% }; %>\\n</ul>\\n\";\n\nvar css_248z$7 = \".cc-controls[data-cc-controls] {\\n float: right;\\n position: relative;\\n display: none; }\\n .cc-controls[data-cc-controls].available {\\n display: block; }\\n .cc-controls[data-cc-controls] .cc-button {\\n padding: 6px !important; }\\n .cc-controls[data-cc-controls] .cc-button.enabled {\\n display: block;\\n opacity: 1.0; }\\n .cc-controls[data-cc-controls] .cc-button.enabled:hover {\\n opacity: 1.0;\\n text-shadow: none; }\\n .cc-controls[data-cc-controls] > ul {\\n list-style-type: none;\\n position: absolute;\\n bottom: 25px;\\n border: 1px solid black;\\n display: none;\\n background-color: #e6e6e6; }\\n .cc-controls[data-cc-controls] li {\\n font-size: 10px; }\\n .cc-controls[data-cc-controls] li[data-title] {\\n background-color: #c3c2c2;\\n padding: 5px; }\\n .cc-controls[data-cc-controls] li a {\\n color: #444;\\n padding: 2px 10px;\\n display: block;\\n text-decoration: none; }\\n .cc-controls[data-cc-controls] li a:hover {\\n background-color: #555;\\n color: white; }\\n .cc-controls[data-cc-controls] li a:hover a {\\n color: white;\\n text-decoration: none; }\\n .cc-controls[data-cc-controls] li.current a {\\n color: #f00; }\\n\";\n\nvar ClosedCaptions = /*#__PURE__*/function (_UICorePlugin) {\n function ClosedCaptions(core) {\n var _this;\n _classCallCheck(this, ClosedCaptions);\n _this = _callSuper(this, ClosedCaptions, [core]);\n var config = core.options.closedCaptionsConfig;\n _this._title = config && config.title ? config.title : null;\n _this._ariaLabel = config && config.ariaLabel ? config.ariaLabel : 'cc-button';\n _this._labelCb = config && config.labelCallback && typeof config.labelCallback === 'function' ? config.labelCallback : function (track) {\n return track.name;\n };\n return _this;\n }\n _inherits(ClosedCaptions, _UICorePlugin);\n return _createClass(ClosedCaptions, [{\n key: \"name\",\n get: function get() {\n return 'closed_captions';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(ccHTML);\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'click [data-cc-button]': 'toggleContextMenu',\n 'click [data-cc-select]': 'onTrackSelect'\n };\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'cc-controls',\n 'data-cc-controls': ''\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.containerChanged);\n this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_RENDERED, this.render);\n this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_HIDE, this.hideContextMenu);\n this.bindContainerEvents();\n }\n }, {\n key: \"bindContainerEvents\",\n value: function bindContainerEvents() {\n this.container = this.core.activeContainer;\n if (this.container) {\n this.listenTo(this.container, Events.CONTAINER_SUBTITLE_AVAILABLE, this.onSubtitleAvailable);\n this.listenTo(this.container, Events.CONTAINER_SUBTITLE_CHANGED, this.onSubtitleChanged);\n this.listenTo(this.container, Events.CONTAINER_STOP, this.onContainerStop);\n }\n }\n }, {\n key: \"onContainerStop\",\n value: function onContainerStop() {\n this.ccAvailable(false);\n }\n }, {\n key: \"containerChanged\",\n value: function containerChanged() {\n this.ccAvailable(false);\n this.stopListening();\n this.bindEvents();\n }\n }, {\n key: \"onSubtitleAvailable\",\n value: function onSubtitleAvailable() {\n this.renderCcButton();\n this.ccAvailable(true);\n }\n }, {\n key: \"onSubtitleChanged\",\n value: function onSubtitleChanged(track) {\n this.setCurrentContextMenuElement(track.id);\n }\n }, {\n key: \"onTrackSelect\",\n value: function onTrackSelect(event) {\n var trackId = parseInt(event.target.dataset.ccSelect, 10);\n this.container.closedCaptionsTrackId = trackId;\n this.hideContextMenu();\n event.stopPropagation();\n return false;\n }\n }, {\n key: \"ccAvailable\",\n value: function ccAvailable(hasCC) {\n var method = hasCC ? 'addClass' : 'removeClass';\n this.$el[method]('available');\n }\n }, {\n key: \"toggleContextMenu\",\n value: function toggleContextMenu() {\n this.$el.find('ul').toggle();\n }\n }, {\n key: \"hideContextMenu\",\n value: function hideContextMenu() {\n this.$el.find('ul').hide();\n }\n }, {\n key: \"contextMenuElement\",\n value: function contextMenuElement(id) {\n return this.$el.find('ul a' + (!isNaN(id) ? '[data-cc-select=\"' + id + '\"]' : '')).parent();\n }\n }, {\n key: \"setCurrentContextMenuElement\",\n value: function setCurrentContextMenuElement(trackId) {\n if (this._trackId !== trackId) {\n this.contextMenuElement().removeClass('current');\n this.contextMenuElement(trackId).addClass('current');\n var method = trackId > -1 ? 'addClass' : 'removeClass';\n this.$ccButton[method]('enabled');\n this._trackId = trackId;\n }\n }\n }, {\n key: \"renderCcButton\",\n value: function renderCcButton() {\n var tracks = this.container ? this.container.closedCaptionsTracks : [];\n for (var i = 0; i < tracks.length; i++) tracks[i].label = this._labelCb(tracks[i]);\n var style = Styler.getStyleFor(css_248z$7, {\n baseUrl: this.options.baseUrl\n });\n this.$el.html(this.template({\n ariaLabel: this._ariaLabel,\n disabledLabel: this.core.i18n.t('disabled'),\n title: this._title,\n tracks: tracks\n }));\n this.$ccButton = this.$el.find('button.cc-button[data-cc-button]');\n this.$ccButton.append(ccIcon);\n this.$el.append(style[0]);\n }\n }, {\n key: \"render\",\n value: function render() {\n this.renderCcButton();\n var $fullscreen = this.core.mediaControl.$el.find('button[data-fullscreen]');\n if ($fullscreen[0]) this.$el.insertAfter($fullscreen);else this.core.mediaControl.$el.find('.media-control-right-panel[data-media-control]').prepend(this.$el);\n return this;\n }\n }]);\n}(UICorePlugin);\n\nvar dvrHTML = \"<div class=\\\"live-info\\\"><%= live %></div>\\n<button type=\\\"button\\\" class=\\\"live-button\\\" aria-label=\\\"<%= backToLive %>\\\"><%= backToLive %></button>\\n\";\n\nvar css_248z$6 = \".dvr-controls[data-dvr-controls] {\\n display: inline-block;\\n float: left;\\n color: #fff;\\n line-height: 32px;\\n font-size: 10px;\\n font-weight: bold;\\n margin-left: 6px; }\\n .dvr-controls[data-dvr-controls] .live-info {\\n cursor: default;\\n font-family: \\\"Roboto\\\", \\\"Open Sans\\\", Arial, sans-serif;\\n text-transform: uppercase; }\\n .dvr-controls[data-dvr-controls] .live-info:before {\\n content: \\\"\\\";\\n display: inline-block;\\n position: relative;\\n width: 7px;\\n height: 7px;\\n border-radius: 3.5px;\\n margin-right: 3.5px;\\n background-color: #ff0101; }\\n .dvr-controls[data-dvr-controls] .live-info.disabled {\\n opacity: 0.3; }\\n .dvr-controls[data-dvr-controls] .live-info.disabled:before {\\n background-color: #fff; }\\n .dvr-controls[data-dvr-controls] .live-button {\\n cursor: pointer;\\n outline: none;\\n display: none;\\n border: 0;\\n color: #fff;\\n background-color: transparent;\\n height: 32px;\\n padding: 0;\\n opacity: 0.7;\\n font-family: \\\"Roboto\\\", \\\"Open Sans\\\", Arial, sans-serif;\\n text-transform: uppercase;\\n transition: all 0.1s ease; }\\n .dvr-controls[data-dvr-controls] .live-button:before {\\n content: \\\"\\\";\\n display: inline-block;\\n position: relative;\\n width: 7px;\\n height: 7px;\\n border-radius: 3.5px;\\n margin-right: 3.5px;\\n background-color: #fff; }\\n .dvr-controls[data-dvr-controls] .live-button:hover {\\n opacity: 1;\\n text-shadow: rgba(255, 255, 255, 0.75) 0 0 5px; }\\n\\n.dvr .dvr-controls[data-dvr-controls] .live-info {\\n display: none; }\\n\\n.dvr .dvr-controls[data-dvr-controls] .live-button {\\n display: block; }\\n\\n.dvr.media-control.live[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-2[data-seekbar] {\\n background-color: #005aff; }\\n\\n.media-control.live[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-2[data-seekbar] {\\n background-color: #ff0101; }\\n\";\n\nvar DVRControls = /*#__PURE__*/function (_UICorePlugin) {\n function DVRControls(core) {\n var _this;\n _classCallCheck(this, DVRControls);\n _this = _callSuper(this, DVRControls, [core]);\n _this.settingsUpdate();\n return _this;\n }\n _inherits(DVRControls, _UICorePlugin);\n return _createClass(DVRControls, [{\n key: \"template\",\n get: function get() {\n return template(dvrHTML);\n }\n }, {\n key: \"name\",\n get: function get() {\n return 'dvr_controls';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'click .live-button': 'click'\n };\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'dvr-controls',\n 'data-dvr-controls': ''\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.bindCoreEvents();\n this.bindContainerEvents();\n }\n }, {\n key: \"bindCoreEvents\",\n value: function bindCoreEvents() {\n var _this2 = this;\n if (this.core.mediaControl.settings) {\n this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED, this.containerChanged);\n this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_RENDERED, this.settingsUpdate);\n this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.render);\n } else {\n setTimeout(function () {\n return _this2.bindCoreEvents();\n }, 100);\n }\n }\n }, {\n key: \"bindContainerEvents\",\n value: function bindContainerEvents() {\n if (this.core.activeContainer) {\n this.listenToOnce(this.core.activeContainer, Events.CONTAINER_TIMEUPDATE, this.render);\n this.listenTo(this.core.activeContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.dvrChanged);\n }\n }\n }, {\n key: \"containerChanged\",\n value: function containerChanged() {\n this.stopListening();\n this.bindEvents();\n }\n }, {\n key: \"dvrChanged\",\n value: function dvrChanged(dvrEnabled) {\n if (this.core.getPlaybackType() !== Playback.LIVE) return;\n this.settingsUpdate();\n this.core.mediaControl.$el.addClass('live');\n if (dvrEnabled) {\n this.core.mediaControl.$el.addClass('dvr');\n this.core.mediaControl.$el.find('.media-control-indicator[data-position], .media-control-indicator[data-duration]').hide();\n } else {\n this.core.mediaControl.$el.removeClass('dvr');\n }\n }\n }, {\n key: \"click\",\n value: function click() {\n var mediaControl = this.core.mediaControl;\n var container = mediaControl.container;\n if (!container.isPlaying()) container.play();\n if (mediaControl.$el.hasClass('dvr')) container.seek(container.getDuration());\n }\n }, {\n key: \"settingsUpdate\",\n value: function settingsUpdate() {\n var _this3 = this;\n this.stopListening();\n this.core.mediaControl.$el.removeClass('live');\n if (this.shouldRender()) {\n this.render();\n this.$el.click(function () {\n return _this3.click();\n });\n }\n this.bindEvents();\n }\n }, {\n key: \"shouldRender\",\n value: function shouldRender() {\n var useDvrControls = this.core.options.useDvrControls === undefined || !!this.core.options.useDvrControls;\n return useDvrControls && this.core.getPlaybackType() === Playback.LIVE;\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = Styler.getStyleFor(css_248z$6, {\n baseUrl: this.options.baseUrl\n });\n this.$el.html(this.template({\n live: this.core.i18n.t('live'),\n backToLive: this.core.i18n.t('back_to_live')\n }));\n this.$el.append(style[0]);\n if (this.shouldRender()) {\n this.core.mediaControl.$el.addClass('live');\n this.core.mediaControl.$('.media-control-left-panel[data-media-control]').append(this.$el);\n }\n return this;\n }\n }]);\n}(UICorePlugin);\n\nvar EndVideo = /*#__PURE__*/function (_CorePlugin) {\n function EndVideo() {\n _classCallCheck(this, EndVideo);\n return _callSuper(this, EndVideo, arguments);\n }\n _inherits(EndVideo, _CorePlugin);\n return _createClass(EndVideo, [{\n key: \"name\",\n get: function get() {\n return 'end_video';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.containerChanged);\n var container = this.core.activeContainer;\n if (container) {\n this.listenTo(container, Events.CONTAINER_ENDED, this.ended);\n this.listenTo(container, Events.CONTAINER_STOP, this.ended);\n }\n }\n }, {\n key: \"containerChanged\",\n value: function containerChanged() {\n this.stopListening();\n this.bindEvents();\n }\n }, {\n key: \"ended\",\n value: function ended() {\n var exitOnEnd = typeof this.core.options.exitFullscreenOnEnd === 'undefined' || this.core.options.exitFullscreenOnEnd;\n if (exitOnEnd && this.core.isFullscreen()) this.core.toggleFullscreen();\n }\n }]);\n}(CorePlugin);\n\nvar reloadIcon = \"<svg fill=\\\"#FFFFFF\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\\\"/>\\n <path d=\\\"M0 0h24v24H0z\\\" fill=\\\"none\\\"/>\\n</svg>\";\n\nvar templateHtml = \"<div class=\\\"player-error-screen__content\\\" data-error-screen>\\n <% if (icon) { %>\\n <div class=\\\"player-error-screen__icon\\\" data-error-screen><%= icon %></div>\\n <% } %>\\n <div class=\\\"player-error-screen__title\\\" data-error-screen><%= title %></div>\\n <div class=\\\"player-error-screen__message\\\" data-error-screen><%= message %></div>\\n <div class=\\\"player-error-screen__code\\\" data-error-screen>Error code: <%= code %></div>\\n <div class=\\\"player-error-screen__reload\\\" data-error-screen><%= reloadIcon %></div>\\n</div>\\n\";\n\nvar css_248z$5 = \"[data-player] .player-error-screen {\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n color: #CCCACA;\\n position: absolute;\\n top: 0;\\n height: 100%;\\n width: 100%;\\n background-color: rgba(0, 0, 0, 0.7);\\n z-index: 2000;\\n display: flex;\\n flex-direction: column;\\n justify-content: center; }\\n [data-player] .player-error-screen__content[data-error-screen] {\\n font-size: 14px;\\n color: #CCCACA;\\n margin-top: 45px; }\\n [data-player] .player-error-screen__title[data-error-screen] {\\n font-weight: bold;\\n line-height: 30px;\\n font-size: 18px; }\\n [data-player] .player-error-screen__message[data-error-screen] {\\n width: 90%;\\n margin: 0 auto; }\\n [data-player] .player-error-screen__code[data-error-screen] {\\n font-size: 13px;\\n margin-top: 15px; }\\n [data-player] .player-error-screen__reload {\\n cursor: pointer;\\n width: 30px;\\n margin: 15px auto 0 !important; }\\n\";\n\nvar ErrorScreen = /*#__PURE__*/function (_UICorePlugin) {\n function ErrorScreen(core) {\n var _this;\n _classCallCheck(this, ErrorScreen);\n _this = _callSuper(this, ErrorScreen, [core]);\n if (_this.options.disableErrorScreen) return _possibleConstructorReturn(_this, _this.disable());\n return _this;\n }\n _inherits(ErrorScreen, _UICorePlugin);\n return _createClass(ErrorScreen, [{\n key: \"name\",\n get: function get() {\n return 'error_screen';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(templateHtml);\n }\n }, {\n key: \"container\",\n get: function get() {\n return this.core.getCurrentContainer();\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'player-error-screen',\n 'data-error-screen': ''\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.core, Events.ERROR, this.onError);\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.onContainerChanged);\n }\n }, {\n key: \"bindReload\",\n value: function bindReload() {\n this.reloadButton = this.$el.find('.player-error-screen__reload');\n this.reloadButton && this.reloadButton.on('click', this.reload.bind(this));\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var _this2 = this;\n this.listenToOnce(this.core, Events.CORE_READY, function () {\n return _this2.container.play();\n });\n this.core.load(this.options.sources, this.options.mimeType);\n this.unbindReload();\n }\n }, {\n key: \"unbindReload\",\n value: function unbindReload() {\n this.reloadButton && this.reloadButton.off('click');\n }\n }, {\n key: \"onContainerChanged\",\n value: function onContainerChanged() {\n this.err = null;\n this.unbindReload();\n this.hide();\n }\n }, {\n key: \"onError\",\n value: function onError() {\n var err = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (err.level === PlayerError.Levels.FATAL) {\n this.err = err;\n this.container.disableMediaControl();\n this.container.stop();\n this.show();\n }\n }\n }, {\n key: \"show\",\n value: function show() {\n this.render();\n this.$el.show();\n }\n }, {\n key: \"hide\",\n value: function hide() {\n this.$el.hide();\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!this.err) return;\n var style = Styler.getStyleFor(css_248z$5, {\n baseUrl: this.options.baseUrl\n });\n this.$el.html(this.template({\n title: this.err.UI.title,\n message: this.err.UI.message,\n code: this.err.code,\n icon: this.err.UI.icon || '',\n reloadIcon: reloadIcon\n }));\n this.$el.append(style[0]);\n this.core.$el.append(this.el);\n this.bindReload();\n return this;\n }\n }]);\n}(UICorePlugin);\n\nvar playIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill=\\\"#010101\\\" d=\\\"M1.425.35L14.575 8l-13.15 7.65V.35z\\\"/>\\n</svg>\";\n\nvar pauseIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#010101\\\" d=\\\"M1.712 14.76H6.43V1.24H1.71v13.52zm7.86-13.52v13.52h4.716V1.24H9.573z\\\"/>\\n</svg>\";\n\nvar oldIcon = $('link[rel=\"shortcut icon\"]');\nvar Favicon = /*#__PURE__*/function (_CorePlugin) {\n function Favicon(core) {\n var _this;\n _classCallCheck(this, Favicon);\n _this = _callSuper(this, Favicon, [core]);\n _this._container = null;\n _this.configure();\n return _this;\n }\n _inherits(Favicon, _CorePlugin);\n return _createClass(Favicon, [{\n key: \"name\",\n get: function get() {\n return 'favicon';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"oldIcon\",\n get: function get() {\n return oldIcon;\n }\n }, {\n key: \"configure\",\n value: function configure() {\n if (this.core.options.changeFavicon) {\n if (!this.enabled) {\n this.stopListening(this.core, Events.CORE_OPTIONS_CHANGE);\n this.enable();\n }\n } else if (this.enabled) {\n this.disable();\n this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.configure);\n }\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.configure);\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.containerChanged);\n this.core.activeContainer && this.containerChanged();\n }\n }, {\n key: \"containerChanged\",\n value: function containerChanged() {\n this._container && this.stopListening(this._container);\n this._container = this.core.activeContainer;\n this.listenTo(this._container, Events.CONTAINER_PLAY, this.setPlayIcon);\n this.listenTo(this._container, Events.CONTAINER_PAUSE, this.setPauseIcon);\n this.listenTo(this._container, Events.CONTAINER_STOP, this.resetIcon);\n this.listenTo(this._container, Events.CONTAINER_ENDED, this.resetIcon);\n this.listenTo(this._container, Events.CONTAINER_ERROR, this.resetIcon);\n this.resetIcon();\n }\n }, {\n key: \"disable\",\n value: function disable() {\n _superPropGet(Favicon, \"disable\", this, 3)([]);\n this.resetIcon();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _superPropGet(Favicon, \"destroy\", this, 3)([]);\n this.resetIcon();\n }\n }, {\n key: \"createIcon\",\n value: function createIcon(svg) {\n var canvas = $('<canvas/>');\n canvas[0].width = 16;\n canvas[0].height = 16;\n var ctx = canvas[0].getContext('2d');\n ctx.fillStyle = '#000';\n var d = $(svg).find('path').attr('d');\n var path = new Path2D(d);\n ctx.fill(path);\n var icon = $('<link rel=\"shortcut icon\" type=\"image/png\"/>');\n icon.attr('href', canvas[0].toDataURL('image/png'));\n return icon;\n }\n }, {\n key: \"setPlayIcon\",\n value: function setPlayIcon() {\n if (!this.playIcon) this.playIcon = this.createIcon(playIcon);\n this.changeIcon(this.playIcon);\n }\n }, {\n key: \"setPauseIcon\",\n value: function setPauseIcon() {\n if (!this.pauseIcon) this.pauseIcon = this.createIcon(pauseIcon);\n this.changeIcon(this.pauseIcon);\n }\n }, {\n key: \"resetIcon\",\n value: function resetIcon() {\n $('link[rel=\"shortcut icon\"]').remove();\n $('head').append(this.oldIcon);\n }\n }, {\n key: \"changeIcon\",\n value: function changeIcon(icon) {\n if (icon) {\n $('link[rel=\"shortcut icon\"]').remove();\n $('head').append(icon);\n }\n }\n }]);\n}(CorePlugin);\n\nvar GoogleAnalytics = /*#__PURE__*/function (_ContainerPlugin) {\n function GoogleAnalytics(container) {\n var _this;\n _classCallCheck(this, GoogleAnalytics);\n _this = _callSuper(this, GoogleAnalytics, [container]);\n if (_this.container.options.gaAccount) {\n _this.account = _this.container.options.gaAccount;\n _this.trackerName = _this.container.options.gaTrackerName ? _this.container.options.gaTrackerName + '.' : 'Clappr.';\n _this.domainName = _this.container.options.gaDomainName;\n _this.currentHDState = undefined;\n _this.embedScript();\n }\n return _this;\n }\n _inherits(GoogleAnalytics, _ContainerPlugin);\n return _createClass(GoogleAnalytics, [{\n key: \"name\",\n get: function get() {\n return 'google_analytics';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"embedScript\",\n value: function embedScript() {\n var _this2 = this;\n if (!window._gat) {\n var script = document.createElement('script');\n script.setAttribute('type', 'text/javascript');\n script.setAttribute('async', 'async');\n script.setAttribute('src', '//www.google-analytics.com/ga.js');\n script.onload = function () {\n return _this2.addEventListeners();\n };\n document.body.appendChild(script);\n } else {\n this.addEventListeners();\n }\n }\n }, {\n key: \"addEventListeners\",\n value: function addEventListeners() {\n var _this3 = this;\n if (this.container) {\n this.listenTo(this.container, Events.CONTAINER_READY, this.onReady);\n this.listenTo(this.container, Events.CONTAINER_PLAY, this.onPlay);\n this.listenTo(this.container, Events.CONTAINER_STOP, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_PAUSE, this.onPause);\n this.listenTo(this.container, Events.CONTAINER_ENDED, this.onEnded);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERING, this.onBuffering);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);\n this.listenTo(this.container, Events.CONTAINER_ERROR, this.onError);\n this.listenTo(this.container, Events.CONTAINER_PLAYBACKSTATE, this.onPlaybackChanged);\n this.listenTo(this.container, Events.CONTAINER_VOLUME, function (event) {\n return _this3.onVolumeChanged(event);\n });\n this.listenTo(this.container, Events.CONTAINER_SEEK, function (event) {\n return _this3.onSeek(event);\n });\n this.listenTo(this.container, Events.CONTAINER_FULL_SCREEN, this.onFullscreen);\n this.listenTo(this.container, Events.CONTAINER_HIGHDEFINITIONUPDATE, this.onHD);\n this.listenTo(this.container, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.onDVR);\n }\n _gaq.push([this.trackerName + '_setAccount', this.account]);\n if (this.domainName) _gaq.push([this.trackerName + '_setDomainName', this.domainName]);\n }\n }, {\n key: \"onReady\",\n value: function onReady() {\n this.push(['Video', 'Playback', this.container.playback.name]);\n }\n }, {\n key: \"onPlay\",\n value: function onPlay() {\n this.push(['Video', 'Play', this.container.playback.src]);\n }\n }, {\n key: \"onStop\",\n value: function onStop() {\n this.push(['Video', 'Stop', this.container.playback.src]);\n }\n }, {\n key: \"onEnded\",\n value: function onEnded() {\n this.push(['Video', 'Ended', this.container.playback.src]);\n }\n }, {\n key: \"onBuffering\",\n value: function onBuffering() {\n this.push(['Video', 'Buffering', this.container.playback.src]);\n }\n }, {\n key: \"onBufferFull\",\n value: function onBufferFull() {\n this.push(['Video', 'Bufferfull', this.container.playback.src]);\n }\n }, {\n key: \"onError\",\n value: function onError() {\n this.push(['Video', 'Error', this.container.playback.src]);\n }\n }, {\n key: \"onHD\",\n value: function onHD(isHD) {\n var status = isHD ? 'ON' : 'OFF';\n if (status !== this.currentHDState) {\n this.currentHDState = status;\n this.push(['Video', 'HD - ' + status, this.container.playback.src]);\n }\n }\n }, {\n key: \"onPlaybackChanged\",\n value: function onPlaybackChanged(playbackState) {\n if (playbackState.type !== null) this.push(['Video', 'Playback Type - ' + playbackState.type, this.container.playback.src]);\n }\n }, {\n key: \"onDVR\",\n value: function onDVR(dvrInUse) {\n var status = dvrInUse ? 'ON' : 'OFF';\n this.push(['Interaction', 'DVR - ' + status, this.container.playback.src]);\n }\n }, {\n key: \"onPause\",\n value: function onPause() {\n this.push(['Video', 'Pause', this.container.playback.src]);\n }\n }, {\n key: \"onSeek\",\n value: function onSeek() {\n this.push(['Video', 'Seek', this.container.playback.src]);\n }\n }, {\n key: \"onVolumeChanged\",\n value: function onVolumeChanged() {\n this.push(['Interaction', 'Volume', this.container.playback.src]);\n }\n }, {\n key: \"onFullscreen\",\n value: function onFullscreen() {\n this.push(['Interaction', 'Fullscreen', this.container.playback.src]);\n }\n }, {\n key: \"push\",\n value: function push(array) {\n var res = [this.trackerName + '_trackEvent'].concat(array);\n _gaq.push(res);\n }\n }]);\n}(ContainerPlugin);\n\n/* eslint-disable */\n// Kibo is released under the MIT License. Copyright (c) 2013 marquete.\n// see https://github.com/marquete/kibo\n\nvar Kibo = function Kibo(element) {\n this.element = element || window.document;\n this.initialize();\n};\nKibo.KEY_NAMES_BY_CODE = {\n 8: 'backspace',\n 9: 'tab',\n 13: 'enter',\n 16: 'shift',\n 17: 'ctrl',\n 18: 'alt',\n 20: 'caps_lock',\n 27: 'esc',\n 32: 'space',\n 37: 'left',\n 38: 'up',\n 39: 'right',\n 40: 'down',\n 48: '0',\n 49: '1',\n 50: '2',\n 51: '3',\n 52: '4',\n 53: '5',\n 54: '6',\n 55: '7',\n 56: '8',\n 57: '9',\n 65: 'a',\n 66: 'b',\n 67: 'c',\n 68: 'd',\n 69: 'e',\n 70: 'f',\n 71: 'g',\n 72: 'h',\n 73: 'i',\n 74: 'j',\n 75: 'k',\n 76: 'l',\n 77: 'm',\n 78: 'n',\n 79: 'o',\n 80: 'p',\n 81: 'q',\n 82: 'r',\n 83: 's',\n 84: 't',\n 85: 'u',\n 86: 'v',\n 87: 'w',\n 88: 'x',\n 89: 'y',\n 90: 'z',\n 112: 'f1',\n 113: 'f2',\n 114: 'f3',\n 115: 'f4',\n 116: 'f5',\n 117: 'f6',\n 118: 'f7',\n 119: 'f8',\n 120: 'f9',\n 121: 'f10',\n 122: 'f11',\n 123: 'f12'\n};\nKibo.KEY_CODES_BY_NAME = {};\n(function () {\n for (var key in Kibo.KEY_NAMES_BY_CODE) {\n if (Object.prototype.hasOwnProperty.call(Kibo.KEY_NAMES_BY_CODE, key)) {\n Kibo.KEY_CODES_BY_NAME[Kibo.KEY_NAMES_BY_CODE[key]] = +key;\n }\n }\n})();\nKibo.MODIFIERS = ['shift', 'ctrl', 'alt'];\nKibo.registerEvent = function () {\n if (document.addEventListener) {\n return function (element, eventName, func) {\n element.addEventListener(eventName, func, false);\n };\n } else if (document.attachEvent) {\n return function (element, eventName, func) {\n element.attachEvent('on' + eventName, func);\n };\n }\n}();\nKibo.unregisterEvent = function () {\n if (document.removeEventListener) {\n return function (element, eventName, func) {\n element.removeEventListener(eventName, func, false);\n };\n } else if (document.detachEvent) {\n return function (element, eventName, func) {\n element.detachEvent('on' + eventName, func);\n };\n }\n}();\nKibo.stringContains = function (string, substring) {\n return string.indexOf(substring) !== -1;\n};\nKibo.neatString = function (string) {\n return string.replace(/^\\s+|\\s+$/g, '').replace(/\\s+/g, ' ');\n};\nKibo.capitalize = function (string) {\n return string.toLowerCase().replace(/^./, function (match) {\n return match.toUpperCase();\n });\n};\nKibo.isString = function (what) {\n return Kibo.stringContains(Object.prototype.toString.call(what), 'String');\n};\nKibo.arrayIncludes = function () {\n if (Array.prototype.indexOf) {\n return function (haystack, needle) {\n return haystack.indexOf(needle) !== -1;\n };\n } else {\n return function (haystack, needle) {\n for (var i = 0; i < haystack.length; i++) {\n if (haystack[i] === needle) {\n return true;\n }\n }\n return false;\n };\n }\n}();\nKibo.extractModifiers = function (keyCombination) {\n var modifiers, i;\n modifiers = [];\n for (i = 0; i < Kibo.MODIFIERS.length; i++) {\n if (Kibo.stringContains(keyCombination, Kibo.MODIFIERS[i])) {\n modifiers.push(Kibo.MODIFIERS[i]);\n }\n }\n return modifiers;\n};\nKibo.extractKey = function (keyCombination) {\n var keys, i;\n keys = Kibo.neatString(keyCombination).split(' ');\n for (i = 0; i < keys.length; i++) {\n if (!Kibo.arrayIncludes(Kibo.MODIFIERS, keys[i])) {\n return keys[i];\n }\n }\n};\nKibo.modifiersAndKey = function (keyCombination) {\n var result, key;\n if (Kibo.stringContains(keyCombination, 'any')) {\n return Kibo.neatString(keyCombination).split(' ').slice(0, 2).join(' ');\n }\n result = Kibo.extractModifiers(keyCombination);\n key = Kibo.extractKey(keyCombination);\n if (key && !Kibo.arrayIncludes(Kibo.MODIFIERS, key)) {\n result.push(key);\n }\n return result.join(' ');\n};\nKibo.keyName = function (keyCode) {\n return Kibo.KEY_NAMES_BY_CODE[keyCode + ''];\n};\nKibo.keyCode = function (keyName) {\n return +Kibo.KEY_CODES_BY_NAME[keyName];\n};\nKibo.prototype.initialize = function () {\n var i,\n that = this;\n this.lastKeyCode = -1;\n this.lastModifiers = {};\n for (i = 0; i < Kibo.MODIFIERS.length; i++) {\n this.lastModifiers[Kibo.MODIFIERS[i]] = false;\n }\n this.keysDown = {\n any: []\n };\n this.keysUp = {\n any: []\n };\n this.downHandler = this.handler('down');\n this.upHandler = this.handler('up');\n Kibo.registerEvent(this.element, 'keydown', this.downHandler);\n Kibo.registerEvent(this.element, 'keyup', this.upHandler);\n var unloadEvent = _typeof(window.onbeforeunload) === 'object' ? 'beforeunload' : 'unload';\n Kibo.registerEvent(window, unloadEvent, function unloader() {\n Kibo.unregisterEvent(that.element, 'keydown', that.downHandler);\n Kibo.unregisterEvent(that.element, 'keyup', that.upHandler);\n Kibo.unregisterEvent(window, unloadEvent, unloader);\n });\n};\nKibo.prototype.handler = function (upOrDown) {\n var that = this;\n return function (e) {\n var i, registeredKeys, lastModifiersAndKey;\n e = e || window.event;\n that.lastKeyCode = e.keyCode;\n for (i = 0; i < Kibo.MODIFIERS.length; i++) {\n that.lastModifiers[Kibo.MODIFIERS[i]] = e[Kibo.MODIFIERS[i] + 'Key'];\n }\n if (Kibo.arrayIncludes(Kibo.MODIFIERS, Kibo.keyName(that.lastKeyCode))) {\n that.lastModifiers[Kibo.keyName(that.lastKeyCode)] = true;\n }\n registeredKeys = that['keys' + Kibo.capitalize(upOrDown)];\n for (i = 0; i < registeredKeys.any.length; i++) {\n if (registeredKeys.any[i](e) === false && e.preventDefault) {\n e.preventDefault();\n }\n }\n lastModifiersAndKey = that.lastModifiersAndKey();\n if (registeredKeys[lastModifiersAndKey]) {\n for (i = 0; i < registeredKeys[lastModifiersAndKey].length; i++) {\n if (registeredKeys[lastModifiersAndKey][i](e) === false && e.preventDefault) {\n e.preventDefault();\n }\n }\n }\n };\n};\nKibo.prototype.registerKeys = function (upOrDown, newKeys, func) {\n var i,\n keys,\n registeredKeys = this['keys' + Kibo.capitalize(upOrDown)];\n if (Kibo.isString(newKeys)) {\n newKeys = [newKeys];\n }\n for (i = 0; i < newKeys.length; i++) {\n keys = newKeys[i];\n keys = Kibo.modifiersAndKey(keys + '');\n if (registeredKeys[keys]) {\n registeredKeys[keys].push(func);\n } else {\n registeredKeys[keys] = [func];\n }\n }\n return this;\n};\n\n// jshint maxdepth:5\nKibo.prototype.unregisterKeys = function (upOrDown, newKeys, func) {\n var i,\n j,\n keys,\n registeredKeys = this['keys' + Kibo.capitalize(upOrDown)];\n if (Kibo.isString(newKeys)) {\n newKeys = [newKeys];\n }\n for (i = 0; i < newKeys.length; i++) {\n keys = newKeys[i];\n keys = Kibo.modifiersAndKey(keys + '');\n if (func === null) {\n delete registeredKeys[keys];\n } else {\n if (registeredKeys[keys]) {\n for (j = 0; j < registeredKeys[keys].length; j++) {\n if (String(registeredKeys[keys][j]) === String(func)) {\n registeredKeys[keys].splice(j, 1);\n break;\n }\n }\n }\n }\n }\n return this;\n};\nKibo.prototype.off = function (keys) {\n return this.unregisterKeys('down', keys, null);\n};\nKibo.prototype.delegate = function (upOrDown, keys, func) {\n return func !== null || func !== undefined ? this.registerKeys(upOrDown, keys, func) : this.unregisterKeys(upOrDown, keys, func);\n};\nKibo.prototype.down = function (keys, func) {\n return this.delegate('down', keys, func);\n};\nKibo.prototype.up = function (keys, func) {\n return this.delegate('up', keys, func);\n};\nKibo.prototype.lastKey = function (modifier) {\n if (!modifier) {\n return Kibo.keyName(this.lastKeyCode);\n }\n return this.lastModifiers[modifier];\n};\nKibo.prototype.lastModifiersAndKey = function () {\n var result, i;\n result = [];\n for (i = 0; i < Kibo.MODIFIERS.length; i++) {\n if (this.lastKey(Kibo.MODIFIERS[i])) {\n result.push(Kibo.MODIFIERS[i]);\n }\n }\n if (!Kibo.arrayIncludes(result, this.lastKey())) {\n result.push(this.lastKey());\n }\n return result.join(' ');\n};\n\nvar index = {\n Kibo: Kibo\n};\n\nvar css_248z$4 = \".media-control-notransition {\\n transition: none !important; }\\n\\n.media-control[data-media-control] {\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n z-index: 9999;\\n pointer-events: none; }\\n .media-control[data-media-control].dragging {\\n pointer-events: auto;\\n cursor: grabbing !important;\\n cursor: url(\\\"closed-hand.cur\\\"), move; }\\n .media-control[data-media-control].dragging * {\\n cursor: grabbing !important;\\n cursor: url(\\\"closed-hand.cur\\\"), move; }\\n .media-control[data-media-control] .media-control-background[data-background] {\\n position: absolute;\\n height: 40%;\\n width: 100%;\\n bottom: 0;\\n background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));\\n will-change: transform, opacity;\\n transition: opacity 0.6s ease-out; }\\n .media-control[data-media-control] .media-control-icon {\\n line-height: 0;\\n letter-spacing: 0;\\n speak: none;\\n color: #fff;\\n opacity: 0.5;\\n vertical-align: middle;\\n text-align: left;\\n transition: all 0.1s ease; }\\n .media-control[data-media-control] .media-control-icon:hover {\\n color: white;\\n opacity: 0.75;\\n text-shadow: rgba(255, 255, 255, 0.8) 0 0 5px; }\\n .media-control[data-media-control].media-control-hide .media-control-background[data-background] {\\n opacity: 0; }\\n .media-control[data-media-control].media-control-hide .media-control-layer[data-controls] {\\n transform: translateY(50px); }\\n .media-control[data-media-control].media-control-hide .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-scrubber[data-seekbar] {\\n opacity: 0; }\\n .media-control[data-media-control] .media-control-layer[data-controls] {\\n position: absolute;\\n transform: translateY(-7px);\\n bottom: 0;\\n width: 100%;\\n height: 32px;\\n font-size: 0;\\n vertical-align: middle;\\n pointer-events: auto;\\n transition: bottom 0.4s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-left-panel[data-media-control] {\\n position: absolute;\\n top: 0;\\n left: 4px;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-center-panel[data-media-control] {\\n height: 100%;\\n text-align: center;\\n line-height: 32px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-right-panel[data-media-control] {\\n position: absolute;\\n top: 0;\\n right: 4px;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button {\\n background-color: transparent;\\n border: 0;\\n margin: 0 6px;\\n padding: 0;\\n cursor: pointer;\\n display: inline-block;\\n width: 32px;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button svg {\\n width: 100%;\\n height: 22px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button svg path {\\n fill: white; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button:focus {\\n outline: none; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-play] {\\n float: left;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-pause] {\\n float: left;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-stop] {\\n float: left;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-fullscreen] {\\n float: right;\\n background-color: transparent;\\n border: 0;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-hd-indicator] {\\n background-color: transparent;\\n border: 0;\\n cursor: default;\\n display: none;\\n float: right;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-hd-indicator].enabled {\\n display: block;\\n opacity: 1.0; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-hd-indicator].enabled:hover {\\n opacity: 1.0;\\n text-shadow: none; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-playpause] {\\n float: left; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-playstop] {\\n float: left; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-position], .media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-duration] {\\n display: inline-block;\\n font-size: 10px;\\n color: white;\\n cursor: default;\\n line-height: 32px;\\n position: relative; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-position] {\\n margin: 0 6px 0 7px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-duration] {\\n color: rgba(255, 255, 255, 0.5);\\n margin-right: 6px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-duration]:before {\\n content: \\\"|\\\";\\n margin-right: 7px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] {\\n position: absolute;\\n top: -20px;\\n left: 0;\\n display: inline-block;\\n vertical-align: middle;\\n width: 100%;\\n height: 25px;\\n cursor: pointer; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] {\\n width: 100%;\\n height: 1px;\\n position: relative;\\n top: 12px;\\n background-color: #666666; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-1[data-seekbar] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 0;\\n height: 100%;\\n background-color: #c2c2c2;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-2[data-seekbar] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 0;\\n height: 100%;\\n background-color: #005aff;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-hover[data-seekbar] {\\n opacity: 0;\\n position: absolute;\\n top: -3px;\\n width: 5px;\\n height: 7px;\\n background-color: rgba(255, 255, 255, 0.5);\\n transition: opacity 0.1s ease; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar]:hover .bar-background[data-seekbar] .bar-hover[data-seekbar] {\\n opacity: 1; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar].seek-disabled {\\n cursor: default; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar].seek-disabled:hover .bar-background[data-seekbar] .bar-hover[data-seekbar] {\\n opacity: 0; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-scrubber[data-seekbar] {\\n position: absolute;\\n transform: translateX(-50%);\\n top: 2px;\\n left: 0;\\n width: 20px;\\n height: 20px;\\n opacity: 1;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-scrubber[data-seekbar] .bar-scrubber-icon[data-seekbar] {\\n position: absolute;\\n left: 6px;\\n top: 6px;\\n width: 8px;\\n height: 8px;\\n border-radius: 10px;\\n box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.2);\\n background-color: white; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] {\\n float: right;\\n display: inline-block;\\n height: 32px;\\n cursor: pointer;\\n margin: 0 6px;\\n box-sizing: border-box; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] {\\n float: left;\\n bottom: 0; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume] {\\n background-color: transparent;\\n border: 0;\\n box-sizing: content-box;\\n width: 32px;\\n height: 32px;\\n opacity: 0.5; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume]:hover {\\n opacity: 0.75; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume] svg {\\n height: 24px;\\n position: relative;\\n top: 3px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume] svg path {\\n fill: white; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume].muted svg {\\n margin-left: 2px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] {\\n float: left;\\n position: relative;\\n overflow: hidden;\\n top: 6px;\\n width: 42px;\\n height: 18px;\\n padding: 3px 0;\\n transition: width .2s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume] {\\n height: 1px;\\n position: relative;\\n top: 7px;\\n margin: 0 3px;\\n background-color: #666666; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume] .bar-fill-1[data-volume] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 0;\\n height: 100%;\\n background-color: #c2c2c2;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume] .bar-fill-2[data-volume] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 0;\\n height: 100%;\\n background-color: #005aff;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume] .bar-hover[data-volume] {\\n opacity: 0;\\n position: absolute;\\n top: -3px;\\n width: 5px;\\n height: 7px;\\n background-color: rgba(255, 255, 255, 0.5);\\n transition: opacity 0.1s ease; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-scrubber[data-volume] {\\n position: absolute;\\n transform: translateX(-50%);\\n top: 0px;\\n left: 0;\\n width: 20px;\\n height: 20px;\\n opacity: 1;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-scrubber[data-volume] .bar-scrubber-icon[data-volume] {\\n position: absolute;\\n left: 6px;\\n top: 6px;\\n width: 8px;\\n height: 8px;\\n border-radius: 10px;\\n box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.2);\\n background-color: white; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume] {\\n float: left;\\n width: 4px;\\n padding-left: 2px;\\n height: 12px;\\n opacity: 0.5;\\n box-shadow: inset 2px 0 0 white;\\n transition: transform .2s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume].fill {\\n box-shadow: inset 2px 0 0 #fff;\\n opacity: 1; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume]:nth-of-type(1) {\\n padding-left: 0; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume]:hover {\\n transform: scaleY(1.5); }\\n .media-control[data-media-control].w320 .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume].volume-bar-hide {\\n width: 0;\\n height: 12px;\\n top: 9px;\\n padding: 0; }\\n\";\n\nvar mediaControlHTML = \"<div class=\\\"media-control-background\\\" data-background></div>\\n<div class=\\\"media-control-layer\\\" data-controls>\\n <% var renderBar = function(name) { %>\\n <div class=\\\"bar-container\\\" data-<%= name %>>\\n <div class=\\\"bar-background\\\" data-<%= name %>>\\n <div class=\\\"bar-fill-1\\\" data-<%= name %>></div>\\n <div class=\\\"bar-fill-2\\\" data-<%= name %>></div>\\n <div class=\\\"bar-hover\\\" data-<%= name %>></div>\\n </div>\\n <div class=\\\"bar-scrubber\\\" data-<%= name %>>\\n <div class=\\\"bar-scrubber-icon\\\" data-<%= name %>></div>\\n </div>\\n </div>\\n <% }; %>\\n <% var renderSegmentedBar = function(name, segments) {\\n segments = segments || 10; %>\\n <div class=\\\"bar-container\\\" data-<%= name %>>\\n <% for (var i = 0; i < segments; i++) { %>\\n <div class=\\\"segmented-bar-element\\\" data-<%= name %>></div>\\n <% } %>\\n </div>\\n <% }; %>\\n <% var renderDrawer = function(name, renderContent) { %>\\n <div class=\\\"drawer-container\\\" data-<%= name %>>\\n <div class=\\\"drawer-icon-container\\\" data-<%= name %>>\\n <div class=\\\"drawer-icon media-control-icon\\\" data-<%= name %>></div>\\n <span class=\\\"drawer-text\\\" data-<%= name %>></span>\\n </div>\\n <% renderContent(name); %>\\n </div>\\n <% }; %>\\n <% var renderIndicator = function(name) { %>\\n <div class=\\\"media-control-indicator\\\" data-<%= name %>></div>\\n <% }; %>\\n <% var renderButton = function(name) { %>\\n <button type=\\\"button\\\" class=\\\"media-control-button media-control-icon\\\" data-<%= name %> aria-label=\\\"<%= name %>\\\"></button>\\n <% }; %>\\n <% var templates = {\\n bar: renderBar,\\n segmentedBar: renderSegmentedBar,\\n };\\n var render = function(settingsList) {\\n settingsList.forEach(function(setting) {\\n if(setting === \\\"seekbar\\\") {\\n renderBar(setting);\\n } else if (setting === \\\"volume\\\") {\\n renderDrawer(setting, settings.volumeBarTemplate ? templates[settings.volumeBarTemplate] : function(name) { return renderSegmentedBar(name); });\\n } else if (setting === \\\"duration\\\" || setting === \\\"position\\\") {\\n renderIndicator(setting);\\n } else {\\n renderButton(setting);\\n }\\n });\\n }; %>\\n <% if (settings.default && settings.default.length) { %>\\n <div class=\\\"media-control-center-panel\\\" data-media-control>\\n <% render(settings.default); %>\\n </div>\\n <% } %>\\n <% if (settings.left && settings.left.length) { %>\\n <div class=\\\"media-control-left-panel\\\" data-media-control>\\n <% render(settings.left); %>\\n </div>\\n <% } %>\\n <% if (settings.right && settings.right.length) { %>\\n <div class=\\\"media-control-right-panel\\\" data-media-control>\\n <% render(settings.right); %>\\n </div>\\n <% } %>\\n</div>\\n\";\n\nvar stopIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#010101\\\" d=\\\"M1.712 1.24h12.6v13.52h-12.6z\\\"/>\\n</svg>\";\n\nvar volumeIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#010101\\\" d=\\\"M11.5 11h-.002v1.502L7.798 10H4.5V6h3.297l3.7-2.502V4.5h.003V11zM11 4.49L7.953 6.5H5v3h2.953L11 11.51V4.49z\\\"/>\\n</svg>\";\n\nvar volumeMuteIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#010101\\\" d=\\\"M9.75 11.51L6.7 9.5H3.75v-3H6.7L9.75 4.49v.664l.497.498V3.498L6.547 6H3.248v4h3.296l3.7 2.502v-2.154l-.497.5v.662zm3-5.165L12.404 6l-1.655 1.653L9.093 6l-.346.345L10.402 8 8.747 9.654l.346.347 1.655-1.653L12.403 10l.348-.346L11.097 8l1.655-1.655z\\\"/>\\n</svg>\";\n\nvar fullscreenIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill=\\\"#010101\\\" d=\\\"M7.156 8L4 11.156V8.5H3V13h4.5v-1H4.844L8 8.844 7.156 8zM8.5 3v1h2.657L8 7.157 8.846 8 12 4.844V7.5h1V3H8.5z\\\"/>\\n</svg>\";\n\nvar exitFullscreenIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill=\\\"#010101\\\" d=\\\"M13.5 3.344l-.844-.844L9.5 5.656V3h-1v4.5H13v-1h-2.656L13.5 3.344zM3 9.5h2.656L2.5 12.656l.844.844L6.5 10.344V13h1V8.5H3v1z\\\"/>\\n</svg>\";\n\nvar hdIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill=\\\"#010101\\\" d=\\\"M5.375 7.062H2.637V4.26H.502v7.488h2.135V8.9h2.738v2.848h2.133V4.26H5.375v2.802zm5.97-2.81h-2.84v7.496h2.798c2.65 0 4.195-1.607 4.195-3.77v-.022c0-2.162-1.523-3.704-4.154-3.704zm2.06 3.758c0 1.21-.81 1.896-2.03 1.896h-.83V6.093h.83c1.22 0 2.03.696 2.03 1.896v.02z\\\"/>\\n</svg>\";\n\nvar Config = Utils.Config,\n Fullscreen = Utils.Fullscreen,\n formatTime$1 = Utils.formatTime,\n extend = Utils.extend,\n removeArrayItem = Utils.removeArrayItem;\nvar MediaControl = /*#__PURE__*/function (_UICorePlugin) {\n function MediaControl(core) {\n var _this;\n _classCallCheck(this, MediaControl);\n _this = _callSuper(this, MediaControl, [core]);\n _this.persistConfig = _this.options.persistConfig;\n _this.currentPositionValue = null;\n _this.currentDurationValue = null;\n _this.keepVisible = false;\n _this.fullScreenOnVideoTagSupported = null; // unknown\n _this.setInitialVolume();\n _this.settings = {\n left: ['play', 'stop', 'pause'],\n right: ['volume'],\n \"default\": ['position', 'seekbar', 'duration']\n };\n _this.kibo = new Kibo(_this.options.focusElement);\n _this.bindKeyEvents();\n if (_this.container) {\n if (!$.isEmptyObject(_this.container.settings)) _this.settings = $.extend({}, _this.container.settings);\n } else {\n _this.settings = {};\n }\n _this.userDisabled = false;\n if (_this.container && _this.container.mediaControlDisabled || _this.options.chromeless) _this.disable();\n _this.stopDragHandler = function (event) {\n return _this.stopDrag(event);\n };\n _this.updateDragHandler = function (event) {\n return _this.updateDrag(event);\n };\n $(document).bind('mouseup', _this.stopDragHandler);\n $(document).bind('mousemove', _this.updateDragHandler);\n return _this;\n }\n _inherits(MediaControl, _UICorePlugin);\n return _createClass(MediaControl, [{\n key: \"name\",\n get: function get() {\n return 'media_control';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"disabled\",\n get: function get() {\n var playbackIsNOOP = this.container && this.container.getPlaybackType() === Playback.NO_OP;\n return this.userDisabled || playbackIsNOOP;\n }\n }, {\n key: \"container\",\n get: function get() {\n return this.core && this.core.activeContainer;\n }\n }, {\n key: \"playback\",\n get: function get() {\n return this.core && this.core.activePlayback;\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'media-control',\n 'data-media-control': ''\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'click [data-play]': 'play',\n 'click [data-pause]': 'pause',\n 'click [data-playpause]': 'togglePlayPause',\n 'click [data-stop]': 'stop',\n 'click [data-playstop]': 'togglePlayStop',\n 'click [data-fullscreen]': 'toggleFullscreen',\n 'click .bar-container[data-seekbar]': 'seek',\n 'click .bar-container[data-volume]': 'onVolumeClick',\n 'click .drawer-icon[data-volume]': 'toggleMute',\n 'mouseenter .drawer-container[data-volume]': 'showVolumeBar',\n 'mouseleave .drawer-container[data-volume]': 'hideVolumeBar',\n 'mousedown .bar-container[data-volume]': 'startVolumeDrag',\n 'mousemove .bar-container[data-volume]': 'mousemoveOnVolumeBar',\n 'mousedown .bar-scrubber[data-seekbar]': 'startSeekDrag',\n 'mousemove .bar-container[data-seekbar]': 'mousemoveOnSeekBar',\n 'mouseleave .bar-container[data-seekbar]': 'mouseleaveOnSeekBar',\n 'mouseenter .media-control-layer[data-controls]': 'setUserKeepVisible',\n 'mouseleave .media-control-layer[data-controls]': 'resetUserKeepVisible'\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(mediaControlHTML);\n }\n }, {\n key: \"volume\",\n get: function get() {\n return this.container && this.container.isReady ? this.container.volume : this.intendedVolume;\n }\n }, {\n key: \"muted\",\n get: function get() {\n return this.volume === 0;\n }\n }, {\n key: \"getExternalInterface\",\n value: function getExternalInterface() {\n var _this2 = this;\n return {\n setVolume: this.setVolume,\n getVolume: function getVolume() {\n return _this2.volume;\n }\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n var _this3 = this;\n this.stopListening();\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);\n this.listenTo(this.core, Events.CORE_MOUSE_MOVE, this.show);\n this.listenTo(this.core, Events.CORE_MOUSE_LEAVE, function () {\n return _this3.hide(_this3.options.hideMediaControlDelay);\n });\n this.listenTo(this.core, Events.CORE_FULLSCREEN, this.show);\n this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.configure);\n this.listenTo(this.core, Events.CORE_RESIZE, this.playerResize);\n this.bindContainerEvents();\n }\n }, {\n key: \"bindContainerEvents\",\n value: function bindContainerEvents() {\n if (!this.container) return;\n this.listenTo(this.container, Events.CONTAINER_PLAY, this.changeTogglePlay);\n this.listenTo(this.container, Events.CONTAINER_PAUSE, this.changeTogglePlay);\n this.listenTo(this.container, Events.CONTAINER_STOP, this.changeTogglePlay);\n this.listenTo(this.container, Events.CONTAINER_DBLCLICK, this.toggleFullscreen);\n this.listenTo(this.container, Events.CONTAINER_TIMEUPDATE, this.onTimeUpdate);\n this.listenTo(this.container, Events.CONTAINER_PROGRESS, this.updateProgressBar);\n this.listenTo(this.container, Events.CONTAINER_SETTINGSUPDATE, this.settingsUpdate);\n this.listenTo(this.container, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.settingsUpdate);\n this.listenTo(this.container, Events.CONTAINER_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);\n this.listenTo(this.container, Events.CONTAINER_MEDIACONTROL_DISABLE, this.disable);\n this.listenTo(this.container, Events.CONTAINER_MEDIACONTROL_ENABLE, this.enable);\n this.listenTo(this.container, Events.CONTAINER_ENDED, this.ended);\n this.listenTo(this.container, Events.CONTAINER_VOLUME, this.onVolumeChanged);\n this.listenTo(this.container, Events.CONTAINER_OPTIONS_CHANGE, this.setInitialVolume);\n if (this.container.playback.el.nodeName.toLowerCase() === 'video') {\n // wait until the metadata has loaded and then check if fullscreen on video tag is supported\n this.listenToOnce(this.container, Events.CONTAINER_LOADEDMETADATA, this.onLoadedMetadataOnVideoTag);\n }\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.userDisabled = true;\n this.hide();\n this.unbindKeyEvents();\n this.$el.hide();\n }\n }, {\n key: \"enable\",\n value: function enable() {\n if (this.options.chromeless) return;\n this.userDisabled = false;\n this.bindKeyEvents();\n this.show();\n }\n }, {\n key: \"play\",\n value: function play() {\n this.container && this.container.play();\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.container && this.container.pause();\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this.container && this.container.stop();\n }\n }, {\n key: \"setInitialVolume\",\n value: function setInitialVolume() {\n var initialVolume = this.persistConfig ? Config.restore('volume') : 100;\n var options = this.container && this.container.options || this.options;\n this.setVolume(options.mute ? 0 : initialVolume, true);\n }\n }, {\n key: \"onVolumeChanged\",\n value: function onVolumeChanged() {\n this.updateVolumeUI();\n }\n }, {\n key: \"onLoadedMetadataOnVideoTag\",\n value: function onLoadedMetadataOnVideoTag() {\n var video = this.playback && this.playback.el;\n // video.webkitSupportsFullscreen is deprecated but iOS appears to only use this\n // see https://github.com/clappr/clappr/issues/1127\n if (!Fullscreen.fullscreenEnabled() && video.webkitSupportsFullscreen) {\n this.fullScreenOnVideoTagSupported = true;\n this.settingsUpdate();\n }\n }\n }, {\n key: \"updateVolumeUI\",\n value: function updateVolumeUI() {\n // this will be called after a render\n if (!this.rendered) return;\n\n // update volume bar scrubber/fill on bar mode\n this.$volumeBarContainer.find('.bar-fill-2').css({});\n var containerWidth = this.$volumeBarContainer.width();\n var barWidth = this.$volumeBarBackground.width();\n var offset = (containerWidth - barWidth) / 2.0;\n var pos = barWidth * this.volume / 100.0 + offset;\n this.$volumeBarFill.css({\n width: \"\".concat(this.volume, \"%\")\n });\n this.$volumeBarScrubber.css({\n left: pos\n });\n\n // update volume bar segments on segmented bar mode\n this.$volumeBarContainer.find('.segmented-bar-element').removeClass('fill');\n var item = Math.ceil(this.volume / 10.0);\n this.$volumeBarContainer.find('.segmented-bar-element').slice(0, item).addClass('fill');\n this.$volumeIcon.html('');\n this.$volumeIcon.removeClass('muted');\n if (!this.muted) {\n this.$volumeIcon.append(volumeIcon);\n } else {\n this.$volumeIcon.append(volumeMuteIcon);\n this.$volumeIcon.addClass('muted');\n }\n this.applyButtonStyle(this.$volumeIcon);\n }\n }, {\n key: \"changeTogglePlay\",\n value: function changeTogglePlay() {\n this.$playPauseToggle.html('');\n this.$playStopToggle.html('');\n if (this.container && this.container.isPlaying()) {\n this.$playPauseToggle.append(pauseIcon);\n this.$playStopToggle.append(stopIcon);\n this.trigger(Events.MEDIACONTROL_PLAYING);\n } else {\n this.$playPauseToggle.append(playIcon);\n this.$playStopToggle.append(playIcon);\n this.trigger(Events.MEDIACONTROL_NOTPLAYING);\n Browser.isMobile && this.show();\n }\n this.applyButtonStyle(this.$playPauseToggle);\n this.applyButtonStyle(this.$playStopToggle);\n }\n }, {\n key: \"mousemoveOnSeekBar\",\n value: function mousemoveOnSeekBar(event) {\n if (this.settings.seekEnabled) {\n var offsetX = event.pageX - this.$seekBarContainer.offset().left - this.$seekBarHover.width() / 2;\n this.$seekBarHover.css({\n left: offsetX\n });\n }\n this.trigger(Events.MEDIACONTROL_MOUSEMOVE_SEEKBAR, event);\n }\n }, {\n key: \"mouseleaveOnSeekBar\",\n value: function mouseleaveOnSeekBar(event) {\n this.trigger(Events.MEDIACONTROL_MOUSELEAVE_SEEKBAR, event);\n }\n }, {\n key: \"onVolumeClick\",\n value: function onVolumeClick(event) {\n this.setVolume(this.getVolumeFromUIEvent(event));\n }\n }, {\n key: \"mousemoveOnVolumeBar\",\n value: function mousemoveOnVolumeBar(event) {\n this.draggingVolumeBar && this.setVolume(this.getVolumeFromUIEvent(event));\n }\n }, {\n key: \"playerResize\",\n value: function playerResize(size) {\n this.$fullscreenToggle.html('');\n var icon = this.core.isFullscreen() ? exitFullscreenIcon : fullscreenIcon;\n this.$fullscreenToggle.append(icon);\n this.applyButtonStyle(this.$fullscreenToggle);\n this.$el.find('.media-control').length !== 0 && this.$el.removeClass('w320');\n if (size.width <= 320 || this.options.hideVolumeBar) this.$el.addClass('w320');\n }\n }, {\n key: \"togglePlayPause\",\n value: function togglePlayPause() {\n this.container.isPlaying() ? this.container.pause() : this.container.play();\n return false;\n }\n }, {\n key: \"togglePlayStop\",\n value: function togglePlayStop() {\n this.container.isPlaying() ? this.container.stop() : this.container.play();\n }\n }, {\n key: \"startSeekDrag\",\n value: function startSeekDrag(event) {\n if (!this.settings.seekEnabled) return;\n this.draggingSeekBar = true;\n this.$el.addClass('dragging');\n this.$seekBarLoaded.addClass('media-control-notransition');\n this.$seekBarPosition.addClass('media-control-notransition');\n this.$seekBarScrubber.addClass('media-control-notransition');\n event && event.preventDefault();\n }\n }, {\n key: \"startVolumeDrag\",\n value: function startVolumeDrag(event) {\n this.draggingVolumeBar = true;\n this.$el.addClass('dragging');\n event && event.preventDefault();\n }\n }, {\n key: \"stopDrag\",\n value: function stopDrag(event) {\n this.draggingSeekBar && this.seek(event);\n this.$el.removeClass('dragging');\n this.$seekBarLoaded.removeClass('media-control-notransition');\n this.$seekBarPosition.removeClass('media-control-notransition');\n this.$seekBarScrubber.removeClass('media-control-notransition dragging');\n this.draggingSeekBar = false;\n this.draggingVolumeBar = false;\n }\n }, {\n key: \"updateDrag\",\n value: function updateDrag(event) {\n if (this.draggingSeekBar) {\n event.preventDefault();\n var offsetX = event.pageX - this.$seekBarContainer.offset().left;\n var pos = offsetX / this.$seekBarContainer.width() * 100;\n pos = Math.min(100, Math.max(pos, 0));\n this.setSeekPercentage(pos);\n } else if (this.draggingVolumeBar) {\n event.preventDefault();\n this.setVolume(this.getVolumeFromUIEvent(event));\n }\n }\n }, {\n key: \"getVolumeFromUIEvent\",\n value: function getVolumeFromUIEvent(event) {\n var offsetY = event.pageX - this.$volumeBarContainer.offset().left;\n var volumeFromUI = offsetY / this.$volumeBarContainer.width() * 100;\n return volumeFromUI;\n }\n }, {\n key: \"toggleMute\",\n value: function toggleMute() {\n this.setVolume(this.muted ? 100 : 0);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(value) {\n var _this4 = this;\n var isInitialVolume = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n value = Math.min(100, Math.max(value, 0));\n // this will hold the intended volume\n // it may not actually get set to this straight away\n // if the container is not ready etc\n this.intendedVolume = value;\n this.persistConfig && !isInitialVolume && Config.persist('volume', value);\n var setWhenContainerReady = function setWhenContainerReady() {\n if (_this4.container && _this4.container.isReady) {\n _this4.container.setVolume(value);\n } else {\n _this4.listenToOnce(_this4.container, Events.CONTAINER_READY, function () {\n _this4.container.setVolume(value);\n });\n }\n };\n if (!this.container) this.listenToOnce(this, Events.MEDIACONTROL_CONTAINERCHANGED, function () {\n return setWhenContainerReady();\n });else setWhenContainerReady();\n }\n }, {\n key: \"toggleFullscreen\",\n value: function toggleFullscreen() {\n this.trigger(Events.MEDIACONTROL_FULLSCREEN, this.name);\n this.container.fullscreen();\n this.core.toggleFullscreen();\n this.resetUserKeepVisible();\n }\n }, {\n key: \"onActiveContainerChanged\",\n value: function onActiveContainerChanged() {\n this.fullScreenOnVideoTagSupported = null;\n this.bindEvents();\n // set the new container to match the volume of the last one\n this.setInitialVolume();\n this.changeTogglePlay();\n this.bindContainerEvents();\n this.settingsUpdate();\n this.container && this.container.trigger(Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.container.isDvrInUse());\n this.container && this.container.mediaControlDisabled && this.disable();\n this.trigger(Events.MEDIACONTROL_CONTAINERCHANGED);\n }\n }, {\n key: \"showVolumeBar\",\n value: function showVolumeBar() {\n this.hideVolumeId && clearTimeout(this.hideVolumeId);\n this.$volumeBarContainer.removeClass('volume-bar-hide');\n }\n }, {\n key: \"hideVolumeBar\",\n value: function hideVolumeBar() {\n var _this5 = this;\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 400;\n if (!this.$volumeBarContainer) return;\n if (this.draggingVolumeBar) {\n this.hideVolumeId = setTimeout(function () {\n return _this5.hideVolumeBar();\n }, timeout);\n } else {\n this.hideVolumeId && clearTimeout(this.hideVolumeId);\n this.hideVolumeId = setTimeout(function () {\n return _this5.$volumeBarContainer.addClass('volume-bar-hide');\n }, timeout);\n }\n }\n }, {\n key: \"ended\",\n value: function ended() {\n this.changeTogglePlay();\n }\n }, {\n key: \"updateProgressBar\",\n value: function updateProgressBar(progress) {\n var loadedStart = progress.start / progress.total * 100;\n var loadedEnd = progress.current / progress.total * 100;\n this.$seekBarLoaded.css({\n left: \"\".concat(loadedStart, \"%\"),\n width: \"\".concat(loadedEnd - loadedStart, \"%\")\n });\n }\n }, {\n key: \"onTimeUpdate\",\n value: function onTimeUpdate(timeProgress) {\n if (this.draggingSeekBar) return;\n // TODO why should current time ever be negative?\n var position = timeProgress.current < 0 ? timeProgress.total : timeProgress.current;\n this.currentPositionValue = position;\n this.currentDurationValue = timeProgress.total;\n this.renderSeekBar();\n }\n }, {\n key: \"renderSeekBar\",\n value: function renderSeekBar() {\n // this will be triggered as soon as these become available\n if (this.currentPositionValue === null || this.currentDurationValue === null) return;\n\n // default to 100%\n this.currentSeekBarPercentage = 100;\n if (this.container && (this.container.getPlaybackType() !== Playback.LIVE || this.container.isDvrInUse())) this.currentSeekBarPercentage = this.currentPositionValue / this.currentDurationValue * 100;\n this.setSeekPercentage(this.currentSeekBarPercentage);\n var newPosition = formatTime$1(this.currentPositionValue);\n var newDuration = formatTime$1(this.currentDurationValue);\n if (newPosition !== this.displayedPosition) {\n this.$position.text(newPosition);\n this.displayedPosition = newPosition;\n }\n if (newDuration !== this.displayedDuration) {\n this.$duration.text(newDuration);\n this.displayedDuration = newDuration;\n }\n }\n }, {\n key: \"seek\",\n value: function seek(event) {\n if (!this.settings.seekEnabled) return;\n var offsetX = event.pageX - this.$seekBarContainer.offset().left;\n var pos = offsetX / this.$seekBarContainer.width() * 100;\n pos = Math.min(100, Math.max(pos, 0));\n this.container && this.container.seekPercentage(pos);\n this.setSeekPercentage(pos);\n return false;\n }\n }, {\n key: \"setKeepVisible\",\n value: function setKeepVisible() {\n this.keepVisible = true;\n }\n }, {\n key: \"resetKeepVisible\",\n value: function resetKeepVisible() {\n this.keepVisible = false;\n }\n }, {\n key: \"setUserKeepVisible\",\n value: function setUserKeepVisible() {\n this.userKeepVisible = true;\n }\n }, {\n key: \"resetUserKeepVisible\",\n value: function resetUserKeepVisible() {\n this.userKeepVisible = false;\n }\n }, {\n key: \"isVisible\",\n value: function isVisible() {\n return !this.$el.hasClass('media-control-hide');\n }\n }, {\n key: \"show\",\n value: function show(event) {\n var _this6 = this;\n if (this.disabled) return;\n var timeout = 2000;\n var mousePointerMoved = event && event.clientX !== this.lastMouseX && event.clientY !== this.lastMouseY;\n if (!event || mousePointerMoved || navigator.userAgent.match(/firefox/i)) {\n clearTimeout(this.hideId);\n this.$el.show();\n this.trigger(Events.MEDIACONTROL_SHOW, this.name);\n this.container && this.container.trigger(Events.CONTAINER_MEDIACONTROL_SHOW, this.name);\n this.$el.removeClass('media-control-hide');\n this.hideId = setTimeout(function () {\n return _this6.hide();\n }, timeout);\n if (event) {\n this.lastMouseX = event.clientX;\n this.lastMouseY = event.clientY;\n }\n }\n var showing = true;\n this.updateCursorStyle(showing);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this7 = this;\n var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n if (!this.isVisible()) return;\n var timeout = delay || 2000;\n clearTimeout(this.hideId);\n if (!this.disabled && this.options.hideMediaControl === false) return;\n var hasKeepVisibleRequested = this.userKeepVisible || this.keepVisible;\n var hasDraggingAction = this.draggingSeekBar || this.draggingVolumeBar;\n if (!this.disabled && (delay || hasKeepVisibleRequested || hasDraggingAction)) {\n this.hideId = setTimeout(function () {\n return _this7.hide();\n }, timeout);\n } else {\n this.trigger(Events.MEDIACONTROL_HIDE, this.name);\n this.container && this.container.trigger(Events.CONTAINER_MEDIACONTROL_HIDE, this.name);\n this.$el.addClass('media-control-hide');\n this.hideVolumeBar(0);\n var showing = false;\n this.updateCursorStyle(showing);\n }\n }\n }, {\n key: \"updateCursorStyle\",\n value: function updateCursorStyle(showing) {\n if (showing) this.core.$el.removeClass('nocursor');else if (this.core.isFullscreen()) this.core.$el.addClass('nocursor');\n }\n }, {\n key: \"settingsUpdate\",\n value: function settingsUpdate() {\n var newSettings = this.getSettings();\n if (newSettings && !this.fullScreenOnVideoTagSupported && !Fullscreen.fullscreenEnabled()) {\n // remove fullscreen from settings if it is present\n newSettings[\"default\"] && removeArrayItem(newSettings[\"default\"], 'fullscreen');\n newSettings.left && removeArrayItem(newSettings.left, 'fullscreen');\n newSettings.right && removeArrayItem(newSettings.right, 'fullscreen');\n }\n var settingsChanged = JSON.stringify(this.settings) !== JSON.stringify(newSettings);\n if (settingsChanged) {\n this.settings = newSettings;\n this.render();\n }\n }\n }, {\n key: \"getSettings\",\n value: function getSettings() {\n return $.extend(true, {}, this.container && this.container.settings);\n }\n }, {\n key: \"highDefinitionUpdate\",\n value: function highDefinitionUpdate(isHD) {\n this.isHD = isHD;\n var method = isHD ? 'addClass' : 'removeClass';\n this.$hdIndicator[method]('enabled');\n }\n }, {\n key: \"createCachedElements\",\n value: function createCachedElements() {\n var $layer = this.$el.find('.media-control-layer');\n this.$duration = $layer.find('.media-control-indicator[data-duration]');\n this.$fullscreenToggle = $layer.find('button.media-control-button[data-fullscreen]');\n this.$playPauseToggle = $layer.find('button.media-control-button[data-playpause]');\n this.$playStopToggle = $layer.find('button.media-control-button[data-playstop]');\n this.$position = $layer.find('.media-control-indicator[data-position]');\n this.$seekBarContainer = $layer.find('.bar-container[data-seekbar]');\n this.$seekBarHover = $layer.find('.bar-hover[data-seekbar]');\n this.$seekBarLoaded = $layer.find('.bar-fill-1[data-seekbar]');\n this.$seekBarPosition = $layer.find('.bar-fill-2[data-seekbar]');\n this.$seekBarScrubber = $layer.find('.bar-scrubber[data-seekbar]');\n this.$volumeBarContainer = $layer.find('.bar-container[data-volume]');\n this.$volumeContainer = $layer.find('.drawer-container[data-volume]');\n this.$volumeIcon = $layer.find('.drawer-icon[data-volume]');\n this.$volumeBarBackground = this.$el.find('.bar-background[data-volume]');\n this.$volumeBarFill = this.$el.find('.bar-fill-1[data-volume]');\n this.$volumeBarScrubber = this.$el.find('.bar-scrubber[data-volume]');\n this.$hdIndicator = this.$el.find('button.media-control-button[data-hd-indicator]');\n this.resetIndicators();\n this.initializeIcons();\n }\n }, {\n key: \"resetIndicators\",\n value: function resetIndicators() {\n this.displayedPosition = this.$position.text();\n this.displayedDuration = this.$duration.text();\n }\n }, {\n key: \"initializeIcons\",\n value: function initializeIcons() {\n var $layer = this.$el.find('.media-control-layer');\n $layer.find('button.media-control-button[data-play]').append(playIcon);\n $layer.find('button.media-control-button[data-pause]').append(pauseIcon);\n $layer.find('button.media-control-button[data-stop]').append(stopIcon);\n this.$playPauseToggle.append(playIcon);\n this.$playStopToggle.append(playIcon);\n this.$volumeIcon.append(volumeIcon);\n this.$fullscreenToggle.append(fullscreenIcon);\n this.$hdIndicator.append(hdIcon);\n }\n }, {\n key: \"setSeekPercentage\",\n value: function setSeekPercentage(value) {\n value = Math.max(Math.min(value, 100.0), 0);\n // not changed since last update\n if (this.displayedSeekBarPercentage === value) return;\n this.displayedSeekBarPercentage = value;\n this.$seekBarPosition.removeClass('media-control-notransition');\n this.$seekBarScrubber.removeClass('media-control-notransition');\n this.$seekBarPosition.css({\n width: \"\".concat(value, \"%\")\n });\n this.$seekBarScrubber.css({\n left: \"\".concat(value, \"%\")\n });\n }\n }, {\n key: \"seekRelative\",\n value: function seekRelative(delta) {\n if (!this.settings.seekEnabled) return;\n var currentTime = this.container.getCurrentTime();\n var duration = this.container.getDuration();\n var position = Math.min(Math.max(currentTime + delta, 0), duration);\n position = Math.min(position * 100 / duration, 100);\n this.container.seekPercentage(position);\n }\n }, {\n key: \"bindKeyAndShow\",\n value: function bindKeyAndShow(key, callback) {\n var _this8 = this;\n this.kibo.down(key, function () {\n _this8.show();\n return callback();\n });\n }\n }, {\n key: \"bindKeyEvents\",\n value: function bindKeyEvents() {\n var _this9 = this;\n if (Browser.isMobile || this.options.disableKeyboardShortcuts) return;\n this.unbindKeyEvents();\n this.kibo = new Kibo(this.options.focusElement || this.options.parentElement);\n this.bindKeyAndShow('space', function () {\n return _this9.togglePlayPause();\n });\n this.bindKeyAndShow('left', function () {\n return _this9.seekRelative(-5);\n });\n this.bindKeyAndShow('right', function () {\n return _this9.seekRelative(5);\n });\n this.bindKeyAndShow('shift left', function () {\n return _this9.seekRelative(-10);\n });\n this.bindKeyAndShow('shift right', function () {\n return _this9.seekRelative(10);\n });\n this.bindKeyAndShow('shift ctrl left', function () {\n return _this9.seekRelative(-15);\n });\n this.bindKeyAndShow('shift ctrl right', function () {\n return _this9.seekRelative(15);\n });\n var keys = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];\n keys.forEach(function (i) {\n _this9.bindKeyAndShow(i, function () {\n _this9.settings.seekEnabled && _this9.container && _this9.container.seekPercentage(i * 10);\n });\n });\n }\n }, {\n key: \"unbindKeyEvents\",\n value: function unbindKeyEvents() {\n if (this.kibo) {\n this.kibo.off('space');\n this.kibo.off('left');\n this.kibo.off('right');\n this.kibo.off('shift left');\n this.kibo.off('shift right');\n this.kibo.off('shift ctrl left');\n this.kibo.off('shift ctrl right');\n this.kibo.off(['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']);\n }\n }\n }, {\n key: \"parseColors\",\n value: function parseColors() {\n if (this.options.mediacontrol) {\n this.buttonsColor = this.options.mediacontrol.buttons;\n var seekbarColor = this.options.mediacontrol.seekbar;\n this.$el.find('.bar-fill-2[data-seekbar]').css('background-color', seekbarColor);\n this.$el.find('.media-control-icon svg path').css('fill', this.buttonsColor);\n this.$el.find('.segmented-bar-element[data-volume]').css('boxShadow', 'inset 2px 0 0 ' + this.buttonsColor);\n }\n }\n }, {\n key: \"applyButtonStyle\",\n value: function applyButtonStyle(element) {\n this.buttonsColor && element && $(element).find('svg path').css('fill', this.buttonsColor);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n $(document).unbind('mouseup', this.stopDragHandler);\n $(document).unbind('mousemove', this.updateDragHandler);\n this.unbindKeyEvents();\n this.stopListening();\n _superPropGet(MediaControl, \"destroy\", this, 3)([]);\n }\n\n /**\n * enables to configure the media control after its creation\n * @method configure\n * @param {Object} options all the options to change in form of a javascript object\n */\n }, {\n key: \"configure\",\n value: function configure(options) {\n // Check if chromeless mode or if configure is called with new source(s)\n if (this.options.chromeless || options.source || options.sources) this.disable();else this.enable();\n this.trigger(Events.MEDIACONTROL_OPTIONS_CHANGE);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this10 = this;\n var timeout = this.options.hideMediaControlDelay || 2000;\n this.settings && this.$el.html(this.template({\n settings: this.settings\n }));\n var style = Styler.getStyleFor(css_248z$4, {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n this.createCachedElements();\n this.$playPauseToggle.addClass('paused');\n this.$playStopToggle.addClass('stopped');\n this.changeTogglePlay();\n if (this.container) {\n this.hideId = setTimeout(function () {\n return _this10.hide();\n }, timeout);\n this.disabled && this.hide();\n }\n\n // Video volume cannot be changed with Safari on mobile devices\n // Display mute/unmute icon only if Safari version >= 10\n if (Browser.isSafari && Browser.isMobile) {\n if (Browser.version < 10) this.$volumeContainer.css('display', 'none');else this.$volumeBarContainer.css('display', 'none');\n }\n this.$seekBarPosition.addClass('media-control-notransition');\n this.$seekBarScrubber.addClass('media-control-notransition');\n var previousSeekPercentage = 0;\n if (this.displayedSeekBarPercentage) previousSeekPercentage = this.displayedSeekBarPercentage;\n this.displayedSeekBarPercentage = null;\n this.setSeekPercentage(previousSeekPercentage);\n setTimeout(function () {\n !_this10.settings.seekEnabled && _this10.$seekBarContainer.addClass('seek-disabled');\n !Browser.isMobile && !_this10.options.disableKeyboardShortcuts && _this10.bindKeyEvents();\n _this10.playerResize({\n width: _this10.options.width,\n height: _this10.options.height\n });\n _this10.hideVolumeBar(0);\n }, 0);\n this.parseColors();\n this.highDefinitionUpdate(this.isHD);\n this.core.$el.append(this.el);\n this.rendered = true;\n this.updateVolumeUI();\n this.trigger(Events.MEDIACONTROL_RENDERED);\n return this;\n }\n }]);\n}(UICorePlugin);\nMediaControl.extend = function (properties) {\n return extend(MediaControl, properties);\n};\n\nvar posterHTML = \"<div class=\\\"play-wrapper\\\" data-poster></div>\\n\";\n\nvar css_248z$3 = \".player-poster[data-poster] {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n z-index: 998;\\n top: 0;\\n left: 0;\\n background-color: transparent;\\n background-size: cover;\\n background-repeat: no-repeat;\\n background-position: 50% 50%; }\\n .player-poster[data-poster].clickable {\\n cursor: pointer; }\\n .player-poster[data-poster]:hover .play-wrapper[data-poster] {\\n opacity: 1; }\\n .player-poster[data-poster] .play-wrapper[data-poster] {\\n width: 100%;\\n height: 25%;\\n margin: 0 auto;\\n opacity: 0.75;\\n transition: opacity 0.1s ease; }\\n .player-poster[data-poster] .play-wrapper[data-poster] svg {\\n height: 100%; }\\n .player-poster[data-poster] .play-wrapper[data-poster] svg path {\\n fill: #fff; }\\n\";\n\nvar PosterPlugin = /*#__PURE__*/function (_UIContainerPlugin) {\n function PosterPlugin(container) {\n var _this;\n _classCallCheck(this, PosterPlugin);\n _this = _callSuper(this, PosterPlugin, [container]);\n _this.hasStartedPlaying = false;\n _this.playRequested = false;\n _this.render();\n setTimeout(function () {\n return _this.update();\n }, 0);\n return _this;\n }\n _inherits(PosterPlugin, _UIContainerPlugin);\n return _createClass(PosterPlugin, [{\n key: \"name\",\n get: function get() {\n return 'poster';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(posterHTML);\n }\n }, {\n key: \"shouldRender\",\n get: function get() {\n var showForNoOp = !!(this.options.poster && this.options.poster.showForNoOp);\n return this.container.playback.name !== 'html_img' && (this.container.playback.getPlaybackType() !== Playback.NO_OP || showForNoOp);\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'player-poster',\n 'data-poster': ''\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'click': 'clicked'\n };\n }\n }, {\n key: \"showOnVideoEnd\",\n get: function get() {\n return !this.options.poster || this.options.poster.showOnVideoEnd || this.options.poster.showOnVideoEnd === undefined;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.container, Events.CONTAINER_STOP, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_PLAY, this.onPlay);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERING, this.update);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERFULL, this.update);\n this.listenTo(this.container, Events.CONTAINER_OPTIONS_CHANGE, this.render);\n this.listenTo(this.container, Events.CONTAINER_ERROR, this.onError);\n this.showOnVideoEnd && this.listenTo(this.container, Events.CONTAINER_ENDED, this.onStop);\n }\n }, {\n key: \"onError\",\n value: function onError(error) {\n this.hasFatalError = error.level === PlayerError.Levels.FATAL;\n if (this.hasFatalError) {\n this.hasStartedPlaying = false;\n this.playRequested = false;\n this.showPlayButton();\n }\n }\n }, {\n key: \"onPlay\",\n value: function onPlay() {\n this.hasStartedPlaying = true;\n this.update();\n }\n }, {\n key: \"onStop\",\n value: function onStop() {\n this.hasStartedPlaying = false;\n this.playRequested = false;\n this.update();\n }\n }, {\n key: \"updatePlayButton\",\n value: function updatePlayButton(show) {\n if (show && (!this.options.chromeless || this.options.allowUserInteraction)) this.showPlayButton();else this.hidePlayButton();\n }\n }, {\n key: \"showPlayButton\",\n value: function showPlayButton() {\n if (this.hasFatalError && !this.options.disableErrorScreen) return;\n this.$playButton.show();\n this.$el.addClass('clickable');\n }\n }, {\n key: \"hidePlayButton\",\n value: function hidePlayButton() {\n this.$playButton.hide();\n this.$el.removeClass('clickable');\n }\n }, {\n key: \"clicked\",\n value: function clicked() {\n // Let \"click_to_pause\" plugin handle click event if media has started playing\n if (!this.hasStartedPlaying) {\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.playRequested = true;\n this.update();\n this.container.playback && (this.container.playback._consented = true);\n this.container.play();\n }\n return false;\n }\n }\n }, {\n key: \"shouldHideOnPlay\",\n value: function shouldHideOnPlay() {\n // Audio broadcasts should keep the poster up; video should hide poster while playing.\n return !this.container.playback.isAudioOnly;\n }\n }, {\n key: \"update\",\n value: function update() {\n if (!this.shouldRender) return;\n var showPlayButton = !this.playRequested && !this.hasStartedPlaying && !this.container.buffering;\n this.updatePlayButton(showPlayButton);\n this.updatePoster();\n }\n }, {\n key: \"updatePoster\",\n value: function updatePoster() {\n if (!this.hasStartedPlaying) this.showPoster();else this.hidePoster();\n }\n }, {\n key: \"showPoster\",\n value: function showPoster() {\n this.container.disableMediaControl();\n this.$el.show();\n }\n }, {\n key: \"hidePoster\",\n value: function hidePoster() {\n this.container.enableMediaControl();\n if (this.shouldHideOnPlay()) this.$el.hide();\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!this.shouldRender) return;\n var style = Styler.getStyleFor(css_248z$3, {\n baseUrl: this.options.baseUrl\n });\n this.$el.html(this.template());\n this.$el.append(style[0]);\n var isRegularPoster = this.options.poster && this.options.poster.custom === undefined;\n if (isRegularPoster) {\n var posterUrl = this.options.poster.url || this.options.poster;\n this.$el.css({\n 'background-image': 'url(' + posterUrl + ')'\n });\n this.removeVideoElementPoster();\n } else if (this.options.poster) {\n this.$el.css({\n 'background': this.options.poster.custom\n });\n this.removeVideoElementPoster();\n }\n this.container.$el.append(this.el);\n this.$playWrapper = this.$el.find('.play-wrapper');\n this.$playWrapper.append(playIcon);\n this.$playButton = this.$playWrapper.find('svg');\n this.$playButton.addClass('poster-icon');\n this.$playButton.attr('data-poster', '');\n var buttonsColor = this.options.mediacontrol && this.options.mediacontrol.buttons;\n if (buttonsColor) this.$el.find('svg path').css('fill', buttonsColor);\n if (this.options.mediacontrol && this.options.mediacontrol.buttons) {\n buttonsColor = this.options.mediacontrol.buttons;\n this.$playButton.css('color', buttonsColor);\n }\n this.update();\n return this;\n }\n }, {\n key: \"removeVideoElementPoster\",\n value: function removeVideoElementPoster() {\n this.container.playback && this.container.playback.$el && this.container.playback.$el[0] && this.container.playback.$el[0].removeAttribute && this.container.playback.$el[0].removeAttribute('poster');\n }\n }]);\n}(UIContainerPlugin);\n\nvar seekTimeHTML = \"<span data-seek-time></span>\\n<span data-duration></span>\\n\";\n\nvar css_248z$2 = \".seek-time[data-seek-time] {\\n position: absolute;\\n white-space: nowrap;\\n height: 20px;\\n line-height: 20px;\\n font-size: 0;\\n left: -100%;\\n bottom: 55px;\\n background-color: rgba(2, 2, 2, 0.5);\\n z-index: 9999;\\n transition: opacity 0.1s ease; }\\n .seek-time[data-seek-time].hidden[data-seek-time] {\\n opacity: 0; }\\n .seek-time[data-seek-time] [data-seek-time] {\\n display: inline-block;\\n color: white;\\n font-size: 10px;\\n padding-left: 7px;\\n padding-right: 7px;\\n vertical-align: top; }\\n .seek-time[data-seek-time] [data-duration] {\\n display: inline-block;\\n color: rgba(255, 255, 255, 0.5);\\n font-size: 10px;\\n padding-right: 7px;\\n vertical-align: top; }\\n .seek-time[data-seek-time] [data-duration]:before {\\n content: \\\"|\\\";\\n margin-right: 7px; }\\n\";\n\nvar formatTime = Utils.formatTime;\nvar SeekTime = /*#__PURE__*/function (_UICorePlugin) {\n function SeekTime(core) {\n var _this;\n _classCallCheck(this, SeekTime);\n _this = _callSuper(this, SeekTime, [core]);\n _this.hoveringOverSeekBar = false;\n _this.hoverPosition = null;\n _this.duration = null;\n _this.firstFragDateTime = null;\n _this.actualLiveTime = !!_this.mediaControl.options.actualLiveTime;\n if (_this.actualLiveTime) {\n if (_this.mediaControl.options.actualLiveServerTime) _this.actualLiveServerTimeDiff = new Date().getTime() - new Date(_this.mediaControl.options.actualLiveServerTime).getTime();else _this.actualLiveServerTimeDiff = 0;\n }\n return _this;\n }\n _inherits(SeekTime, _UICorePlugin);\n return _createClass(SeekTime, [{\n key: \"name\",\n get: function get() {\n return 'seek_time';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(seekTimeHTML);\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'seek-time',\n 'data-seek-time': ''\n };\n }\n }, {\n key: \"mediaControl\",\n get: function get() {\n return this.core.mediaControl;\n }\n }, {\n key: \"mediaControlContainer\",\n get: function get() {\n return this.mediaControl.container;\n }\n }, {\n key: \"isLiveStreamWithDvr\",\n get: function get() {\n return this.mediaControlContainer && this.mediaControlContainer.getPlaybackType() === Playback.LIVE && this.mediaControlContainer.isDvrEnabled();\n }\n }, {\n key: \"durationShown\",\n get: function get() {\n return this.isLiveStreamWithDvr && !this.actualLiveTime;\n }\n }, {\n key: \"useActualLiveTime\",\n get: function get() {\n return this.actualLiveTime && this.isLiveStreamWithDvr;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.mediaControl, Events.MEDIACONTROL_RENDERED, this.render);\n this.listenTo(this.mediaControl, Events.MEDIACONTROL_MOUSEMOVE_SEEKBAR, this.showTime);\n this.listenTo(this.mediaControl, Events.MEDIACONTROL_MOUSELEAVE_SEEKBAR, this.hideTime);\n this.listenTo(this.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED, this.onContainerChanged);\n if (this.mediaControlContainer) {\n this.listenTo(this.mediaControlContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.update);\n this.listenTo(this.mediaControlContainer, Events.CONTAINER_TIMEUPDATE, this.updateDuration);\n }\n }\n }, {\n key: \"onContainerChanged\",\n value: function onContainerChanged() {\n this.stopListening();\n this.bindEvents();\n }\n }, {\n key: \"updateDuration\",\n value: function updateDuration(timeProgress) {\n this.duration = timeProgress.total;\n this.firstFragDateTime = timeProgress.firstFragDateTime;\n this.update();\n }\n }, {\n key: \"showTime\",\n value: function showTime(event) {\n this.hoveringOverSeekBar = true;\n this.calculateHoverPosition(event);\n this.update();\n }\n }, {\n key: \"hideTime\",\n value: function hideTime() {\n this.hoveringOverSeekBar = false;\n this.update();\n }\n }, {\n key: \"calculateHoverPosition\",\n value: function calculateHoverPosition(event) {\n var offset = event.pageX - this.mediaControl.$seekBarContainer.offset().left;\n // proportion into the seek bar that the mouse is hovered over 0-1\n this.hoverPosition = Math.min(1, Math.max(offset / this.mediaControl.$seekBarContainer.width(), 0));\n }\n }, {\n key: \"getSeekTime\",\n value: function getSeekTime() {\n var seekTime, secondsSinceMidnight, d, e;\n if (this.useActualLiveTime) {\n if (this.firstFragDateTime) {\n e = new Date(this.firstFragDateTime);\n d = new Date(this.firstFragDateTime);\n d.setHours(0, 0, 0, 0);\n secondsSinceMidnight = (e.getTime() - d.getTime()) / 1000 + this.duration;\n } else {\n d = new Date(new Date().getTime() - this.actualLiveServerTimeDiff);\n e = new Date(d);\n secondsSinceMidnight = (e - d.setHours(0, 0, 0, 0)) / 1000;\n }\n seekTime = secondsSinceMidnight - this.duration + this.hoverPosition * this.duration;\n if (seekTime < 0) seekTime += 86400;\n } else {\n seekTime = this.hoverPosition * this.duration;\n }\n return {\n seekTime: seekTime,\n secondsSinceMidnight: secondsSinceMidnight\n };\n }\n }, {\n key: \"update\",\n value: function update() {\n if (!this.rendered) {\n // update() is always called after a render\n return;\n }\n if (!this.shouldBeVisible()) {\n this.$el.hide();\n this.$el.css('left', '-100%');\n } else {\n var seekTime = this.getSeekTime();\n var currentSeekTime = formatTime(seekTime.seekTime, this.useActualLiveTime);\n // only update dom if necessary, ie time actually changed\n if (currentSeekTime !== this.displayedSeekTime) {\n this.$seekTimeEl.text(currentSeekTime);\n this.displayedSeekTime = currentSeekTime;\n }\n if (this.durationShown) {\n this.$durationEl.show();\n var currentDuration = formatTime(this.actualLiveTime ? seekTime.secondsSinceMidnight : this.duration, this.actualLiveTime);\n if (currentDuration !== this.displayedDuration) {\n this.$durationEl.text(currentDuration);\n this.displayedDuration = currentDuration;\n }\n } else {\n this.$durationEl.hide();\n }\n\n // the element must be unhidden before its width is requested, otherwise it's width will be reported as 0\n this.$el.show();\n var containerWidth = this.mediaControl.$seekBarContainer.width();\n var elWidth = this.$el.width();\n var elLeftPos = this.hoverPosition * containerWidth;\n elLeftPos -= elWidth / 2;\n elLeftPos = Math.max(0, Math.min(elLeftPos, containerWidth - elWidth));\n this.$el.css('left', elLeftPos);\n }\n }\n }, {\n key: \"shouldBeVisible\",\n value: function shouldBeVisible() {\n return this.mediaControlContainer && this.mediaControlContainer.settings.seekEnabled && this.hoveringOverSeekBar && this.hoverPosition !== null && this.duration !== null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = Styler.getStyleFor(css_248z$2, {\n baseUrl: this.options.baseUrl\n });\n this.rendered = true;\n this.displayedDuration = null;\n this.displayedSeekTime = null;\n this.$el.html(this.template());\n this.$el.append(style[0]);\n this.$el.hide();\n this.mediaControl.$el.append(this.el);\n this.$seekTimeEl = this.$el.find('[data-seek-time]');\n this.$durationEl = this.$el.find('[data-duration]');\n this.$durationEl.hide();\n this.update();\n }\n }]);\n}(UICorePlugin);\n\nvar spinnerHTML = \"<div data-bounce1></div><div data-bounce2></div><div data-bounce3></div>\\n\";\n\nvar css_248z$1 = \".spinner-three-bounce[data-spinner] {\\n position: absolute;\\n margin: 0 auto;\\n width: 70px;\\n text-align: center;\\n z-index: 999;\\n left: 0;\\n right: 0;\\n margin-left: auto;\\n margin-right: auto;\\n /* center vertically */\\n top: 50%;\\n transform: translateY(-50%); }\\n .spinner-three-bounce[data-spinner] > div {\\n width: 18px;\\n height: 18px;\\n background-color: #FFFFFF;\\n border-radius: 100%;\\n display: inline-block;\\n animation: bouncedelay 1.4s infinite ease-in-out;\\n /* Prevent first frame from flickering when animation starts */\\n animation-fill-mode: both; }\\n .spinner-three-bounce[data-spinner] [data-bounce1] {\\n animation-delay: -0.32s; }\\n .spinner-three-bounce[data-spinner] [data-bounce2] {\\n animation-delay: -0.16s; }\\n\\n@keyframes bouncedelay {\\n 0%, 80%, 100% {\\n transform: scale(0); }\\n 40% {\\n transform: scale(1); } }\\n\";\n\nvar SpinnerThreeBouncePlugin = /*#__PURE__*/function (_UIContainerPlugin) {\n function SpinnerThreeBouncePlugin(container) {\n var _this;\n _classCallCheck(this, SpinnerThreeBouncePlugin);\n _this = _callSuper(this, SpinnerThreeBouncePlugin, [container]);\n _this.template = template(spinnerHTML);\n _this.showTimeout = null;\n _this.listenTo(_this.container, Events.CONTAINER_STATE_BUFFERING, _this.onBuffering);\n _this.listenTo(_this.container, Events.CONTAINER_STATE_BUFFERFULL, _this.onBufferFull);\n _this.listenTo(_this.container, Events.CONTAINER_STOP, _this.onStop);\n _this.listenTo(_this.container, Events.CONTAINER_ENDED, _this.onStop);\n _this.listenTo(_this.container, Events.CONTAINER_ERROR, _this.onStop);\n _this.render();\n return _this;\n }\n _inherits(SpinnerThreeBouncePlugin, _UIContainerPlugin);\n return _createClass(SpinnerThreeBouncePlugin, [{\n key: \"name\",\n get: function get() {\n return 'spinner';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'data-spinner': '',\n 'class': 'spinner-three-bounce'\n };\n }\n }, {\n key: \"onBuffering\",\n value: function onBuffering() {\n this.show();\n }\n }, {\n key: \"onBufferFull\",\n value: function onBufferFull() {\n this.hide();\n }\n }, {\n key: \"onStop\",\n value: function onStop() {\n this.hide();\n }\n }, {\n key: \"show\",\n value: function show() {\n var _this2 = this;\n if (this.showTimeout === null) this.showTimeout = setTimeout(function () {\n return _this2.$el.show();\n }, 300);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (this.showTimeout !== null) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n this.$el.hide();\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = Styler.getStyleFor(css_248z$1, {\n baseUrl: this.options.baseUrl\n });\n this.$el.html(this.template());\n this.$el.append(style[0]);\n this.container.$el.append(this.$el);\n this.$el.hide();\n if (this.container.buffering) this.onBuffering();\n return this;\n }\n }]);\n}(UIContainerPlugin);\n\nvar StatsPlugin = /*#__PURE__*/function (_ContainerPlugin) {\n function StatsPlugin(container) {\n var _this;\n _classCallCheck(this, StatsPlugin);\n _this = _callSuper(this, StatsPlugin, [container]);\n _this.setInitialAttrs();\n _this.reportInterval = _this.options.reportInterval || 5000;\n _this.state = 'IDLE';\n return _this;\n }\n _inherits(StatsPlugin, _ContainerPlugin);\n return _createClass(StatsPlugin, [{\n key: \"name\",\n get: function get() {\n return 'stats';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.container.playback, Events.PLAYBACK_PLAY, this.onPlay);\n this.listenTo(this.container, Events.CONTAINER_STOP, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_ENDED, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_DESTROYED, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERING, this.onBuffering);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);\n this.listenTo(this.container, Events.CONTAINER_STATS_ADD, this.onStatsAdd);\n this.listenTo(this.container, Events.CONTAINER_BITRATE, this.onStatsAdd);\n this.listenTo(this.container.playback, Events.PLAYBACK_STATS_ADD, this.onStatsAdd);\n }\n }, {\n key: \"setInitialAttrs\",\n value: function setInitialAttrs() {\n this.firstPlay = true;\n this.startupTime = 0;\n this.rebufferingTime = 0;\n this.watchingTime = 0;\n this.rebuffers = 0;\n this.externalMetrics = {};\n }\n }, {\n key: \"onPlay\",\n value: function onPlay() {\n this.state = 'PLAYING';\n this.watchingTimeInit = Date.now();\n if (!this.intervalId) this.intervalId = setInterval(this.report.bind(this), this.reportInterval);\n }\n }, {\n key: \"onStop\",\n value: function onStop() {\n clearInterval(this.intervalId);\n this.report();\n this.intervalId = undefined;\n this.state = 'STOPPED';\n }\n }, {\n key: \"onBuffering\",\n value: function onBuffering() {\n if (this.firstPlay) this.startupTimeInit = Date.now();else this.rebufferingTimeInit = Date.now();\n this.state = 'BUFFERING';\n this.rebuffers++;\n }\n }, {\n key: \"onBufferFull\",\n value: function onBufferFull() {\n if (this.firstPlay && this.startupTimeInit) {\n this.firstPlay = false;\n this.startupTime = Date.now() - this.startupTimeInit;\n this.watchingTimeInit = Date.now();\n } else if (this.rebufferingTimeInit) {\n this.rebufferingTime += this.getRebufferingTime();\n }\n this.rebufferingTimeInit = undefined;\n this.state = 'PLAYING';\n }\n }, {\n key: \"getRebufferingTime\",\n value: function getRebufferingTime() {\n return Date.now() - this.rebufferingTimeInit;\n }\n }, {\n key: \"getWatchingTime\",\n value: function getWatchingTime() {\n var totalTime = Date.now() - this.watchingTimeInit;\n return totalTime - this.rebufferingTime;\n }\n }, {\n key: \"isRebuffering\",\n value: function isRebuffering() {\n return !!this.rebufferingTimeInit;\n }\n }, {\n key: \"onStatsAdd\",\n value: function onStatsAdd(metric) {\n $.extend(this.externalMetrics, metric);\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n var metrics = {\n startupTime: this.startupTime,\n rebuffers: this.rebuffers,\n rebufferingTime: this.isRebuffering() ? this.rebufferingTime + this.getRebufferingTime() : this.rebufferingTime,\n watchingTime: this.isRebuffering() ? this.getWatchingTime() - this.getRebufferingTime() : this.getWatchingTime()\n };\n $.extend(metrics, this.externalMetrics);\n return metrics;\n }\n }, {\n key: \"report\",\n value: function report() {\n this.container.statsReport(this.getStats());\n }\n }]);\n}(ContainerPlugin);\n\nvar watermarkHTML = \"<div class=\\\"clappr-watermark\\\" data-watermark data-watermark-<%=position %>>\\n<% if(typeof imageLink !== 'undefined') { %>\\n<a target=\\\"_blank\\\" href=\\\"<%= imageLink %>\\\">\\n<% } %>\\n<img src=\\\"<%= imageUrl %>\\\">\\n<% if(typeof imageLink !== 'undefined') { %>\\n</a>\\n<% } %>\\n</div>\\n\";\n\nvar css_248z = \".clappr-watermark[data-watermark] {\\n position: absolute;\\n min-width: 70px;\\n max-width: 200px;\\n width: 12%;\\n text-align: center;\\n z-index: 10; }\\n\\n.clappr-watermark[data-watermark] a {\\n outline: none;\\n cursor: pointer; }\\n\\n.clappr-watermark[data-watermark] img {\\n max-width: 100%; }\\n\\n.clappr-watermark[data-watermark-bottom-left] {\\n bottom: 10px;\\n left: 10px; }\\n\\n.clappr-watermark[data-watermark-bottom-right] {\\n bottom: 10px;\\n right: 42px; }\\n\\n.clappr-watermark[data-watermark-top-left] {\\n top: 10px;\\n left: 10px; }\\n\\n.clappr-watermark[data-watermark-top-right] {\\n top: 10px;\\n right: 37px; }\\n\";\n\nvar WaterMarkPlugin = /*#__PURE__*/function (_UIContainerPlugin) {\n function WaterMarkPlugin(container) {\n var _this;\n _classCallCheck(this, WaterMarkPlugin);\n _this = _callSuper(this, WaterMarkPlugin, [container]);\n _this.configure();\n return _this;\n }\n _inherits(WaterMarkPlugin, _UIContainerPlugin);\n return _createClass(WaterMarkPlugin, [{\n key: \"name\",\n get: function get() {\n return 'watermark';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.12.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(watermarkHTML);\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.container, Events.CONTAINER_PLAY, this.onPlay);\n this.listenTo(this.container, Events.CONTAINER_STOP, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_OPTIONS_CHANGE, this.configure);\n }\n }, {\n key: \"configure\",\n value: function configure() {\n this.position = this.options.position || 'bottom-right';\n if (this.options.watermark) {\n this.imageUrl = this.options.watermark;\n this.imageLink = this.options.watermarkLink;\n this.render();\n } else {\n this.$el.remove();\n }\n }\n }, {\n key: \"onPlay\",\n value: function onPlay() {\n if (!this.hidden) this.$el.show();\n }\n }, {\n key: \"onStop\",\n value: function onStop() {\n this.$el.hide();\n }\n }, {\n key: \"render\",\n value: function render() {\n this.$el.hide();\n var style = Styler.getStyleFor(css_248z, {\n baseUrl: this.options.baseUrl\n });\n var templateOptions = {\n position: this.position,\n imageUrl: this.imageUrl,\n imageLink: this.imageLink\n };\n this.$el.html(this.template(templateOptions));\n this.$el.append(style[0]);\n this.container.$el.append(this.$el);\n return this;\n }\n }]);\n}(UIContainerPlugin);\n\n// Copyright 2014 Globo.com Player authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nvar version = \"0.8.7\";\nvar Plugins = {\n ClickToPause: ClickToPausePlugin,\n ClosedCaptions: ClosedCaptions,\n DVRControls: DVRControls,\n EndVideo: EndVideo,\n ErrorScreen: ErrorScreen,\n Favicon: Favicon,\n GoogleAnalytics: GoogleAnalytics,\n MediaControl: MediaControl,\n Poster: PosterPlugin,\n SeekTime: SeekTime,\n SpinnerThreeBounce: SpinnerThreeBouncePlugin,\n Stats: StatsPlugin,\n WaterMark: WaterMarkPlugin\n};\n\nexport { ClickToPausePlugin as ClickToPause, ClosedCaptions, DVRControls, EndVideo, ErrorScreen, Favicon, GoogleAnalytics, MediaControl, Plugins, PosterPlugin as Poster, SeekTime, SpinnerThreeBouncePlugin as SpinnerThreeBounce, StatsPlugin as Stats, index as Vendor, WaterMarkPlugin as WaterMark, version };\n","// Copyright 2014 Globo.com Player authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport ClapprCore, { Loader } from '@clappr/core'\nimport { Plugins, Vendor } from '@clappr/plugins'\n\nconst version = CLAPPR_VERSION\n\nfor (let plugin of Object.values(Plugins))\n Loader.registerPlugin(plugin)\n\n// TODO: remove on 0.5.x (backward-compatibility only)\nconst {\n ClickToPause,\n ClosedCaptions,\n DVRControls,\n EndVideo,\n ErrorScreen,\n Favicon,\n GoogleAnalytics,\n MediaControl,\n Poster,\n SeekTime,\n SpinnerThreeBounce,\n Stats,\n WaterMark,\n} = Plugins\n\nexport default {\n ...ClapprCore,\n ClickToPause,\n ClosedCaptions,\n DVRControls,\n EndVideo,\n ErrorScreen,\n Favicon,\n GoogleAnalytics,\n MediaControl,\n Poster,\n SeekTime,\n SpinnerThreeBounce,\n Stats,\n WaterMark,\n Vendor,\n Plugins,\n version,\n}\n"],"names":["_arrayLikeToArray","r","a","length","e","n","Array","_arrayWithHoles","isArray","_arrayWithoutHoles","_assertThisInitialized","ReferenceError","_callSuper","t","o","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","_classCallCheck","TypeError","_defineProperties","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","_createForOfIteratorHelper","Symbol","iterator","_unsupportedIterableToArray","F","s","done","value","f","u","call","next","return","_defineProperty","_get","get","bind","p","_superPropBase","getOwnPropertyDescriptor","arguments","setPrototypeOf","getPrototypeOf","__proto__","_inherits","create","_setPrototypeOf","Boolean","valueOf","_iterableToArray","from","_iterableToArrayLimit","l","i","push","_nonIterableRest","_nonIterableSpread","ownKeys","keys","getOwnPropertySymbols","filter","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","_slicedToArray","hasOwnProperty","_superPropGet","_toConsumableArray","_toPrimitive","toPrimitive","String","_typeof","toString","slice","name","test","getDefaultExportFromCjs","x","__esModule","Zepto","undefined$1","$","classList","emptyArray","concat","document","window","elementDisplay","classCache","cssNumber","fragmentRE","singleTagRE","tagExpanderRE","rootNodeRE","capitalRE","methodAttributes","adjacencyOperators","table","createElement","tableRow","containers","readyRE","simpleSelectorRE","class2type","zepto","camelize","uniq","tempParent","propMap","object","matches","element","selector","nodeType","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","match","parent","parentNode","temp","appendChild","qsa","indexOf","removeChild","type","obj","isFunction","isWindow","isDocument","DOCUMENT_NODE","isObject","isPlainObject","likeArray","compact","array","item","flatten","fn","str","replace","chr","toUpperCase","dasherize","toLowerCase","idx","classRE","RegExp","maybeAddPx","defaultDisplay","nodeName","display","body","getComputedStyle","getPropertyValue","children","map","childNodes","node","Z","dom","len","fragment","html","properties","nodes","container","$1","innerHTML","each","attr","isZ","init","context","trim","find","ready","extend","target","source","deep","args","shift","arg","found","maybeID","maybeClass","nameOnly","isSimple","getElementById","getElementsByClassName","getElementsByTagName","querySelectorAll","filtered","contains","documentElement","funcArg","payload","setAttribute","removeAttribute","className","klass","svg","baseVal","deserializeValue","parseJSON","isEmptyObject","isNumeric","val","num","Number","isNaN","isFinite","inArray","elem","camelCase","uuid","support","expr","noop","elements","callback","values","grep","JSON","parse","split","reduce","sort","splice","toArray","el","readyState","addEventListener","size","remove","every","not","add","is","excludes","has","eq","first","last","result","$this","some","closest","collection","_","parents","ancestors","pluck","contents","contentDocument","siblings","child","empty","property","show","style","replaceWith","newContent","before","wrap","structure","func","clone","index","wrapAll","cloneNode","append","wrapInner","self","unwrap","hide","css","toggle","setting","prev","originHtml","text","newText","textContent","join","getAttribute","removeAttr","attribute","prop","removeProp","data","attrName","multiple","selected","offset","coordinates","coords","parentOffset","offsetParent","props","top","left","getBoundingClientRect","pageXOffset","pageYOffset","width","Math","round","height","computedStyle","removeProperty","cssText","hasClass","addClass","cls","newName","removeClass","toggleClass","when","names","scrollTop","hasScrollTop","scrollTo","scrollX","scrollLeft","hasScrollLeft","scrollY","position","parseFloat","detach","dimension","dimensionProperty","m","traverseNode","fun","operator","operatorIndex","inside","argType","arr","copyByClone","nextSibling","firstChild","parentInDocument","insertBefore","src","ownerDocument","defaultView","undefined","jsonpID","Date","rscript","scriptTypeRE","xmlTypeRE","jsonType","htmlType","blankRE","originAnchor","href","location","triggerAndReturn","eventName","event","Event","trigger","isDefaultPrevented","triggerGlobal","settings","global","active","ajaxStart","ajaxStop","ajaxBeforeSend","xhr","beforeSend","ajaxSuccess","deferred","status","success","resolveWith","ajaxComplete","ajaxError","error","rejectWith","complete","ajaxDataFilter","dataFilter","ajaxJSONP","options","ajax","_callbackName","jsonpCallback","callbackName","script","originalCallback","responseData","abort","errorType","triggerHandler","abortTimeout","promise","on","clearTimeout","off","url","head","timeout","setTimeout","ajaxSettings","XMLHttpRequest","accepts","json","xml","crossDomain","processData","cache","mimeToDataType","mime","appendQuery","query","serializeData","param","traditional","dataType","Deferred","urlAnchor","hashIndex","protocol","host","hasPlaceholder","now","jsonp","headers","setHeader","nativeSetHeader","setRequestHeader","mimeType","overrideMimeType","contentType","onreadystatechange","getResponseHeader","responseType","response","responseText","eval","responseXML","statusText","async","open","username","password","xhrFields","send","parseArguments","post","getJSON","load","parts","escape","encodeURIComponent","serialize","params","scope","hash","Callbacks","memory","fired","firing","firingStart","firingLength","firingIndex","list","stack","once","fire","stopOnFalse","disable","start","unique","disabled","lock","locked","fireWith","tuples","state","always","fail","then","fns","defer","tuple","returned","resolve","reject","progress","notify","stateString","sub","resolveValues","remain","progressValues","progressContexts","resolveContexts","updateFn","ctx","notifyWith","_zid","isString","handlers","specialEvents","focusinSupported","focus","blur","hover","mouseenter","mouseleave","click","mousedown","mouseup","mousemove","zid","findHandlers","ns","matcher","matcherFor","handler","sel","eventCapture","captureSetting","del","realEvent","events","delegator","capture","id","set","related","relatedTarget","proxy","compatible","isImmediatePropagationStopped","_args","preventDefault","stopPropagation","removeEventListener","proxyFn","unshift","unbind","one","returnTrue","returnFalse","ignoreProperties","eventMethods","stopImmediatePropagation","predicate","sourceMethod","timeStamp","defaultPrevented","returnValue","getPreventDefault","createProxy","originalEvent","delegate","undelegate","live","die","autoRemove","evt","currentTarget","liveFired","dispatchEvent","createEvent","bubbles","initEvent","nativeGetComputedStyle","pseudoElement","oldQsa","oldMatches","visible","filters","hidden","checked","filterRe","childRe","classTag","process","exec","taggedParent","console","thisArg","k","kValue","entries","ownProps","resArray","assign","varArgs","to","nextSource","nextKey","findIndex","mp4","Media","BROWSER_DATA","group","identifier","versionIdentifier","OS_DATA","version","versionSeparator","Browser","hasLocalstorage","localStorage","setItem","removeItem","hasFlash","fo","ActiveXObject","navigator","mimeTypes","enabledPlugin","getBrowserInfo","ua","extra","parseInt","appName","appVersion","getBrowserData","browserObject","userAgent","_iterator","_step","browser","browserRegExp","browserRegExpResult","versionRegExp","versionRegExpResult","setBrowserVersion","err","splitVersion","fullVersion","majorVersion","minorVersion","getOsData","osObject","_iterator2","_step2","os","osRegExp","osRegExpResult","setOsVersion","separator","finalSeparator","substr","getViewportSize","viewportObject","setViewportOrientation","orientation","viewport","getDevice","platformRegExp","device","browserInfo","isEdge","isChrome","isSafari","isFirefox","isLegacyIE","isIE","isIE11","isChromecast","isMobile","isiOS","isAndroid","isWindowsPhone","isWin8App","isWiiU","isPS4","isWindows","isMacOS","isLinux","idsCounter","videoStack","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","propDescriptor","Surrogate","_parent","_this","_len","_key","initialize","formatTime","time","paddedHours","seconds","minutes","hours","days","out","Fullscreen","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen","querySelector","webkitEnterFullScreen","cancelFullscreen","exitFullscreen","webkitCancelFullScreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","Config","_defaultConfig","volume","_defaultValueFor","_createKeyspace","domain","restore","persist","QueryString","search","substring","_urlParams","_hashParams","paramsString","pl","decode","decodeURIComponent","seekStringToSeconds","paramName","seekString","hashParams","factor","suffix","uniqueId","prefix","isNumber","currentScriptUrl","scripts","getBrowserLanguage","language","performance","removeArrayItem","listContainsIgnoreCase","items","itemEach","canAutoPlayMedia","cb","inline","muted","play","timeoutId","setResult","Error","DomRecycler","configure","recycleVideo","garbage","tagName","attributes","DoubleEventHandler","delay","lastTime","handle","prevented","currentTime","getTime","diffTime","Utils","BOLD","INFO","DEBUG","WARN","ERROR","LEVEL_DEBUG","LEVEL_INFO","LEVEL_WARN","LEVEL_ERROR","LEVEL_DISABLED","COLORS","DESCRIPTIONS","Log","level","offLevel","EXCLUDE_LIST","previousLevel","_level","newLevel","debug","log","info","warn","onOff","message","color","klassDescription","getInstance","_instance","setLevel","eventSplitter","eventsApi","action","rest","triggerEvents","ev","a1","a2","a3","run","exception","Events","_events","_once","_callback","retain","j","allEvents","all","stopListening","listeningTo","_listeningTo","_listenId","register","Custom","listAvailableCustomEvents","listenTo","listenToOnce","PLAYER_READY","PLAYER_RESIZE","PLAYER_FULLSCREEN","PLAYER_PLAY","PLAYER_PAUSE","PLAYER_STOP","PLAYER_ENDED","PLAYER_SEEK","PLAYER_ERROR","PLAYER_TIMEUPDATE","PLAYER_VOLUMEUPDATE","PLAYER_SUBTITLE_AVAILABLE","PLAYBACK_PIP_ENTER","PLAYBACK_PIP_EXIT","PLAYBACK_PROGRESS","PLAYBACK_TIMEUPDATE","PLAYBACK_READY","PLAYBACK_BUFFERING","PLAYBACK_BUFFERFULL","PLAYBACK_SETTINGSUPDATE","PLAYBACK_LOADEDMETADATA","PLAYBACK_HIGHDEFINITIONUPDATE","PLAYBACK_BITRATE","PLAYBACK_LEVELS_AVAILABLE","PLAYBACK_LEVEL_SWITCH_START","PLAYBACK_LEVEL_SWITCH_END","PLAYBACK_PLAYBACKSTATE","PLAYBACK_DVR","PLAYBACK_MEDIACONTROL_DISABLE","PLAYBACK_MEDIACONTROL_ENABLE","PLAYBACK_ENDED","PLAYBACK_PLAY_INTENT","PLAYBACK_PLAY","PLAYBACK_PAUSE","PLAYBACK_SEEK","PLAYBACK_SEEKED","PLAYBACK_STOP","PLAYBACK_ERROR","PLAYBACK_STATS_ADD","PLAYBACK_FRAGMENT_LOADED","PLAYBACK_FRAGMENT_BUFFERED","PLAYBACK_LEVEL_SWITCH","PLAYBACK_SUBTITLE_AVAILABLE","PLAYBACK_SUBTITLE_CHANGED","PLAYBACK_AUDIO_AVAILABLE","PLAYBACK_AUDIO_CHANGED","PLAYBACK_RESIZE","CORE_CONTAINERS_CREATED","CORE_ACTIVE_CONTAINER_CHANGED","CORE_OPTIONS_WILL_CHANGE","CORE_OPTIONS_CHANGE","CORE_READY","CORE_FULLSCREEN","CORE_RESIZE","CORE_SCREEN_ORIENTATION_CHANGED","CORE_MOUSE_MOVE","CORE_MOUSE_LEAVE","CONTAINER_PLAYBACKSTATE","CONTAINER_PLAYBACKDVRSTATECHANGED","CONTAINER_BITRATE","CONTAINER_STATS_REPORT","CONTAINER_DESTROYED","CONTAINER_READY","CONTAINER_RESIZE","CONTAINER_ERROR","CONTAINER_LOADEDMETADATA","CONTAINER_SUBTITLE_AVAILABLE","CONTAINER_SUBTITLE_CHANGED","CONTAINER_AUDIO_AVAILABLE","CONTAINER_AUDIO_CHANGED","CONTAINER_TIMEUPDATE","CONTAINER_PROGRESS","CONTAINER_PLAY","CONTAINER_STOP","CONTAINER_PAUSE","CONTAINER_ENDED","CONTAINER_CLICK","CONTAINER_DBLCLICK","CONTAINER_CONTEXTMENU","CONTAINER_MOUSE_ENTER","CONTAINER_MOUSE_LEAVE","CONTAINER_MOUSE_UP","CONTAINER_MOUSE_DOWN","CONTAINER_PIP_ENTER","CONTAINER_PIP_EXIT","CONTAINER_SEEK","CONTAINER_SEEKED","CONTAINER_VOLUME","CONTAINER_FULLSCREEN","CONTAINER_STATE_BUFFERING","CONTAINER_STATE_BUFFERFULL","CONTAINER_SETTINGSUPDATE","CONTAINER_HIGHDEFINITIONUPDATE","CONTAINER_MEDIACONTROL_SHOW","CONTAINER_MEDIACONTROL_HIDE","CONTAINER_MEDIACONTROL_DISABLE","CONTAINER_MEDIACONTROL_ENABLE","CONTAINER_STATS_ADD","CONTAINER_OPTIONS_WILL_CHANGE","CONTAINER_OPTIONS_CHANGE","MEDIACONTROL_RENDERED","MEDIACONTROL_FULLSCREEN","MEDIACONTROL_SHOW","MEDIACONTROL_HIDE","MEDIACONTROL_MOUSEMOVE_SEEKBAR","MEDIACONTROL_MOUSELEAVE_SEEKBAR","MEDIACONTROL_PLAYING","MEDIACONTROL_NOTPLAYING","MEDIACONTROL_CONTAINERCHANGED","MEDIACONTROL_OPTIONS_CHANGE","BaseObject","_Events","_options","evaluate","interpolate","noMatch","escapes","escaper","htmlEntities","entityRe","escapeExpr","string","counter","tmpl","render","variable","Function","template","Styler","getStyleFor","baseUrl","delegateEventSplitter","UIObject","_BaseObject","cid","_ensureElement","delegateEvents","$el","destroy","undelegateEvents","setElement","method","attrs","onResize","resize","newWidth","newHeight","PlayerError","core","createError","FATAL","ErrorMixin","useCodePrefix","origin","i18n","prefixedCode","code","defaultError","description","Levels","raw","errorData","UI","defaultUI","title","playerError","UICorePlugin","_UIObject","enabled","bindEvents","getExternalInterface","enable","css_248z$5","Container","_i18n","playback","isReady","mediaControlDisabled","plugins","dblTapHandler","clickTimer","clickDelay","actionsMetadata","ended","buffering","hasClosedCaptionsTracks","closedCaptionsTracks","closedCaptionsTrackId","trackId","audioTracks","currentAudioTrack","isPiPActive","onProgress","timeUpdated","onBuffering","bufferfull","settingsUpdate","loadedMetadata","highDefinitionUpdate","updateBitrate","playbackStateChanged","playbackDvrStateChanged","disableMediaControl","enableMediaControl","onSeek","onSeeked","onEnded","playing","paused","stopped","subtitleAvailable","subtitleChanged","audioAvailable","audioChanged","onEnterPiP","onExitPiP","track","tracks","dvrInUse","newBitrate","statsReport","metrics","getPlaybackType","isDvrEnabled","dvrEnabled","isDvrInUse","disableResizeObserver","plugin","setStyle","isPlaying","getStartTimeOffset","getCurrentTime","getDuration","_error","metadata","timeProgress","current","playEvent","pauseEvent","stopEvent","customData","stop","switchAudioTrack","pause","clicked","_this2","chromeless","allowUserInteraction","cancelClicked","dblClicked","dblTap","_this3","onContextMenu","seek","seekPercentage","percentage","duration","setVolume","fullscreen","addPlugin","hasPlugin","getPlugin","mouseEnter","mouseLeave","mouseUp","mouseDown","enterPiP","exitPiP","isHD","isHighDefinitionInUse","updateStyle","enableResizeObserver","_this4","resizeObserverInterval","setInterval","checkResize","clearInterval","newSize","clientWidth","clientHeight","_ref","currentSize","isResize","oldOptions","Playback","_consented","consent","NO_OP","mute","unmute","attemptAutoPlay","canAutoPlay","canPlay","VOD","AOD","LIVE","ContainerFactory","loader","createContainers","sources","createContainer","findPlaybackPlugin","playbackPlugins","resolvedSource","playbackPlugin","addContainerPlugins","containerPlugins","Plugin","css_248z$4","css_248z$3","Core","configureDomRecycler","firstResize","styleRendered","_boundFullscreenHandler","handleFullscreenChange","_boundHandleWindowResize","handleWindowResize","tabindex","_mediaControl","dummyMediaControl","_dummyMediaControl","_activeContainer","activeContainer","activePlayback","containerFactory","prepareContainers","setupContainers","resolveOnContainersReady","updateSize","isFullscreen","setFullscreen","setPlayerSize","previousSize","triggerResize","checkSizeCallback","_this3$el$clientWidth","_this3$el$clientHeigh","thereWasChange","oldHeight","oldWidth","computedSize","_this$el$clientWidth","_this$el$clientHeight","innerWidth","innerHeight","_screenOrientation","removeContainer","c","setupContainer","renderContainers","appendToParent","_this5","getCurrentContainer","getCurrentPlayback","activePlaybackEl","webkitDisplayingFullscreen","toggleFullscreen","_this6","fullscreenEl","_fullscreenEl","onMouseMove","onMouseLeave","_this7","hasCoreParent","appendTo","parentElement","appendStyles","includeResetStyle","resetStyle","CoreFactory","player","addCorePlugins","corePlugins","setupExternalInterface","externalFunctions","VERSION_REGEX","Version","major","minor","patch","compare","other","diff","inc","satisfies","min","max","_matches","filterPluginsByType","_ref2","_ref3","_ref4","Loader","registry","playbacks","currentVersion","externalPlugins","playerId","_Loader$registeredPlu","registeredPlugins","validateExternalPluginsType","addExternalPlugins","groupPluginsByType","memo","removeDups","useReversePrecedence","groupUp","pluginsMap","reduceRight","loadExternalPluginsFirst","loadExternalPlaybacksFirst","checkVersionSupport","pluginTypes","errorMessage","entry","_entry$prototype","supportedVersion","maxVersion","minVersion","registerPlugin","pluginEntry","pluginRegistry","previousEntry","registerPlayback","playbackEntry","previousEntryIdx","unregisterPlugin","unregisterPlayback","clearPlugins","clearPlaybacks","Player","playbackDefaultOptions","defaultOptions","persistConfig","_normalizeSources","disableKeyboardShortcuts","_registerOptionEventListeners","_coreFactory","_getParentElement","attachTo","_loader","_ready","onReady","onPlay","onPause","onStop","onError","onTimeUpdate","onVolumeUpdate","onSubtitleAvailable","parentId","_addEventListeners","_onReady","_containerChanged","_onFullscreenChange","_onResize","_addContainerEventListeners","_onPlay","_onPause","_onStop","_onEnded","_onSeek","_onError","_onTimeUpdate","_onVolumeUpdate","_onSubtitleAvailable","newEvents","hasNewEvents","userEvent","eventType","eventsMapping","eventFunction","eventMetadata","autoPlay","ContainerPlugin","CorePlugin","UIContainerPlugin","tracksHTML","css_248z$2","MIMETYPES","codec","AUDIO_MIMETYPES","KNOWN_AUDIO_MIMETYPES","acc","UNKNOWN_ERROR","HTML5Video","_Playback","_destroyed","_loadStarted","_isBuffering","_playheadMoving","_playheadMovingTimer","_stopped","_ccTrackId","_playheadMovingCheckEnabled","disablePlayheadMovingCheck","_setupSrc","_playheadMovingCheckInterval","playheadMovingCheckInterval","disableContextMenu","disableVideoTagContextMenu","_minDvrSize","isValidMinimumDVRSizeConfig","minimumDVRSizeConfig","playbackConfig","preload","posterUrl","poster","defaultMuted","loop","crossOrigin","playInline","controls","useVideoTagDefaultControls","playsinline","crossorigin","right","externalTracks","_setupExternalTracks","isAudioOnly","resourceUrl","_mimeTypesForUrl","audioOnly","pictureInPictureElement","isLive","minimumDvrSize","_src","disableCanAutoPlay","opts","autoPlayTimeout","_externalTracks","kind","label","lang","srcUrl","_ccIsSetup","_onLoadedMetadata","_handleBufferingEvents","_updateSettings","autoSeekFromUrl","_checkInitialSeek","_onDurationChange","_onProgress","seekEnabled","isSeekEnabled","onDemandType","Infinity","_eventHandler","eventHandler","_stopPlayheadMovingChecks","isMuted","_isReadyState","_startPlayheadMovingChecks","_playheadMovingTimeOnCheck","_determineIfPlayheadMoving","_onWaiting","_onLoadedData","_onCanPlay","_onPlaying","_checkForClosedCaptions","_updateDvr","_onSeeking","_onSeeked","_onEnterPiP","_onExitPiP","requestPictureInPicture","exitPictureInPicture","isLoading","isMissingMediaDataToPlay","HAVE_FUTURE_DATA","playheadShouldBeMoving","isUnknownError","formattedError","handleTextTrackChange","textTracks","seekable","seekTime","end","_scheduleUpdateSettingsCheck","_updateSettingsCheckInFlight","total","buffered","bufferedPos","_typeFor","isHTML5Video","_handleTextTrackChange","mode","showingTrack","mimeTypesByExtension","extension","_canPlay","media","mediaType","canPlayType","HTML5Audio","_HTML5Video","updateSettings","mimetypes","css_248z$1","HTMLImg","_onLoad","resource","noOpHTML","css_248z","NoOp","_noiseFrameNum","playbackNotSupported","playbackNotSupportedMessage","showForNoOp","_animate","_noise","idata","createImageData","canvas","buffer32","Uint32Array","buffer","random","_i","pow","putImageData","_loop","_stop","_animationHandle","getContext","Strings","_CorePlugin","_initializeMessages","_language","fallbackLang","_messages","defaultMessages","strings","SourcesPlugin","onContainersCreated","firstValidSource","main","ClickToPausePlugin","_ContainerPlugin","clickToPauseConfig","onClickPayload","config","pointerEnabled","ccIcon","ccHTML","css_248z$7","ClosedCaptions","_UICorePlugin","closedCaptionsConfig","_title","_ariaLabel","ariaLabel","_labelCb","labelCallback","containerChanged","mediaControl","hideContextMenu","bindContainerEvents","onSubtitleChanged","onContainerStop","ccAvailable","renderCcButton","setCurrentContextMenuElement","onTrackSelect","dataset","ccSelect","hasCC","toggleContextMenu","contextMenuElement","_trackId","$ccButton","disabledLabel","$fullscreen","insertAfter","prepend","dvrHTML","css_248z$6","DVRControls","bindCoreEvents","dvrChanged","shouldRender","useDvrControls","backToLive","EndVideo","exitOnEnd","exitFullscreenOnEnd","reloadIcon","templateHtml","ErrorScreen","disableErrorScreen","onContainerChanged","bindReload","reloadButton","reload","unbindReload","icon","playIcon","pauseIcon","oldIcon","Favicon","_container","changeFavicon","setPlayIcon","setPauseIcon","resetIcon","createIcon","fillStyle","d","path","Path2D","fill","toDataURL","changeIcon","GoogleAnalytics","gaAccount","account","trackerName","gaTrackerName","domainName","gaDomainName","currentHDState","embedScript","_gat","onload","addEventListeners","onBufferFull","onPlaybackChanged","onVolumeChanged","CONTAINER_FULL_SCREEN","onFullscreen","onHD","onDVR","_gaq","playbackState","res","Kibo","KEY_NAMES_BY_CODE","KEY_CODES_BY_NAME","MODIFIERS","registerEvent","attachEvent","unregisterEvent","detachEvent","stringContains","neatString","capitalize","what","arrayIncludes","haystack","needle","extractModifiers","keyCombination","modifiers","extractKey","modifiersAndKey","keyName","keyCode","that","lastKeyCode","lastModifiers","keysDown","any","keysUp","downHandler","upHandler","unloadEvent","onbeforeunload","unloader","upOrDown","registeredKeys","lastModifiersAndKey","registerKeys","newKeys","unregisterKeys","down","up","lastKey","modifier","mediaControlHTML","stopIcon","volumeIcon","volumeMuteIcon","fullscreenIcon","exitFullscreenIcon","hdIcon","formatTime$1","MediaControl","currentPositionValue","currentDurationValue","keepVisible","fullScreenOnVideoTagSupported","setInitialVolume","kibo","focusElement","bindKeyEvents","userDisabled","stopDragHandler","stopDrag","updateDragHandler","updateDrag","playbackIsNOOP","intendedVolume","getVolume","onActiveContainerChanged","hideMediaControlDelay","playerResize","changeTogglePlay","updateProgressBar","onLoadedMetadataOnVideoTag","unbindKeyEvents","initialVolume","updateVolumeUI","video","webkitSupportsFullscreen","rendered","$volumeBarContainer","containerWidth","barWidth","$volumeBarBackground","pos","$volumeBarFill","$volumeBarScrubber","ceil","$volumeIcon","applyButtonStyle","$playPauseToggle","$playStopToggle","mousemoveOnSeekBar","offsetX","pageX","$seekBarContainer","$seekBarHover","mouseleaveOnSeekBar","onVolumeClick","getVolumeFromUIEvent","mousemoveOnVolumeBar","draggingVolumeBar","$fullscreenToggle","hideVolumeBar","togglePlayPause","togglePlayStop","startSeekDrag","draggingSeekBar","$seekBarLoaded","$seekBarPosition","$seekBarScrubber","startVolumeDrag","setSeekPercentage","offsetY","volumeFromUI","toggleMute","isInitialVolume","setWhenContainerReady","resetUserKeepVisible","showVolumeBar","hideVolumeId","loadedStart","loadedEnd","renderSeekBar","currentSeekBarPercentage","newPosition","newDuration","displayedPosition","$position","displayedDuration","$duration","setKeepVisible","resetKeepVisible","setUserKeepVisible","userKeepVisible","isVisible","mousePointerMoved","clientX","lastMouseX","clientY","lastMouseY","hideId","showing","updateCursorStyle","hideMediaControl","hasKeepVisibleRequested","hasDraggingAction","newSettings","getSettings","settingsChanged","stringify","$hdIndicator","createCachedElements","$layer","$volumeContainer","resetIndicators","initializeIcons","displayedSeekBarPercentage","seekRelative","delta","bindKeyAndShow","_this8","_this9","parseColors","mediacontrol","buttonsColor","buttons","seekbarColor","seekbar","_this10","previousSeekPercentage","posterHTML","PosterPlugin","_UIContainerPlugin","hasStartedPlaying","playRequested","update","showOnVideoEnd","hasFatalError","showPlayButton","updatePlayButton","hidePlayButton","$playButton","shouldHideOnPlay","updatePoster","showPoster","hidePoster","isRegularPoster","custom","removeVideoElementPoster","$playWrapper","seekTimeHTML","SeekTime","hoveringOverSeekBar","hoverPosition","firstFragDateTime","actualLiveTime","actualLiveServerTime","actualLiveServerTimeDiff","mediaControlContainer","isLiveStreamWithDvr","showTime","hideTime","updateDuration","calculateHoverPosition","getSeekTime","secondsSinceMidnight","useActualLiveTime","setHours","shouldBeVisible","currentSeekTime","displayedSeekTime","$seekTimeEl","durationShown","$durationEl","currentDuration","elWidth","elLeftPos","spinnerHTML","SpinnerThreeBouncePlugin","showTimeout","StatsPlugin","setInitialAttrs","reportInterval","onStatsAdd","firstPlay","startupTime","rebufferingTime","watchingTime","rebuffers","externalMetrics","watchingTimeInit","intervalId","report","startupTimeInit","rebufferingTimeInit","getRebufferingTime","getWatchingTime","totalTime","isRebuffering","metric","getStats","watermarkHTML","WaterMarkPlugin","watermark","imageUrl","imageLink","watermarkLink","templateOptions","Plugins","ClickToPause","Poster","SpinnerThreeBounce","Stats","WaterMark","_Object$values","_objectSpread","ClapprCore","Vendor"],"mappings":"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E,IAAI,CAAC,CAAA;EAC9B,EAAA,OAAO,IAAI,CAAA;EACb,CAAC,CAAA;;EAED;EACA;EACA;EACA;EACA;EACA;EACA4lB,MAAM,CAACiB,YAAY,GAAG,OAAO,CAAA;EAC7B;EACA;EACA;EACA;EACA;EACA;EACAjB,MAAM,CAACkB,aAAa,GAAG,QAAQ,CAAA;EAC/B;EACA;EACA;EACA;EACA;EACA;EACAlB,MAAM,CAACmB,iBAAiB,GAAG,YAAY,CAAA;EACvC;EACA;EACA;EACA;EACA;EACAnB,MAAM,CAACoB,WAAW,GAAG,MAAM,CAAA;EAC3B;EACA;EACA;EACA;EACA;EACApB,MAAM,CAACqB,YAAY,GAAG,OAAO,CAAA;EAC7B;EACA;EACA;EACA;EACA;EACArB,MAAM,CAACsB,WAAW,GAAG,MAAM,CAAA;EAC3B;EACA;EACA;EACA;EACA;EACAtB,MAAM,CAACuB,YAAY,GAAG,OAAO,CAAA;EAC7B;EACA;EACA;EACA;EACA;EACA;EACAvB,MAAM,CAACwB,WAAW,GAAG,MAAM,CAAA;EAC3B;EACA;EACA;EACA;EACA;EACA;EACAxB,MAAM,CAACyB,YAAY,GAAG,aAAa,CAAA;EACnC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAzB,MAAM,CAACrC,KAAK,GAAG,OAAO,CAAA;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAqC,MAAM,CAAC0B,iBAAiB,GAAG,YAAY,CAAA;EACvC;EACA;EACA;EACA;EACA;EACA;EACA1B,MAAM,CAAC2B,mBAAmB,GAAG,cAAc,CAAA;;EAE3C;EACA;EACA;EACA;EACA;EACA3B,MAAM,CAAC4B,yBAAyB,GAAG,mBAAmB,CAAA;;EAEtD;EACA;EACA;EACA;EACA;EACA5B,MAAM,CAAC6B,kBAAkB,GAAG,mCAAmC,CAAA;EAC/D;EACA;EACA;EACA;EACA7B,MAAM,CAAC8B,iBAAiB,GAAG,kCAAkC,CAAA;EAC7D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA9B,MAAM,CAAC+B,iBAAiB,GAAG,mBAAmB,CAAA;EAC9C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA/B,MAAM,CAACgC,mBAAmB,GAAG,qBAAqB,CAAA;EAClD;EACA;EACA;EACA;EACA;EACAhC,MAAM,CAACiC,cAAc,GAAG,gBAAgB,CAAA;EACxC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAjC,MAAM,CAACkC,kBAAkB,GAAG,oBAAoB,CAAA;EAChD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAlC,MAAM,CAACmC,mBAAmB,GAAG,qBAAqB,CAAA;EAClD;EACA;EACA;EACA;EACA;EACAnC,MAAM,CAACoC,uBAAuB,GAAG,yBAAyB,CAAA;EAC1D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACApC,MAAM,CAACqC,uBAAuB,GAAG,yBAAyB,CAAA;EAC1D;EACA;EACA;EACA;EACA;EACA;EACA;EACArC,MAAM,CAACsC,6BAA6B,GAAG,+BAA+B,CAAA;EACtE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAtC,MAAM,CAACuC,gBAAgB,GAAG,kBAAkB,CAAA;EAC5C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAvC,MAAM,CAACwC,yBAAyB,GAAG,2BAA2B,CAAA;EAC9D;EACA;EACA;EACA;EACA;EACA;EACAxC,MAAM,CAACyC,2BAA2B,GAAG,8BAA8B,CAAA;EACnE;EACA;EACA;EACA;EACA;EACA;EACAzC,MAAM,CAAC0C,yBAAyB,GAAG,4BAA4B,CAAA;;EAE/D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA1C,MAAM,CAAC2C,sBAAsB,GAAG,wBAAwB,CAAA;EACxD;EACA;EACA;EACA;EACA;EACA;EACA3C,MAAM,CAAC4C,YAAY,GAAG,cAAc,CAAA;EACpC;EACA5C,MAAM,CAAC6C,6BAA6B,GAAG,+BAA+B,CAAA;EACtE;EACA7C,MAAM,CAAC8C,4BAA4B,GAAG,8BAA8B,CAAA;EACpE;EACA;EACA;EACA;EACA;EACA;EACA9C,MAAM,CAAC+C,cAAc,GAAG,gBAAgB,CAAA;EACxC;EACA;EACA;EACA;EACA;EACA/C,MAAM,CAACgD,oBAAoB,GAAG,sBAAsB,CAAA;EACpD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAhD,MAAM,CAACiD,aAAa,GAAG,eAAe,CAAA;EACtC;EACA;EACA;EACA;EACA;EACAjD,MAAM,CAACkD,cAAc,GAAG,gBAAgB,CAAA;EACxC;EACA;EACA;EACA;EACA;EACAlD,MAAM,CAACmD,aAAa,GAAG,eAAe,CAAA;EACtC;EACA;EACA;EACA;EACA;EACAnD,MAAM,CAACoD,eAAe,GAAG,iBAAiB,CAAA;EAC1C;EACA;EACA;EACA;EACA;EACApD,MAAM,CAACqD,aAAa,GAAG,eAAe,CAAA;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;EACArD,MAAM,CAACsD,cAAc,GAAG,gBAAgB,CAAA;EACxC;EACAtD,MAAM,CAACuD,kBAAkB,GAAG,oBAAoB,CAAA;EAChD;EACAvD,MAAM,CAACwD,wBAAwB,GAAG,0BAA0B,CAAA;EAC5D;EACA;EACA;EACA;EACA;EACA;EACA;EACAxD,MAAM,CAACyD,0BAA0B,GAAG,4BAA4B,CAAA;EAChE;EACAzD,MAAM,CAAC0D,qBAAqB,GAAG,uBAAuB,CAAA;EACtD;EACA;EACA;EACA;EACA;EACA1D,MAAM,CAAC2D,2BAA2B,GAAG,6BAA6B,CAAA;EAClE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA3D,MAAM,CAAC4D,yBAAyB,GAAG,2BAA2B,CAAA;;EAE9D;EACA;EACA;EACA;EACA;EACA5D,MAAM,CAAC6D,wBAAwB,GAAG,0BAA0B,CAAA;;EAE5D;EACA;EACA;EACA;EACA;EACA7D,MAAM,CAAC8D,sBAAsB,GAAG,wBAAwB,CAAA;;EAExD;EACA;EACA;EACA;EACA;EACA9D,MAAM,CAAC+D,eAAe,GAAG,iBAAiB,CAAA;;EAE1C;EACA;EACA;EACA;EACA;EACA;EACA/D,MAAM,CAACgE,uBAAuB,GAAG,yBAAyB,CAAA;EAC1D;EACA;EACA;EACA;EACA;EACAhE,MAAM,CAACiE,6BAA6B,GAAG,+BAA+B,CAAA;;EAEtE;EACA;EACA;EACA;EACA;EACA;EACAjE,MAAM,CAACkE,wBAAwB,GAAG,0BAA0B,CAAA;;EAE5D;EACA;EACA;EACA;EACA;EACA;EACAlE,MAAM,CAACmE,mBAAmB,GAAG,qBAAqB,CAAA;EAClD;EACA;EACA;EACA;EACA;EACAnE,MAAM,CAACoE,UAAU,GAAG,YAAY,CAAA;EAChC;EACA;EACA;EACA;EACA;EACA;EACApE,MAAM,CAACqE,eAAe,GAAG,iBAAiB,CAAA;EAC1C;EACA;EACA;EACA;EACA;EACA;EACArE,MAAM,CAACsE,WAAW,GAAG,aAAa,CAAA;EAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAtE,MAAM,CAACuE,+BAA+B,GAAG,iCAAiC,CAAA;EAC1E;EACA;EACA;EACA;EACA;EACA;EACAvE,MAAM,CAACwE,eAAe,GAAG,gBAAgB,CAAA;EACzC;EACA;EACA;EACA;EACA;EACA;EACAxE,MAAM,CAACyE,gBAAgB,GAAG,iBAAiB,CAAA;;EAE3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAzE,MAAM,CAAC0E,uBAAuB,GAAG,yBAAyB,CAAA;EAC1D1E,MAAM,CAAC2E,iCAAiC,GAAG,eAAe,CAAA;EAC1D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA3E,MAAM,CAAC4E,iBAAiB,GAAG,mBAAmB,CAAA;EAC9C5E,MAAM,CAAC6E,sBAAsB,GAAG,wBAAwB,CAAA;EACxD7E,MAAM,CAAC8E,mBAAmB,GAAG,qBAAqB,CAAA;EAClD;EACA;EACA;EACA;EACA;EACA9E,MAAM,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S,GAAG,EAAE,CAAA;EACzB,OAAA;EACF,KAAC,CAAC,CAAC,CAAA;EACL,GAAC,EAAE,CAAA;EACL,CAAC,EAAG,CAAA;EAEJ,IAAIzQ,OAAO,GAAG5N,gBAAgB,EAAE,CAACpmB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;;EAExD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI6mC,MAAM,gBAAgB,UAAU1S,WAAW,EAAE;EAC/C;EACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEE;EACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;IAEE,SAAS0S,MAAMA,CAACp3B,OAAO,EAAE;EACvB,IAAA,IAAIgT,KAAK,CAAA;EACT/qB,IAAAA,iBAAe,CAAC,IAAI,EAAEmvC,MAAM,CAAC,CAAA;MAC7BpkB,KAAK,GAAGzrB,YAAU,CAAC,IAAI,EAAE6vC,MAAM,EAAE,CAACp3B,OAAO,CAAC,CAAC,CAAA;EAC3C,IAAA,IAAIq3B,sBAAsB,GAAG;EAC3Bvf,MAAAA,YAAY,EAAE,IAAA;OACf,CAAA;EACD,IAAA,IAAIwf,cAAc,GAAG;EACnBnC,MAAAA,QAAQ,EAAE3e,QAAQ,CAAC,EAAE,CAAC;EACtB+gB,MAAAA,aAAa,EAAE,IAAI;EACnB18B,MAAAA,KAAK,EAAE,GAAG;EACVG,MAAAA,MAAM,EAAE,GAAG;EACXupB,MAAAA,OAAO,EAAEA,OAAO;QAChBqH,oBAAoB,EAAE9d,OAAO,CAAC6D,QAAQ;EACtC0hB,MAAAA,iBAAiB,EAAE,IAAI;EACvBjM,MAAAA,QAAQ,EAAEiQ,sBAAAA;OACX,CAAA;EACDrkB,IAAAA,KAAK,CAACqQ,QAAQ,GAAG12B,CAAC,CAACiG,MAAM,CAAC,IAAI,EAAE0kC,cAAc,EAAEt3B,OAAO,CAAC,CAAA;MACxDgT,KAAK,CAAChT,OAAO,CAACgvB,OAAO,GAAGhc,KAAK,CAACwkB,iBAAiB,CAACx3B,OAAO,CAAC,CAAA;EACxD,IAAA,IAAI,CAACgT,KAAK,CAAChT,OAAO,CAAC2rB,UAAU,EAAE;EAC7B;EACA3Y,MAAAA,KAAK,CAAChT,OAAO,CAAC4rB,oBAAoB,GAAG,IAAI,CAAA;EAC3C,KAAA;EACA,IAAA,IAAI,CAAC5Y,KAAK,CAAChT,OAAO,CAAC4rB,oBAAoB,EAAE;EACvC;EACA5Y,MAAAA,KAAK,CAAChT,OAAO,CAACy3B,wBAAwB,GAAG,IAAI,CAAA;EAC/C,KAAA;MACAzkB,KAAK,CAAC0kB,6BAA6B,CAAC1kB,KAAK,CAAChT,OAAO,CAAC+I,MAAM,CAAC,CAAA;EACzDiK,IAAAA,KAAK,CAAC2kB,YAAY,GAAG,IAAIpE,WAAW,CAACvgB,KAAK,CAAC,CAAA;MAC3C,IAAImgB,aAAa,GAAGngB,KAAK,CAAC4kB,iBAAiB,CAAC5kB,KAAK,CAAChT,OAAO,CAAC,CAAA;EAC1DmzB,IAAAA,aAAa,IAAIngB,KAAK,CAAC6kB,QAAQ,CAAC1E,aAAa,CAAC,CAAA;EAC9C,IAAA,OAAOngB,KAAK,CAAA;EACd,GAAA;;EAEA;EACF;EACA;EACA;EACA;EACA;EACE3oB,EAAAA,WAAS,CAAC+sC,MAAM,EAAE1S,WAAW,CAAC,CAAA;EAC9B,EAAA,OAAO/7B,cAAY,CAACyuC,MAAM,EAAE,CAAC;EAC3B1uC,IAAAA,GAAG,EAAE,QAAQ;EACbkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,IAAI,CAAC,IAAI,CAACkuC,OAAO,EAAE,IAAI,CAACA,OAAO,GAAG,IAAIhD,MAAM,CAAC,IAAI,CAAC90B,OAAO,CAACunB,OAAO,IAAI,EAAE,EAAE,IAAI,CAACvnB,OAAO,CAACm1B,QAAQ,CAAC,CAAA;QAC/F,OAAO,IAAI,CAAC2C,OAAO,CAAA;EACrB,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACI3uB,IAAAA,GAAG,EAAE,SAASA,GAAGA,CAAC2lB,MAAM,EAAE;QACxB,IAAI,CAACgJ,OAAO,GAAGhJ,MAAM,CAAA;EACvB,KAAA;EACF,GAAC,EAAE;EACDpmC,IAAAA,GAAG,EAAE,OAAO;EACZkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAAC67B,IAAI,CAAC+K,eAAe,CAAC5I,KAAK,CAAA;EACxC,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDl/B,IAAAA,GAAG,EAAE,WAAW;EAChBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAAC67B,IAAI,CAAC+K,eAAe,CAAC3I,SAAS,CAAA;EAC5C,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDn/B,IAAAA,GAAG,EAAE,SAAS;EACdkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,CAAC,CAAC,IAAI,CAACmuC,MAAM,CAAA;EACtB,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDrvC,IAAAA,GAAG,EAAE,eAAe;EACpBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;UACLouC,OAAO,EAAE5c,MAAM,CAACiB,YAAY;UAC5B+I,QAAQ,EAAEhK,MAAM,CAACkB,aAAa;UAC9B2b,MAAM,EAAE7c,MAAM,CAACoB,WAAW;UAC1B0b,OAAO,EAAE9c,MAAM,CAACqB,YAAY;UAC5B0b,MAAM,EAAE/c,MAAM,CAACsB,WAAW;UAC1ByM,OAAO,EAAE/N,MAAM,CAACuB,YAAY;UAC5BsM,MAAM,EAAE7N,MAAM,CAACwB,WAAW;UAC1Bwb,OAAO,EAAEhd,MAAM,CAACyB,YAAY;UAC5Bwb,YAAY,EAAEjd,MAAM,CAAC0B,iBAAiB;UACtCwb,cAAc,EAAEld,MAAM,CAAC2B,mBAAmB;UAC1Cwb,mBAAmB,EAAEnd,MAAM,CAAC4B,yBAAAA;SAC7B,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDt0B,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAASwuC,iBAAiBA,CAAC/J,IAAI,EAAE;EACtC,MAAA,IAAI2K,QAAQ,GAAG3K,IAAI,CAAC2K,QAAQ;UAC1BvpC,MAAM,GAAG4+B,IAAI,CAAC5+B,MAAM,CAAA;QACtB,IAAIupC,QAAQ,EAAE,OAAOzrC,QAAQ,CAACsnB,aAAa,CAACmkB,QAAQ,CAAC,CAAA;EACrD,MAAA,OAAOvpC,MAAM,CAAA;EACf,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDvG,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAASyuC,QAAQA,CAACppC,OAAO,EAAE;EAChC,MAAA,IAAI,CAACuR,OAAO,CAACmzB,aAAa,GAAG1kC,OAAO,CAAA;QACpC,IAAI,CAACg3B,IAAI,GAAG,IAAI,CAACkS,YAAY,CAACrtC,MAAM,EAAE,CAAA;QACtC,IAAI,CAACmuC,kBAAkB,EAAE,CAAA;EACzB,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACD/vC,IAAAA,GAAG,EAAE,oBAAoB;EACzBU,IAAAA,KAAK,EAAE,SAASqvC,kBAAkBA,GAAG;EACnC,MAAA,IAAI,CAAC,IAAI,CAAChT,IAAI,CAAC4B,OAAO,EAAE,IAAI,CAACjL,YAAY,CAAC,IAAI,CAACqJ,IAAI,EAAErK,MAAM,CAACoE,UAAU,EAAE,IAAI,CAACkZ,QAAQ,CAAC,CAAC,KAAK,IAAI,CAACA,QAAQ,EAAE,CAAA;EAC3G,MAAA,IAAI,CAACvc,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACiE,6BAA6B,EAAE,IAAI,CAACsZ,iBAAiB,CAAC,CAAA;EACtF,MAAA,IAAI,CAACxc,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACqE,eAAe,EAAE,IAAI,CAACmZ,mBAAmB,CAAC,CAAA;EAC1E,MAAA,IAAI,CAACzc,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACsE,WAAW,EAAE,IAAI,CAACmZ,SAAS,CAAC,CAAA;EAC5D,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACDnwC,IAAAA,GAAG,EAAE,6BAA6B;EAClCU,IAAAA,KAAK,EAAE,SAAS0vC,2BAA2BA,GAAG;EAC5C,MAAA,IAAI7mC,SAAS,GAAG,IAAI,CAACwzB,IAAI,CAAC+K,eAAe,CAAA;EACzC,MAAA,IAAIv+B,SAAS,EAAE;EACb,QAAA,IAAI,CAACkqB,QAAQ,CAAClqB,SAAS,EAAEmpB,MAAM,CAACyF,cAAc,EAAE,IAAI,CAACkY,OAAO,CAAC,CAAA;EAC7D,QAAA,IAAI,CAAC5c,QAAQ,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC2F,eAAe,EAAE,IAAI,CAACiY,QAAQ,CAAC,CAAA;EAC/D,QAAA,IAAI,CAAC7c,QAAQ,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0F,cAAc,EAAE,IAAI,CAACmY,OAAO,CAAC,CAAA;EAC7D,QAAA,IAAI,CAAC9c,QAAQ,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC4F,eAAe,EAAE,IAAI,CAACkY,QAAQ,CAAC,CAAA;EAC/D,QAAA,IAAI,CAAC/c,QAAQ,CAAClqB,SAAS,EAAEmpB,MAAM,CAACsG,cAAc,EAAE,IAAI,CAACyX,OAAO,CAAC,CAAA;EAC7D,QAAA,IAAI,CAAChd,QAAQ,CAAClqB,SAAS,EAAEmpB,MAAM,CAACiF,eAAe,EAAE,IAAI,CAAC+Y,QAAQ,CAAC,CAAA;EAC/D,QAAA,IAAI,CAACjd,QAAQ,CAAClqB,SAAS,EAAEmpB,MAAM,CAACuF,oBAAoB,EAAE,IAAI,CAAC0Y,aAAa,CAAC,CAAA;EACzE,QAAA,IAAI,CAACld,QAAQ,CAAClqB,SAAS,EAAEmpB,MAAM,CAACwG,gBAAgB,EAAE,IAAI,CAAC0X,eAAe,CAAC,CAAA;EACvE,QAAA,IAAI,CAACnd,QAAQ,CAAClqB,SAAS,EAAEmpB,MAAM,CAACmF,4BAA4B,EAAE,IAAI,CAACgZ,oBAAoB,CAAC,CAAA;EAC1F,OAAA;EACA,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACD7wC,IAAAA,GAAG,EAAE,+BAA+B;EACpCU,IAAAA,KAAK,EAAE,SAASsuC,6BAA6BA,GAAG;QAC9C,IAAIhM,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI8N,SAAS,GAAGvvC,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACtF,IAAI8e,MAAM,GAAG9e,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACnF,IAAIwvC,YAAY,GAAGlxC,MAAM,CAAC4C,IAAI,CAACquC,SAAS,CAAC,CAAC1yC,MAAM,GAAG,CAAC,CAAA;EACpD2yC,MAAAA,YAAY,IAAIlxC,MAAM,CAAC4C,IAAI,CAAC4d,MAAM,CAAC,CAACxd,OAAO,CAAC,UAAUmuC,SAAS,EAAE;EAC/D,QAAA,IAAIC,SAAS,GAAGjO,MAAM,CAACkO,aAAa,CAACF,SAAS,CAAC,CAAA;UAC/CC,SAAS,IAAIjO,MAAM,CAAC3qB,GAAG,CAAC44B,SAAS,EAAE5wB,MAAM,CAAC2wB,SAAS,CAAC,CAAC,CAAA;EACvD,OAAC,CAAC,CAAA;QACFnxC,MAAM,CAAC4C,IAAI,CAACquC,SAAS,CAAC,CAACjuC,OAAO,CAAC,UAAUmuC,SAAS,EAAE;EAClD,QAAA,IAAIC,SAAS,GAAGjO,MAAM,CAACkO,aAAa,CAACF,SAAS,CAAC,CAAA;EAC/C,QAAA,IAAIC,SAAS,EAAE;EACb,UAAA,IAAIE,aAAa,GAAGL,SAAS,CAACE,SAAS,CAAC,CAAA;EACxCG,UAAAA,aAAa,GAAG,OAAOA,aAAa,KAAK,UAAU,IAAIA,aAAa,CAAA;YACpEA,aAAa,IAAInO,MAAM,CAAC7qB,EAAE,CAAC84B,SAAS,EAAEE,aAAa,CAAC,CAAA;EACtD,SAAA;EACF,OAAC,CAAC,CAAA;EACF,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACDnxC,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAASuvC,iBAAiBA,GAAG;QAClC,IAAI,CAAC/c,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC6c,kBAAkB,EAAE,CAAA;EAC3B,KAAA;EACF,GAAC,EAAE;EACD/vC,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAASsvC,QAAQA,GAAG;QACzB,IAAI,CAACX,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAACe,2BAA2B,EAAE,CAAA;EAClC,MAAA,IAAI,CAACt6B,OAAO,CAAC4c,MAAM,CAACiB,YAAY,CAAC,CAAA;EACnC,KAAA;EACF,GAAC,EAAE;EACD3zB,IAAAA,GAAG,EAAE,qBAAqB;EAC1BU,IAAAA,KAAK,EAAE,SAASwvC,mBAAmBA,CAACrM,UAAU,EAAE;QAC9C,IAAI,CAAC/tB,OAAO,CAAC4c,MAAM,CAACmB,iBAAiB,EAAEgQ,UAAU,CAAC,CAAA;EACpD,KAAA;EACF,GAAC,EAAE;EACD7jC,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAASkwC,eAAeA,CAACnkB,MAAM,EAAE;QACtC,IAAI,CAAC3W,OAAO,CAAC4c,MAAM,CAAC2B,mBAAmB,EAAE5H,MAAM,CAAC,CAAA;EAClD,KAAA;EACF,GAAC,EAAE;EACDzsB,IAAAA,GAAG,EAAE,sBAAsB;EAC3BU,IAAAA,KAAK,EAAE,SAASmwC,oBAAoBA,GAAG;EACrC,MAAA,IAAI,CAAC/6B,OAAO,CAAC4c,MAAM,CAAC4B,yBAAyB,CAAC,CAAA;EAChD,KAAA;EACF,GAAC,EAAE;EACDt0B,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASyvC,SAASA,CAACxiC,IAAI,EAAE;QAC9B,IAAI,CAACmI,OAAO,CAAC4c,MAAM,CAACkB,aAAa,EAAEjmB,IAAI,CAAC,CAAA;EAC1C,KAAA;EACF,GAAC,EAAE;EACD3N,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS2vC,OAAOA,CAAC1hC,CAAC,EAAE;QACzB,IAAIyiC,aAAa,GAAG7vC,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QAC1F,IAAI,CAACuU,OAAO,CAAC4c,MAAM,CAACoB,WAAW,EAAEsd,aAAa,CAAC,CAAA;EACjD,KAAA;EACF,GAAC,EAAE;EACDpxC,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAAS4vC,QAAQA,CAAC3hC,CAAC,EAAE;QAC1B,IAAIyiC,aAAa,GAAG7vC,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QAC1F,IAAI,CAACuU,OAAO,CAAC4c,MAAM,CAACqB,YAAY,EAAEqd,aAAa,CAAC,CAAA;EAClD,KAAA;EACF,GAAC,EAAE;EACDpxC,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS6vC,OAAOA,GAAG;QACxB,IAAIa,aAAa,GAAG7vC,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;EAC1F,MAAA,IAAI,CAACuU,OAAO,CAAC4c,MAAM,CAACsB,WAAW,EAAE,IAAI,CAACkO,cAAc,EAAE,EAAEkP,aAAa,CAAC,CAAA;EACxE,KAAA;EACF,GAAC,EAAE;EACDpxC,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAAS8vC,QAAQA,GAAG;EACzB,MAAA,IAAI,CAAC16B,OAAO,CAAC4c,MAAM,CAACuB,YAAY,CAAC,CAAA;EACnC,KAAA;EACF,GAAC,EAAE;EACDj0B,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS+vC,OAAOA,CAAC9lB,IAAI,EAAE;QAC5B,IAAI,CAAC7U,OAAO,CAAC4c,MAAM,CAACwB,WAAW,EAAEvJ,IAAI,CAAC,CAAA;EACxC,KAAA;EACF,GAAC,EAAE;EACD3qB,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAASiwC,aAAaA,CAACrO,YAAY,EAAE;QAC1C,IAAI,CAACxsB,OAAO,CAAC4c,MAAM,CAAC0B,iBAAiB,EAAEkO,YAAY,CAAC,CAAA;EACtD,KAAA;EACF,GAAC,EAAE;EACDtiC,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAASgwC,QAAQA,CAAC15B,KAAK,EAAE;QAC9B,IAAI,CAAClB,OAAO,CAAC4c,MAAM,CAACyB,YAAY,EAAEnd,KAAK,CAAC,CAAA;EAC1C,KAAA;EACF,GAAC,EAAE;EACDhX,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAASouC,iBAAiBA,CAACx3B,OAAO,EAAE;EACzC,MAAA,IAAIgvB,OAAO,GAAGhvB,OAAO,CAACgvB,OAAO,KAAKhvB,OAAO,CAAClN,MAAM,KAAK0K,SAAS,GAAG,CAACwC,OAAO,CAAClN,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;EACvF,MAAA,OAAOk8B,OAAO,CAACloC,MAAM,KAAK,CAAC,GAAG,CAAC;EAC7BgM,QAAAA,MAAM,EAAE,EAAE;EACVkQ,QAAAA,QAAQ,EAAE,EAAA;SACX,CAAC,GAAGgsB,OAAO,CAAA;EACd,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDtmC,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAASi8B,MAAMA,CAAChvB,IAAI,EAAE;EAC3B,MAAA,IAAI,CAACovB,IAAI,CAACJ,MAAM,CAAChvB,IAAI,CAAC,CAAA;EACtB,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD3N,IAAAA,GAAG,EAAE,MAAM;MACXU,KAAK,EAAE,SAASgb,IAAIA,CAAC4qB,OAAO,EAAEhsB,QAAQ,EAAE+2B,QAAQ,EAAE;EAChD,MAAA,IAAIA,QAAQ,KAAKv8B,SAAS,EAAE,IAAI,CAACqa,SAAS,CAAC;UACzCkiB,QAAQ,EAAE,CAAC,CAACA,QAAAA;EACd,OAAC,CAAC,CAAA;QACF,IAAI,CAACtU,IAAI,CAACrhB,IAAI,CAAC4qB,OAAO,EAAEhsB,QAAQ,CAAC,CAAA;EACjC,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDta,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS27B,OAAOA,GAAG;QACxB,IAAI,CAACnJ,aAAa,EAAE,CAAA;EACpB,MAAA,IAAI,CAAC6J,IAAI,CAACV,OAAO,EAAE,CAAA;EACnB,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDr8B,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS+kC,OAAOA,CAAC9W,EAAE,EAAE;QAC1B,IAAI,CAACoO,IAAI,CAAC8M,kBAAkB,EAAE,CAACpE,OAAO,CAAC9W,EAAE,CAAC,CAAA;EAC5C,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD3uB,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAASouB,IAAIA,GAAG;QACrB,IAAI6T,UAAU,GAAGphC,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACvF,IAAI,CAACw7B,IAAI,CAAC+K,eAAe,CAAChZ,IAAI,CAAC6T,UAAU,CAAC,CAAA;EAC1C,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD3iC,IAAAA,GAAG,EAAE,OAAO;EACZU,IAAAA,KAAK,EAAE,SAASoiC,KAAKA,GAAG;QACtB,IAAIH,UAAU,GAAGphC,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACvF,IAAI,CAACw7B,IAAI,CAAC+K,eAAe,CAAChF,KAAK,CAACH,UAAU,CAAC,CAAA;EAC3C,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD3iC,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAASkiC,IAAIA,GAAG;QACrB,IAAID,UAAU,GAAGphC,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACvF,IAAI,CAACw7B,IAAI,CAAC+K,eAAe,CAAClF,IAAI,CAACD,UAAU,CAAC,CAAA;EAC1C,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD3iC,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAAS8iC,IAAIA,CAAC7Y,IAAI,EAAE;QACzB,IAAI,CAACoS,IAAI,CAAC+K,eAAe,CAACtE,IAAI,CAAC7Y,IAAI,CAAC,CAAA;EACpC,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD3qB,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAAS+iC,cAAcA,CAACC,UAAU,EAAE;QACzC,IAAI,CAAC3G,IAAI,CAAC+K,eAAe,CAACrE,cAAc,CAACC,UAAU,CAAC,CAAA;EACpD,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD1jC,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAASilC,IAAIA,GAAG;EACrB,MAAA,IAAI,CAAC5I,IAAI,CAACgL,cAAc,CAACpC,IAAI,EAAE,CAAA;EAC/B,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD3lC,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAASklC,MAAMA,GAAG;EACvB,MAAA,IAAI,CAAC7I,IAAI,CAACgL,cAAc,CAACnC,MAAM,EAAE,CAAA;EACjC,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD5lC,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASshC,SAASA,GAAG;QAC1B,OAAO,IAAI,CAACjF,IAAI,CAAC+K,eAAe,CAAC9F,SAAS,EAAE,CAAA;EAC9C,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDhiC,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAASghC,YAAYA,GAAG;QAC7B,OAAO,IAAI,CAAC3E,IAAI,CAAC+K,eAAe,CAACpG,YAAY,EAAE,CAAA;EACjD,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD1hC,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAASkhC,UAAUA,GAAG;QAC3B,OAAO,IAAI,CAAC7E,IAAI,CAAC+K,eAAe,CAAClG,UAAU,EAAE,CAAA;EAC/C,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD5hC,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASyuB,SAASA,GAAG;QAC1B,IAAI7X,OAAO,GAAG/V,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;EACpF,MAAA,IAAI,CAACytC,6BAA6B,CAAC13B,OAAO,CAAC+I,MAAM,EAAE,IAAI,CAAC/I,OAAO,CAAC+I,MAAM,CAAC,CAAA;EACvE,MAAA,IAAI,CAAC0c,IAAI,CAAC5N,SAAS,CAAC7X,OAAO,CAAC,CAAA;EAC5B,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDtX,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASsjC,SAASA,CAACtgC,IAAI,EAAE;EAC9B,MAAA,IAAIm7B,OAAO,GAAG,IAAI,CAAC9B,IAAI,CAAC8B,OAAO,CAACz6B,MAAM,CAAC,IAAI,CAAC24B,IAAI,CAAC+K,eAAe,CAACjJ,OAAO,CAAC,CAAA;EACzE,MAAA,OAAOA,OAAO,CAACl8B,MAAM,CAAC,UAAUm/B,MAAM,EAAE;EACtC,QAAA,OAAOA,MAAM,CAACp+B,IAAI,KAAKA,IAAI,CAAA;SAC5B,CAAC,CAAC,CAAC,CAAC,CAAA;EACP,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD1D,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASwhC,cAAcA,GAAG;QAC/B,OAAO,IAAI,CAACnF,IAAI,CAAC+K,eAAe,CAAC5F,cAAc,EAAE,CAAA;EACnD,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDliC,IAAAA,GAAG,EAAE,oBAAoB;EACzBU,IAAAA,KAAK,EAAE,SAASuhC,kBAAkBA,GAAG;QACnC,OAAO,IAAI,CAAClF,IAAI,CAAC+K,eAAe,CAAC7F,kBAAkB,EAAE,CAAA;EACvD,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDjiC,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASyhC,WAAWA,GAAG;QAC5B,OAAO,IAAI,CAACpF,IAAI,CAAC+K,eAAe,CAAC3F,WAAW,EAAE,CAAA;EAChD,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAAC1H,UAAU,CAAC,CAAA;EACb56B,MAAM,CAACwkB,MAAM,CAACqqB,MAAM,CAACxuC,SAAS,EAAEg9B,UAAU,CAAC,CAAA;;EAE3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAIoU,eAAe,gBAAgB,UAAUtV,WAAW,EAAE;IACxD,SAASsV,eAAeA,CAAC/nC,SAAS,EAAE;EAClC,IAAA,IAAI+gB,KAAK,CAAA;EACT/qB,IAAAA,iBAAe,CAAC,IAAI,EAAE+xC,eAAe,CAAC,CAAA;EACtChnB,IAAAA,KAAK,GAAGzrB,YAAU,CAAC,IAAI,EAAEyyC,eAAe,EAAE,CAAC/nC,SAAS,CAAC+N,OAAO,CAAC,CAAC,CAAA;MAC9DgT,KAAK,CAAC/gB,SAAS,GAAGA,SAAS,CAAA;MAC3B+gB,KAAK,CAAC6T,OAAO,GAAG,IAAI,CAAA;MACpB7T,KAAK,CAAC8T,UAAU,EAAE,CAAA;EAClB,IAAA,OAAO9T,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,WAAS,CAAC2vC,eAAe,EAAEtV,WAAW,CAAC,CAAA;EACvC,EAAA,OAAO/7B,cAAY,CAACqxC,eAAe,EAAE,CAAC;EACpCtxC,IAAAA,GAAG,EAAE,aAAa;EAClBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAACqI,SAAS,CAACy0B,WAAW,CAAA;EACnC,KAAA;EACF,GAAC,EAAE;EACDh+B,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS49B,MAAMA,GAAG;EACvB,MAAA,IAAI,CAAC,IAAI,CAACH,OAAO,EAAE;UACjB,IAAI,CAACC,UAAU,EAAE,CAAA;UACjB,IAAI,CAACD,OAAO,GAAG,IAAI,CAAA;EACrB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDn+B,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAASoc,OAAOA,GAAG;QACxB,IAAI,IAAI,CAACqhB,OAAO,EAAE;UAChB,IAAI,CAACjL,aAAa,EAAE,CAAA;UACpB,IAAI,CAACiL,OAAO,GAAG,KAAK,CAAA;EACtB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDn+B,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG,EAAC;EAChC,GAAC,EAAE;EACDp+B,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS27B,OAAOA,GAAG;QACxB,IAAI,CAACnJ,aAAa,EAAE,CAAA;EACtB,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACuH,UAAU,CAAC,CAAA;EACb56B,MAAM,CAACwkB,MAAM,CAACitB,eAAe,CAACpxC,SAAS,EAAEg9B,UAAU,CAAC,CAAA;EACpDoU,eAAe,CAACpnC,MAAM,GAAG,UAAUb,UAAU,EAAE;EAC7C,EAAA,OAAOa,QAAM,CAAConC,eAAe,EAAEjoC,UAAU,CAAC,CAAA;EAC5C,CAAC,CAAA;EACDioC,eAAe,CAACxqC,IAAI,GAAG,WAAW,CAAA;EAElC,IAAIyqC,UAAU,gBAAgB,UAAUvV,WAAW,EAAE;IACnD,SAASuV,UAAUA,CAACxU,IAAI,EAAE;EACxB,IAAA,IAAIzS,KAAK,CAAA;EACT/qB,IAAAA,iBAAe,CAAC,IAAI,EAAEgyC,UAAU,CAAC,CAAA;EACjCjnB,IAAAA,KAAK,GAAGzrB,YAAU,CAAC,IAAI,EAAE0yC,UAAU,EAAE,CAACxU,IAAI,CAACzlB,OAAO,CAAC,CAAC,CAAA;MACpDgT,KAAK,CAACyS,IAAI,GAAGA,IAAI,CAAA;MACjBzS,KAAK,CAAC6T,OAAO,GAAG,IAAI,CAAA;MACpB7T,KAAK,CAAC8T,UAAU,EAAE,CAAA;EAClB,IAAA,OAAO9T,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,WAAS,CAAC4vC,UAAU,EAAEvV,WAAW,CAAC,CAAA;EAClC,EAAA,OAAO/7B,cAAY,CAACsxC,UAAU,EAAE,CAAC;EAC/BvxC,IAAAA,GAAG,EAAE,aAAa;EAClBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAAC67B,IAAI,CAACiB,WAAW,CAAA;EAC9B,KAAA;EACF,GAAC,EAAE;EACDh+B,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG,EAAC;EAChC,GAAC,EAAE;EACDp+B,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS49B,MAAMA,GAAG;EACvB,MAAA,IAAI,CAAC,IAAI,CAACH,OAAO,EAAE;UACjB,IAAI,CAACC,UAAU,EAAE,CAAA;UACjB,IAAI,CAACD,OAAO,GAAG,IAAI,CAAA;EACrB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDn+B,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAASoc,OAAOA,GAAG;QACxB,IAAI,IAAI,CAACqhB,OAAO,EAAE;UAChB,IAAI,CAACjL,aAAa,EAAE,CAAA;UACpB,IAAI,CAACiL,OAAO,GAAG,KAAK,CAAA;EACtB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDn+B,IAAAA,GAAG,EAAE,sBAAsB;EAC3BU,IAAAA,KAAK,EAAE,SAAS29B,oBAAoBA,GAAG;EACrC,MAAA,OAAO,EAAE,CAAA;EACX,KAAA;EACF,GAAC,EAAE;EACDr+B,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS27B,OAAOA,GAAG;QACxB,IAAI,CAACnJ,aAAa,EAAE,CAAA;EACtB,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACuH,UAAU,CAAC,CAAA;EACb56B,MAAM,CAACwkB,MAAM,CAACktB,UAAU,CAACrxC,SAAS,EAAEg9B,UAAU,CAAC,CAAA;EAC/CqU,UAAU,CAACrnC,MAAM,GAAG,UAAUb,UAAU,EAAE;EACxC,EAAA,OAAOa,QAAM,CAACqnC,UAAU,EAAEloC,UAAU,CAAC,CAAA;EACvC,CAAC,CAAA;EACDkoC,UAAU,CAACzqC,IAAI,GAAG,MAAM,CAAA;;EAExB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI0qC,iBAAiB,gBAAgB,UAAUtT,SAAS,EAAE;IACxD,SAASsT,iBAAiBA,CAACjoC,SAAS,EAAE;EACpC,IAAA,IAAI+gB,KAAK,CAAA;EACT/qB,IAAAA,iBAAe,CAAC,IAAI,EAAEiyC,iBAAiB,CAAC,CAAA;EACxClnB,IAAAA,KAAK,GAAGzrB,YAAU,CAAC,IAAI,EAAE2yC,iBAAiB,EAAE,CAACjoC,SAAS,CAAC+N,OAAO,CAAC,CAAC,CAAA;MAChEgT,KAAK,CAAC/gB,SAAS,GAAGA,SAAS,CAAA;MAC3B+gB,KAAK,CAAC6T,OAAO,GAAG,IAAI,CAAA;MACpB7T,KAAK,CAAC8T,UAAU,EAAE,CAAA;EAClB,IAAA,OAAO9T,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,WAAS,CAAC6vC,iBAAiB,EAAEtT,SAAS,CAAC,CAAA;EACvC,EAAA,OAAOj+B,cAAY,CAACuxC,iBAAiB,EAAE,CAAC;EACtCxxC,IAAAA,GAAG,EAAE,aAAa;EAClBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAACqI,SAAS,CAACy0B,WAAW,CAAA;EACnC,KAAA;EACF,GAAC,EAAE;EACDh+B,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS49B,MAAMA,GAAG;EACvB,MAAA,IAAI,CAAC,IAAI,CAACH,OAAO,EAAE;UACjB,IAAI,CAACC,UAAU,EAAE,CAAA;EACjB,QAAA,IAAI,CAAChC,GAAG,CAAC/sB,IAAI,EAAE,CAAA;UACf,IAAI,CAAC8uB,OAAO,GAAG,IAAI,CAAA;EACrB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDn+B,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAASoc,OAAOA,GAAG;QACxB,IAAI,CAACoW,aAAa,EAAE,CAAA;EACpB,MAAA,IAAI,CAACkJ,GAAG,CAAC/rB,IAAI,EAAE,CAAA;QACf,IAAI,CAAC8tB,OAAO,GAAG,KAAK,CAAA;EACtB,KAAA;EACF,GAAC,EAAE;EACDn+B,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG,EAAC;EAChC,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACrC,QAAQ,CAAC,CAAA;EACXl8B,MAAM,CAACwkB,MAAM,CAACmtB,iBAAiB,CAACtxC,SAAS,EAAEg9B,UAAU,CAAC,CAAA;EACtDsU,iBAAiB,CAACtnC,MAAM,GAAG,UAAUb,UAAU,EAAE;EAC/C,EAAA,OAAOa,QAAM,CAACsnC,iBAAiB,EAAEnoC,UAAU,CAAC,CAAA;EAC9C,CAAC,CAAA;EACDmoC,iBAAiB,CAAC1qC,IAAI,GAAG,WAAW,CAAA;EAEpC,IAAI2qC,UAAU,GAAG,2OAA2O,CAAA;EAE5P,IAAIC,YAAU,GAAG,qGAAqG,CAAA;EAEtH,IAAIC,SAAS,GAAG;IACd,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC9oC,GAAG,CAAC,UAAU+oC,KAAK,EAAE;EAChI,IAAA,OAAO,qBAAqB,GAAGA,KAAK,GAAG,cAAc,CAAA;EACvD,GAAC,CAAC;EACF,EAAA,KAAK,EAAE,CAAC,oCAAoC,EAAE,2BAA2B,EAAE,mCAAmC,CAAC;IAC/G,MAAM,EAAE,CAAC,sCAAsC,CAAC;IAChD,MAAM,EAAE,CAAC,kCAAkC,CAAC;IAC5C,KAAK,EAAE,CAAC,2CAA2C,CAAC;IACpD,MAAM,EAAE,CAAC,uBAAuB,CAAA;EAClC,CAAC,CAAA;EACDD,SAAS,CAAC,KAAK,CAAC,GAAGA,SAAS,CAAC,KAAK,CAAC,CAAA;EACnCA,SAAS,CAAC,KAAK,CAAC,GAAGA,SAAS,CAAC,MAAM,CAAC,CAAA;EACpC,IAAIE,eAAe,GAAG;IACpB,KAAK,EAAE,CAAC,WAAW,CAAC;EACpB,EAAA,KAAK,EAAE,CAAC,WAAW,EAAE,yBAAyB,CAAC;IAC/C,KAAK,EAAE,CAAC,8BAA8B,CAAC;IACvC,KAAK,EAAE,CAAC,WAAW,CAAA;EACrB,CAAC,CAAA;EACD,IAAIC,qBAAqB,GAAGjyC,MAAM,CAAC4C,IAAI,CAACovC,eAAe,CAAC,CAACzkC,MAAM,CAAC,UAAU2kC,GAAG,EAAE/tB,CAAC,EAAE;EAChF,EAAA,OAAO,EAAE,CAAC5f,MAAM,CAACjB,kBAAkB,CAAC4uC,GAAG,CAAC,EAAE5uC,kBAAkB,CAAC0uC,eAAe,CAAC7tB,CAAC,CAAC,CAAC,CAAC,CAAA;EACnF,CAAC,EAAE,EAAE,CAAC,CAAA;EACN,IAAIguB,aAAa,GAAG;EAClBzU,EAAAA,IAAI,EAAE,SAAS;EACf9L,EAAAA,OAAO,EAAE,SAAA;EACX,CAAC,CAAA;;EAED;EACA,IAAIwgB,UAAU,gBAAgB,UAAUC,SAAS,EAAE;IACjD,SAASD,UAAUA,GAAG;EACpB,IAAA,IAAI3nB,KAAK,CAAA;EACT/qB,IAAAA,iBAAe,CAAC,IAAI,EAAE0yC,UAAU,CAAC,CAAA;MACjC,KAAK,IAAI1nB,IAAI,GAAGhpB,SAAS,CAACnD,MAAM,EAAEkM,IAAI,GAAG,IAAI/L,KAAK,CAACgsB,IAAI,CAAC,EAAEC,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAGD,IAAI,EAAEC,IAAI,EAAE,EAAE;EACvFlgB,MAAAA,IAAI,CAACkgB,IAAI,CAAC,GAAGjpB,SAAS,CAACipB,IAAI,CAAC,CAAA;EAC9B,KAAA;EACAF,IAAAA,KAAK,GAAGzrB,YAAU,CAAC,IAAI,EAAEozC,UAAU,EAAE,EAAE,CAAC7tC,MAAM,CAACkG,IAAI,CAAC,CAAC,CAAA;MACrDggB,KAAK,CAAC6nB,UAAU,GAAG,KAAK,CAAA;MACxB7nB,KAAK,CAAC8nB,YAAY,GAAG,KAAK,CAAA;MAC1B9nB,KAAK,CAAC+nB,YAAY,GAAG,KAAK,CAAA;MAC1B/nB,KAAK,CAACgoB,eAAe,GAAG,KAAK,CAAA;MAC7BhoB,KAAK,CAACioB,oBAAoB,GAAG,IAAI,CAAA;MACjCjoB,KAAK,CAACkoB,QAAQ,GAAG,KAAK,CAAA;EACtBloB,IAAAA,KAAK,CAACmoB,UAAU,GAAG,CAAC,CAAC,CAAA;MACrBnoB,KAAK,CAACooB,2BAA2B,GAAG,CAACpoB,KAAK,CAAChT,OAAO,CAACq7B,0BAA0B,CAAA;MAC7EroB,KAAK,CAACsoB,SAAS,CAACtoB,KAAK,CAAChT,OAAO,CAAC3C,GAAG,CAAC,CAAA;MAClC2V,KAAK,CAACuoB,4BAA4B,GAAGvoB,KAAK,CAAChT,OAAO,CAACw7B,2BAA2B,IAAI,GAAG,CAAA;EACrF;EACAxoB,IAAAA,KAAK,CAAChT,OAAO,CAAConB,QAAQ,KAAKpU,KAAK,CAAChT,OAAO,CAAConB,QAAQ,GAAGpU,KAAK,CAAChT,OAAO,IAAI,EAAE,CAAC,CAAA;EACxEgT,IAAAA,KAAK,CAAChT,OAAO,CAAConB,QAAQ,CAACqU,kBAAkB,GAAGzoB,KAAK,CAAChT,OAAO,CAAConB,QAAQ,CAACqU,kBAAkB,IAAIzoB,KAAK,CAAChT,OAAO,CAAC07B,0BAA0B,CAAA;MACjI1oB,KAAK,CAAC2oB,WAAW,GAAG3oB,KAAK,CAAC4oB,2BAA2B,GAAG5oB,KAAK,CAAC6oB,oBAAoB,GAAG,EAAE,CAAA;EACvF,IAAA,IAAIC,cAAc,GAAG9oB,KAAK,CAAChT,OAAO,CAAConB,QAAQ,CAAA;EAC3C,IAAA,IAAI2U,OAAO,GAAGD,cAAc,CAACC,OAAO,KAAKjuB,OAAO,CAACuD,QAAQ,GAAG,MAAM,GAAG2B,KAAK,CAAChT,OAAO,CAAC+7B,OAAO,CAAC,CAAA;MAC3F,IAAIC,SAAS,CAAC;EACd,IAAA,IAAIhpB,KAAK,CAAChT,OAAO,CAACi8B,MAAM,EAAE;EACxB,MAAA,IAAI,OAAOjpB,KAAK,CAAChT,OAAO,CAACi8B,MAAM,KAAK,QAAQ,EAAED,SAAS,GAAGhpB,KAAK,CAAChT,OAAO,CAACi8B,MAAM,CAAC,KAAK,IAAI,OAAOjpB,KAAK,CAAChT,OAAO,CAACi8B,MAAM,CAACj7B,GAAG,KAAK,QAAQ,EAAEg7B,SAAS,GAAGhpB,KAAK,CAAChT,OAAO,CAACi8B,MAAM,CAACj7B,GAAG,CAAA;EAC5K,KAAA;MACArU,CAAC,CAACiG,MAAM,CAAC,IAAI,EAAEogB,KAAK,CAAC9c,EAAE,EAAE;EACvBqhB,MAAAA,KAAK,EAAEvE,KAAK,CAAChT,OAAO,CAACquB,IAAI;EACzB6N,MAAAA,YAAY,EAAElpB,KAAK,CAAChT,OAAO,CAACquB,IAAI;EAChC8N,MAAAA,IAAI,EAAEnpB,KAAK,CAAChT,OAAO,CAACm8B,IAAI;EACxBF,MAAAA,MAAM,EAAED,SAAS;QACjBD,OAAO,EAAEA,OAAO,IAAI,UAAU;QAC9BK,WAAW,EAAEN,cAAc,CAACM,WAAW;QACvC,sBAAsB,EAAEN,cAAc,CAACO,UAAAA;EACzC,KAAC,CAAC,CAAA;EACF,IAAA,IAAIP,cAAc,CAACQ,QAAQ,IAAItpB,KAAK,CAAChT,OAAO,CAACu8B,0BAA0B,EAAEvpB,KAAK,CAAC8R,GAAG,CAACzyB,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;MACvGypC,cAAc,CAACO,UAAU,IAAIrpB,KAAK,CAAC8R,GAAG,CAACzyB,IAAI,CAAC;EAC1CmqC,MAAAA,WAAW,EAAE,aAAA;EACf,KAAC,CAAC,CAAA;MACFV,cAAc,CAACM,WAAW,IAAIppB,KAAK,CAAC8R,GAAG,CAACzyB,IAAI,CAAC;QAC3CoqC,WAAW,EAAEX,cAAc,CAACM,WAAAA;EAC9B,KAAC,CAAC,CAAA;;EAEF;MACAppB,KAAK,CAACrU,QAAQ,GAAG;QACf,SAAS,EAAE,CAAC,SAAS,CAAA;OACtB,CAAA;MACDqU,KAAK,CAACrU,QAAQ,CAAClE,IAAI,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;MAC3DuY,KAAK,CAACrU,QAAQ,CAAC+9B,KAAK,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;MAC/DZ,cAAc,CAACa,cAAc,IAAI3pB,KAAK,CAAC4pB,oBAAoB,CAACd,cAAc,CAACa,cAAc,CAAC,CAAA;MAC1F3pB,KAAK,CAAChT,OAAO,CAAC+5B,QAAQ,IAAI/mB,KAAK,CAACub,eAAe,EAAE,CAAA;EACjD,IAAA,OAAOvb,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,WAAS,CAACswC,UAAU,EAAEC,SAAS,CAAC,CAAA;EAChC,EAAA,OAAOjyC,cAAY,CAACgyC,UAAU,EAAE,CAAC;EAC/BjyC,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,aAAa,CAAA;EACtB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,SAAS;EACdkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAACizC,WAAW,GAAG,OAAO,GAAG,OAAO,CAAA;EAC7C,KAAA;EACF,GAAC,EAAE;EACDn0C,IAAAA,GAAG,EAAE,aAAa;EAClBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,IAAIkzC,WAAW,GAAG,IAAI,CAAC98B,OAAO,CAAC3C,GAAG,CAAA;EAClC,MAAA,IAAIkR,SAAS,GAAGosB,UAAU,CAACoC,gBAAgB,CAACD,WAAW,EAAEvC,eAAe,EAAE,IAAI,CAACv6B,OAAO,CAACgD,QAAQ,CAAC,CAAA;EAChG,MAAA,OAAO,IAAI,CAAChD,OAAO,CAAConB,QAAQ,IAAI,IAAI,CAACpnB,OAAO,CAAConB,QAAQ,CAAC4V,SAAS,IAAI,IAAI,CAACh9B,OAAO,CAACg9B,SAAS,IAAIxC,qBAAqB,CAAClrC,OAAO,CAACif,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;EAC/I,KAAA;EACF,GAAC,EAAE;EACD7lB,IAAAA,GAAG,EAAE,YAAY;EACjBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,kBAAkB,EAAE,EAAA;SACrB,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,QAAQ;EACbkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,SAAS,EAAE,YAAY;EACvB,QAAA,gBAAgB,EAAE,wBAAwB;EAC1C,QAAA,gBAAgB,EAAE,mBAAmB;EACrC,QAAA,OAAO,EAAE,UAAU;EACnB,QAAA,OAAO,EAAE,UAAU;EACnB,QAAA,YAAY,EAAE,eAAe;EAC7B,QAAA,gBAAgB,EAAE,mBAAmB;EACrC,QAAA,OAAO,EAAE,UAAU;EACnB,QAAA,SAAS,EAAE,YAAY;EACvB,QAAA,UAAU,EAAE,aAAa;EACzB,QAAA,SAAS,EAAE,YAAY;EACvB,QAAA,QAAQ,EAAE,WAAW;EACrB,QAAA,SAAS,EAAE,wBAAwB;EACnC,QAAA,YAAY,EAAE,eAAe;EAC7B,QAAA,SAAS,EAAE,YAAY;EACvB,QAAA,uBAAuB,EAAE,aAAa;EACtC,QAAA,uBAAuB,EAAE,YAAA;SAC1B,CAAA;EACH,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,OAAO;EACZkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAACsM,EAAE,CAAC0xB,KAAK,CAAA;EACtB,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDl/B,IAAAA,GAAG,EAAE,WAAW;EAChBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO,IAAI,CAACmxC,YAAY,CAAA;EAC1B,KAAA;EACF,GAAC,EAAE;EACDryC,IAAAA,GAAG,EAAE,aAAa;EAClBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAACsM,EAAE,KAAKnJ,QAAQ,CAACkwC,uBAAuB,CAAA;EACrD,KAAA;EACF,GAAC,EAAE;EACDv0C,IAAAA,GAAG,EAAE,QAAQ;EACbkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO,IAAI,CAACugC,eAAe,EAAE,KAAK8D,QAAQ,CAACW,IAAI,CAAA;EACjD,KAAA;EACF,GAAC,EAAE;EACDlmC,IAAAA,GAAG,EAAE,YAAY;EACjBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAACihC,WAAW,EAAE,IAAI,IAAI,CAAC8Q,WAAW,IAAI,IAAI,CAACuB,MAAM,CAAA;EAC9D,KAAA;EACF,GAAC,EAAE;EACDx0C,IAAAA,GAAG,EAAE,sBAAsB;EAC3BkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAACoW,OAAO,CAAConB,QAAQ,IAAI,IAAI,CAACpnB,OAAO,CAAConB,QAAQ,CAAC+V,cAAc,CAAA;EACtE,KAAA;EACF,GAAC,EAAE;EACDz0C,IAAAA,GAAG,EAAE,6BAA6B;EAClCkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,OAAO,IAAI,CAACiyC,oBAAoB,KAAK,WAAW,IAAI,OAAO,IAAI,CAACA,oBAAoB,KAAK,QAAQ,CAAA;EAC1G,KAAA;EACF,GAAC,EAAE;EACDnzC,IAAAA,GAAG,EAAE,aAAa;EAClBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO,IAAI,CAACwzC,IAAI,CAAA;EAClB,KAAA;EACF,GAAC,EAAE;EACD10C,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASyuB,SAASA,CAAC7X,OAAO,EAAE;QACjCpU,eAAa,CAAC+uC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC36B,OAAO,CAAC,CAAC,CAAA;QACvD,IAAI,CAAC9J,EAAE,CAACimC,IAAI,GAAG,CAAC,CAACn8B,OAAO,CAACm8B,IAAI,CAAA;EAC/B,KAAA;;EAEA;EACF,GAAC,EAAE;EACDzzC,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAASmlC,eAAeA,GAAG;QAChC,IAAI7C,MAAM,GAAG,IAAI,CAAA;EACjB,MAAA,IAAI,CAAC8C,WAAW,CAAC,UAAUx3B,MAAM,EAAE0I,KAAK,EAAE;UACxCA,KAAK,IAAI6Z,GAAG,CAACU,IAAI,CAACyR,MAAM,CAACt/B,IAAI,EAAE,iBAAiB,EAAE;EAChD4K,UAAAA,MAAM,EAAEA,MAAM;EACd0I,UAAAA,KAAK,EAAEA,KAAAA;EACT,SAAC,CAAC,CAAA;;EAEF;UACA1I,MAAM,IAAImK,UAAU,CAAC,YAAY;YAC/B,OAAO,CAACuqB,MAAM,CAACmP,UAAU,IAAInP,MAAM,CAAClU,IAAI,EAAE,CAAA;WAC3C,EAAE,CAAC,CAAC,CAAA;EACP,OAAC,CAAC,CAAA;EACJ,KAAA;;EAEA;EACF,GAAC,EAAE;EACD9uB,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASolC,WAAWA,CAACnX,EAAE,EAAE;EAC9B,MAAA,IAAI,IAAI,CAACrX,OAAO,CAACq9B,kBAAkB,EAAE;EACnChmB,QAAAA,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;EACd,QAAA,OAAA;EACF,OAAA;EACA,MAAA,IAAIimB,IAAI,GAAG;EACTp8B,QAAAA,OAAO,EAAE,IAAI,CAAClB,OAAO,CAACu9B,eAAe,IAAI,GAAG;UAC5CjmB,MAAM,EAAE,IAAI,CAACtX,OAAO,CAAConB,QAAQ,CAACiV,UAAU,IAAI,KAAK;UACjD9kB,KAAK,EAAE,IAAI,CAACvX,OAAO,CAACquB,IAAI,IAAI,KAAK;SAClC,CAAA;;EAED;EACA,MAAA,IAAIvgB,OAAO,CAAC6D,QAAQ,IAAIiG,WAAW,CAAC5X,OAAO,CAAC8X,YAAY,EAAEwlB,IAAI,CAAC7uC,OAAO,GAAG,IAAI,CAACyH,EAAE,CAAA;;EAEhF;EACA;EACA;EACAkhB,MAAAA,gBAAgB,CAACC,EAAE,EAAEimB,IAAI,CAAC,CAAA;EAC5B,KAAA;EACF,GAAC,EAAE;EACD50C,IAAAA,GAAG,EAAE,sBAAsB;EAC3BU,IAAAA,KAAK,EAAE,SAASwzC,oBAAoBA,CAAC9S,MAAM,EAAE;QAC3C,IAAI,CAAC0T,eAAe,GAAG1T,MAAM,CAACv4B,GAAG,CAAC,UAAUs4B,KAAK,EAAE;UACjD,OAAO;EACL4T,UAAAA,IAAI,EAAE5T,KAAK,CAAC4T,IAAI,IAAI,WAAW;EAC/B;YACAC,KAAK,EAAE7T,KAAK,CAAC6T,KAAK;YAClBC,IAAI,EAAE9T,KAAK,CAAC8T,IAAI;YAChBtgC,GAAG,EAAEwsB,KAAK,CAACxsB,GAAAA;WACZ,CAAA;EACH,OAAC,CAAC,CAAA;EACJ,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAASgb,IAAIA,CAACw5B,MAAM,EAAE;EAC3B,MAAA,IAAI,CAACtC,SAAS,CAACsC,MAAM,CAAC,CAAA;EACxB,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACA;EACE,GAAC,EAAE;EACDl1C,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASkyC,SAASA,CAACsC,MAAM,EAAE;EAChC,MAAA,IAAI,IAAI,CAAC1nC,EAAE,CAACmH,GAAG,KAAKugC,MAAM,EAAE,OAAA;QAC5B,IAAI,CAACC,UAAU,GAAG,KAAK,CAAA;EACvB,MAAA,IAAI,CAAC3nC,EAAE,CAACmH,GAAG,GAAGugC,MAAM,CAAA;EACpB,MAAA,IAAI,CAACR,IAAI,GAAG,IAAI,CAAClnC,EAAE,CAACmH,GAAG,CAAA;EACzB,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAAS00C,iBAAiBA,CAAC/2C,CAAC,EAAE;QACnC,IAAI,CAACg3C,sBAAsB,EAAE,CAAA;EAC7B,MAAA,IAAI,CAACv/B,OAAO,CAAC4c,MAAM,CAACqC,uBAAuB,EAAE;EAC3C4O,QAAAA,QAAQ,EAAEtlC,CAAC,CAAC8L,MAAM,CAACw5B,QAAQ;EAC3BvyB,QAAAA,IAAI,EAAE/S,CAAAA;EACR,OAAC,CAAC,CAAA;QACF,IAAI,CAACi3C,eAAe,EAAE,CAAA;EACtB,MAAA,IAAIC,eAAe,GAAG,OAAO,IAAI,CAAC5a,QAAQ,CAAC4a,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC5a,QAAQ,CAAC4a,eAAe,CAAA;EAC3G,MAAA,IAAI,IAAI,CAAC9T,eAAe,EAAE,KAAK8D,QAAQ,CAACW,IAAI,IAAIqP,eAAe,EAAE,IAAI,CAACC,iBAAiB,EAAE,CAAA;EAC3F,KAAA;EACF,GAAC,EAAE;EACDx1C,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAAS+0C,iBAAiBA,GAAG;QAClC,IAAI,CAACH,eAAe,EAAE,CAAA;QACtB,IAAI,CAAC3E,aAAa,EAAE,CAAA;EACpB;QACA,IAAI,CAAC+E,WAAW,EAAE,CAAA;EACpB,KAAA;EACF,GAAC,EAAE;EACD11C,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAAS40C,eAAeA,GAAG;EAChC;EACA;EACA,MAAA,IAAI,IAAI,CAAC7T,eAAe,EAAE,KAAK8D,QAAQ,CAACS,GAAG,IAAI,IAAI,CAACvE,eAAe,EAAE,KAAK8D,QAAQ,CAACU,GAAG,EAAE,IAAI,CAAChwB,QAAQ,CAAClE,IAAI,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,KAAK,IAAI,CAACkE,QAAQ,CAAClE,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;QACzL,IAAI,CAACkE,QAAQ,CAAC0/B,WAAW,GAAG,IAAI,CAACC,aAAa,EAAE,CAAA;EAChD,MAAA,IAAI,CAAC9/B,OAAO,CAAC4c,MAAM,CAACoC,uBAAuB,CAAC,CAAA;EAC9C,KAAA;EACF,GAAC,EAAE;EACD90B,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAASk1C,aAAaA,GAAG;EAC9B,MAAA,OAAOvpC,QAAQ,CAAC,IAAI,CAAC81B,WAAW,EAAE,CAAC,CAAA;EACrC,KAAA;EACF,GAAC,EAAE;EACDniC,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAAS+gC,eAAeA,GAAG;EAChC,MAAA,IAAIoU,YAAY,GAAG,IAAI,CAACvmB,OAAO,KAAK,OAAO,GAAGiW,QAAQ,CAACU,GAAG,GAAGV,QAAQ,CAACS,GAAG,CAAA;QACzE,OAAO,CAAC,CAAC,EAAElxB,SAAS,EAAEghC,QAAQ,CAAC,CAAClvC,OAAO,CAAC,IAAI,CAAC4G,EAAE,CAACm2B,QAAQ,CAAC,IAAI,CAAC,GAAG4B,QAAQ,CAACW,IAAI,GAAG2P,YAAY,CAAA;EAC/F,KAAA;EACF,GAAC,EAAE;EACD71C,IAAAA,GAAG,EAAE,uBAAuB;EAC5BU,IAAAA,KAAK,EAAE,SAAS8jC,qBAAqBA,GAAG;EACtC,MAAA,OAAO,KAAK,CAAA;EACd,KAAA;;EAEA;EACA;EACF,GAAC,EAAE;EACDxkC,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS+kC,OAAOA,CAAC9W,EAAE,EAAE;QAC1B,IAAI2U,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,IAAI,CAACtB,SAAS,EAAE,IAAI,IAAI,CAACx0B,EAAE,CAACg4B,UAAU,EAAE;UAC1CtiC,eAAa,CAAC+uC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAACtjB,EAAE,CAAC,CAAC,CAAA;EAClD,OAAC,MAAM;EACL,QAAA,IAAIonB,aAAa,GAAG,SAASC,YAAYA,GAAG;YAC1C1S,MAAM,CAAC91B,EAAE,CAAC0T,mBAAmB,CAAC,gBAAgB,EAAE60B,aAAa,EAAE,KAAK,CAAC,CAAA;YACrEzS,MAAM,CAAC91B,EAAE,CAAC0T,mBAAmB,CAAC,OAAO,EAAE60B,aAAa,EAAE,KAAK,CAAC,CAAA;EAC5DzS,UAAAA,MAAM,CAAC91B,EAAE,CAACg4B,UAAU,GAAG,IAAI,CAAC;YAC5BtiC,eAAa,CAAC+uC,UAAU,EAAE,SAAS,EAAE3O,MAAM,CAAC,CAAC,CAAC3U,EAAE,CAAC,CAAC,CAAA;WACnD,CAAA;UACD,IAAI,CAACnhB,EAAE,CAACE,gBAAgB,CAAC,gBAAgB,EAAEqoC,aAAa,EAAE,KAAK,CAAC,CAAA;UAChE,IAAI,CAACvoC,EAAE,CAACE,gBAAgB,CAAC,OAAO,EAAEqoC,aAAa,EAAE,KAAK,CAAC,CAAA;EACvD,QAAA,IAAI,CAACvoC,EAAE,CAACkO,IAAI,EAAE,CAAA;EAChB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD1b,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAASouB,IAAIA,GAAG;QACrB,IAAI6V,MAAM,GAAG,IAAI,CAAA;EACjB,MAAA,IAAI,CAAC7uB,OAAO,CAAC4c,MAAM,CAACgD,oBAAoB,CAAC,CAAA;QACzC,IAAI,CAAC8c,QAAQ,GAAG,KAAK,CAAA;EACrB,MAAA,IAAI,CAACI,SAAS,CAAC,IAAI,CAAC8B,IAAI,CAAC,CAAA;QACzB,IAAI,CAACW,sBAAsB,EAAE,CAAA;QAC7B,IAAIn9B,OAAO,GAAG,IAAI,CAAC1K,EAAE,CAACshB,IAAI,EAAE,CAAA;EAC5B;EACA,MAAA,IAAI5W,OAAO,IAAIA,OAAO,CAAC,OAAO,CAAC,EAAEA,OAAO,CAAC,OAAO,CAAC,CAAC,UAAUlB,KAAK,EAAE;UACjE,OAAO6Z,GAAG,CAACU,IAAI,CAACoT,MAAM,CAACjhC,IAAI,EAAE,mBAAmB,EAAEsT,KAAK,CAAC,CAAA;EAC1D,OAAC,CAAC,CAAA;EACF,MAAA,OAAOkB,OAAO,CAAA;EAChB,KAAA;EACF,GAAC,EAAE;EACDlY,IAAAA,GAAG,EAAE,OAAO;EACZU,IAAAA,KAAK,EAAE,SAASoiC,KAAKA,GAAG;EACtB,MAAA,IAAI,CAACt1B,EAAE,CAACs1B,KAAK,EAAE,CAAA;EACjB,KAAA;EACF,GAAC,EAAE;EACD9iC,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAASkiC,IAAIA,GAAG;QACrB,IAAI,CAACE,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC0P,QAAQ,GAAG,IAAI,CAAA;EACpB;EACA,MAAA,IAAI,CAAChlC,EAAE,CAAChC,eAAe,CAAC,KAAK,CAAC,CAAA;EAC9B,MAAA,IAAI,CAACgC,EAAE,CAACkO,IAAI,EAAE,CAAC;QACf,IAAI,CAACu6B,yBAAyB,EAAE,CAAA;QAChC,IAAI,CAACZ,sBAAsB,EAAE,CAAA;EAC7B,MAAA,IAAI,CAACv/B,OAAO,CAAC4c,MAAM,CAACqD,aAAa,CAAC,CAAA;EACpC,KAAA;EACF,GAAC,EAAE;EACD/1B,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS+rB,MAAMA,CAAC/rB,KAAK,EAAE;QAC5B,IAAIA,KAAK,KAAK,CAAC,EAAE;EACf,QAAA,IAAI,CAAC07B,GAAG,CAACzyB,IAAI,CAAC;EACZklB,UAAAA,KAAK,EAAE,MAAA;EACT,SAAC,CAAC,CAAA;EACF,QAAA,IAAI,CAACrhB,EAAE,CAACqhB,KAAK,GAAG,IAAI,CAAA;EACtB,OAAC,MAAM;EACL,QAAA,IAAI,CAACuN,GAAG,CAACzyB,IAAI,CAAC;EACZklB,UAAAA,KAAK,EAAE,IAAA;EACT,SAAC,CAAC,CAAA;EACF,QAAA,IAAI,CAACrhB,EAAE,CAACqhB,KAAK,GAAG,KAAK,CAAA;EACrB,QAAA,IAAI,CAACrhB,EAAE,CAACif,MAAM,GAAG/rB,KAAK,GAAG,GAAG,CAAA;EAC9B,OAAA;EACF,KAAA;;EAEA;EACJ;EACA;EACA;EACE,GAAC,EAAE;EACDV,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAASilC,IAAIA,GAAG;EACrB,MAAA,IAAI,CAACn4B,EAAE,CAACqhB,KAAK,GAAG,IAAI,CAAA;EACtB,KAAA;;EAEA;EACJ;EACA;EACA;EACE,GAAC,EAAE;EACD7uB,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAASklC,MAAMA,GAAG;EACvB,MAAA,IAAI,CAACp4B,EAAE,CAACqhB,KAAK,GAAG,KAAK,CAAA;EACvB,KAAA;EACF,GAAC,EAAE;EACD7uB,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAASw1C,OAAOA,GAAG;EACxB,MAAA,OAAO,IAAI,CAAC1oC,EAAE,CAACqhB,KAAK,KAAK,IAAI,IAAI,IAAI,CAACrhB,EAAE,CAACif,MAAM,KAAK,CAAC,CAAA;EACvD,KAAA;EACF,GAAC,EAAE;EACDzsB,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASshC,SAASA,GAAG;EAC1B,MAAA,OAAO,CAAC,IAAI,CAACx0B,EAAE,CAACmzB,MAAM,IAAI,CAAC,IAAI,CAACnzB,EAAE,CAAC0xB,KAAK,CAAA;EAC1C,KAAA;EACF,GAAC,EAAE;EACDl/B,IAAAA,GAAG,EAAE,SAAS;EACdkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO,IAAI,CAACi1C,aAAa,CAAA;EAC3B,KAAA;EACF,GAAC,EAAE;EACDn2C,IAAAA,GAAG,EAAE,4BAA4B;EACjCU,IAAAA,KAAK,EAAE,SAAS01C,0BAA0BA,GAAG;QAC3C,IAAI,IAAI,CAAC7D,oBAAoB,KAAK,IAAI,IAAI,CAAC,IAAI,CAACG,2BAA2B,EAAE,OAAA;QAC7E,IAAI,CAAC2D,0BAA0B,GAAG,IAAI,CAAA;QACtC,IAAI,CAACC,0BAA0B,EAAE,CAAA;EACjC,MAAA,IAAI,CAAC/D,oBAAoB,GAAG1N,WAAW,CAAC,IAAI,CAACyR,0BAA0B,CAACn1C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC0xC,4BAA4B,CAAC,CAAA;EACxH,KAAA;EACF,GAAC,EAAE;EACD7yC,IAAAA,GAAG,EAAE,2BAA2B;EAChCU,IAAAA,KAAK,EAAE,SAASu1C,yBAAyBA,GAAG;EAC1C,MAAA,IAAI,IAAI,CAAC1D,oBAAoB,KAAK,IAAI,EAAE,OAAA;EACxCxN,MAAAA,aAAa,CAAC,IAAI,CAACwN,oBAAoB,CAAC,CAAA;QACxC,IAAI,CAACA,oBAAoB,GAAG,IAAI,CAAA;QAChC,IAAI,CAACD,eAAe,GAAG,KAAK,CAAA;EAC9B,KAAA;EACF,GAAC,EAAE;EACDtyC,IAAAA,GAAG,EAAE,4BAA4B;EACjCU,IAAAA,KAAK,EAAE,SAAS41C,0BAA0BA,GAAG;EAC3C,MAAA,IAAI7mC,MAAM,GAAG,IAAI,CAAC4mC,0BAA0B,CAAA;EAC5C,MAAA,IAAIr8B,GAAG,GAAG,IAAI,CAACxM,EAAE,CAACqiB,WAAW,CAAA;EAC7B,MAAA,IAAI,CAACyiB,eAAe,GAAG7iC,MAAM,KAAKuK,GAAG,CAAA;QACrC,IAAI,CAACq8B,0BAA0B,GAAGr8B,GAAG,CAAA;QACrC,IAAI,CAACq7B,sBAAsB,EAAE,CAAA;EAC/B,KAAA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACF,GAAC,EAAE;EACDr1C,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS61C,UAAUA,GAAG;QAC3B,IAAI,CAACnE,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,CAACiD,sBAAsB,EAAE,CAAA;EAC/B,KAAA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACF,GAAC,EAAE;EACDr1C,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAAS81C,aAAaA,GAAG;QAC9B,IAAI,CAACpE,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,CAACiD,sBAAsB,EAAE,CAAA;EAC/B,KAAA;;EAEA;EACF,GAAC,EAAE;EACDr1C,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS+1C,UAAUA,GAAG;QAC3B,IAAI,CAACpB,sBAAsB,EAAE,CAAA;EAC/B,KAAA;EACF,GAAC,EAAE;EACDr1C,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAASg2C,UAAUA,GAAG;QAC3B,IAAI,CAACC,uBAAuB,EAAE,CAAA;QAC9B,IAAI,CAACP,0BAA0B,EAAE,CAAA;QACjC,IAAI,CAACf,sBAAsB,EAAE,CAAA;EAC7B,MAAA,IAAI,CAACv/B,OAAO,CAAC4c,MAAM,CAACiD,aAAa,CAAC,CAAA;EACpC,KAAA;EACF,GAAC,EAAE;EACD31B,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAAS4vC,QAAQA,GAAG;QACzB,IAAI,CAAC3O,UAAU,IAAI,IAAI,CAACiV,UAAU,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAACX,yBAAyB,EAAE,CAAA;QAChC,IAAI,CAACZ,sBAAsB,EAAE,CAAA;EAC7B,MAAA,IAAI,CAACv/B,OAAO,CAAC4c,MAAM,CAACkD,cAAc,CAAC,CAAA;EACrC,KAAA;EACF,GAAC,EAAE;EACD51B,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAASm2C,UAAUA,GAAG;EAC3B,MAAA,IAAIhnB,WAAW,GAAG,IAAI,CAACqS,cAAc,EAAE,CAAA;EACvC;EACA,MAAA,IAAI,CAACP,UAAU,IAAI,IAAI,CAACiV,UAAU,CAAC/mB,WAAW,GAAG,IAAI,CAACsS,WAAW,EAAE,GAAG,CAAC,CAAC,CAAA;QACxE,IAAI,CAACrsB,OAAO,CAAC4c,MAAM,CAACmD,aAAa,EAAEhG,WAAW,CAAC,CAAA;QAC/C,IAAI,CAACwlB,sBAAsB,EAAE,CAAA;EAC/B,KAAA;EACF,GAAC,EAAE;EACDr1C,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASo2C,SAASA,GAAG;QAC1B,IAAI,CAACzB,sBAAsB,EAAE,CAAA;EAC7B,MAAA,IAAI,CAACv/B,OAAO,CAAC4c,MAAM,CAACoD,eAAe,CAAC,CAAA;EACtC,KAAA;EACF,GAAC,EAAE;EACD91B,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAAS8vC,QAAQA,GAAG;QACzB,IAAI,CAAC6E,sBAAsB,EAAE,CAAA;QAC7B,IAAI,CAACv/B,OAAO,CAAC4c,MAAM,CAAC+C,cAAc,EAAE,IAAI,CAAC/xB,IAAI,CAAC,CAAA;EAChD,KAAA;EACF,GAAC,EAAE;EACD1D,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASq2C,WAAWA,GAAG;QAC5B,IAAI,CAACjhC,OAAO,CAAC4c,MAAM,CAAC6B,kBAAkB,EAAE,IAAI,CAAC7wB,IAAI,CAAC,CAAA;EACpD,KAAA;EACF,GAAC,EAAE;EACD1D,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAASs2C,UAAUA,GAAG;QAC3B,IAAI,CAAClhC,OAAO,CAAC4c,MAAM,CAAC8B,iBAAiB,EAAE,IAAI,CAAC9wB,IAAI,CAAC,CAAA;EACnD,KAAA;EACF,GAAC,EAAE;EACD1D,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAAS2jC,QAAQA,GAAG;QACzB,IAAIsF,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,CAACn8B,EAAE,CAACypC,uBAAuB,EAAE,CAACx5B,IAAI,CAAC,YAAY;UACjDoT,GAAG,CAACS,IAAI,CAACqY,MAAM,CAACjmC,IAAI,EAAE,mBAAmB,CAAC,CAAA;EAC5C,OAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAUrF,CAAC,EAAE;UACvBwyB,GAAG,CAACU,IAAI,CAACoY,MAAM,CAACjmC,IAAI,EAAE,kBAAkB,EAAErF,CAAC,CAAC,CAAA;EAC9C,OAAC,CAAC,CAAA;EACJ,KAAA;EACF,GAAC,EAAE;EACD2B,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS4jC,OAAOA,GAAG;QACxB,IAAI2F,MAAM,GAAG,IAAI,CAAA;EACjB5lC,MAAAA,QAAQ,CAAC6yC,oBAAoB,EAAE,CAACz5B,IAAI,CAAC,YAAY;UAC/CoT,GAAG,CAACS,IAAI,CAAC2Y,MAAM,CAACvmC,IAAI,EAAE,kBAAkB,CAAC,CAAA;EAC3C,OAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAUrF,CAAC,EAAE;UACvBwyB,GAAG,CAACU,IAAI,CAAC0Y,MAAM,CAACvmC,IAAI,EAAE,iBAAiB,EAAErF,CAAC,CAAC,CAAA;EAC7C,OAAC,CAAC,CAAA;EACJ,KAAA;;EAEA;EACA;EACA;EACA;EACA;EACF,GAAC,EAAE;EACD2B,IAAAA,GAAG,EAAE,wBAAwB;EAC7BU,IAAAA,KAAK,EAAE,SAAS20C,sBAAsBA,GAAG;EACvC,MAAA,IAAI8B,SAAS,GAAG,IAAI,CAAC/E,YAAY,IAAI,CAAC,IAAI,CAAC5kC,EAAE,CAAC0xB,KAAK,IAAI,CAAC,IAAI,CAACsT,QAAQ,CAAA;EACrE,MAAA,IAAI4E,wBAAwB,GAAG,IAAI,CAAC5pC,EAAE,CAACC,UAAU,GAAG,IAAI,CAACD,EAAE,CAAC6pC,gBAAgB,CAAA;EAC5E,MAAA,IAAIC,sBAAsB,GAAG,CAAC,IAAI,CAAC9pC,EAAE,CAAC0xB,KAAK,IAAI,CAAC,IAAI,CAAC1xB,EAAE,CAACmzB,MAAM,IAAI,CAAC,IAAI,CAAC2R,eAAe,CAAA;EACvF,MAAA,IAAInT,SAAS,GAAGgY,SAAS,IAAIC,wBAAwB,CAAA;QACrD,IAAI,IAAI,CAAC1E,2BAA2B,EAAEvT,SAAS,GAAGA,SAAS,IAAIgY,SAAS,IAAIG,sBAAsB,CAAA;EAClG,MAAA,IAAI,IAAI,CAACjF,YAAY,KAAKlT,SAAS,EAAE;UACnC,IAAI,CAACkT,YAAY,GAAGlT,SAAS,CAAA;UAC7B,IAAIA,SAAS,EAAE,IAAI,CAACrpB,OAAO,CAAC4c,MAAM,CAACkC,kBAAkB,EAAE,IAAI,CAAClxB,IAAI,CAAC,CAAC,KAAK,IAAI,CAACoS,OAAO,CAAC4c,MAAM,CAACmC,mBAAmB,EAAE,IAAI,CAACnxB,IAAI,CAAC,CAAA;EAC5H,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD1D,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAASgwC,QAAQA,GAAG;QACzB,IAAIvL,IAAI,GAAG,IAAI,CAAC33B,EAAE,CAACwJ,KAAK,IAAIg7B,aAAa;UACvCzU,IAAI,GAAG4H,IAAI,CAAC5H,IAAI;UAChB9L,OAAO,GAAG0T,IAAI,CAAC1T,OAAO,CAAA;EACxB,MAAA,IAAI8lB,cAAc,GAAGha,IAAI,KAAKyU,aAAa,CAACzU,IAAI,CAAA;EAChD,MAAA,IAAIia,cAAc,GAAG,IAAI,CAACxa,WAAW,CAAC;EACpCO,QAAAA,IAAI,EAAEA,IAAI;EACVE,QAAAA,WAAW,EAAEhM,OAAO;EACpBkM,QAAAA,GAAG,EAAE,IAAI,CAACnwB,EAAE,CAACwJ,KAAK;EAClB8Z,QAAAA,KAAK,EAAEymB,cAAc,GAAGza,WAAW,CAACY,MAAM,CAACtN,IAAI,GAAG0M,WAAW,CAACY,MAAM,CAACT,KAAAA;EACvE,OAAC,CAAC,CAAA;QACF,IAAIsa,cAAc,EAAE1mB,GAAG,CAACU,IAAI,CAAC,IAAI,CAAC7tB,IAAI,EAAE,uBAAuB,EAAE8zC,cAAc,CAAC,CAAC,KAAK,IAAI,CAAC1hC,OAAO,CAAC4c,MAAM,CAACsD,cAAc,EAAEwhB,cAAc,CAAC,CAAA;EAC3I,KAAA;EACF,GAAC,EAAE;EACDx3C,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS27B,OAAOA,GAAG;QACxB,IAAI,CAAC8V,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC8D,yBAAyB,EAAE,CAAA;EAChC,MAAA,IAAI,CAACwB,qBAAqB,IAAI,IAAI,CAACjqC,EAAE,CAACkqC,UAAU,CAACx2B,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACu2B,qBAAqB,CAAC,CAAA;EAC1G,MAAA,IAAI,CAACrb,GAAG,CAAC/jB,GAAG,CAAC,aAAa,CAAC,CAAA;QAC3BnV,eAAa,CAAC+uC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;EAC9C,MAAA,IAAI,CAACzkC,EAAE,CAAChC,eAAe,CAAC,KAAK,CAAC,CAAA;EAC9B,MAAA,IAAI,CAACgC,EAAE,CAACkO,IAAI,EAAE,CAAC;QACf,IAAI,CAACg5B,IAAI,GAAG,IAAI,CAAA;EAChBxlB,MAAAA,WAAW,CAACG,OAAO,CAAC,IAAI,CAAC7hB,EAAE,CAAC,CAAA;EAC9B,KAAA;EACF,GAAC,EAAE;EACDxN,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAASk2C,UAAUA,CAACjgC,MAAM,EAAE;QACjC,IAAI,CAACb,OAAO,CAAC4c,MAAM,CAAC4C,YAAY,EAAE3e,MAAM,CAAC,CAAA;EACzC,MAAA,IAAI,CAACb,OAAO,CAAC4c,MAAM,CAACuD,kBAAkB,EAAE;EACtC,QAAA,KAAK,EAAEtf,MAAAA;EACT,OAAC,CAAC,CAAA;EACJ,KAAA;EACF,GAAC,EAAE;EACD3W,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAAS8iC,IAAIA,CAAC7Y,IAAI,EAAE;QACzB,IAAIA,IAAI,GAAG,CAAC,EAAE;EACZkG,QAAAA,GAAG,CAACU,IAAI,CAAC,+GAA+G,CAAC,CAAA;EACzH5G,QAAAA,IAAI,GAAG,IAAI,CAACwX,WAAW,EAAE,CAAA;EAC3B,OAAA;QACAxX,IAAI,IAAI,IAAI,CAACnd,EAAE,CAACmqC,QAAQ,CAAC56B,KAAK,CAAC,CAAC,CAAC,CAAA;EACjC,MAAA,IAAI,CAACvP,EAAE,CAACqiB,WAAW,GAAGlF,IAAI,CAAA;EAC5B,KAAA;EACF,GAAC,EAAE;EACD3qB,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAAS+iC,cAAcA,CAACC,UAAU,EAAE;QACzC,IAAI/Y,IAAI,GAAG,IAAI,CAACnd,EAAE,CAACm2B,QAAQ,IAAID,UAAU,GAAG,GAAG,CAAC,CAAA;EAChD,MAAA,IAAI,CAACF,IAAI,CAAC7Y,IAAI,CAAC,CAAA;EACjB,KAAA;EACF,GAAC,EAAE;EACD3qB,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAAS80C,iBAAiBA,GAAG;EAClC,MAAA,IAAIoC,QAAQ,GAAGpqB,mBAAmB,EAAE,CAAA;QACpC,IAAIoqB,QAAQ,KAAK,CAAC,EAAE,IAAI,CAACpU,IAAI,CAACoU,QAAQ,CAAC,CAAA;EACzC,KAAA;EACF,GAAC,EAAE;EACD53C,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASwhC,cAAcA,GAAG;EAC/B,MAAA,OAAO,IAAI,CAAC10B,EAAE,CAACqiB,WAAW,CAAA;EAC5B,KAAA;EACF,GAAC,EAAE;EACD7vB,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASyhC,WAAWA,GAAG;QAC5B,IAAI,IAAI,CAACqS,MAAM,EAAE;UACf,IAAI,IAAI,CAAChnC,EAAE,CAACmqC,QAAQ,CAACv5C,MAAM,GAAG,CAAC,EAAE;YAC/B,OAAO,IAAI,CAACoP,EAAE,CAACmqC,QAAQ,CAACE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAACrqC,EAAE,CAACmqC,QAAQ,CAAC56B,KAAK,CAAC,CAAC,CAAC,CAAA;EAC5D,SAAC,MAAM;EACL;EACA;YACA,IAAI,CAAC+6B,4BAA4B,EAAE,CAAA;EACrC,SAAA;EACF,OAAA;EACA,MAAA,OAAO,IAAI,CAACtqC,EAAE,CAACm2B,QAAQ,CAAA;EACzB,KAAA;EACF,GAAC,EAAE;EACD3jC,IAAAA,GAAG,EAAE,8BAA8B;EACnCU,IAAAA,KAAK,EAAE,SAASo3C,4BAA4BA,GAAG;QAC7C,IAAIxN,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,IAAI,CAACyN,4BAA4B,EAAE,OAAA;EACvC,MAAA,IAAI,CAACA,4BAA4B,GAAGt/B,UAAU,CAAC,YAAY;UACzD6xB,MAAM,CAACgL,eAAe,EAAE,CAAA;UACxBhL,MAAM,CAACyN,4BAA4B,GAAG,IAAI,CAAA;SAC3C,EAAE,IAAI,CAAC,CAAA;EACV,KAAA;EACF,GAAC,EAAE;EACD/3C,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAASiwC,aAAaA,GAAG;EAC9B,MAAA,IAAIhN,QAAQ,GAAG,IAAI,CAAC6Q,MAAM,GAAG,IAAI,CAACrS,WAAW,EAAE,GAAG,IAAI,CAAC30B,EAAE,CAACm2B,QAAQ,CAAA;EAClE,MAAA,IAAI,CAAC7tB,OAAO,CAAC4c,MAAM,CAACgC,mBAAmB,EAAE;EACvC6N,QAAAA,OAAO,EAAE,IAAI,CAAC/0B,EAAE,CAACqiB,WAAW;EAC5BmoB,QAAAA,KAAK,EAAErU,QAAAA;EACT,OAAC,EAAE,IAAI,CAACjgC,IAAI,CAAC,CAAA;EACf,KAAA;EACF,GAAC,EAAE;EACD1D,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASg1C,WAAWA,GAAG;QAC5B,IAAI,CAAC,IAAI,CAACloC,EAAE,CAACyqC,QAAQ,CAAC75C,MAAM,EAAE,OAAA;QAC9B,IAAI65C,QAAQ,GAAG,EAAE,CAAA;QACjB,IAAIC,WAAW,GAAG,CAAC,CAAA;EACnB,MAAA,KAAK,IAAI91C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACoL,EAAE,CAACyqC,QAAQ,CAAC75C,MAAM,EAAEgE,CAAC,EAAE,EAAE;UAChD61C,QAAQ,GAAG,EAAE,CAAC7zC,MAAM,CAACjB,kBAAkB,CAAC80C,QAAQ,CAAC,EAAE,CAAC;YAClDl7B,KAAK,EAAE,IAAI,CAACvP,EAAE,CAACyqC,QAAQ,CAACl7B,KAAK,CAAC3a,CAAC,CAAC;YAChCy1C,GAAG,EAAE,IAAI,CAACrqC,EAAE,CAACyqC,QAAQ,CAACJ,GAAG,CAACz1C,CAAC,CAAA;EAC7B,SAAC,CAAC,CAAC,CAAA;EACH,QAAA,IAAI,IAAI,CAACoL,EAAE,CAACqiB,WAAW,IAAIooB,QAAQ,CAAC71C,CAAC,CAAC,CAAC2a,KAAK,IAAI,IAAI,CAACvP,EAAE,CAACqiB,WAAW,IAAIooB,QAAQ,CAAC71C,CAAC,CAAC,CAACy1C,GAAG,EAAEK,WAAW,GAAG91C,CAAC,CAAA;EACzG,OAAA;EACA,MAAA,IAAI4b,QAAQ,GAAG;EACbjB,QAAAA,KAAK,EAAEk7B,QAAQ,CAACC,WAAW,CAAC,CAACn7B,KAAK;EAClCwlB,QAAAA,OAAO,EAAE0V,QAAQ,CAACC,WAAW,CAAC,CAACL,GAAG;EAClCG,QAAAA,KAAK,EAAE,IAAI,CAACxqC,EAAE,CAACm2B,QAAAA;SAChB,CAAA;QACD,IAAI,CAAC7tB,OAAO,CAAC4c,MAAM,CAAC+B,iBAAiB,EAAEzW,QAAQ,EAAEi6B,QAAQ,CAAC,CAAA;EAC5D,KAAA;EACF,GAAC,EAAE;EACDj4C,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAASy3C,QAAQA,CAACxjC,GAAG,EAAE;EAC5B,MAAA,IAAIkR,SAAS,GAAGosB,UAAU,CAACoC,gBAAgB,CAAC1/B,GAAG,EAAEg9B,SAAS,EAAE,IAAI,CAACr6B,OAAO,CAACgD,QAAQ,CAAC,CAAA;QAClF,IAAIuL,SAAS,CAACznB,MAAM,KAAK,CAAC,EAAEynB,SAAS,GAAGosB,UAAU,CAACoC,gBAAgB,CAAC1/B,GAAG,EAAEk9B,eAAe,EAAE,IAAI,CAACv6B,OAAO,CAACgD,QAAQ,CAAC,CAAA;EAChH,MAAA,IAAIA,QAAQ,GAAGuL,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACjC,OAAOvL,QAAQ,CAACnN,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;EAC/B,KAAA;EACF,GAAC,EAAE;EACDnN,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS2uC,MAAMA,GAAG;QACvB,IAAI,IAAI,CAAC8G,aAAa,EAAE,OAAA;QACxB,IAAI,CAACA,aAAa,GAAG,IAAI,CAAA;QACzB,IAAI,CAACrgC,OAAO,CAAC4c,MAAM,CAACiC,cAAc,EAAE,IAAI,CAACjxB,IAAI,CAAC,CAAA;EAChD,KAAA;EACF,GAAC,EAAE;EACD1D,IAAAA,GAAG,EAAE,yBAAyB;EAC9BU,IAAAA,KAAK,EAAE,SAASi2C,uBAAuBA,GAAG;EACxC;QACA,IAAI,IAAI,CAACyB,YAAY,IAAI,CAAC,IAAI,CAACjD,UAAU,EAAE;UACzC,IAAI,IAAI,CAAC/V,uBAAuB,EAAE;EAChC,UAAA,IAAI,CAACtpB,OAAO,CAAC4c,MAAM,CAAC2D,2BAA2B,CAAC,CAAA;EAChD,UAAA,IAAIkJ,OAAO,GAAG,IAAI,CAACD,qBAAqB,CAAA;YACxC,IAAI,CAACA,qBAAqB,GAAGC,OAAO,CAAA;YACpC,IAAI,CAACkY,qBAAqB,GAAG,IAAI,CAACY,sBAAsB,CAACl3C,IAAI,CAAC,IAAI,CAAC,CAAA;EACnE,UAAA,IAAI,CAACqM,EAAE,CAACkqC,UAAU,CAAChqC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC+pC,qBAAqB,CAAC,CAAA;EAC3E,SAAA;UACA,IAAI,CAACtC,UAAU,GAAG,IAAI,CAAA;EACxB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDn1C,IAAAA,GAAG,EAAE,wBAAwB;EAC7BU,IAAAA,KAAK,EAAE,SAAS23C,sBAAsBA,GAAG;EACvC,MAAA,IAAIjX,MAAM,GAAG,IAAI,CAAC/B,oBAAoB,CAAA;QACtC,IAAI8B,KAAK,GAAGC,MAAM,CAACp3B,IAAI,CAAC,UAAUm3B,KAAK,EAAE;EACvC,QAAA,OAAOA,KAAK,CAACA,KAAK,CAACmX,IAAI,KAAK,SAAS,CAAA;EACvC,OAAC,CAAC,IAAI;EACJ93B,QAAAA,EAAE,EAAE,CAAC,CAAA;SACN,CAAA;EACD,MAAA,IAAI,IAAI,CAACiyB,UAAU,KAAKtR,KAAK,CAAC3gB,EAAE,EAAE;EAChC,QAAA,IAAI,CAACiyB,UAAU,GAAGtR,KAAK,CAAC3gB,EAAE,CAAA;EAC1B,QAAA,IAAI,CAAC1K,OAAO,CAAC4c,MAAM,CAAC4D,yBAAyB,EAAE;YAC7C9V,EAAE,EAAE2gB,KAAK,CAAC3gB,EAAAA;EACZ,SAAC,CAAC,CAAA;EACJ,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDxgB,IAAAA,GAAG,EAAE,cAAc;EACnBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO,IAAI,CAACwC,IAAI,KAAKuuC,UAAU,CAAC/xC,SAAS,CAACwD,IAAI,CAAA;EAChD,KAAA;EACF,GAAC,EAAE;EACD1D,IAAAA,GAAG,EAAE,sBAAsB;EAC3BkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,IAAIsf,EAAE,GAAG,CAAC,CAAA;EACV,MAAA,IAAI+e,OAAO,GAAG,SAASA,OAAOA,GAAG;EAC/B,QAAA,OAAO/e,EAAE,EAAE,CAAA;SACZ,CAAA;EACD,MAAA,IAAIk3B,UAAU,GAAG,IAAI,CAAClqC,EAAE,CAACkqC,UAAU,GAAGn5C,KAAK,CAAC0D,IAAI,CAAC,IAAI,CAACuL,EAAE,CAACkqC,UAAU,CAAC,GAAG,EAAE,CAAA;EACzE,MAAA,OAAOA,UAAU,CAAC/0C,MAAM,CAAC,UAAUw+B,KAAK,EAAE;UACxC,OAAOA,KAAK,CAAC4T,IAAI,KAAK,WAAW,IAAI5T,KAAK,CAAC4T,IAAI,KAAK,UAAU,CAAA;EAChE,OAAC,CAAC,CAAClsC,GAAG,CAAC,UAAUs4B,KAAK,EAAE;UACtB,OAAO;YACL3gB,EAAE,EAAE+e,OAAO,EAAE;YACb77B,IAAI,EAAEy9B,KAAK,CAAC6T,KAAK;EACjB7T,UAAAA,KAAK,EAAEA,KAAAA;WACR,CAAA;EACH,OAAC,CAAC,CAAA;EACJ,KAAA;EACF,GAAC,EAAE;EACDnhC,IAAAA,GAAG,EAAE,uBAAuB;EAC5BkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO,IAAI,CAACuxC,UAAU,CAAA;OACvB;EACDhyB,IAAAA,GAAG,EAAE,SAASA,GAAGA,CAAC8e,OAAO,EAAE;EACzB,MAAA,IAAI,CAACvR,QAAQ,CAACuR,OAAO,CAAC,EAAE,OAAA;EACxB,MAAA,IAAI6B,MAAM,GAAG,IAAI,CAAC/B,oBAAoB,CAAA;EACtC,MAAA,IAAIkZ,YAAY,CAAA;;EAEhB;EACA,MAAA,IAAIhZ,OAAO,KAAK,CAAC,CAAC,EAAE;EAClBgZ,QAAAA,YAAY,GAAGnX,MAAM,CAACp3B,IAAI,CAAC,UAAUm3B,KAAK,EAAE;EAC1C,UAAA,OAAOA,KAAK,CAAC3gB,EAAE,KAAK+e,OAAO,CAAA;EAC7B,SAAC,CAAC,CAAA;EACF,QAAA,IAAI,CAACgZ,YAAY,EAAE,OAAO;;UAE1B,IAAIA,YAAY,CAACpX,KAAK,CAACmX,IAAI,KAAK,SAAS,EAAE,OAAO;EACpD,OAAA;;EAEA;EACA;EACAlX,MAAAA,MAAM,CAACz+B,MAAM,CAAC,UAAUw+B,KAAK,EAAE;EAC7B,QAAA,OAAOA,KAAK,CAACA,KAAK,CAACmX,IAAI,KAAK,QAAQ,CAAA;EACtC,OAAC,CAAC,CAACz1C,OAAO,CAAC,UAAUs+B,KAAK,EAAE;EAC1B,QAAA,OAAOA,KAAK,CAACA,KAAK,CAACmX,IAAI,GAAG,QAAQ,CAAA;EACpC,OAAC,CAAC,CAAA;QACFC,YAAY,KAAKA,YAAY,CAACpX,KAAK,CAACmX,IAAI,GAAG,SAAS,CAAC,CAAA;QACrD,IAAI,CAAC7F,UAAU,GAAGlT,OAAO,CAAA;EACzB,MAAA,IAAI,CAACzpB,OAAO,CAAC4c,MAAM,CAAC4D,yBAAyB,EAAE;EAC7C9V,QAAAA,EAAE,EAAE+e,OAAAA;EACN,OAAC,CAAC,CAAA;EACJ,KAAA;EACF,GAAC,EAAE;EACDv/B,IAAAA,GAAG,EAAE,UAAU;EACfkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAOo6B,IAAI,CAACmW,UAAU,CAAC,CAAA;EACzB,KAAA;EACF,GAAC,EAAE;EACDzxC,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS66B,MAAMA,GAAG;EACvB,MAAA,IAAI,IAAI,CAACjkB,OAAO,CAAConB,QAAQ,CAACqU,kBAAkB,EAAE;EAC5C,QAAA,IAAI,CAAC3W,GAAG,CAACjkB,EAAE,CAAC,aAAa,EAAE,YAAY;EACrC,UAAA,OAAO,KAAK,CAAA;EACd,SAAC,CAAC,CAAA;EACJ,OAAA;QACA,IAAI,IAAI,CAAC28B,eAAe,IAAI,IAAI,CAACA,eAAe,CAAC12C,MAAM,GAAG,CAAC,EAAE;UAC3D,IAAI,CAACg+B,GAAG,CAAChzB,IAAI,CAAC,IAAI,CAACsyB,QAAQ,CAAC;YAC1B0F,MAAM,EAAE,IAAI,CAAC0T,eAAAA;EACf,SAAC,CAAC,CAAC,CAAA;EACL,OAAA;QACA,IAAI,CAACzF,MAAM,EAAE,CAAA;QACb,IAAI//B,KAAK,GAAGqsB,MAAM,CAACC,WAAW,CAAC8V,YAAU,CAACluC,QAAQ,EAAE,EAAE;EACpDq4B,QAAAA,OAAO,EAAE,IAAI,CAACvkB,OAAO,CAACukB,OAAAA;EACxB,OAAC,CAAC,CAAA;QACF,IAAI,CAACO,GAAG,CAACnsB,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;EACzB,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACi2B,QAAQ,CAAC,CAAA;EACX0M,UAAU,CAACoC,gBAAgB,GAAG,YAAY;IACxC,IAAID,WAAW,GAAG7yC,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;EACxF,EAAA,IAAIi3C,oBAAoB,GAAGj3C,SAAS,CAACnD,MAAM,GAAG,CAAC,GAAGmD,SAAS,CAAC,CAAC,CAAC,GAAGuT,SAAS,CAAA;EAC1E,EAAA,IAAIwF,QAAQ,GAAG/Y,SAAS,CAACnD,MAAM,GAAG,CAAC,GAAGmD,SAAS,CAAC,CAAC,CAAC,GAAGuT,SAAS,CAAA;IAC9D,IAAI2jC,SAAS,GAAG,CAACrE,WAAW,CAACjnC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC7G,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;EACvE,EAAA,IAAIuf,SAAS,GAAGvL,QAAQ,IAAIm+B,SAAS,IAAID,oBAAoB,CAACC,SAAS,CAACxwC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;IAC5F,OAAO4d,SAAS,CAACxmB,WAAW,KAAKd,KAAK,GAAGsnB,SAAS,GAAG,CAACA,SAAS,CAAC,CAAA;EAClE,CAAC,CAAA;EACDosB,UAAU,CAACyG,QAAQ,GAAG,UAAU5xC,IAAI,EAAE0xC,oBAAoB,EAAEpE,WAAW,EAAE95B,QAAQ,EAAE;IACjF,IAAIuL,SAAS,GAAGosB,UAAU,CAACoC,gBAAgB,CAACD,WAAW,EAAEoE,oBAAoB,EAAEl+B,QAAQ,CAAC,CAAA;EACxF,EAAA,IAAIq+B,KAAK,GAAGt0C,QAAQ,CAACa,aAAa,CAAC4B,IAAI,CAAC,CAAA;IACxC,OAAO,CAAC,CAAC+e,SAAS,CAACljB,MAAM,CAAC,UAAUi2C,SAAS,EAAE;EAC7C,IAAA,OAAO,CAAC,CAACD,KAAK,CAACE,WAAW,CAACD,SAAS,CAAC,CAAC/wC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;KACxD,CAAC,CAAC,CAAC,CAAC,CAAA;EACP,CAAC,CAAA;EACDoqC,UAAU,CAAClM,OAAO,GAAG,UAAUqO,WAAW,EAAE95B,QAAQ,EAAE;IACpD,OAAO23B,UAAU,CAACyG,QAAQ,CAAC,OAAO,EAAE7G,eAAe,EAAEuC,WAAW,EAAE95B,QAAQ,CAAC,IAAI23B,UAAU,CAACyG,QAAQ,CAAC,OAAO,EAAE/G,SAAS,EAAEyC,WAAW,EAAE95B,QAAQ,CAAC,CAAA;EAC/I,CAAC,CAAA;;EAED;EACA,IAAIw+B,UAAU,gBAAgB,UAAUC,WAAW,EAAE;IACnD,SAASD,UAAUA,GAAG;EACpBv5C,IAAAA,iBAAe,CAAC,IAAI,EAAEu5C,UAAU,CAAC,CAAA;EACjC,IAAA,OAAOj6C,YAAU,CAAC,IAAI,EAAEi6C,UAAU,EAAEv3C,SAAS,CAAC,CAAA;EAChD,GAAA;EACAI,EAAAA,WAAS,CAACm3C,UAAU,EAAEC,WAAW,CAAC,CAAA;EAClC,EAAA,OAAO94C,cAAY,CAAC64C,UAAU,EAAE,CAAC;EAC/B94C,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,aAAa,CAAA;EACtB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,SAAS;EACdkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,OAAO,CAAA;EAChB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,aAAa;EAClBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASs4C,cAAcA,GAAG;QAC/B,IAAI,CAAC/iC,QAAQ,CAAClE,IAAI,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;QAC1D,IAAI,CAACkE,QAAQ,CAAC0/B,WAAW,GAAG,IAAI,CAACC,aAAa,EAAE,CAAA;EAChD,MAAA,IAAI,CAAC9/B,OAAO,CAAC4c,MAAM,CAACoC,uBAAuB,CAAC,CAAA;EAC9C,KAAA;EACF,GAAC,EAAE;EACD90B,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAAS+gC,eAAeA,GAAG;QAChC,OAAO8D,QAAQ,CAACU,GAAG,CAAA;EACrB,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACgM,UAAU,CAAC,CAAA;EACb6G,UAAU,CAAC/S,OAAO,GAAG,UAAUqO,WAAW,EAAE95B,QAAQ,EAAE;EACpD,EAAA,IAAI2+B,SAAS,GAAG;MACd,KAAK,EAAE,CAAC,WAAW,CAAC;EACpB,IAAA,KAAK,EAAE,CAAC,WAAW,EAAE,yBAAyB,CAAC;MAC/C,KAAK,EAAE,CAAC,8BAA8B,CAAC;MACvC,KAAK,EAAE,CAAC,WAAW,CAAA;KACpB,CAAA;IACD,OAAOhH,UAAU,CAACyG,QAAQ,CAAC,OAAO,EAAEO,SAAS,EAAE7E,WAAW,EAAE95B,QAAQ,CAAC,CAAA;EACvE,CAAC,CAAA;EAED,IAAI4+B,YAAU,GAAG,gEAAgE,CAAA;EAEjF,IAAIC,OAAO,gBAAgB,UAAUjH,SAAS,EAAE;IAC9C,SAASiH,OAAOA,CAACp9B,MAAM,EAAE;EACvB,IAAA,IAAIuO,KAAK,CAAA;EACT/qB,IAAAA,iBAAe,CAAC,IAAI,EAAE45C,OAAO,CAAC,CAAA;MAC9B7uB,KAAK,GAAGzrB,YAAU,CAAC,IAAI,EAAEs6C,OAAO,EAAE,CAACp9B,MAAM,CAAC,CAAC,CAAA;EAC3CuO,IAAAA,KAAK,CAAC9c,EAAE,CAACmH,GAAG,GAAGoH,MAAM,CAACpH,GAAG,CAAA;EACzB,IAAA,OAAO2V,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,WAAS,CAACw3C,OAAO,EAAEjH,SAAS,CAAC,CAAA;EAC7B,EAAA,OAAOjyC,cAAY,CAACk5C,OAAO,EAAE,CAAC;EAC5Bn5C,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,UAAU,CAAA;EACnB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,SAAS;EACdkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,KAAK,CAAA;EACd,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,YAAY;EACjBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,eAAe,EAAE,EAAA;SAClB,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,QAAQ;EACbkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,MAAM,EAAE,SAAS;EACjB,QAAA,OAAO,EAAE,UAAU;EACnB,QAAA,OAAO,EAAE,UAAA;SACV,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAAS+gC,eAAeA,GAAG;QAChC,OAAO8D,QAAQ,CAACG,KAAK,CAAA;EACvB,KAAA;EACF,GAAC,EAAE;EACD1lC,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS66B,MAAMA,GAAG;QACvB,IAAIjsB,KAAK,GAAGqsB,MAAM,CAACC,WAAW,CAACsd,YAAU,CAAC11C,QAAQ,EAAE,EAAE;EACpDq4B,QAAAA,OAAO,EAAE,IAAI,CAACvkB,OAAO,CAACukB,OAAAA;EACxB,OAAC,CAAC,CAAA;QACF,IAAI,CAACO,GAAG,CAACnsB,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAACwG,OAAO,CAAC4c,MAAM,CAACiC,cAAc,EAAE,IAAI,CAACjxB,IAAI,CAAC,CAAA;EAC9C,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACD1D,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS04C,OAAOA,GAAG;QACxB,IAAI,CAACtjC,OAAO,CAAC4c,MAAM,CAAC+C,cAAc,EAAE,IAAI,CAAC/xB,IAAI,CAAC,CAAA;EAChD,KAAA;EACF,GAAC,EAAE;EACD1D,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAASgwC,QAAQA,CAACjuB,GAAG,EAAE;QAC5B,IAAI3O,CAAC,GAAG2O,GAAG,CAAC3b,IAAI,KAAK,OAAO,GAAG,YAAY,GAAG,iBAAiB,CAAA;EAC/D,MAAA,IAAI,CAACgP,OAAO,CAAC4c,MAAM,CAACsD,cAAc,EAAE;EAClCvE,QAAAA,OAAO,EAAE3d,CAAAA;EACX,OAAC,EAAE,IAAI,CAACpQ,IAAI,CAAC,CAAA;EACf,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAAC6hC,QAAQ,CAAC,CAAA;EACX4T,OAAO,CAACpT,OAAO,GAAG,UAAUsT,QAAQ,EAAE;EACpC,EAAA,OAAO,qDAAqD,CAAC11C,IAAI,CAAC01C,QAAQ,CAAC,CAAA;EAC7E,CAAC,CAAA;EAED,IAAIC,QAAQ,GAAG,kFAAkF,CAAA;EAEjG,IAAIC,UAAQ,GAAG,ieAAie,CAAA;EAEhf,IAAIC,IAAI,gBAAgB,UAAUtH,SAAS,EAAE;IAC3C,SAASsH,IAAIA,GAAG;EACd,IAAA,IAAIlvB,KAAK,CAAA;EACT/qB,IAAAA,iBAAe,CAAC,IAAI,EAAEi6C,IAAI,CAAC,CAAA;MAC3B,KAAK,IAAIjvB,IAAI,GAAGhpB,SAAS,CAACnD,MAAM,EAAEkM,IAAI,GAAG,IAAI/L,KAAK,CAACgsB,IAAI,CAAC,EAAEC,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAGD,IAAI,EAAEC,IAAI,EAAE,EAAE;EACvFlgB,MAAAA,IAAI,CAACkgB,IAAI,CAAC,GAAGjpB,SAAS,CAACipB,IAAI,CAAC,CAAA;EAC9B,KAAA;EACAF,IAAAA,KAAK,GAAGzrB,YAAU,CAAC,IAAI,EAAE26C,IAAI,EAAE,EAAE,CAACp1C,MAAM,CAACkG,IAAI,CAAC,CAAC,CAAA;EAC/CggB,IAAAA,KAAK,CAACmvB,cAAc,GAAG,CAAC,CAAC,CAAA;EACzB,IAAA,OAAOnvB,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,WAAS,CAAC63C,IAAI,EAAEtH,SAAS,CAAC,CAAA;EAC1B,EAAA,OAAOjyC,cAAY,CAACu5C,IAAI,EAAE,CAAC;EACzBx5C,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,OAAO,CAAA;EAChB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,UAAU;EACfkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAOo6B,IAAI,CAACge,QAAQ,CAAC,CAAA;EACvB,KAAA;EACF,GAAC,EAAE;EACDt5C,IAAAA,GAAG,EAAE,YAAY;EACjBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,YAAY,EAAE,EAAA;SACf,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS66B,MAAMA,GAAG;EACvB,MAAA,IAAIme,oBAAoB,GAAG,IAAI,CAACpiC,OAAO,CAACqiC,2BAA2B,IAAI,IAAI,CAACtc,IAAI,CAACv+B,CAAC,CAAC,wBAAwB,CAAC,CAAA;QAC5G,IAAIwQ,KAAK,GAAGqsB,MAAM,CAACC,WAAW,CAAC2d,UAAQ,CAAC/1C,QAAQ,EAAE,EAAE;EAClDq4B,QAAAA,OAAO,EAAE,IAAI,CAACvkB,OAAO,CAACukB,OAAAA;EACxB,OAAC,CAAC,CAAA;QACF,IAAI,CAACO,GAAG,CAACnsB,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC8sB,GAAG,CAAChzB,IAAI,CAAC,IAAI,CAACsyB,QAAQ,CAAC;EAC1BjK,QAAAA,OAAO,EAAEioB,oBAAAA;EACX,OAAC,CAAC,CAAC,CAAA;QACH,IAAI,CAAC5jC,OAAO,CAAC4c,MAAM,CAACiC,cAAc,EAAE,IAAI,CAACjxB,IAAI,CAAC,CAAA;EAC9C,MAAA,IAAIk2C,WAAW,GAAG,CAAC,EAAE,IAAI,CAACtiC,OAAO,CAACi8B,MAAM,IAAI,IAAI,CAACj8B,OAAO,CAACi8B,MAAM,CAACqG,WAAW,CAAC,CAAA;EAC5E,MAAA,IAAI,IAAI,CAACtiC,OAAO,CAAC+5B,QAAQ,IAAI,CAACuI,WAAW,EAAE,IAAI,CAACC,QAAQ,EAAE,CAAA;EAC1D,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACD75C,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAASo5C,MAAMA,GAAG;QACvB,IAAI,CAACL,cAAc,GAAG,CAAC,IAAI,CAACA,cAAc,GAAG,CAAC,IAAI,CAAC,CAAA;QACnD,IAAI,IAAI,CAACA,cAAc,EAAE;EACvB;EACA,QAAA,OAAA;EACF,OAAA;QACA,IAAIM,KAAK,GAAG,IAAI,CAACjwC,OAAO,CAACkwC,eAAe,CAAC,IAAI,CAAClwC,OAAO,CAACmwC,MAAM,CAAC9nC,KAAK,EAAE,IAAI,CAACrI,OAAO,CAACmwC,MAAM,CAAC3nC,MAAM,CAAC,CAAA;EAC/F,MAAA,IAAI4nC,QAAQ,CAAA;QACZ,IAAI;UACFA,QAAQ,GAAG,IAAIC,WAAW,CAACJ,KAAK,CAAC3oC,IAAI,CAACgpC,MAAM,CAAC,CAAA;SAC9C,CAAC,OAAOpzB,GAAG,EAAE;UACZkzB,QAAQ,GAAG,IAAIC,WAAW,CAAC,IAAI,CAACrwC,OAAO,CAACmwC,MAAM,CAAC9nC,KAAK,GAAG,IAAI,CAACrI,OAAO,CAACmwC,MAAM,CAAC3nC,MAAM,GAAG,CAAC,CAAC,CAAA;EACtF,QAAA,IAAIlB,IAAI,GAAG2oC,KAAK,CAAC3oC,IAAI,CAAA;UACrB,KAAK,IAAIhP,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgP,IAAI,CAAChT,MAAM,EAAEgE,CAAC,EAAE,EAAE83C,QAAQ,CAAC93C,CAAC,CAAC,GAAGgP,IAAI,CAAChP,CAAC,CAAC,CAAA;EAC7D,OAAA;EACA,MAAA,IAAI8G,GAAG,GAAGgxC,QAAQ,CAAC97C,MAAM;UACvB0V,CAAC,GAAG1B,IAAI,CAACioC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI7nB,GAAG,GAAG,CAAC;EACTd,QAAAA,KAAK,GAAG,CAAC,CAAA;QACX,KAAK,IAAI4oB,EAAE,GAAG,CAAC,EAAEA,EAAE,GAAGpxC,GAAG,GAAG;UAC1B,IAAIspB,GAAG,GAAG,CAAC,EAAE;EACXA,UAAAA,GAAG,GAAG1e,CAAC,GAAG1B,IAAI,CAACioC,MAAM,EAAE,CAAA;EACvB,UAAA,IAAIj5C,CAAC,GAAGgR,IAAI,CAACmoC,GAAG,CAACnoC,IAAI,CAACioC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAA;EACpC3oB,UAAAA,KAAK,GAAG,GAAG,GAAGtwB,CAAC,IAAI,EAAE,CAAA;EACvB,SAAA;EACAoxB,QAAAA,GAAG,IAAI,CAAC,CAAA;EACR0nB,QAAAA,QAAQ,CAACI,EAAE,EAAE,CAAC,GAAG5oB,KAAK,CAAA;EACxB,OAAA;QACA,IAAI,CAAC5nB,OAAO,CAAC0wC,YAAY,CAACT,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;EACxC,KAAA;EACF,GAAC,EAAE;EACD/5C,IAAAA,GAAG,EAAE,OAAO;EACZU,IAAAA,KAAK,EAAE,SAAS+5C,KAAKA,GAAG;QACtB,IAAIzX,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,IAAI,CAAC0X,KAAK,EAAE,OAAA;QAChB,IAAI,CAACZ,MAAM,EAAE,CAAA;EACb,MAAA,IAAI,CAACa,gBAAgB,GAAG9wB,qBAAqB,CAAC,YAAY;EACxD,QAAA,OAAOmZ,MAAM,CAACyX,KAAK,EAAE,CAAA;EACvB,OAAC,CAAC,CAAA;EACJ,KAAA;EACF,GAAC,EAAE;EACDz6C,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS27B,OAAOA,GAAG;QACxB,IAAI,IAAI,CAACse,gBAAgB,EAAE;EACzB3wB,QAAAA,oBAAoB,CAAC,IAAI,CAAC2wB,gBAAgB,CAAC,CAAA;UAC3C,IAAI,CAACD,KAAK,GAAG,IAAI,CAAA;EACnB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD16C,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAASm5C,QAAQA,GAAG;EACzB,MAAA,IAAI,CAACI,MAAM,GAAG,IAAI,CAAC7d,GAAG,CAACpyB,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3D,IAAI,CAACF,OAAO,GAAG,IAAI,CAACmwC,MAAM,CAACW,UAAU,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,CAACH,KAAK,EAAE,CAAA;EACd,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAAClV,QAAQ,CAAC,CAAA;EACXiU,IAAI,CAACzT,OAAO,GAAG,UAAU37B,MAAM,EAAE;EAC/B;EACA,EAAA,OAAO,IAAI,CAAA;EACb,CAAC,CAAA;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAIywC,OAAO,gBAAgB,UAAUC,WAAW,EAAE;IAChD,SAASD,OAAOA,CAAC9d,IAAI,EAAE;EACrB,IAAA,IAAIzS,KAAK,CAAA;EACT/qB,IAAAA,iBAAe,CAAC,IAAI,EAAEs7C,OAAO,CAAC,CAAA;MAC9BvwB,KAAK,GAAGzrB,YAAU,CAAC,IAAI,EAAEg8C,OAAO,EAAE,CAAC9d,IAAI,CAAC,CAAC,CAAA;MACzCzS,KAAK,CAACywB,mBAAmB,EAAE,CAAA;EAC3B,IAAA,OAAOzwB,KAAK,CAAA;EACd,GAAA;EACA;EACF;EACA;EACA;EACA;EACA;EACE3oB,EAAAA,WAAS,CAACk5C,OAAO,EAAEC,WAAW,CAAC,CAAA;EAC/B,EAAA,OAAO76C,cAAY,CAAC46C,OAAO,EAAE,CAAC;EAC5B76C,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,SAAS,CAAA;EAClB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,GAAG;EACRU,IAAAA,KAAK,EAAE,SAAS5B,CAACA,CAACkB,GAAG,EAAE;EACrB,MAAA,IAAIi1C,IAAI,GAAG,IAAI,CAAC+F,SAAS,EAAE,CAAA;EAC3B,MAAA,IAAIC,YAAY,GAAG,IAAI,CAACC,SAAS,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI7d,IAAI,GAAG4X,IAAI,IAAI,IAAI,CAACiG,SAAS,CAACjG,IAAI,CAAC,IAAIgG,YAAY,CAAA;QACvD,OAAO5d,IAAI,CAACr9B,GAAG,CAAC,IAAIi7C,YAAY,CAACj7C,GAAG,CAAC,IAAIA,GAAG,CAAA;EAC9C,KAAA;EACF,GAAC,EAAE;EACDA,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASs6C,SAASA,GAAG;QAC1B,OAAO,IAAI,CAACje,IAAI,CAACzlB,OAAO,CAAC8W,QAAQ,IAAID,kBAAkB,EAAE,CAAA;EAC3D,KAAA;EACF,GAAC,EAAE;EACDnuB,IAAAA,GAAG,EAAE,qBAAqB;EAC1BU,IAAAA,KAAK,EAAE,SAASq6C,mBAAmBA,GAAG;EACpC,MAAA,IAAII,eAAe,GAAG;EACpB,QAAA,IAAI,EAAE;EACJ,UAAA,MAAM,EAAE,MAAM;EACd,UAAA,cAAc,EAAE,cAAc;EAC9B,UAAA,UAAU,EAAE,UAAU;EACtB,UAAA,wBAAwB,EAAE,iGAAiG;EAC3H,UAAA,qBAAqB,EAAE,uBAAuB;EAC9C,UAAA,uBAAuB,EAAE,+CAAA;WAC1B;EACD,QAAA,IAAI,EAAE;EACJ,UAAA,MAAM,EAAE,MAAM;EACd,UAAA,cAAc,EAAE,uBAAuB;EACvC,UAAA,UAAU,EAAE,aAAa;EACzB,UAAA,wBAAwB,EAAE,wGAAwG;EAClI,UAAA,qBAAqB,EAAE,oCAAoC;EAC3D,UAAA,uBAAuB,EAAE,0CAAA;WAC1B;EACD,QAAA,IAAI,EAAE;EACJ,UAAA,MAAM,EAAE,SAAS;EACjB,UAAA,cAAc,EAAE,uBAAuB;EACvC,UAAA,UAAU,EAAE,YAAY;EACxB,UAAA,wBAAwB,EAAE,mGAAmG;EAC7H,UAAA,qBAAqB,EAAE,sCAAsC;EAC7D,UAAA,uBAAuB,EAAE,iDAAA;WAC1B;EACD,QAAA,OAAO,EAAE;EACP,UAAA,MAAM,EAAE,MAAM;EACd,UAAA,cAAc,EAAE,gBAAgB;EAChC,UAAA,UAAU,EAAE,eAAe;EAC3B,UAAA,wBAAwB,EAAE,mGAAmG;EAC7H,UAAA,qBAAqB,EAAE,kCAAkC;EACzD,UAAA,uBAAuB,EAAE,8CAAA;WAC1B;EACD,QAAA,IAAI,EAAE;EACJ,UAAA,MAAM,EAAE,YAAY;EACpB,UAAA,cAAc,EAAE,mBAAmB;EACnC,UAAA,UAAU,EAAE,eAAe;EAC3B,UAAA,wBAAwB,EAAE,6FAA6F;EACvH,UAAA,qBAAqB,EAAE,kCAAkC;EACzD,UAAA,uBAAuB,EAAE,iDAAA;WAC1B;EACD,QAAA,IAAI,EAAE;EACJ,UAAA,MAAM,EAAE,aAAa;EACrB,UAAA,cAAc,EAAE,iBAAiB;EACjC,UAAA,UAAU,EAAE,WAAW;EACvB,UAAA,wBAAwB,EAAE,iGAAA;WAC3B;EACD,QAAA,IAAI,EAAE;EACJ,UAAA,MAAM,EAAE,SAAS;EACjB,UAAA,cAAc,EAAE,eAAe;EAC/B,UAAA,UAAU,EAAE,WAAW;EACvB,UAAA,wBAAwB,EAAE,6FAA6F;EACvH,UAAA,qBAAqB,EAAE,qCAAqC;EAC5D,UAAA,uBAAuB,EAAE,8CAAA;WAC1B;EACD,QAAA,IAAI,EAAE;EACJ,UAAA,MAAM,EAAE,WAAW;EACnB,UAAA,cAAc,EAAE,kBAAkB;EAClC,UAAA,UAAU,EAAE,WAAW;EACvB,UAAA,wBAAwB,EAAE,sGAAsG;EAChI,UAAA,qBAAqB,EAAE,8BAA8B;EACrD,UAAA,uBAAuB,EAAE,yDAAA;WAC1B;EACD,QAAA,IAAI,EAAE;EACJ,UAAA,MAAM,EAAE,OAAO;EACf,UAAA,cAAc,EAAE,kBAAkB;EAClC,UAAA,UAAU,EAAE,SAAS;EACrB,UAAA,wBAAwB,EAAE,+FAAA;WAC3B;EACD,QAAA,IAAI,EAAE;EACJ,UAAA,MAAM,EAAE,cAAc;EACtB,UAAA,cAAc,EAAE,4BAA4B;EAC5C,UAAA,UAAU,EAAE,UAAU;EACtB,UAAA,wBAAwB,EAAE,kFAAA;WAC3B;EACD,QAAA,IAAI,EAAE;EACJ,UAAA,MAAM,EAAE,OAAO;EACf,UAAA,cAAc,EAAE,oBAAoB;EACpC,UAAA,UAAU,EAAE,OAAO;EACnB,UAAA,wBAAwB,EAAE,2EAA2E;EACrG,UAAA,qBAAqB,EAAE,uBAAuB;EAC9C,UAAA,uBAAuB,EAAE,iCAAA;WAC1B;EACD,QAAA,IAAI,EAAE;EACJ,UAAA,MAAM,EAAE,IAAI;EACZ,UAAA,cAAc,EAAE,MAAM;EACtB,UAAA,UAAU,EAAE,KAAK;EACjB,UAAA,wBAAwB,EAAE,6BAA6B;EACvD,UAAA,qBAAqB,EAAE,SAAS;EAChC,UAAA,uBAAuB,EAAE,gBAAA;EAC3B,SAAA;SACD,CAAA;QACD,IAAI,CAACD,SAAS,GAAGj3C,CAAC,CAACiG,MAAM,CAAC,IAAI,EAAEixC,eAAe,EAAE,IAAI,CAACpe,IAAI,CAACzlB,OAAO,CAAC8jC,OAAO,IAAI,EAAE,CAAC,CAAA;QACjF,IAAI,CAACF,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAACA,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAACA,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAACA,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAACA,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAACA,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAACA,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAACA,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAACA,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAACA,SAAS,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,CAACA,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAACA,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAACA,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAACA,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAACA,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAACA,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAACA,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAACA,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAACA,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAACA,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAACA,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAACA,SAAS,CAAC,IAAI,CAAC,CAAA;EAChD,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAAC3J,UAAU,CAAC,CAAA;EAEb,IAAI8J,aAAa,gBAAgB,UAAUP,WAAW,EAAE;IACtD,SAASO,aAAaA,GAAG;EACvB97C,IAAAA,iBAAe,CAAC,IAAI,EAAE87C,aAAa,CAAC,CAAA;EACpC,IAAA,OAAOx8C,YAAU,CAAC,IAAI,EAAEw8C,aAAa,EAAE95C,SAAS,CAAC,CAAA;EACnD,GAAA;EACAI,EAAAA,WAAS,CAAC05C,aAAa,EAAEP,WAAW,CAAC,CAAA;EACrC,EAAA,OAAO76C,cAAY,CAACo7C,aAAa,EAAE,CAAC;EAClCr7C,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,SAAS,CAAA;EAClB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC3K,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACgE,uBAAuB,EAAE,IAAI,CAAC4kB,mBAAmB,CAAC,CAAA;EACpF,KAAA;EACF,GAAC,EAAE;EACDt7C,IAAAA,GAAG,EAAE,qBAAqB;EAC1BU,IAAAA,KAAK,EAAE,SAAS46C,mBAAmBA,GAAG;EACpC,MAAA,IAAIC,gBAAgB,GAAG,IAAI,CAACxe,IAAI,CAAC33B,UAAU,CAACzC,MAAM,CAAC,UAAU4G,SAAS,EAAE;EACtE,QAAA,OAAOA,SAAS,CAACm1B,QAAQ,CAACh7B,IAAI,KAAK,OAAO,CAAA;EAC5C,OAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAACq5B,IAAI,CAAC33B,UAAU,CAAC,CAAC,CAAC,CAAA;QAChCm2C,gBAAgB,IAAI,IAAI,CAACxe,IAAI,CAAC33B,UAAU,CAACvC,OAAO,CAAC,UAAU0G,SAAS,EAAE;UACpE,IAAIA,SAAS,KAAKgyC,gBAAgB,EAAEhyC,SAAS,CAAC8yB,OAAO,EAAE,CAAA;EACzD,OAAC,CAAC,CAAA;EACJ,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACkV,UAAU,CAAC,CAAA;;EAEb;EACA;EACA;;EAGA;EACA;EACA;EACA;EACA,IAAIrsB,SAAO,GAAG,QAAQ,CAAA;;EAEtB;;EAEAknB,MAAM,CAAC2B,cAAc,CAAC8M,OAAO,CAAC,CAAA;EAC9BzO,MAAM,CAAC2B,cAAc,CAACsN,aAAa,CAAC,CAAA;EACpCjP,MAAM,CAAC+B,gBAAgB,CAACqL,IAAI,CAAC,CAAA;EAC7BpN,MAAM,CAAC+B,gBAAgB,CAACgL,OAAO,CAAC,CAAA;EAChC/M,MAAM,CAAC+B,gBAAgB,CAAC2K,UAAU,CAAC,CAAA;EACnC1M,MAAM,CAAC+B,gBAAgB,CAAC8D,UAAU,CAAC,CAAA;EACnC,IAAIuJ,IAAI,GAAG;EACT9M,EAAAA,MAAM,EAAEA,MAAM;EACdhc,EAAAA,MAAM,EAAEA,MAAM;EACdtN,EAAAA,OAAO,EAAEA,OAAO;EAChBksB,EAAAA,eAAe,EAAEA,eAAe;EAChCE,EAAAA,iBAAiB,EAAEA,iBAAiB;EACpCD,EAAAA,UAAU,EAAEA,UAAU;EACtBtT,EAAAA,YAAY,EAAEA,YAAY;EAC1BsH,EAAAA,QAAQ,EAAEA,QAAQ;EAClB/G,EAAAA,SAAS,EAAEA,SAAS;EACpByI,EAAAA,IAAI,EAAEA,IAAI;EACVnK,EAAAA,WAAW,EAAEA,WAAW;EACxBsP,EAAAA,MAAM,EAAEA,MAAM;EACd3R,EAAAA,UAAU,EAAEA,UAAU;EACtBsB,EAAAA,QAAQ,EAAEA,QAAQ;EAClB/L,EAAAA,KAAK,EAAEA,KAAK;EACZ8oB,EAAAA,UAAU,EAAEA,UAAU;EACtB7G,EAAAA,UAAU,EAAEA,UAAU;EACtBkH,EAAAA,OAAO,EAAEA,OAAO;EAChBtoB,EAAAA,GAAG,EAAEA,GAAG;EACR8K,EAAAA,MAAM,EAAEA,MAAM;EACdzW,EAAAA,OAAO,EAAEA,SAAO;EAChBwW,EAAAA,QAAQ,EAAEJ,IAAI;EACdr3B,EAAAA,CAAC,EAAEA,CAAAA;EACL,CAAC;;ECnvRD,SAAStF,sBAAsBA,CAACN,CAAC,EAAE;IACjC,IAAI,KAAK,CAAC,KAAKA,CAAC,EAAE,MAAM,IAAIO,cAAc,CAAC,2DAA2D,CAAC,CAAA;EACvG,EAAA,OAAOP,CAAC,CAAA;EACV,CAAA;EACA,SAASQ,UAAUA,CAACC,CAAC,EAAEC,CAAC,EAAEV,CAAC,EAAE;EAC3B,EAAA,OAAOU,CAAC,GAAGC,eAAe,CAACD,CAAC,CAAC,EAAEE,0BAA0B,CAACH,CAAC,EAAEI,yBAAyB,EAAE,GAAGC,OAAO,CAACC,SAAS,CAACL,CAAC,EAAEV,CAAC,IAAI,EAAE,EAAEW,eAAe,CAACF,CAAC,CAAC,CAACO,WAAW,CAAC,GAAGN,CAAC,CAACO,KAAK,CAACR,CAAC,EAAET,CAAC,CAAC,CAAC,CAAA;EAC3K,CAAA;EACA,SAASkB,eAAeA,CAACpB,CAAC,EAAEG,CAAC,EAAE;IAC7B,IAAI,EAAEH,CAAC,YAAYG,CAAC,CAAC,EAAE,MAAM,IAAIkB,SAAS,CAAC,mCAAmC,CAAC,CAAA;EACjF,CAAA;EACA,SAASC,iBAAiBA,CAACpB,CAAC,EAAEH,CAAC,EAAE;EAC/B,EAAA,KAAK,IAAIY,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGZ,CAAC,CAACE,MAAM,EAAEU,CAAC,EAAE,EAAE;EACjC,IAAA,IAAIC,CAAC,GAAGb,CAAC,CAACY,CAAC,CAAC,CAAA;EACZC,IAAAA,CAAC,CAACW,UAAU,GAAGX,CAAC,CAACW,UAAU,IAAI,CAAC,CAAC,EAAEX,CAAC,CAACY,YAAY,GAAG,CAAC,CAAC,EAAE,OAAO,IAAIZ,CAAC,KAAKA,CAAC,CAACa,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAEC,MAAM,CAACC,cAAc,CAACzB,CAAC,EAAE0B,cAAc,CAAChB,CAAC,CAACiB,GAAG,CAAC,EAAEjB,CAAC,CAAC,CAAA;EAC/I,GAAA;EACF,CAAA;EACA,SAASkB,YAAYA,CAAC5B,CAAC,EAAEH,CAAC,EAAEY,CAAC,EAAE;IAC7B,OAAOZ,CAAC,IAAIuB,iBAAiB,CAACpB,CAAC,CAAC6B,SAAS,EAAEhC,CAAC,CAAC,EAAEY,CAAC,IAAIW,iBAAiB,CAACpB,CAAC,EAAES,CAAC,CAAC,EAAEe,MAAM,CAACC,cAAc,CAACzB,CAAC,EAAE,WAAW,EAAE;EACjHuB,IAAAA,QAAQ,EAAE,CAAC,CAAA;KACZ,CAAC,EAAEvB,CAAC,CAAA;EACP,CAAA;EACA,SAAS4C,IAAIA,GAAG;IACd,OAAOA,IAAI,GAAG,WAAW,IAAI,OAAO9B,OAAO,IAAIA,OAAO,CAAC+B,GAAG,GAAG/B,OAAO,CAAC+B,GAAG,CAACC,IAAI,EAAE,GAAG,UAAU9C,CAAC,EAAES,CAAC,EAAEZ,CAAC,EAAE;EACnG,IAAA,IAAIkD,CAAC,GAAGC,cAAc,CAAChD,CAAC,EAAES,CAAC,CAAC,CAAA;EAC5B,IAAA,IAAIsC,CAAC,EAAE;QACL,IAAI9C,CAAC,GAAGuB,MAAM,CAACyB,wBAAwB,CAACF,CAAC,EAAEtC,CAAC,CAAC,CAAA;QAC7C,OAAOR,CAAC,CAAC4C,GAAG,GAAG5C,CAAC,CAAC4C,GAAG,CAACL,IAAI,CAACU,SAAS,CAACnD,MAAM,GAAG,CAAC,GAAGC,CAAC,GAAGH,CAAC,CAAC,GAAGI,CAAC,CAACoC,KAAK,CAAA;EACnE,KAAA;KACD,EAAEO,IAAI,CAAC3B,KAAK,CAAC,IAAI,EAAEiC,SAAS,CAAC,CAAA;EAChC,CAAA;EACA,SAASvC,eAAeA,CAACF,CAAC,EAAE;EAC1B,EAAA,OAAOE,eAAe,GAAGa,MAAM,CAAC2B,cAAc,GAAG3B,MAAM,CAAC4B,cAAc,CAACN,IAAI,EAAE,GAAG,UAAUrC,CAAC,EAAE;MAC3F,OAAOA,CAAC,CAAC4C,SAAS,IAAI7B,MAAM,CAAC4B,cAAc,CAAC3C,CAAC,CAAC,CAAA;EAChD,GAAC,EAAEE,eAAe,CAACF,CAAC,CAAC,CAAA;EACvB,CAAA;EACA,SAAS6C,SAASA,CAAC7C,CAAC,EAAET,CAAC,EAAE;EACvB,EAAA,IAAI,UAAU,IAAI,OAAOA,CAAC,IAAI,IAAI,KAAKA,CAAC,EAAE,MAAM,IAAImB,SAAS,CAAC,oDAAoD,CAAC,CAAA;EACnHV,EAAAA,CAAC,CAACoB,SAAS,GAAGL,MAAM,CAAC+B,MAAM,CAACvD,CAAC,IAAIA,CAAC,CAAC6B,SAAS,EAAE;EAC5Cb,IAAAA,WAAW,EAAE;EACXqB,MAAAA,KAAK,EAAE5B,CAAC;QACRc,QAAQ,EAAE,CAAC,CAAC;EACZD,MAAAA,YAAY,EAAE,CAAC,CAAA;EACjB,KAAA;KACD,CAAC,EAAEE,MAAM,CAACC,cAAc,CAAChB,CAAC,EAAE,WAAW,EAAE;EACxCc,IAAAA,QAAQ,EAAE,CAAC,CAAA;KACZ,CAAC,EAAEvB,CAAC,IAAIwD,eAAe,CAAC/C,CAAC,EAAET,CAAC,CAAC,CAAA;EAChC,CAAA;EACA,SAASa,yBAAyBA,GAAG;IACnC,IAAI;MACF,IAAIJ,CAAC,GAAG,CAACgD,OAAO,CAAC5B,SAAS,CAAC6B,OAAO,CAAClB,IAAI,CAAC1B,OAAO,CAACC,SAAS,CAAC0C,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;EACzF,GAAC,CAAC,OAAOhD,CAAC,EAAE,EAAC;EACb,EAAA,OAAO,CAACI,yBAAyB,GAAG,YAAY;MAC9C,OAAO,CAAC,CAACJ,CAAC,CAAA;EACZ,GAAC,GAAG,CAAA;EACN,CAAA;EACA,SAASG,0BAA0BA,CAACH,CAAC,EAAET,CAAC,EAAE;EACxC,EAAA,IAAIA,CAAC,KAAK,QAAQ,IAAI,OAAOA,CAAC,IAAI,UAAU,IAAI,OAAOA,CAAC,CAAC,EAAE,OAAOA,CAAC,CAAA;IACnE,IAAI,KAAK,CAAC,KAAKA,CAAC,EAAE,MAAM,IAAImB,SAAS,CAAC,0DAA0D,CAAC,CAAA;IACjG,OAAOb,sBAAsB,CAACG,CAAC,CAAC,CAAA;EAClC,CAAA;EACA,SAAS+C,eAAeA,CAAC/C,CAAC,EAAET,CAAC,EAAE;EAC7B,EAAA,OAAOwD,eAAe,GAAGhC,MAAM,CAAC2B,cAAc,GAAG3B,MAAM,CAAC2B,cAAc,CAACL,IAAI,EAAE,GAAG,UAAUrC,CAAC,EAAET,CAAC,EAAE;EAC9F,IAAA,OAAOS,CAAC,CAAC4C,SAAS,GAAGrD,CAAC,EAAES,CAAC,CAAA;EAC3B,GAAC,EAAE+C,eAAe,CAAC/C,CAAC,EAAET,CAAC,CAAC,CAAA;EAC1B,CAAA;EACA,SAASgD,cAAcA,CAACvC,CAAC,EAAEC,CAAC,EAAE;IAC5B,OAAO,CAAC,EAAE,CAACkE,cAAc,CAACpC,IAAI,CAAC/B,CAAC,EAAEC,CAAC,CAAC,IAAI,IAAI,MAAMD,CAAC,GAAGE,eAAe,CAACF,CAAC,CAAC,CAAC,EAAE,CAAA;EAC3E,EAAA,OAAOA,CAAC,CAAA;EACV,CAAA;EACA,SAASoE,aAAaA,CAACpE,CAAC,EAAEC,CAAC,EAAEV,CAAC,EAAEH,CAAC,EAAE;IACjC,IAAIkD,CAAC,GAAGH,IAAI,CAACjC,eAAe,CAAC,CAAC,GAAGd,CAAC,GAAGY,CAAC,CAACoB,SAAS,GAAGpB,CAAC,CAAC,EAAEC,CAAC,EAAEV,CAAC,CAAC,CAAA;IAC5D,OAAO,CAAC,GAAGH,CAAC,IAAI,UAAU,IAAI,OAAOkD,CAAC,GAAG,UAAUtC,CAAC,EAAE;EACpD,IAAA,OAAOsC,CAAC,CAAC9B,KAAK,CAACjB,CAAC,EAAES,CAAC,CAAC,CAAA;EACtB,GAAC,GAAGsC,CAAC,CAAA;EACP,CAAA;EACA,SAASgC,YAAYA,CAACtE,CAAC,EAAEZ,CAAC,EAAE;IAC1B,IAAI,QAAQ,IAAI,OAAOY,CAAC,IAAI,CAACA,CAAC,EAAE,OAAOA,CAAC,CAAA;EACxC,EAAA,IAAIT,CAAC,GAAGS,CAAC,CAACsB,MAAM,CAACiD,WAAW,CAAC,CAAA;EAC7B,EAAA,IAAI,KAAK,CAAC,KAAKhF,CAAC,EAAE;MAChB,IAAI+D,CAAC,GAAG/D,CAAC,CAACwC,IAAI,CAAC/B,CAAC,EAAEZ,CAAC,IAAI,SAAS,CAAC,CAAA;EACjC,IAAA,IAAI,QAAQ,IAAI,OAAOkE,CAAC,EAAE,OAAOA,CAAC,CAAA;EAClC,IAAA,MAAM,IAAI5C,SAAS,CAAC,8CAA8C,CAAC,CAAA;EACrE,GAAA;IACA,OAAO,CAAC,QAAQ,KAAKtB,CAAC,GAAGoF,MAAM,GAAG6I,MAAM,EAAErN,CAAC,CAAC,CAAA;EAC9C,CAAA;EACA,SAASiB,cAAcA,CAACjB,CAAC,EAAE;EACzB,EAAA,IAAIsD,CAAC,GAAGgB,YAAY,CAACtE,CAAC,EAAE,QAAQ,CAAC,CAAA;IACjC,OAAO,QAAQ,IAAI,OAAOsD,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAG,EAAE,CAAA;EAC1C,CAAA;EACA,SAASmB,OAAOA,CAACxE,CAAC,EAAE;IAClB,yBAAyB,CAAA;;EAEzB,EAAA,OAAOwE,OAAO,GAAG,UAAU,IAAI,OAAOnD,MAAM,IAAI,QAAQ,IAAI,OAAOA,MAAM,CAACC,QAAQ,GAAG,UAAUtB,CAAC,EAAE;EAChG,IAAA,OAAO,OAAOA,CAAC,CAAA;KAChB,GAAG,UAAUA,CAAC,EAAE;MACf,OAAOA,CAAC,IAAI,UAAU,IAAI,OAAOqB,MAAM,IAAIrB,CAAC,CAACM,WAAW,KAAKe,MAAM,IAAIrB,CAAC,KAAKqB,MAAM,CAACF,SAAS,GAAG,QAAQ,GAAG,OAAOnB,CAAC,CAAA;EACrH,GAAC,EAAEwE,OAAO,CAACxE,CAAC,CAAC,CAAA;EACf,CAAA;EAEA,IAAI08C,kBAAkB,gBAAgB,UAAUC,gBAAgB,EAAE;IAChE,SAASD,kBAAkBA,CAAClyC,SAAS,EAAE;EACrChK,IAAAA,eAAe,CAAC,IAAI,EAAEk8C,kBAAkB,CAAC,CAAA;MACzC,OAAO58C,UAAU,CAAC,IAAI,EAAE48C,kBAAkB,EAAE,CAAClyC,SAAS,CAAC,CAAC,CAAA;EAC1D,GAAA;EACA5H,EAAAA,SAAS,CAAC85C,kBAAkB,EAAEC,gBAAgB,CAAC,CAAA;EAC/C,EAAA,OAAOz7C,YAAY,CAACw7C,kBAAkB,EAAE,CAAC;EACvCz7C,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,gBAAgB,CAAA;EACzB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,QAAQ;EACbkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO,IAAI,CAACqI,SAAS,CAAC+N,OAAO,CAACqkC,kBAAkB,IAAI,EAAE,CAAA;EACxD,KAAA;EACF,GAAC,EAAE;EACD37C,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC3K,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC6F,eAAe,EAAE,IAAI,CAACjZ,KAAK,CAAC,CAAA;EACjE,MAAA,IAAI,CAACmU,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC4G,wBAAwB,EAAE,IAAI,CAACyG,cAAc,CAAC,CAAA;EACrF,KAAA;EACF,GAAC,EAAE;EACD//B,IAAAA,GAAG,EAAE,OAAO;EACZU,IAAAA,KAAK,EAAE,SAAS4e,KAAKA,GAAG;EACtB,MAAA,IAAIs8B,cAAc,GAAG,IAAI,CAACC,MAAM,CAACD,cAAc,CAAA;EAC/C,MAAA,IAAI,IAAI,CAACryC,SAAS,CAACk4B,eAAe,EAAE,KAAK8D,QAAQ,CAACW,IAAI,IAAI,IAAI,CAAC38B,SAAS,CAACm4B,YAAY,EAAE,EAAE;UACvF,IAAI,IAAI,CAACn4B,SAAS,CAACy4B,SAAS,EAAE,EAAE,IAAI,CAACz4B,SAAS,CAACu5B,KAAK,CAAC8Y,cAAc,CAAC,CAAC,KAAK,IAAI,CAACryC,SAAS,CAACulB,IAAI,CAAC8sB,cAAc,CAAC,CAAA;EAC/G,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD57C,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASq/B,cAAcA,GAAG;QAC/B,IAAI+b,cAAc,GAAG,IAAI,CAACvyC,SAAS,CAACk4B,eAAe,EAAE,KAAK8D,QAAQ,CAACW,IAAI,IAAI,IAAI,CAAC38B,SAAS,CAACm4B,YAAY,EAAE,CAAA;EACxG,MAAA,IAAIoa,cAAc,KAAK,IAAI,CAACA,cAAc,EAAE,OAAA;EAC5C,MAAA,IAAItf,MAAM,GAAGsf,cAAc,GAAG,UAAU,GAAG,aAAa,CAAA;QACxD,IAAI,CAACvyC,SAAS,CAAC6yB,GAAG,CAACI,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAA;QAC7C,IAAI,CAACsf,cAAc,GAAGA,cAAc,CAAA;EACtC,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACxK,eAAe,CAAC,CAAA;EAElB,IAAIyK,MAAM,GAAG,y0BAAy0B,CAAA;EAEt1B,IAAIC,MAAM,GAAG,ycAAyc,CAAA;EAEtd,IAAIC,UAAU,GAAG,6vCAA6vC,CAAA;EAE9wC,IAAIC,gBAAc,gBAAgB,UAAUC,aAAa,EAAE;IACzD,SAASD,cAAcA,CAACnf,IAAI,EAAE;EAC5B,IAAA,IAAIzS,KAAK,CAAA;EACT/qB,IAAAA,eAAe,CAAC,IAAI,EAAE28C,cAAc,CAAC,CAAA;MACrC5xB,KAAK,GAAGzrB,UAAU,CAAC,IAAI,EAAEq9C,cAAc,EAAE,CAACnf,IAAI,CAAC,CAAC,CAAA;EAChD,IAAA,IAAI8e,MAAM,GAAG9e,IAAI,CAACzlB,OAAO,CAAC8kC,oBAAoB,CAAA;EAC9C9xB,IAAAA,KAAK,CAAC+xB,MAAM,GAAGR,MAAM,IAAIA,MAAM,CAAC9d,KAAK,GAAG8d,MAAM,CAAC9d,KAAK,GAAG,IAAI,CAAA;EAC3DzT,IAAAA,KAAK,CAACgyB,UAAU,GAAGT,MAAM,IAAIA,MAAM,CAACU,SAAS,GAAGV,MAAM,CAACU,SAAS,GAAG,WAAW,CAAA;MAC9EjyB,KAAK,CAACkyB,QAAQ,GAAGX,MAAM,IAAIA,MAAM,CAACY,aAAa,IAAI,OAAOZ,MAAM,CAACY,aAAa,KAAK,UAAU,GAAGZ,MAAM,CAACY,aAAa,GAAG,UAAUtb,KAAK,EAAE;QACtI,OAAOA,KAAK,CAACz9B,IAAI,CAAA;OAClB,CAAA;EACD,IAAA,OAAO4mB,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,SAAS,CAACu6C,cAAc,EAAEC,aAAa,CAAC,CAAA;EACxC,EAAA,OAAOl8C,YAAY,CAACi8C,cAAc,EAAE,CAAC;EACnCl8C,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,iBAAiB,CAAA;EAC1B,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,UAAU;EACfkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAOw6B,IAAQ,CAACsgB,MAAM,CAAC,CAAA;EACzB,KAAA;EACF,GAAC,EAAE;EACDh8C,IAAAA,GAAG,EAAE,QAAQ;EACbkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,wBAAwB,EAAE,mBAAmB;EAC7C,QAAA,wBAAwB,EAAE,eAAA;SAC3B,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,YAAY;EACjBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,OAAO,EAAE,aAAa;EACtB,QAAA,kBAAkB,EAAE,EAAA;SACrB,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC3K,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACiE,6BAA6B,EAAE,IAAI,CAAC+lB,gBAAgB,CAAC,CAAA;EACrF,MAAA,IAAI,CAACjpB,QAAQ,CAAC,IAAI,CAACsJ,IAAI,CAAC4f,YAAY,EAAEjqB,MAAM,CAACqH,qBAAqB,EAAE,IAAI,CAACwB,MAAM,CAAC,CAAA;EAChF,MAAA,IAAI,CAAC9H,QAAQ,CAAC,IAAI,CAACsJ,IAAI,CAAC4f,YAAY,EAAEjqB,MAAM,CAACwH,iBAAiB,EAAE,IAAI,CAAC0iB,eAAe,CAAC,CAAA;QACrF,IAAI,CAACC,mBAAmB,EAAE,CAAA;EAC5B,KAAA;EACF,GAAC,EAAE;EACD78C,IAAAA,GAAG,EAAE,qBAAqB;EAC1BU,IAAAA,KAAK,EAAE,SAASm8C,mBAAmBA,GAAG;EACpC,MAAA,IAAI,CAACtzC,SAAS,GAAG,IAAI,CAACwzB,IAAI,CAAC+K,eAAe,CAAA;QAC1C,IAAI,IAAI,CAACv+B,SAAS,EAAE;EAClB,QAAA,IAAI,CAACkqB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACmF,4BAA4B,EAAE,IAAI,CAACgY,mBAAmB,CAAC,CAAA;EAC5F,QAAA,IAAI,CAACpc,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACoF,0BAA0B,EAAE,IAAI,CAACglB,iBAAiB,CAAC,CAAA;EACxF,QAAA,IAAI,CAACrpB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0F,cAAc,EAAE,IAAI,CAAC2kB,eAAe,CAAC,CAAA;EAC5E,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD/8C,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAASq8C,eAAeA,GAAG;EAChC,MAAA,IAAI,CAACC,WAAW,CAAC,KAAK,CAAC,CAAA;EACzB,KAAA;EACF,GAAC,EAAE;EACDh9C,IAAAA,GAAG,EAAE,kBAAkB;EACvBU,IAAAA,KAAK,EAAE,SAASg8C,gBAAgBA,GAAG;EACjC,MAAA,IAAI,CAACM,WAAW,CAAC,KAAK,CAAC,CAAA;QACvB,IAAI,CAAC9pB,aAAa,EAAE,CAAA;QACpB,IAAI,CAACkL,UAAU,EAAE,CAAA;EACnB,KAAA;EACF,GAAC,EAAE;EACDp+B,IAAAA,GAAG,EAAE,qBAAqB;EAC1BU,IAAAA,KAAK,EAAE,SAASmvC,mBAAmBA,GAAG;QACpC,IAAI,CAACoN,cAAc,EAAE,CAAA;EACrB,MAAA,IAAI,CAACD,WAAW,CAAC,IAAI,CAAC,CAAA;EACxB,KAAA;EACF,GAAC,EAAE;EACDh9C,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAASo8C,iBAAiBA,CAAC3b,KAAK,EAAE;EACvC,MAAA,IAAI,CAAC+b,4BAA4B,CAAC/b,KAAK,CAAC3gB,EAAE,CAAC,CAAA;EAC7C,KAAA;EACF,GAAC,EAAE;EACDxgB,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAASy8C,aAAaA,CAACvnC,KAAK,EAAE;EACnC,MAAA,IAAI2pB,OAAO,GAAGrZ,QAAQ,CAACtQ,KAAK,CAACzL,MAAM,CAACizC,OAAO,CAACC,QAAQ,EAAE,EAAE,CAAC,CAAA;EACzD,MAAA,IAAI,CAAC9zC,SAAS,CAAC+1B,qBAAqB,GAAGC,OAAO,CAAA;QAC9C,IAAI,CAACqd,eAAe,EAAE,CAAA;QACtBhnC,KAAK,CAACqL,eAAe,EAAE,CAAA;EACvB,MAAA,OAAO,KAAK,CAAA;EACd,KAAA;EACF,GAAC,EAAE;EACDjhB,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASs8C,WAAWA,CAACM,KAAK,EAAE;EACjC,MAAA,IAAI9gB,MAAM,GAAG8gB,KAAK,GAAG,UAAU,GAAG,aAAa,CAAA;EAC/C,MAAA,IAAI,CAAClhB,GAAG,CAACI,MAAM,CAAC,CAAC,WAAW,CAAC,CAAA;EAC/B,KAAA;EACF,GAAC,EAAE;EACDx8B,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAAS68C,iBAAiBA,GAAG;QAClC,IAAI,CAACnhB,GAAG,CAACpyB,IAAI,CAAC,IAAI,CAAC,CAACuG,MAAM,EAAE,CAAA;EAC9B,KAAA;EACF,GAAC,EAAE;EACDvQ,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAASk8C,eAAeA,GAAG;QAChC,IAAI,CAACxgB,GAAG,CAACpyB,IAAI,CAAC,IAAI,CAAC,CAACqG,IAAI,EAAE,CAAA;EAC5B,KAAA;EACF,GAAC,EAAE;EACDrQ,IAAAA,GAAG,EAAE,oBAAoB;EACzBU,IAAAA,KAAK,EAAE,SAAS88C,kBAAkBA,CAACh9B,EAAE,EAAE;QACrC,OAAO,IAAI,CAAC4b,GAAG,CAACpyB,IAAI,CAAC,MAAM,IAAI,CAACoC,KAAK,CAACoU,EAAE,CAAC,GAAG,mBAAmB,GAAGA,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAACja,MAAM,EAAE,CAAA;EAC7F,KAAA;EACF,GAAC,EAAE;EACDvG,IAAAA,GAAG,EAAE,8BAA8B;EACnCU,IAAAA,KAAK,EAAE,SAASw8C,4BAA4BA,CAAC3d,OAAO,EAAE;EACpD,MAAA,IAAI,IAAI,CAACke,QAAQ,KAAKle,OAAO,EAAE;UAC7B,IAAI,CAACie,kBAAkB,EAAE,CAAC1qC,WAAW,CAAC,SAAS,CAAC,CAAA;UAChD,IAAI,CAAC0qC,kBAAkB,CAACje,OAAO,CAAC,CAAC5sB,QAAQ,CAAC,SAAS,CAAC,CAAA;UACpD,IAAI6pB,MAAM,GAAG+C,OAAO,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,aAAa,CAAA;EACtD,QAAA,IAAI,CAACme,SAAS,CAAClhB,MAAM,CAAC,CAAC,SAAS,CAAC,CAAA;UACjC,IAAI,CAACihB,QAAQ,GAAGle,OAAO,CAAA;EACzB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDv/B,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASu8C,cAAcA,GAAG;EAC/B,MAAA,IAAI7b,MAAM,GAAG,IAAI,CAAC73B,SAAS,GAAG,IAAI,CAACA,SAAS,CAAC81B,oBAAoB,GAAG,EAAE,CAAA;EACtE,MAAA,KAAK,IAAIj9B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGg/B,MAAM,CAAChjC,MAAM,EAAEgE,CAAC,EAAE,EAAEg/B,MAAM,CAACh/B,CAAC,CAAC,CAAC4yC,KAAK,GAAG,IAAI,CAACwH,QAAQ,CAACpb,MAAM,CAACh/B,CAAC,CAAC,CAAC,CAAA;EAClF,MAAA,IAAIkN,KAAK,GAAGqsB,MAAM,CAACC,WAAW,CAACqgB,UAAU,EAAE;EACzCpgB,QAAAA,OAAO,EAAE,IAAI,CAACvkB,OAAO,CAACukB,OAAAA;EACxB,OAAC,CAAC,CAAA;QACF,IAAI,CAACO,GAAG,CAAChzB,IAAI,CAAC,IAAI,CAACsyB,QAAQ,CAAC;UAC1B6gB,SAAS,EAAE,IAAI,CAACD,UAAU;UAC1BqB,aAAa,EAAE,IAAI,CAAC5gB,IAAI,CAACM,IAAI,CAACv+B,CAAC,CAAC,UAAU,CAAC;UAC3Ci/B,KAAK,EAAE,IAAI,CAACse,MAAM;EAClBjb,QAAAA,MAAM,EAAEA,MAAAA;EACV,OAAC,CAAC,CAAC,CAAA;QACH,IAAI,CAACsc,SAAS,GAAG,IAAI,CAACthB,GAAG,CAACpyB,IAAI,CAAC,kCAAkC,CAAC,CAAA;EAClE,MAAA,IAAI,CAAC0zC,SAAS,CAACztC,MAAM,CAAC8rC,MAAM,CAAC,CAAA;QAC7B,IAAI,CAAC3f,GAAG,CAACnsB,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;EAC3B,KAAA;EACF,GAAC,EAAE;EACDtP,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS66B,MAAMA,GAAG;QACvB,IAAI,CAAC0hB,cAAc,EAAE,CAAA;EACrB,MAAA,IAAIW,WAAW,GAAG,IAAI,CAAC7gB,IAAI,CAAC4f,YAAY,CAACvgB,GAAG,CAACpyB,IAAI,CAAC,yBAAyB,CAAC,CAAA;EAC5E,MAAA,IAAI4zC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAACxhB,GAAG,CAACyhB,WAAW,CAACD,WAAW,CAAC,CAAC,KAAK,IAAI,CAAC7gB,IAAI,CAAC4f,YAAY,CAACvgB,GAAG,CAACpyB,IAAI,CAAC,gDAAgD,CAAC,CAAC8zC,OAAO,CAAC,IAAI,CAAC1hB,GAAG,CAAC,CAAA;EAC9J,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAAC6B,YAAY,CAAC,CAAA;EAEf,IAAI8f,OAAO,GAAG,yJAAyJ,CAAA;EAEvK,IAAIC,UAAU,GAAG,klEAAklE,CAAA;EAEnmE,IAAIC,aAAW,gBAAgB,UAAU9B,aAAa,EAAE;IACtD,SAAS8B,WAAWA,CAAClhB,IAAI,EAAE;EACzB,IAAA,IAAIzS,KAAK,CAAA;EACT/qB,IAAAA,eAAe,CAAC,IAAI,EAAE0+C,WAAW,CAAC,CAAA;MAClC3zB,KAAK,GAAGzrB,UAAU,CAAC,IAAI,EAAEo/C,WAAW,EAAE,CAAClhB,IAAI,CAAC,CAAC,CAAA;MAC7CzS,KAAK,CAACyV,cAAc,EAAE,CAAA;EACtB,IAAA,OAAOzV,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,SAAS,CAACs8C,WAAW,EAAE9B,aAAa,CAAC,CAAA;EACrC,EAAA,OAAOl8C,YAAY,CAACg+C,WAAW,EAAE,CAAC;EAChCj+C,IAAAA,GAAG,EAAE,UAAU;EACfkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAOw6B,IAAQ,CAACqiB,OAAO,CAAC,CAAA;EAC1B,KAAA;EACF,GAAC,EAAE;EACD/9C,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,cAAc,CAAA;EACvB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,QAAQ;EACbkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,oBAAoB,EAAE,OAAA;SACvB,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,YAAY;EACjBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,OAAO,EAAE,cAAc;EACvB,QAAA,mBAAmB,EAAE,EAAA;SACtB,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;QAC3B,IAAI,CAAC8f,cAAc,EAAE,CAAA;QACrB,IAAI,CAACrB,mBAAmB,EAAE,CAAA;EAC5B,KAAA;EACF,GAAC,EAAE;EACD78C,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASw9C,cAAcA,GAAG;QAC/B,IAAIlb,MAAM,GAAG,IAAI,CAAA;EACjB,MAAA,IAAI,IAAI,CAACjG,IAAI,CAAC4f,YAAY,CAAC1mC,QAAQ,EAAE;EACnC,QAAA,IAAI,CAACwd,QAAQ,CAAC,IAAI,CAACsJ,IAAI,CAAC4f,YAAY,EAAEjqB,MAAM,CAAC6H,6BAA6B,EAAE,IAAI,CAACmiB,gBAAgB,CAAC,CAAA;EAClG,QAAA,IAAI,CAACjpB,QAAQ,CAAC,IAAI,CAACsJ,IAAI,CAAC4f,YAAY,EAAEjqB,MAAM,CAACqH,qBAAqB,EAAE,IAAI,CAACgG,cAAc,CAAC,CAAA;EACxF,QAAA,IAAI,CAACtM,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACmE,mBAAmB,EAAE,IAAI,CAAC0E,MAAM,CAAC,CAAA;EACnE,OAAC,MAAM;EACL9iB,QAAAA,UAAU,CAAC,YAAY;EACrB,UAAA,OAAOuqB,MAAM,CAACkb,cAAc,EAAE,CAAA;WAC/B,EAAE,GAAG,CAAC,CAAA;EACT,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDl+C,IAAAA,GAAG,EAAE,qBAAqB;EAC1BU,IAAAA,KAAK,EAAE,SAASm8C,mBAAmBA,GAAG;EACpC,MAAA,IAAI,IAAI,CAAC9f,IAAI,CAAC+K,eAAe,EAAE;EAC7B,QAAA,IAAI,CAACpU,YAAY,CAAC,IAAI,CAACqJ,IAAI,CAAC+K,eAAe,EAAEpV,MAAM,CAACuF,oBAAoB,EAAE,IAAI,CAACsD,MAAM,CAAC,CAAA;EACtF,QAAA,IAAI,CAAC9H,QAAQ,CAAC,IAAI,CAACsJ,IAAI,CAAC+K,eAAe,EAAEpV,MAAM,CAAC2E,iCAAiC,EAAE,IAAI,CAAC8mB,UAAU,CAAC,CAAA;EACrG,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDn+C,IAAAA,GAAG,EAAE,kBAAkB;EACvBU,IAAAA,KAAK,EAAE,SAASg8C,gBAAgBA,GAAG;QACjC,IAAI,CAACxpB,aAAa,EAAE,CAAA;QACpB,IAAI,CAACkL,UAAU,EAAE,CAAA;EACnB,KAAA;EACF,GAAC,EAAE;EACDp+B,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAASy9C,UAAUA,CAACxc,UAAU,EAAE;QACrC,IAAI,IAAI,CAAC5E,IAAI,CAAC0E,eAAe,EAAE,KAAK8D,QAAQ,CAACW,IAAI,EAAE,OAAA;QACnD,IAAI,CAACnG,cAAc,EAAE,CAAA;QACrB,IAAI,CAAChD,IAAI,CAAC4f,YAAY,CAACvgB,GAAG,CAACzpB,QAAQ,CAAC,MAAM,CAAC,CAAA;EAC3C,MAAA,IAAIgvB,UAAU,EAAE;UACd,IAAI,CAAC5E,IAAI,CAAC4f,YAAY,CAACvgB,GAAG,CAACzpB,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC1C,QAAA,IAAI,CAACoqB,IAAI,CAAC4f,YAAY,CAACvgB,GAAG,CAACpyB,IAAI,CAAC,kFAAkF,CAAC,CAACqG,IAAI,EAAE,CAAA;EAC5H,OAAC,MAAM;UACL,IAAI,CAAC0sB,IAAI,CAAC4f,YAAY,CAACvgB,GAAG,CAACtpB,WAAW,CAAC,KAAK,CAAC,CAAA;EAC/C,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD9S,IAAAA,GAAG,EAAE,OAAO;EACZU,IAAAA,KAAK,EAAE,SAAS4e,KAAKA,GAAG;EACtB,MAAA,IAAIq9B,YAAY,GAAG,IAAI,CAAC5f,IAAI,CAAC4f,YAAY,CAAA;EACzC,MAAA,IAAIpzC,SAAS,GAAGozC,YAAY,CAACpzC,SAAS,CAAA;QACtC,IAAI,CAACA,SAAS,CAACy4B,SAAS,EAAE,EAAEz4B,SAAS,CAACulB,IAAI,EAAE,CAAA;EAC5C,MAAA,IAAI6tB,YAAY,CAACvgB,GAAG,CAAC1pB,QAAQ,CAAC,KAAK,CAAC,EAAEnJ,SAAS,CAACi6B,IAAI,CAACj6B,SAAS,CAAC44B,WAAW,EAAE,CAAC,CAAA;EAC/E,KAAA;EACF,GAAC,EAAE;EACDniC,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASq/B,cAAcA,GAAG;QAC/B,IAAIuD,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,CAACpQ,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC6J,IAAI,CAAC4f,YAAY,CAACvgB,GAAG,CAACtpB,WAAW,CAAC,MAAM,CAAC,CAAA;EAC9C,MAAA,IAAI,IAAI,CAACsrC,YAAY,EAAE,EAAE;UACvB,IAAI,CAAC7iB,MAAM,EAAE,CAAA;EACb,QAAA,IAAI,CAACa,GAAG,CAAC9c,KAAK,CAAC,YAAY;EACzB,UAAA,OAAOgkB,MAAM,CAAChkB,KAAK,EAAE,CAAA;EACvB,SAAC,CAAC,CAAA;EACJ,OAAA;QACA,IAAI,CAAC8e,UAAU,EAAE,CAAA;EACnB,KAAA;EACF,GAAC,EAAE;EACDp+B,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAAS09C,YAAYA,GAAG;QAC7B,IAAIC,cAAc,GAAG,IAAI,CAACthB,IAAI,CAACzlB,OAAO,CAAC+mC,cAAc,KAAKvpC,SAAS,IAAI,CAAC,CAAC,IAAI,CAACioB,IAAI,CAACzlB,OAAO,CAAC+mC,cAAc,CAAA;EACzG,MAAA,OAAOA,cAAc,IAAI,IAAI,CAACthB,IAAI,CAAC0E,eAAe,EAAE,KAAK8D,QAAQ,CAACW,IAAI,CAAA;EACxE,KAAA;EACF,GAAC,EAAE;EACDlmC,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS66B,MAAMA,GAAG;EACvB,MAAA,IAAIjsB,KAAK,GAAGqsB,MAAM,CAACC,WAAW,CAACoiB,UAAU,EAAE;EACzCniB,QAAAA,OAAO,EAAE,IAAI,CAACvkB,OAAO,CAACukB,OAAAA;EACxB,OAAC,CAAC,CAAA;QACF,IAAI,CAACO,GAAG,CAAChzB,IAAI,CAAC,IAAI,CAACsyB,QAAQ,CAAC;UAC1BpZ,IAAI,EAAE,IAAI,CAACya,IAAI,CAACM,IAAI,CAACv+B,CAAC,CAAC,MAAM,CAAC;UAC9Bw/C,UAAU,EAAE,IAAI,CAACvhB,IAAI,CAACM,IAAI,CAACv+B,CAAC,CAAC,cAAc,CAAA;EAC7C,OAAC,CAAC,CAAC,CAAA;QACH,IAAI,CAACs9B,GAAG,CAACnsB,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;EACzB,MAAA,IAAI,IAAI,CAAC8uC,YAAY,EAAE,EAAE;UACvB,IAAI,CAACrhB,IAAI,CAAC4f,YAAY,CAACvgB,GAAG,CAACzpB,QAAQ,CAAC,MAAM,CAAC,CAAA;EAC3C,QAAA,IAAI,CAACoqB,IAAI,CAAC4f,YAAY,CAAC14C,CAAC,CAAC,+CAA+C,CAAC,CAACgM,MAAM,CAAC,IAAI,CAACmsB,GAAG,CAAC,CAAA;EAC5F,OAAA;EACA,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAAC6B,YAAY,CAAC,CAAA;EAEf,IAAIsgB,UAAQ,gBAAgB,UAAUzD,WAAW,EAAE;IACjD,SAASyD,QAAQA,GAAG;EAClBh/C,IAAAA,eAAe,CAAC,IAAI,EAAEg/C,QAAQ,CAAC,CAAA;EAC/B,IAAA,OAAO1/C,UAAU,CAAC,IAAI,EAAE0/C,QAAQ,EAAEh9C,SAAS,CAAC,CAAA;EAC9C,GAAA;EACAI,EAAAA,SAAS,CAAC48C,QAAQ,EAAEzD,WAAW,CAAC,CAAA;EAChC,EAAA,OAAO76C,YAAY,CAACs+C,QAAQ,EAAE,CAAC;EAC7Bv+C,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,WAAW,CAAA;EACpB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC3K,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACiE,6BAA6B,EAAE,IAAI,CAAC+lB,gBAAgB,CAAC,CAAA;EACrF,MAAA,IAAInzC,SAAS,GAAG,IAAI,CAACwzB,IAAI,CAAC+K,eAAe,CAAA;EACzC,MAAA,IAAIv+B,SAAS,EAAE;EACb,QAAA,IAAI,CAACkqB,QAAQ,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC4F,eAAe,EAAE,IAAI,CAAC4G,KAAK,CAAC,CAAA;EAC5D,QAAA,IAAI,CAACzL,QAAQ,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0F,cAAc,EAAE,IAAI,CAAC8G,KAAK,CAAC,CAAA;EAC7D,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDl/B,IAAAA,GAAG,EAAE,kBAAkB;EACvBU,IAAAA,KAAK,EAAE,SAASg8C,gBAAgBA,GAAG;QACjC,IAAI,CAACxpB,aAAa,EAAE,CAAA;QACpB,IAAI,CAACkL,UAAU,EAAE,CAAA;EACnB,KAAA;EACF,GAAC,EAAE;EACDp+B,IAAAA,GAAG,EAAE,OAAO;EACZU,IAAAA,KAAK,EAAE,SAASw+B,KAAKA,GAAG;EACtB,MAAA,IAAIsf,SAAS,GAAG,OAAO,IAAI,CAACzhB,IAAI,CAACzlB,OAAO,CAACmnC,mBAAmB,KAAK,WAAW,IAAI,IAAI,CAAC1hB,IAAI,CAACzlB,OAAO,CAACmnC,mBAAmB,CAAA;EACrH,MAAA,IAAID,SAAS,IAAI,IAAI,CAACzhB,IAAI,CAACsL,YAAY,EAAE,EAAE,IAAI,CAACtL,IAAI,CAACiN,gBAAgB,EAAE,CAAA;EACzE,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACuH,UAAU,CAAC,CAAA;EAEb,IAAImN,UAAU,GAAG,mYAAmY,CAAA;EAEpZ,IAAIC,YAAY,GAAG,shBAAshB,CAAA;EAEziB,IAAIpgB,UAAU,GAAG,g8BAAg8B,CAAA;EAEj9B,IAAIqgB,aAAW,gBAAgB,UAAUzC,aAAa,EAAE;IACtD,SAASyC,WAAWA,CAAC7hB,IAAI,EAAE;EACzB,IAAA,IAAIzS,KAAK,CAAA;EACT/qB,IAAAA,eAAe,CAAC,IAAI,EAAEq/C,WAAW,CAAC,CAAA;MAClCt0B,KAAK,GAAGzrB,UAAU,CAAC,IAAI,EAAE+/C,WAAW,EAAE,CAAC7hB,IAAI,CAAC,CAAC,CAAA;EAC7C,IAAA,IAAIzS,KAAK,CAAChT,OAAO,CAACunC,kBAAkB,EAAE,OAAO5/C,0BAA0B,CAACqrB,KAAK,EAAEA,KAAK,CAACxN,OAAO,EAAE,CAAC,CAAA;EAC/F,IAAA,OAAOwN,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,SAAS,CAACi9C,WAAW,EAAEzC,aAAa,CAAC,CAAA;EACrC,EAAA,OAAOl8C,YAAY,CAAC2+C,WAAW,EAAE,CAAC;EAChC5+C,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,cAAc,CAAA;EACvB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,UAAU;EACfkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAOw6B,IAAQ,CAACijB,YAAY,CAAC,CAAA;EAC/B,KAAA;EACF,GAAC,EAAE;EACD3+C,IAAAA,GAAG,EAAE,WAAW;EAChBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAAC67B,IAAI,CAAC6M,mBAAmB,EAAE,CAAA;EACxC,KAAA;EACF,GAAC,EAAE;EACD5pC,IAAAA,GAAG,EAAE,YAAY;EACjBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,OAAO,EAAE,qBAAqB;EAC9B,QAAA,mBAAmB,EAAE,EAAA;SACtB,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC3K,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACrC,KAAK,EAAE,IAAI,CAACqf,OAAO,CAAC,CAAA;EACpD,MAAA,IAAI,CAACjc,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACiE,6BAA6B,EAAE,IAAI,CAACmoB,kBAAkB,CAAC,CAAA;EACzF,KAAA;EACF,GAAC,EAAE;EACD9+C,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAASq+C,UAAUA,GAAG;QAC3B,IAAI,CAACC,YAAY,GAAG,IAAI,CAAC5iB,GAAG,CAACpyB,IAAI,CAAC,8BAA8B,CAAC,CAAA;EACjE,MAAA,IAAI,CAACg1C,YAAY,IAAI,IAAI,CAACA,YAAY,CAAC7mC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC8mC,MAAM,CAAC99C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;EAC5E,KAAA;EACF,GAAC,EAAE;EACDnB,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAASu+C,MAAMA,GAAG;QACvB,IAAIjc,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,CAACtP,YAAY,CAAC,IAAI,CAACqJ,IAAI,EAAErK,MAAM,CAACoE,UAAU,EAAE,YAAY;EAC1D,QAAA,OAAOkM,MAAM,CAACz5B,SAAS,CAACulB,IAAI,EAAE,CAAA;EAChC,OAAC,CAAC,CAAA;EACF,MAAA,IAAI,CAACiO,IAAI,CAACrhB,IAAI,CAAC,IAAI,CAACpE,OAAO,CAACgvB,OAAO,EAAE,IAAI,CAAChvB,OAAO,CAACgD,QAAQ,CAAC,CAAA;QAC3D,IAAI,CAAC4kC,YAAY,EAAE,CAAA;EACrB,KAAA;EACF,GAAC,EAAE;EACDl/C,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAASw+C,YAAYA,GAAG;QAC7B,IAAI,CAACF,YAAY,IAAI,IAAI,CAACA,YAAY,CAAC3mC,GAAG,CAAC,OAAO,CAAC,CAAA;EACrD,KAAA;EACF,GAAC,EAAE;EACDrY,IAAAA,GAAG,EAAE,oBAAoB;EACzBU,IAAAA,KAAK,EAAE,SAASo+C,kBAAkBA,GAAG;QACnC,IAAI,CAAC93B,GAAG,GAAG,IAAI,CAAA;QACf,IAAI,CAACk4B,YAAY,EAAE,CAAA;QACnB,IAAI,CAAC7uC,IAAI,EAAE,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACDrQ,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAASgvC,OAAOA,GAAG;QACxB,IAAI1oB,GAAG,GAAGzlB,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QAChF,IAAIylB,GAAG,CAAC8J,KAAK,KAAKgM,WAAW,CAACY,MAAM,CAACT,KAAK,EAAE;UAC1C,IAAI,CAACjW,GAAG,GAAGA,GAAG,CAAA;EACd,QAAA,IAAI,CAACzd,SAAS,CAAC82B,mBAAmB,EAAE,CAAA;EACpC,QAAA,IAAI,CAAC92B,SAAS,CAACq5B,IAAI,EAAE,CAAA;UACrB,IAAI,CAACvzB,IAAI,EAAE,CAAA;EACb,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDrP,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAAS2O,IAAIA,GAAG;QACrB,IAAI,CAACksB,MAAM,EAAE,CAAA;EACb,MAAA,IAAI,CAACa,GAAG,CAAC/sB,IAAI,EAAE,CAAA;EACjB,KAAA;EACF,GAAC,EAAE;EACDrP,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAAS2P,IAAIA,GAAG;EACrB,MAAA,IAAI,CAAC+rB,GAAG,CAAC/rB,IAAI,EAAE,CAAA;EACjB,KAAA;EACF,GAAC,EAAE;EACDrQ,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS66B,MAAMA,GAAG;EACvB,MAAA,IAAI,CAAC,IAAI,CAACvU,GAAG,EAAE,OAAA;EACf,MAAA,IAAI1X,KAAK,GAAGqsB,MAAM,CAACC,WAAW,CAAC2C,UAAU,EAAE;EACzC1C,QAAAA,OAAO,EAAE,IAAI,CAACvkB,OAAO,CAACukB,OAAAA;EACxB,OAAC,CAAC,CAAA;QACF,IAAI,CAACO,GAAG,CAAChzB,IAAI,CAAC,IAAI,CAACsyB,QAAQ,CAAC;EAC1BqC,QAAAA,KAAK,EAAE,IAAI,CAAC/W,GAAG,CAAC6W,EAAE,CAACE,KAAK;EACxBtM,QAAAA,OAAO,EAAE,IAAI,CAACzK,GAAG,CAAC6W,EAAE,CAACpM,OAAO;EAC5B8L,QAAAA,IAAI,EAAE,IAAI,CAACvW,GAAG,CAACuW,IAAI;UACnB4hB,IAAI,EAAE,IAAI,CAACn4B,GAAG,CAAC6W,EAAE,CAACshB,IAAI,IAAI,EAAE;EAC5BT,QAAAA,UAAU,EAAEA,UAAAA;EACd,OAAC,CAAC,CAAC,CAAA;QACH,IAAI,CAACtiB,GAAG,CAACnsB,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAACytB,IAAI,CAACX,GAAG,CAACnsB,MAAM,CAAC,IAAI,CAACzC,EAAE,CAAC,CAAA;QAC7B,IAAI,CAACuxC,UAAU,EAAE,CAAA;EACjB,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAAC9gB,YAAY,CAAC,CAAA;EAEf,IAAImhB,QAAQ,GAAG,gJAAgJ,CAAA;EAE/J,IAAIC,SAAS,GAAG,8NAA8N,CAAA;EAE9O,IAAIC,OAAO,GAAGr7C,CAAC,CAAC,2BAA2B,CAAC,CAAA;EAC5C,IAAIs7C,SAAO,gBAAgB,UAAUzE,WAAW,EAAE;IAChD,SAASyE,OAAOA,CAACxiB,IAAI,EAAE;EACrB,IAAA,IAAIzS,KAAK,CAAA;EACT/qB,IAAAA,eAAe,CAAC,IAAI,EAAEggD,OAAO,CAAC,CAAA;MAC9Bj1B,KAAK,GAAGzrB,UAAU,CAAC,IAAI,EAAE0gD,OAAO,EAAE,CAACxiB,IAAI,CAAC,CAAC,CAAA;MACzCzS,KAAK,CAACk1B,UAAU,GAAG,IAAI,CAAA;MACvBl1B,KAAK,CAAC6E,SAAS,EAAE,CAAA;EACjB,IAAA,OAAO7E,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,SAAS,CAAC49C,OAAO,EAAEzE,WAAW,CAAC,CAAA;EAC/B,EAAA,OAAO76C,YAAY,CAACs/C,OAAO,EAAE,CAAC;EAC5Bv/C,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,SAAS,CAAA;EAClB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,SAAS;EACdkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAOo+C,OAAO,CAAA;EAChB,KAAA;EACF,GAAC,EAAE;EACDt/C,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASyuB,SAASA,GAAG;EAC1B,MAAA,IAAI,IAAI,CAAC4N,IAAI,CAACzlB,OAAO,CAACmoC,aAAa,EAAE;EACnC,QAAA,IAAI,CAAC,IAAI,CAACthB,OAAO,EAAE;YACjB,IAAI,CAACjL,aAAa,CAAC,IAAI,CAAC6J,IAAI,EAAErK,MAAM,CAACmE,mBAAmB,CAAC,CAAA;YACzD,IAAI,CAACyH,MAAM,EAAE,CAAA;EACf,SAAA;EACF,OAAC,MAAM,IAAI,IAAI,CAACH,OAAO,EAAE;UACvB,IAAI,CAACrhB,OAAO,EAAE,CAAA;EACd,QAAA,IAAI,CAAC2W,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACmE,mBAAmB,EAAE,IAAI,CAAC1H,SAAS,CAAC,CAAA;EACtE,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDnvB,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC3K,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACmE,mBAAmB,EAAE,IAAI,CAAC1H,SAAS,CAAC,CAAA;EACpE,MAAA,IAAI,CAACsE,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACiE,6BAA6B,EAAE,IAAI,CAAC+lB,gBAAgB,CAAC,CAAA;QACrF,IAAI,CAAC3f,IAAI,CAAC+K,eAAe,IAAI,IAAI,CAAC4U,gBAAgB,EAAE,CAAA;EACtD,KAAA;EACF,GAAC,EAAE;EACD18C,IAAAA,GAAG,EAAE,kBAAkB;EACvBU,IAAAA,KAAK,EAAE,SAASg8C,gBAAgBA,GAAG;QACjC,IAAI,CAAC8C,UAAU,IAAI,IAAI,CAACtsB,aAAa,CAAC,IAAI,CAACssB,UAAU,CAAC,CAAA;EACtD,MAAA,IAAI,CAACA,UAAU,GAAG,IAAI,CAACziB,IAAI,CAAC+K,eAAe,CAAA;EAC3C,MAAA,IAAI,CAACrU,QAAQ,CAAC,IAAI,CAAC+rB,UAAU,EAAE9sB,MAAM,CAACyF,cAAc,EAAE,IAAI,CAACunB,WAAW,CAAC,CAAA;EACvE,MAAA,IAAI,CAACjsB,QAAQ,CAAC,IAAI,CAAC+rB,UAAU,EAAE9sB,MAAM,CAAC2F,eAAe,EAAE,IAAI,CAACsnB,YAAY,CAAC,CAAA;EACzE,MAAA,IAAI,CAAClsB,QAAQ,CAAC,IAAI,CAAC+rB,UAAU,EAAE9sB,MAAM,CAAC0F,cAAc,EAAE,IAAI,CAACwnB,SAAS,CAAC,CAAA;EACrE,MAAA,IAAI,CAACnsB,QAAQ,CAAC,IAAI,CAAC+rB,UAAU,EAAE9sB,MAAM,CAAC4F,eAAe,EAAE,IAAI,CAACsnB,SAAS,CAAC,CAAA;EACtE,MAAA,IAAI,CAACnsB,QAAQ,CAAC,IAAI,CAAC+rB,UAAU,EAAE9sB,MAAM,CAACiF,eAAe,EAAE,IAAI,CAACioB,SAAS,CAAC,CAAA;QACtE,IAAI,CAACA,SAAS,EAAE,CAAA;EAClB,KAAA;EACF,GAAC,EAAE;EACD5/C,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAASoc,OAAOA,GAAG;QACxB5Z,aAAa,CAACq8C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC9C,IAAI,CAACK,SAAS,EAAE,CAAA;EAClB,KAAA;EACF,GAAC,EAAE;EACD5/C,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS27B,OAAOA,GAAG;QACxBn5B,aAAa,CAACq8C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC9C,IAAI,CAACK,SAAS,EAAE,CAAA;EAClB,KAAA;EACF,GAAC,EAAE;EACD5/C,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAASm/C,UAAUA,CAACl0C,GAAG,EAAE;EAC9B,MAAA,IAAIsuC,MAAM,GAAGh2C,CAAC,CAAC,WAAW,CAAC,CAAA;EAC3Bg2C,MAAAA,MAAM,CAAC,CAAC,CAAC,CAAC9nC,KAAK,GAAG,EAAE,CAAA;EACpB8nC,MAAAA,MAAM,CAAC,CAAC,CAAC,CAAC3nC,MAAM,GAAG,EAAE,CAAA;QACrB,IAAIoM,GAAG,GAAGu7B,MAAM,CAAC,CAAC,CAAC,CAACW,UAAU,CAAC,IAAI,CAAC,CAAA;QACpCl8B,GAAG,CAACohC,SAAS,GAAG,MAAM,CAAA;EACtB,MAAA,IAAIC,CAAC,GAAG97C,CAAC,CAAC0H,GAAG,CAAC,CAAC3B,IAAI,CAAC,MAAM,CAAC,CAACL,IAAI,CAAC,GAAG,CAAC,CAAA;EACrC,MAAA,IAAIq2C,IAAI,GAAG,IAAIC,MAAM,CAACF,CAAC,CAAC,CAAA;EACxBrhC,MAAAA,GAAG,CAACwhC,IAAI,CAACF,IAAI,CAAC,CAAA;EACd,MAAA,IAAIb,IAAI,GAAGl7C,CAAC,CAAC,8CAA8C,CAAC,CAAA;EAC5Dk7C,MAAAA,IAAI,CAACx1C,IAAI,CAAC,MAAM,EAAEswC,MAAM,CAAC,CAAC,CAAC,CAACkG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA;EACnD,MAAA,OAAOhB,IAAI,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACDn/C,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASg/C,WAAWA,GAAG;EAC5B,MAAA,IAAI,CAAC,IAAI,CAACN,QAAQ,EAAE,IAAI,CAACA,QAAQ,GAAG,IAAI,CAACS,UAAU,CAACT,QAAQ,CAAC,CAAA;EAC7D,MAAA,IAAI,CAACgB,UAAU,CAAC,IAAI,CAAChB,QAAQ,CAAC,CAAA;EAChC,KAAA;EACF,GAAC,EAAE;EACDp/C,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAASi/C,YAAYA,GAAG;EAC7B,MAAA,IAAI,CAAC,IAAI,CAACN,SAAS,EAAE,IAAI,CAACA,SAAS,GAAG,IAAI,CAACQ,UAAU,CAACR,SAAS,CAAC,CAAA;EAChE,MAAA,IAAI,CAACe,UAAU,CAAC,IAAI,CAACf,SAAS,CAAC,CAAA;EACjC,KAAA;EACF,GAAC,EAAE;EACDr/C,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASk/C,SAASA,GAAG;EAC1B37C,MAAAA,CAAC,CAAC,2BAA2B,CAAC,CAAC2J,MAAM,EAAE,CAAA;QACvC3J,CAAC,CAAC,MAAM,CAAC,CAACgM,MAAM,CAAC,IAAI,CAACqvC,OAAO,CAAC,CAAA;EAChC,KAAA;EACF,GAAC,EAAE;EACDt/C,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS0/C,UAAUA,CAACjB,IAAI,EAAE;EAC/B,MAAA,IAAIA,IAAI,EAAE;EACRl7C,QAAAA,CAAC,CAAC,2BAA2B,CAAC,CAAC2J,MAAM,EAAE,CAAA;EACvC3J,QAAAA,CAAC,CAAC,MAAM,CAAC,CAACgM,MAAM,CAACkvC,IAAI,CAAC,CAAA;EACxB,OAAA;EACF,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAAC5N,UAAU,CAAC,CAAA;EAEb,IAAI8O,iBAAe,gBAAgB,UAAU3E,gBAAgB,EAAE;IAC7D,SAAS2E,eAAeA,CAAC92C,SAAS,EAAE;EAClC,IAAA,IAAI+gB,KAAK,CAAA;EACT/qB,IAAAA,eAAe,CAAC,IAAI,EAAE8gD,eAAe,CAAC,CAAA;MACtC/1B,KAAK,GAAGzrB,UAAU,CAAC,IAAI,EAAEwhD,eAAe,EAAE,CAAC92C,SAAS,CAAC,CAAC,CAAA;EACtD,IAAA,IAAI+gB,KAAK,CAAC/gB,SAAS,CAAC+N,OAAO,CAACgpC,SAAS,EAAE;QACrCh2B,KAAK,CAACi2B,OAAO,GAAGj2B,KAAK,CAAC/gB,SAAS,CAAC+N,OAAO,CAACgpC,SAAS,CAAA;QACjDh2B,KAAK,CAACk2B,WAAW,GAAGl2B,KAAK,CAAC/gB,SAAS,CAAC+N,OAAO,CAACmpC,aAAa,GAAGn2B,KAAK,CAAC/gB,SAAS,CAAC+N,OAAO,CAACmpC,aAAa,GAAG,GAAG,GAAG,SAAS,CAAA;QACnHn2B,KAAK,CAACo2B,UAAU,GAAGp2B,KAAK,CAAC/gB,SAAS,CAAC+N,OAAO,CAACqpC,YAAY,CAAA;QACvDr2B,KAAK,CAACs2B,cAAc,GAAG9rC,SAAS,CAAA;QAChCwV,KAAK,CAACu2B,WAAW,EAAE,CAAA;EACrB,KAAA;EACA,IAAA,OAAOv2B,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,SAAS,CAAC0+C,eAAe,EAAE3E,gBAAgB,CAAC,CAAA;EAC5C,EAAA,OAAOz7C,YAAY,CAACogD,eAAe,EAAE,CAAC;EACpCrgD,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,kBAAkB,CAAA;EAC3B,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASmgD,WAAWA,GAAG;QAC5B,IAAI7d,MAAM,GAAG,IAAI,CAAA;EACjB,MAAA,IAAI,CAAC1+B,MAAM,CAACw8C,IAAI,EAAE;EAChB,QAAA,IAAInpC,MAAM,GAAGtT,QAAQ,CAACa,aAAa,CAAC,QAAQ,CAAC,CAAA;EAC7CyS,QAAAA,MAAM,CAACpM,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;EAC9CoM,QAAAA,MAAM,CAACpM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;EACrCoM,QAAAA,MAAM,CAACpM,YAAY,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAA;UAC9DoM,MAAM,CAACopC,MAAM,GAAG,YAAY;EAC1B,UAAA,OAAO/d,MAAM,CAACge,iBAAiB,EAAE,CAAA;WAClC,CAAA;EACD38C,QAAAA,QAAQ,CAACoE,IAAI,CAAC/B,WAAW,CAACiR,MAAM,CAAC,CAAA;EACnC,OAAC,MAAM;UACL,IAAI,CAACqpC,iBAAiB,EAAE,CAAA;EAC1B,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDhhD,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAASsgD,iBAAiBA,GAAG;QAClC,IAAI1d,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,IAAI,CAAC/5B,SAAS,EAAE;EAClB,QAAA,IAAI,CAACkqB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC+E,eAAe,EAAE,IAAI,CAAC6X,OAAO,CAAC,CAAA;EACnE,QAAA,IAAI,CAAC7b,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACyF,cAAc,EAAE,IAAI,CAACoX,MAAM,CAAC,CAAA;EACjE,QAAA,IAAI,CAAC9b,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0F,cAAc,EAAE,IAAI,CAACqX,MAAM,CAAC,CAAA;EACjE,QAAA,IAAI,CAAChc,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC2F,eAAe,EAAE,IAAI,CAACmX,OAAO,CAAC,CAAA;EACnE,QAAA,IAAI,CAAC/b,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC4F,eAAe,EAAE,IAAI,CAACmI,OAAO,CAAC,CAAA;EACnE,QAAA,IAAI,CAAChN,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0G,yBAAyB,EAAE,IAAI,CAACyG,WAAW,CAAC,CAAA;EACjF,QAAA,IAAI,CAACpM,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC2G,0BAA0B,EAAE,IAAI,CAAC4nB,YAAY,CAAC,CAAA;EACnF,QAAA,IAAI,CAACxtB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACiF,eAAe,EAAE,IAAI,CAAC+X,OAAO,CAAC,CAAA;EACnE,QAAA,IAAI,CAACjc,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0E,uBAAuB,EAAE,IAAI,CAAC8pB,iBAAiB,CAAC,CAAA;EACrF,QAAA,IAAI,CAACztB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACwG,gBAAgB,EAAE,UAAUtjB,KAAK,EAAE;EACtE,UAAA,OAAO0tB,MAAM,CAAC6d,eAAe,CAACvrC,KAAK,CAAC,CAAA;EACtC,SAAC,CAAC,CAAA;EACF,QAAA,IAAI,CAAC6d,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACsG,cAAc,EAAE,UAAUpjB,KAAK,EAAE;EACpE,UAAA,OAAO0tB,MAAM,CAAC/C,MAAM,CAAC3qB,KAAK,CAAC,CAAA;EAC7B,SAAC,CAAC,CAAA;EACF,QAAA,IAAI,CAAC6d,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0uB,qBAAqB,EAAE,IAAI,CAACC,YAAY,CAAC,CAAA;EAC9E,QAAA,IAAI,CAAC5tB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC6G,8BAA8B,EAAE,IAAI,CAAC+nB,IAAI,CAAC,CAAA;EAC/E,QAAA,IAAI,CAAC7tB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC2E,iCAAiC,EAAE,IAAI,CAACkqB,KAAK,CAAC,CAAA;EACrF,OAAA;EACAC,MAAAA,IAAI,CAACn/C,IAAI,CAAC,CAAC,IAAI,CAACm+C,WAAW,GAAG,aAAa,EAAE,IAAI,CAACD,OAAO,CAAC,CAAC,CAAA;EAC3D,MAAA,IAAI,IAAI,CAACG,UAAU,EAAEc,IAAI,CAACn/C,IAAI,CAAC,CAAC,IAAI,CAACm+C,WAAW,GAAG,gBAAgB,EAAE,IAAI,CAACE,UAAU,CAAC,CAAC,CAAA;EACxF,KAAA;EACF,GAAC,EAAE;EACD1gD,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS4uC,OAAOA,GAAG;EACxB,MAAA,IAAI,CAACjtC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAACkH,SAAS,CAACm1B,QAAQ,CAACh7B,IAAI,CAAC,CAAC,CAAA;EAChE,KAAA;EACF,GAAC,EAAE;EACD1D,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS6uC,MAAMA,GAAG;EACvB,MAAA,IAAI,CAACltC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAACkH,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EAC3D,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS+uC,MAAMA,GAAG;EACvB,MAAA,IAAI,CAACptC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAACkH,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EAC3D,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS+/B,OAAOA,GAAG;EACxB,MAAA,IAAI,CAACp+B,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAACkH,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EAC5D,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASm/B,WAAWA,GAAG;EAC5B,MAAA,IAAI,CAACx9B,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAACkH,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EAChE,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAASugD,YAAYA,GAAG;EAC7B,MAAA,IAAI,CAAC5+C,IAAI,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAACkH,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EACjE,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAASgvC,OAAOA,GAAG;EACxB,MAAA,IAAI,CAACrtC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAACkH,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EAC5D,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAAS4gD,IAAIA,CAAC/c,IAAI,EAAE;EACzB,MAAA,IAAI5tB,MAAM,GAAG4tB,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;EAChC,MAAA,IAAI5tB,MAAM,KAAK,IAAI,CAACiqC,cAAc,EAAE;UAClC,IAAI,CAACA,cAAc,GAAGjqC,MAAM,CAAA;EAC5B,QAAA,IAAI,CAACtU,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,GAAGsU,MAAM,EAAE,IAAI,CAACpN,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EACrE,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAASwgD,iBAAiBA,CAACO,aAAa,EAAE;QAC/C,IAAIA,aAAa,CAAC36C,IAAI,KAAK,IAAI,EAAE,IAAI,CAACzE,IAAI,CAAC,CAAC,OAAO,EAAE,kBAAkB,GAAGo/C,aAAa,CAAC36C,IAAI,EAAE,IAAI,CAACyC,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EAC7H,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,OAAO;EACZU,IAAAA,KAAK,EAAE,SAAS6gD,KAAKA,CAAClgB,QAAQ,EAAE;EAC9B,MAAA,IAAI1qB,MAAM,GAAG0qB,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAA;EACpC,MAAA,IAAI,CAACh/B,IAAI,CAAC,CAAC,aAAa,EAAE,QAAQ,GAAGsU,MAAM,EAAE,IAAI,CAACpN,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EAC5E,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS8uC,OAAOA,GAAG;EACxB,MAAA,IAAI,CAACntC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAACkH,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EAC5D,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS6/B,MAAMA,GAAG;EACvB,MAAA,IAAI,CAACl+B,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAACkH,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EAC3D,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAASygD,eAAeA,GAAG;EAChC,MAAA,IAAI,CAAC9+C,IAAI,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAACkH,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EACnE,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAAS2gD,YAAYA,GAAG;EAC7B,MAAA,IAAI,CAACh/C,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAACkH,SAAS,CAACm1B,QAAQ,CAAC/pB,GAAG,CAAC,CAAC,CAAA;EACvE,KAAA;EACF,GAAC,EAAE;EACD3U,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAAS2B,IAAIA,CAACmF,KAAK,EAAE;EAC1B,MAAA,IAAIk6C,GAAG,GAAG,CAAC,IAAI,CAAClB,WAAW,GAAG,aAAa,CAAC,CAACp8C,MAAM,CAACoD,KAAK,CAAC,CAAA;EAC1Dg6C,MAAAA,IAAI,CAACn/C,IAAI,CAACq/C,GAAG,CAAC,CAAA;EAChB,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACpQ,eAAe,CAAC,CAAA;;EAElB;EACA;EACA;;EAEA,IAAIqQ,IAAI,GAAG,SAASA,IAAIA,CAAC57C,OAAO,EAAE;EAChC,EAAA,IAAI,CAACA,OAAO,GAAGA,OAAO,IAAIzB,MAAM,CAACD,QAAQ,CAAA;IACzC,IAAI,CAAComB,UAAU,EAAE,CAAA;EACnB,CAAC,CAAA;EACDk3B,IAAI,CAACC,iBAAiB,GAAG;EACvB,EAAA,CAAC,EAAE,WAAW;EACd,EAAA,CAAC,EAAE,KAAK;EACR,EAAA,EAAE,EAAE,OAAO;EACX,EAAA,EAAE,EAAE,OAAO;EACX,EAAA,EAAE,EAAE,MAAM;EACV,EAAA,EAAE,EAAE,KAAK;EACT,EAAA,EAAE,EAAE,WAAW;EACf,EAAA,EAAE,EAAE,KAAK;EACT,EAAA,EAAE,EAAE,OAAO;EACX,EAAA,EAAE,EAAE,MAAM;EACV,EAAA,EAAE,EAAE,IAAI;EACR,EAAA,EAAE,EAAE,OAAO;EACX,EAAA,EAAE,EAAE,MAAM;EACV,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,EAAE,EAAE,GAAG;EACP,EAAA,GAAG,EAAE,IAAI;EACT,EAAA,GAAG,EAAE,IAAI;EACT,EAAA,GAAG,EAAE,IAAI;EACT,EAAA,GAAG,EAAE,IAAI;EACT,EAAA,GAAG,EAAE,IAAI;EACT,EAAA,GAAG,EAAE,IAAI;EACT,EAAA,GAAG,EAAE,IAAI;EACT,EAAA,GAAG,EAAE,IAAI;EACT,EAAA,GAAG,EAAE,IAAI;EACT,EAAA,GAAG,EAAE,KAAK;EACV,EAAA,GAAG,EAAE,KAAK;EACV,EAAA,GAAG,EAAE,KAAA;EACP,CAAC,CAAA;EACDD,IAAI,CAACE,iBAAiB,GAAG,EAAE,CAAA;EAC3B,CAAC,YAAY;EACX,EAAA,KAAK,IAAI7hD,GAAG,IAAI2hD,IAAI,CAACC,iBAAiB,EAAE;EACtC,IAAA,IAAI/hD,MAAM,CAACK,SAAS,CAAC+C,cAAc,CAACpC,IAAI,CAAC8gD,IAAI,CAACC,iBAAiB,EAAE5hD,GAAG,CAAC,EAAE;EACrE2hD,MAAAA,IAAI,CAACE,iBAAiB,CAACF,IAAI,CAACC,iBAAiB,CAAC5hD,GAAG,CAAC,CAAC,GAAG,CAACA,GAAG,CAAA;EAC5D,KAAA;EACF,GAAA;EACF,CAAC,GAAG,CAAA;EACJ2hD,IAAI,CAACG,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;EACzCH,IAAI,CAACI,aAAa,GAAG,YAAY;IAC/B,IAAI19C,QAAQ,CAACqJ,gBAAgB,EAAE;EAC7B,IAAA,OAAO,UAAU3H,OAAO,EAAE4P,SAAS,EAAE/F,IAAI,EAAE;QACzC7J,OAAO,CAAC2H,gBAAgB,CAACiI,SAAS,EAAE/F,IAAI,EAAE,KAAK,CAAC,CAAA;OACjD,CAAA;EACH,GAAC,MAAM,IAAIvL,QAAQ,CAAC29C,WAAW,EAAE;EAC/B,IAAA,OAAO,UAAUj8C,OAAO,EAAE4P,SAAS,EAAE/F,IAAI,EAAE;QACzC7J,OAAO,CAACi8C,WAAW,CAAC,IAAI,GAAGrsC,SAAS,EAAE/F,IAAI,CAAC,CAAA;OAC5C,CAAA;EACH,GAAA;EACF,CAAC,EAAE,CAAA;EACH+xC,IAAI,CAACM,eAAe,GAAG,YAAY;IACjC,IAAI59C,QAAQ,CAAC6c,mBAAmB,EAAE;EAChC,IAAA,OAAO,UAAUnb,OAAO,EAAE4P,SAAS,EAAE/F,IAAI,EAAE;QACzC7J,OAAO,CAACmb,mBAAmB,CAACvL,SAAS,EAAE/F,IAAI,EAAE,KAAK,CAAC,CAAA;OACpD,CAAA;EACH,GAAC,MAAM,IAAIvL,QAAQ,CAAC69C,WAAW,EAAE;EAC/B,IAAA,OAAO,UAAUn8C,OAAO,EAAE4P,SAAS,EAAE/F,IAAI,EAAE;QACzC7J,OAAO,CAACm8C,WAAW,CAAC,IAAI,GAAGvsC,SAAS,EAAE/F,IAAI,CAAC,CAAA;OAC5C,CAAA;EACH,GAAA;EACF,CAAC,EAAE,CAAA;EACH+xC,IAAI,CAACQ,cAAc,GAAG,UAAU/mB,MAAM,EAAEnO,SAAS,EAAE;IACjD,OAAOmO,MAAM,CAACx0B,OAAO,CAACqmB,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;EACzC,CAAC,CAAA;EACD00B,IAAI,CAACS,UAAU,GAAG,UAAUhnB,MAAM,EAAE;EAClC,EAAA,OAAOA,MAAM,CAACvzB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;EAC9D,CAAC,CAAA;EACD85C,IAAI,CAACU,UAAU,GAAG,UAAUjnB,MAAM,EAAE;EAClC,EAAA,OAAOA,MAAM,CAACnzB,WAAW,EAAE,CAACJ,OAAO,CAAC,IAAI,EAAE,UAAUvB,KAAK,EAAE;EACzD,IAAA,OAAOA,KAAK,CAACyB,WAAW,EAAE,CAAA;EAC5B,GAAC,CAAC,CAAA;EACJ,CAAC,CAAA;EACD45C,IAAI,CAAC9iC,QAAQ,GAAG,UAAUyjC,IAAI,EAAE;EAC9B,EAAA,OAAOX,IAAI,CAACQ,cAAc,CAACtiD,MAAM,CAACK,SAAS,CAACsD,QAAQ,CAAC3C,IAAI,CAACyhD,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAA;EAC5E,CAAC,CAAA;EACDX,IAAI,CAACY,aAAa,GAAG,YAAY;EAC/B,EAAA,IAAIhkD,KAAK,CAAC2B,SAAS,CAAC0G,OAAO,EAAE;EAC3B,IAAA,OAAO,UAAU47C,QAAQ,EAAEC,MAAM,EAAE;QACjC,OAAOD,QAAQ,CAAC57C,OAAO,CAAC67C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;OACvC,CAAA;EACH,GAAC,MAAM;EACL,IAAA,OAAO,UAAUD,QAAQ,EAAEC,MAAM,EAAE;EACjC,MAAA,KAAK,IAAIrgD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGogD,QAAQ,CAACpkD,MAAM,EAAEgE,CAAC,EAAE,EAAE;EACxC,QAAA,IAAIogD,QAAQ,CAACpgD,CAAC,CAAC,KAAKqgD,MAAM,EAAE;EAC1B,UAAA,OAAO,IAAI,CAAA;EACb,SAAA;EACF,OAAA;EACA,MAAA,OAAO,KAAK,CAAA;OACb,CAAA;EACH,GAAA;EACF,CAAC,EAAE,CAAA;EACHd,IAAI,CAACe,gBAAgB,GAAG,UAAUC,cAAc,EAAE;IAChD,IAAIC,SAAS,EAAExgD,CAAC,CAAA;EAChBwgD,EAAAA,SAAS,GAAG,EAAE,CAAA;EACd,EAAA,KAAKxgD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGu/C,IAAI,CAACG,SAAS,CAAC1jD,MAAM,EAAEgE,CAAC,EAAE,EAAE;EAC1C,IAAA,IAAIu/C,IAAI,CAACQ,cAAc,CAACQ,cAAc,EAAEhB,IAAI,CAACG,SAAS,CAAC1/C,CAAC,CAAC,CAAC,EAAE;QAC1DwgD,SAAS,CAACvgD,IAAI,CAACs/C,IAAI,CAACG,SAAS,CAAC1/C,CAAC,CAAC,CAAC,CAAA;EACnC,KAAA;EACF,GAAA;EACA,EAAA,OAAOwgD,SAAS,CAAA;EAClB,CAAC,CAAA;EACDjB,IAAI,CAACkB,UAAU,GAAG,UAAUF,cAAc,EAAE;IAC1C,IAAIlgD,IAAI,EAAEL,CAAC,CAAA;IACXK,IAAI,GAAGk/C,IAAI,CAACS,UAAU,CAACO,cAAc,CAAC,CAACx1C,KAAK,CAAC,GAAG,CAAC,CAAA;EACjD,EAAA,KAAK/K,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGK,IAAI,CAACrE,MAAM,EAAEgE,CAAC,EAAE,EAAE;EAChC,IAAA,IAAI,CAACu/C,IAAI,CAACY,aAAa,CAACZ,IAAI,CAACG,SAAS,EAAEr/C,IAAI,CAACL,CAAC,CAAC,CAAC,EAAE;QAChD,OAAOK,IAAI,CAACL,CAAC,CAAC,CAAA;EAChB,KAAA;EACF,GAAA;EACF,CAAC,CAAA;EACDu/C,IAAI,CAACmB,eAAe,GAAG,UAAUH,cAAc,EAAE;IAC/C,IAAIr0C,MAAM,EAAEtO,GAAG,CAAA;IACf,IAAI2hD,IAAI,CAACQ,cAAc,CAACQ,cAAc,EAAE,KAAK,CAAC,EAAE;MAC9C,OAAOhB,IAAI,CAACS,UAAU,CAACO,cAAc,CAAC,CAACx1C,KAAK,CAAC,GAAG,CAAC,CAAC1J,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACqN,IAAI,CAAC,GAAG,CAAC,CAAA;EACzE,GAAA;EACAxC,EAAAA,MAAM,GAAGqzC,IAAI,CAACe,gBAAgB,CAACC,cAAc,CAAC,CAAA;EAC9C3iD,EAAAA,GAAG,GAAG2hD,IAAI,CAACkB,UAAU,CAACF,cAAc,CAAC,CAAA;EACrC,EAAA,IAAI3iD,GAAG,IAAI,CAAC2hD,IAAI,CAACY,aAAa,CAACZ,IAAI,CAACG,SAAS,EAAE9hD,GAAG,CAAC,EAAE;EACnDsO,IAAAA,MAAM,CAACjM,IAAI,CAACrC,GAAG,CAAC,CAAA;EAClB,GAAA;EACA,EAAA,OAAOsO,MAAM,CAACwC,IAAI,CAAC,GAAG,CAAC,CAAA;EACzB,CAAC,CAAA;EACD6wC,IAAI,CAACoB,OAAO,GAAG,UAAUC,OAAO,EAAE;EAChC,EAAA,OAAOrB,IAAI,CAACC,iBAAiB,CAACoB,OAAO,GAAG,EAAE,CAAC,CAAA;EAC7C,CAAC,CAAA;EACDrB,IAAI,CAACqB,OAAO,GAAG,UAAUD,OAAO,EAAE;EAChC,EAAA,OAAO,CAACpB,IAAI,CAACE,iBAAiB,CAACkB,OAAO,CAAC,CAAA;EACzC,CAAC,CAAA;EACDpB,IAAI,CAACzhD,SAAS,CAACuqB,UAAU,GAAG,YAAY;EACtC,EAAA,IAAIroB,CAAC;EACH6gD,IAAAA,IAAI,GAAG,IAAI,CAAA;EACb,EAAA,IAAI,CAACC,WAAW,GAAG,CAAC,CAAC,CAAA;EACrB,EAAA,IAAI,CAACC,aAAa,GAAG,EAAE,CAAA;EACvB,EAAA,KAAK/gD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGu/C,IAAI,CAACG,SAAS,CAAC1jD,MAAM,EAAEgE,CAAC,EAAE,EAAE;MAC1C,IAAI,CAAC+gD,aAAa,CAACxB,IAAI,CAACG,SAAS,CAAC1/C,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;EAC/C,GAAA;IACA,IAAI,CAACghD,QAAQ,GAAG;EACdC,IAAAA,GAAG,EAAE,EAAA;KACN,CAAA;IACD,IAAI,CAACC,MAAM,GAAG;EACZD,IAAAA,GAAG,EAAE,EAAA;KACN,CAAA;IACD,IAAI,CAACE,WAAW,GAAG,IAAI,CAACxjC,OAAO,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,CAACyjC,SAAS,GAAG,IAAI,CAACzjC,OAAO,CAAC,IAAI,CAAC,CAAA;EACnC4hC,EAAAA,IAAI,CAACI,aAAa,CAAC,IAAI,CAACh8C,OAAO,EAAE,SAAS,EAAE,IAAI,CAACw9C,WAAW,CAAC,CAAA;EAC7D5B,EAAAA,IAAI,CAACI,aAAa,CAAC,IAAI,CAACh8C,OAAO,EAAE,OAAO,EAAE,IAAI,CAACy9C,SAAS,CAAC,CAAA;EACzD,EAAA,IAAIC,WAAW,GAAGlgD,OAAO,CAACe,MAAM,CAACo/C,cAAc,CAAC,KAAK,QAAQ,GAAG,cAAc,GAAG,QAAQ,CAAA;IACzF/B,IAAI,CAACI,aAAa,CAACz9C,MAAM,EAAEm/C,WAAW,EAAE,SAASE,QAAQA,GAAG;EAC1DhC,IAAAA,IAAI,CAACM,eAAe,CAACgB,IAAI,CAACl9C,OAAO,EAAE,SAAS,EAAEk9C,IAAI,CAACM,WAAW,CAAC,CAAA;EAC/D5B,IAAAA,IAAI,CAACM,eAAe,CAACgB,IAAI,CAACl9C,OAAO,EAAE,OAAO,EAAEk9C,IAAI,CAACO,SAAS,CAAC,CAAA;MAC3D7B,IAAI,CAACM,eAAe,CAAC39C,MAAM,EAAEm/C,WAAW,EAAEE,QAAQ,CAAC,CAAA;EACrD,GAAC,CAAC,CAAA;EACJ,CAAC,CAAA;EACDhC,IAAI,CAACzhD,SAAS,CAAC6f,OAAO,GAAG,UAAU6jC,QAAQ,EAAE;IAC3C,IAAIX,IAAI,GAAG,IAAI,CAAA;IACf,OAAO,UAAU5kD,CAAC,EAAE;EAClB,IAAA,IAAI+D,CAAC,EAAEyhD,cAAc,EAAEC,mBAAmB,CAAA;EAC1CzlD,IAAAA,CAAC,GAAGA,CAAC,IAAIiG,MAAM,CAACsR,KAAK,CAAA;EACrBqtC,IAAAA,IAAI,CAACC,WAAW,GAAG7kD,CAAC,CAAC2kD,OAAO,CAAA;EAC5B,IAAA,KAAK5gD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGu/C,IAAI,CAACG,SAAS,CAAC1jD,MAAM,EAAEgE,CAAC,EAAE,EAAE;QAC1C6gD,IAAI,CAACE,aAAa,CAACxB,IAAI,CAACG,SAAS,CAAC1/C,CAAC,CAAC,CAAC,GAAG/D,CAAC,CAACsjD,IAAI,CAACG,SAAS,CAAC1/C,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;EACtE,KAAA;EACA,IAAA,IAAIu/C,IAAI,CAACY,aAAa,CAACZ,IAAI,CAACG,SAAS,EAAEH,IAAI,CAACoB,OAAO,CAACE,IAAI,CAACC,WAAW,CAAC,CAAC,EAAE;EACtED,MAAAA,IAAI,CAACE,aAAa,CAACxB,IAAI,CAACoB,OAAO,CAACE,IAAI,CAACC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAA;EAC3D,KAAA;MACAW,cAAc,GAAGZ,IAAI,CAAC,MAAM,GAAGtB,IAAI,CAACU,UAAU,CAACuB,QAAQ,CAAC,CAAC,CAAA;EACzD,IAAA,KAAKxhD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyhD,cAAc,CAACR,GAAG,CAACjlD,MAAM,EAAEgE,CAAC,EAAE,EAAE;EAC9C,MAAA,IAAIyhD,cAAc,CAACR,GAAG,CAACjhD,CAAC,CAAC,CAAC/D,CAAC,CAAC,KAAK,KAAK,IAAIA,CAAC,CAAC2iB,cAAc,EAAE;UAC1D3iB,CAAC,CAAC2iB,cAAc,EAAE,CAAA;EACpB,OAAA;EACF,KAAA;EACA8iC,IAAAA,mBAAmB,GAAGb,IAAI,CAACa,mBAAmB,EAAE,CAAA;EAChD,IAAA,IAAID,cAAc,CAACC,mBAAmB,CAAC,EAAE;EACvC,MAAA,KAAK1hD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyhD,cAAc,CAACC,mBAAmB,CAAC,CAAC1lD,MAAM,EAAEgE,CAAC,EAAE,EAAE;EAC/D,QAAA,IAAIyhD,cAAc,CAACC,mBAAmB,CAAC,CAAC1hD,CAAC,CAAC,CAAC/D,CAAC,CAAC,KAAK,KAAK,IAAIA,CAAC,CAAC2iB,cAAc,EAAE;YAC3E3iB,CAAC,CAAC2iB,cAAc,EAAE,CAAA;EACpB,SAAA;EACF,OAAA;EACF,KAAA;KACD,CAAA;EACH,CAAC,CAAA;EACD2gC,IAAI,CAACzhD,SAAS,CAAC6jD,YAAY,GAAG,UAAUH,QAAQ,EAAEI,OAAO,EAAEp0C,IAAI,EAAE;EAC/D,EAAA,IAAIxN,CAAC;MACHK,IAAI;MACJohD,cAAc,GAAG,IAAI,CAAC,MAAM,GAAGlC,IAAI,CAACU,UAAU,CAACuB,QAAQ,CAAC,CAAC,CAAA;EAC3D,EAAA,IAAIjC,IAAI,CAAC9iC,QAAQ,CAACmlC,OAAO,CAAC,EAAE;MAC1BA,OAAO,GAAG,CAACA,OAAO,CAAC,CAAA;EACrB,GAAA;EACA,EAAA,KAAK5hD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4hD,OAAO,CAAC5lD,MAAM,EAAEgE,CAAC,EAAE,EAAE;EACnCK,IAAAA,IAAI,GAAGuhD,OAAO,CAAC5hD,CAAC,CAAC,CAAA;MACjBK,IAAI,GAAGk/C,IAAI,CAACmB,eAAe,CAACrgD,IAAI,GAAG,EAAE,CAAC,CAAA;EACtC,IAAA,IAAIohD,cAAc,CAACphD,IAAI,CAAC,EAAE;EACxBohD,MAAAA,cAAc,CAACphD,IAAI,CAAC,CAACJ,IAAI,CAACuN,IAAI,CAAC,CAAA;EACjC,KAAC,MAAM;EACLi0C,MAAAA,cAAc,CAACphD,IAAI,CAAC,GAAG,CAACmN,IAAI,CAAC,CAAA;EAC/B,KAAA;EACF,GAAA;EACA,EAAA,OAAO,IAAI,CAAA;EACb,CAAC,CAAA;;EAED;EACA+xC,IAAI,CAACzhD,SAAS,CAAC+jD,cAAc,GAAG,UAAUL,QAAQ,EAAEI,OAAO,EAAEp0C,IAAI,EAAE;EACjE,EAAA,IAAIxN,CAAC;MACH2wB,CAAC;MACDtwB,IAAI;MACJohD,cAAc,GAAG,IAAI,CAAC,MAAM,GAAGlC,IAAI,CAACU,UAAU,CAACuB,QAAQ,CAAC,CAAC,CAAA;EAC3D,EAAA,IAAIjC,IAAI,CAAC9iC,QAAQ,CAACmlC,OAAO,CAAC,EAAE;MAC1BA,OAAO,GAAG,CAACA,OAAO,CAAC,CAAA;EACrB,GAAA;EACA,EAAA,KAAK5hD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4hD,OAAO,CAAC5lD,MAAM,EAAEgE,CAAC,EAAE,EAAE;EACnCK,IAAAA,IAAI,GAAGuhD,OAAO,CAAC5hD,CAAC,CAAC,CAAA;MACjBK,IAAI,GAAGk/C,IAAI,CAACmB,eAAe,CAACrgD,IAAI,GAAG,EAAE,CAAC,CAAA;MACtC,IAAImN,IAAI,KAAK,IAAI,EAAE;QACjB,OAAOi0C,cAAc,CAACphD,IAAI,CAAC,CAAA;EAC7B,KAAC,MAAM;EACL,MAAA,IAAIohD,cAAc,CAACphD,IAAI,CAAC,EAAE;EACxB,QAAA,KAAKswB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG8wB,cAAc,CAACphD,IAAI,CAAC,CAACrE,MAAM,EAAE20B,CAAC,EAAE,EAAE;EAChD,UAAA,IAAIzvB,MAAM,CAACugD,cAAc,CAACphD,IAAI,CAAC,CAACswB,CAAC,CAAC,CAAC,KAAKzvB,MAAM,CAACsM,IAAI,CAAC,EAAE;cACpDi0C,cAAc,CAACphD,IAAI,CAAC,CAAC6K,MAAM,CAACylB,CAAC,EAAE,CAAC,CAAC,CAAA;EACjC,YAAA,MAAA;EACF,WAAA;EACF,SAAA;EACF,OAAA;EACF,KAAA;EACF,GAAA;EACA,EAAA,OAAO,IAAI,CAAA;EACb,CAAC,CAAA;EACD4uB,IAAI,CAACzhD,SAAS,CAACmY,GAAG,GAAG,UAAU5V,IAAI,EAAE;IACnC,OAAO,IAAI,CAACwhD,cAAc,CAAC,MAAM,EAAExhD,IAAI,EAAE,IAAI,CAAC,CAAA;EAChD,CAAC,CAAA;EACDk/C,IAAI,CAACzhD,SAAS,CAACkiB,QAAQ,GAAG,UAAUwhC,QAAQ,EAAEnhD,IAAI,EAAEmN,IAAI,EAAE;EACxD,EAAA,OAAOA,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAKkF,SAAS,GAAG,IAAI,CAACivC,YAAY,CAACH,QAAQ,EAAEnhD,IAAI,EAAEmN,IAAI,CAAC,GAAG,IAAI,CAACq0C,cAAc,CAACL,QAAQ,EAAEnhD,IAAI,EAAEmN,IAAI,CAAC,CAAA;EAClI,CAAC,CAAA;EACD+xC,IAAI,CAACzhD,SAAS,CAACgkD,IAAI,GAAG,UAAUzhD,IAAI,EAAEmN,IAAI,EAAE;IAC1C,OAAO,IAAI,CAACwS,QAAQ,CAAC,MAAM,EAAE3f,IAAI,EAAEmN,IAAI,CAAC,CAAA;EAC1C,CAAC,CAAA;EACD+xC,IAAI,CAACzhD,SAAS,CAACikD,EAAE,GAAG,UAAU1hD,IAAI,EAAEmN,IAAI,EAAE;IACxC,OAAO,IAAI,CAACwS,QAAQ,CAAC,IAAI,EAAE3f,IAAI,EAAEmN,IAAI,CAAC,CAAA;EACxC,CAAC,CAAA;EACD+xC,IAAI,CAACzhD,SAAS,CAACkkD,OAAO,GAAG,UAAUC,QAAQ,EAAE;IAC3C,IAAI,CAACA,QAAQ,EAAE;EACb,IAAA,OAAO1C,IAAI,CAACoB,OAAO,CAAC,IAAI,CAACG,WAAW,CAAC,CAAA;EACvC,GAAA;EACA,EAAA,OAAO,IAAI,CAACC,aAAa,CAACkB,QAAQ,CAAC,CAAA;EACrC,CAAC,CAAA;EACD1C,IAAI,CAACzhD,SAAS,CAAC4jD,mBAAmB,GAAG,YAAY;IAC/C,IAAIx1C,MAAM,EAAElM,CAAC,CAAA;EACbkM,EAAAA,MAAM,GAAG,EAAE,CAAA;EACX,EAAA,KAAKlM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGu/C,IAAI,CAACG,SAAS,CAAC1jD,MAAM,EAAEgE,CAAC,EAAE,EAAE;MAC1C,IAAI,IAAI,CAACgiD,OAAO,CAACzC,IAAI,CAACG,SAAS,CAAC1/C,CAAC,CAAC,CAAC,EAAE;QACnCkM,MAAM,CAACjM,IAAI,CAACs/C,IAAI,CAACG,SAAS,CAAC1/C,CAAC,CAAC,CAAC,CAAA;EAChC,KAAA;EACF,GAAA;EACA,EAAA,IAAI,CAACu/C,IAAI,CAACY,aAAa,CAACj0C,MAAM,EAAE,IAAI,CAAC81C,OAAO,EAAE,CAAC,EAAE;MAC/C91C,MAAM,CAACjM,IAAI,CAAC,IAAI,CAAC+hD,OAAO,EAAE,CAAC,CAAA;EAC7B,GAAA;EACA,EAAA,OAAO91C,MAAM,CAACwC,IAAI,CAAC,GAAG,CAAC,CAAA;EACzB,CAAC,CAAA;EAED,IAAIhB,KAAK,GAAG;EACV6xC,EAAAA,IAAI,EAAEA,IAAAA;EACR,CAAC,CAAA;EAED,IAAI5a,UAAU,GAAG,65cAA65c,CAAA;EAE96c,IAAIud,gBAAgB,GAAG,y0FAAy0F,CAAA;EAEh2F,IAAIC,QAAQ,GAAG,sLAAsL,CAAA;EAErM,IAAIC,UAAU,GAAG,oQAAoQ,CAAA;EAErR,IAAIC,cAAc,GAAG,+YAA+Y,CAAA;EAEpa,IAAIC,cAAc,GAAG,yNAAyN,CAAA;EAE9O,IAAIC,kBAAkB,GAAG,wOAAwO,CAAA;EAEjQ,IAAIC,MAAM,GAAG,oXAAoX,CAAA;EAEjY,IAAIr4B,MAAM,GAAGyD,KAAK,CAACzD,MAAM;IACvBrB,UAAU,GAAG8E,KAAK,CAAC9E,UAAU;IAC7B25B,YAAY,GAAG70B,KAAK,CAACtF,UAAU;IAC/BxgB,MAAM,GAAG8lB,KAAK,CAAC9lB,MAAM;IACrBokB,eAAe,GAAG0B,KAAK,CAAC1B,eAAe,CAAA;EACzC,IAAIw2B,cAAY,gBAAgB,UAAU3I,aAAa,EAAE;IACvD,SAAS2I,YAAYA,CAAC/nB,IAAI,EAAE;EAC1B,IAAA,IAAIzS,KAAK,CAAA;EACT/qB,IAAAA,eAAe,CAAC,IAAI,EAAEulD,YAAY,CAAC,CAAA;MACnCx6B,KAAK,GAAGzrB,UAAU,CAAC,IAAI,EAAEimD,YAAY,EAAE,CAAC/nB,IAAI,CAAC,CAAC,CAAA;EAC9CzS,IAAAA,KAAK,CAACukB,aAAa,GAAGvkB,KAAK,CAAChT,OAAO,CAACu3B,aAAa,CAAA;MACjDvkB,KAAK,CAACy6B,oBAAoB,GAAG,IAAI,CAAA;MACjCz6B,KAAK,CAAC06B,oBAAoB,GAAG,IAAI,CAAA;MACjC16B,KAAK,CAAC26B,WAAW,GAAG,KAAK,CAAA;EACzB36B,IAAAA,KAAK,CAAC46B,6BAA6B,GAAG,IAAI,CAAC;MAC3C56B,KAAK,CAAC66B,gBAAgB,EAAE,CAAA;MACxB76B,KAAK,CAACrU,QAAQ,GAAG;EACflE,MAAAA,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;QAC/BiiC,KAAK,EAAE,CAAC,QAAQ,CAAC;EACjB,MAAA,SAAS,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAA;OAC9C,CAAA;MACD1pB,KAAK,CAAC86B,IAAI,GAAG,IAAIzD,IAAI,CAACr3B,KAAK,CAAChT,OAAO,CAAC+tC,YAAY,CAAC,CAAA;MACjD/6B,KAAK,CAACg7B,aAAa,EAAE,CAAA;MACrB,IAAIh7B,KAAK,CAAC/gB,SAAS,EAAE;EACnB,MAAA,IAAI,CAACtF,CAAC,CAAC8H,aAAa,CAACue,KAAK,CAAC/gB,SAAS,CAAC0M,QAAQ,CAAC,EAAEqU,KAAK,CAACrU,QAAQ,GAAGhS,CAAC,CAACiG,MAAM,CAAC,EAAE,EAAEogB,KAAK,CAAC/gB,SAAS,CAAC0M,QAAQ,CAAC,CAAA;EACzG,KAAC,MAAM;EACLqU,MAAAA,KAAK,CAACrU,QAAQ,GAAG,EAAE,CAAA;EACrB,KAAA;MACAqU,KAAK,CAACi7B,YAAY,GAAG,KAAK,CAAA;MAC1B,IAAIj7B,KAAK,CAAC/gB,SAAS,IAAI+gB,KAAK,CAAC/gB,SAAS,CAACq1B,oBAAoB,IAAItU,KAAK,CAAChT,OAAO,CAAC2rB,UAAU,EAAE3Y,KAAK,CAACxN,OAAO,EAAE,CAAA;EACxGwN,IAAAA,KAAK,CAACk7B,eAAe,GAAG,UAAU5vC,KAAK,EAAE;EACvC,MAAA,OAAO0U,KAAK,CAACm7B,QAAQ,CAAC7vC,KAAK,CAAC,CAAA;OAC7B,CAAA;EACD0U,IAAAA,KAAK,CAACo7B,iBAAiB,GAAG,UAAU9vC,KAAK,EAAE;EACzC,MAAA,OAAO0U,KAAK,CAACq7B,UAAU,CAAC/vC,KAAK,CAAC,CAAA;OAC/B,CAAA;MACD3R,CAAC,CAACI,QAAQ,CAAC,CAAClD,IAAI,CAAC,SAAS,EAAEmpB,KAAK,CAACk7B,eAAe,CAAC,CAAA;MAClDvhD,CAAC,CAACI,QAAQ,CAAC,CAAClD,IAAI,CAAC,WAAW,EAAEmpB,KAAK,CAACo7B,iBAAiB,CAAC,CAAA;EACtD,IAAA,OAAOp7B,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,SAAS,CAACmjD,YAAY,EAAE3I,aAAa,CAAC,CAAA;EACtC,EAAA,OAAOl8C,YAAY,CAAC6kD,YAAY,EAAE,CAAC;EACjC9kD,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,eAAe,CAAA;EACxB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,UAAU;EACfkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,IAAI0kD,cAAc,GAAG,IAAI,CAACr8C,SAAS,IAAI,IAAI,CAACA,SAAS,CAACk4B,eAAe,EAAE,KAAK8D,QAAQ,CAACG,KAAK,CAAA;EAC1F,MAAA,OAAO,IAAI,CAAC6f,YAAY,IAAIK,cAAc,CAAA;EAC5C,KAAA;EACF,GAAC,EAAE;EACD5lD,IAAAA,GAAG,EAAE,WAAW;EAChBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO,IAAI,CAAC67B,IAAI,IAAI,IAAI,CAACA,IAAI,CAAC+K,eAAe,CAAA;EAC/C,KAAA;EACF,GAAC,EAAE;EACD9nC,IAAAA,GAAG,EAAE,UAAU;EACfkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO,IAAI,CAAC67B,IAAI,IAAI,IAAI,CAACA,IAAI,CAACgL,cAAc,CAAA;EAC9C,KAAA;EACF,GAAC,EAAE;EACD/nC,IAAAA,GAAG,EAAE,YAAY;EACjBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,OAAO,EAAE,eAAe;EACxB,QAAA,oBAAoB,EAAE,EAAA;SACvB,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,QAAQ;EACbkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,mBAAmB,EAAE,MAAM;EAC3B,QAAA,oBAAoB,EAAE,OAAO;EAC7B,QAAA,wBAAwB,EAAE,iBAAiB;EAC3C,QAAA,mBAAmB,EAAE,MAAM;EAC3B,QAAA,uBAAuB,EAAE,gBAAgB;EACzC,QAAA,yBAAyB,EAAE,kBAAkB;EAC7C,QAAA,oCAAoC,EAAE,MAAM;EAC5C,QAAA,mCAAmC,EAAE,eAAe;EACpD,QAAA,iCAAiC,EAAE,YAAY;EAC/C,QAAA,2CAA2C,EAAE,eAAe;EAC5D,QAAA,2CAA2C,EAAE,eAAe;EAC5D,QAAA,uCAAuC,EAAE,iBAAiB;EAC1D,QAAA,uCAAuC,EAAE,sBAAsB;EAC/D,QAAA,uCAAuC,EAAE,eAAe;EACxD,QAAA,wCAAwC,EAAE,oBAAoB;EAC9D,QAAA,yCAAyC,EAAE,qBAAqB;EAChE,QAAA,gDAAgD,EAAE,oBAAoB;EACtE,QAAA,gDAAgD,EAAE,sBAAA;SACnD,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,UAAU;EACfkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAOw6B,IAAQ,CAAC4oB,gBAAgB,CAAC,CAAA;EACnC,KAAA;EACF,GAAC,EAAE;EACDtkD,IAAAA,GAAG,EAAE,QAAQ;EACbkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAACqI,SAAS,IAAI,IAAI,CAACA,SAAS,CAACo1B,OAAO,GAAG,IAAI,CAACp1B,SAAS,CAACkjB,MAAM,GAAG,IAAI,CAACo5B,cAAc,CAAA;EAC/F,KAAA;EACF,GAAC,EAAE;EACD7lD,IAAAA,GAAG,EAAE,OAAO;EACZkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAACurB,MAAM,KAAK,CAAC,CAAA;EAC1B,KAAA;EACF,GAAC,EAAE;EACDzsB,IAAAA,GAAG,EAAE,sBAAsB;EAC3BU,IAAAA,KAAK,EAAE,SAAS29B,oBAAoBA,GAAG;QACrC,IAAI2E,MAAM,GAAG,IAAI,CAAA;QACjB,OAAO;UACLY,SAAS,EAAE,IAAI,CAACA,SAAS;EACzBkiB,QAAAA,SAAS,EAAE,SAASA,SAASA,GAAG;YAC9B,OAAO9iB,MAAM,CAACvW,MAAM,CAAA;EACtB,SAAA;SACD,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDzsB,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;QAC3B,IAAIkF,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,CAACpQ,aAAa,EAAE,CAAA;EACpB,MAAA,IAAI,CAACO,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACiE,6BAA6B,EAAE,IAAI,CAACovB,wBAAwB,CAAC,CAAA;EAC7F,MAAA,IAAI,CAACtyB,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACwE,eAAe,EAAE,IAAI,CAAC7nB,IAAI,CAAC,CAAA;QAC3D,IAAI,CAACokB,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACyE,gBAAgB,EAAE,YAAY;UAC5D,OAAOmM,MAAM,CAACjzB,IAAI,CAACizB,MAAM,CAAChsB,OAAO,CAAC0uC,qBAAqB,CAAC,CAAA;EAC1D,OAAC,CAAC,CAAA;EACF,MAAA,IAAI,CAACvyB,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACqE,eAAe,EAAE,IAAI,CAAC1nB,IAAI,CAAC,CAAA;EAC3D,MAAA,IAAI,CAACokB,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACmE,mBAAmB,EAAE,IAAI,CAAC1H,SAAS,CAAC,CAAA;EACpE,MAAA,IAAI,CAACsE,QAAQ,CAAC,IAAI,CAACsJ,IAAI,EAAErK,MAAM,CAACsE,WAAW,EAAE,IAAI,CAACivB,YAAY,CAAC,CAAA;QAC/D,IAAI,CAACpJ,mBAAmB,EAAE,CAAA;EAC5B,KAAA;EACF,GAAC,EAAE;EACD78C,IAAAA,GAAG,EAAE,qBAAqB;EAC1BU,IAAAA,KAAK,EAAE,SAASm8C,mBAAmBA,GAAG;EACpC,MAAA,IAAI,CAAC,IAAI,CAACtzC,SAAS,EAAE,OAAA;EACrB,MAAA,IAAI,CAACkqB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACyF,cAAc,EAAE,IAAI,CAAC+tB,gBAAgB,CAAC,CAAA;EAC3E,MAAA,IAAI,CAACzyB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC2F,eAAe,EAAE,IAAI,CAAC6tB,gBAAgB,CAAC,CAAA;EAC5E,MAAA,IAAI,CAACzyB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0F,cAAc,EAAE,IAAI,CAAC8tB,gBAAgB,CAAC,CAAA;EAC3E,MAAA,IAAI,CAACzyB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC8F,kBAAkB,EAAE,IAAI,CAACwR,gBAAgB,CAAC,CAAA;EAC/E,MAAA,IAAI,CAACvW,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACuF,oBAAoB,EAAE,IAAI,CAAC0X,YAAY,CAAC,CAAA;EAC7E,MAAA,IAAI,CAAClc,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACwF,kBAAkB,EAAE,IAAI,CAACiuB,iBAAiB,CAAC,CAAA;EAChF,MAAA,IAAI,CAAC1yB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC4G,wBAAwB,EAAE,IAAI,CAACyG,cAAc,CAAC,CAAA;EACnF,MAAA,IAAI,CAACtM,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC2E,iCAAiC,EAAE,IAAI,CAAC0I,cAAc,CAAC,CAAA;EAC5F,MAAA,IAAI,CAACtM,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC6G,8BAA8B,EAAE,IAAI,CAAC0G,oBAAoB,CAAC,CAAA;EAC/F,MAAA,IAAI,CAACxM,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACgH,8BAA8B,EAAE,IAAI,CAAC5c,OAAO,CAAC,CAAA;EAClF,MAAA,IAAI,CAAC2W,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACiH,6BAA6B,EAAE,IAAI,CAAC2E,MAAM,CAAC,CAAA;EAChF,MAAA,IAAI,CAAC7K,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC4F,eAAe,EAAE,IAAI,CAAC4G,KAAK,CAAC,CAAA;EACjE,MAAA,IAAI,CAACzL,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACwG,gBAAgB,EAAE,IAAI,CAACioB,eAAe,CAAC,CAAA;EAC5E,MAAA,IAAI,CAAC1tB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACoH,wBAAwB,EAAE,IAAI,CAACqrB,gBAAgB,CAAC,CAAA;EACrF,MAAA,IAAI,IAAI,CAAC57C,SAAS,CAACm1B,QAAQ,CAAClxB,EAAE,CAACjF,QAAQ,CAACN,WAAW,EAAE,KAAK,OAAO,EAAE;EACjE;EACA,QAAA,IAAI,CAACyrB,YAAY,CAAC,IAAI,CAACnqB,SAAS,EAAEmpB,MAAM,CAACkF,wBAAwB,EAAE,IAAI,CAACwuB,0BAA0B,CAAC,CAAA;EACrG,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDpmD,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAASoc,OAAOA,GAAG;QACxB,IAAI,CAACyoC,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,CAACl1C,IAAI,EAAE,CAAA;QACX,IAAI,CAACg2C,eAAe,EAAE,CAAA;EACtB,MAAA,IAAI,CAACjqB,GAAG,CAAC/rB,IAAI,EAAE,CAAA;EACjB,KAAA;EACF,GAAC,EAAE;EACDrQ,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS49B,MAAMA,GAAG;EACvB,MAAA,IAAI,IAAI,CAAChnB,OAAO,CAAC2rB,UAAU,EAAE,OAAA;QAC7B,IAAI,CAACsiB,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,CAACD,aAAa,EAAE,CAAA;QACpB,IAAI,CAACj2C,IAAI,EAAE,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACDrP,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAASouB,IAAIA,GAAG;QACrB,IAAI,CAACvlB,SAAS,IAAI,IAAI,CAACA,SAAS,CAACulB,IAAI,EAAE,CAAA;EACzC,KAAA;EACF,GAAC,EAAE;EACD9uB,IAAAA,GAAG,EAAE,OAAO;EACZU,IAAAA,KAAK,EAAE,SAASoiC,KAAKA,GAAG;QACtB,IAAI,CAACv5B,SAAS,IAAI,IAAI,CAACA,SAAS,CAACu5B,KAAK,EAAE,CAAA;EAC1C,KAAA;EACF,GAAC,EAAE;EACD9iC,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAASkiC,IAAIA,GAAG;QACrB,IAAI,CAACr5B,SAAS,IAAI,IAAI,CAACA,SAAS,CAACq5B,IAAI,EAAE,CAAA;EACzC,KAAA;EACF,GAAC,EAAE;EACD5iC,IAAAA,GAAG,EAAE,kBAAkB;EACvBU,IAAAA,KAAK,EAAE,SAASykD,gBAAgBA,GAAG;EACjC,MAAA,IAAImB,aAAa,GAAG,IAAI,CAACzX,aAAa,GAAGtiB,MAAM,CAACM,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAA;EACvE,MAAA,IAAIvV,OAAO,GAAG,IAAI,CAAC/N,SAAS,IAAI,IAAI,CAACA,SAAS,CAAC+N,OAAO,IAAI,IAAI,CAACA,OAAO,CAAA;EACtE,MAAA,IAAI,CAACssB,SAAS,CAACtsB,OAAO,CAACquB,IAAI,GAAG,CAAC,GAAG2gB,aAAa,EAAE,IAAI,CAAC,CAAA;EACxD,KAAA;EACF,GAAC,EAAE;EACDtmD,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAASygD,eAAeA,GAAG;QAChC,IAAI,CAACoF,cAAc,EAAE,CAAA;EACvB,KAAA;EACF,GAAC,EAAE;EACDvmD,IAAAA,GAAG,EAAE,4BAA4B;EACjCU,IAAAA,KAAK,EAAE,SAAS0lD,0BAA0BA,GAAG;QAC3C,IAAII,KAAK,GAAG,IAAI,CAAC9nB,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAAClxB,EAAE,CAAA;EAC7C;EACA;QACA,IAAI,CAAC0d,UAAU,CAACiB,iBAAiB,EAAE,IAAIq6B,KAAK,CAACC,wBAAwB,EAAE;UACrE,IAAI,CAACvB,6BAA6B,GAAG,IAAI,CAAA;UACzC,IAAI,CAACnlB,cAAc,EAAE,CAAA;EACvB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD//B,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAAS6lD,cAAcA,GAAG;EAC/B;EACA,MAAA,IAAI,CAAC,IAAI,CAACG,QAAQ,EAAE,OAAA;;EAEpB;EACA,MAAA,IAAI,CAACC,mBAAmB,CAAC38C,IAAI,CAAC,aAAa,CAAC,CAACsG,GAAG,CAAC,EAAE,CAAC,CAAA;QACpD,IAAIs2C,cAAc,GAAG,IAAI,CAACD,mBAAmB,CAACx0C,KAAK,EAAE,CAAA;QACrD,IAAI00C,QAAQ,GAAG,IAAI,CAACC,oBAAoB,CAAC30C,KAAK,EAAE,CAAA;EAChD,MAAA,IAAIX,MAAM,GAAG,CAACo1C,cAAc,GAAGC,QAAQ,IAAI,GAAG,CAAA;QAC9C,IAAIE,GAAG,GAAGF,QAAQ,GAAG,IAAI,CAACp6B,MAAM,GAAG,KAAK,GAAGjb,MAAM,CAAA;EACjD,MAAA,IAAI,CAACw1C,cAAc,CAAC12C,GAAG,CAAC;UACtB6B,KAAK,EAAE,EAAE,CAAC/N,MAAM,CAAC,IAAI,CAACqoB,MAAM,EAAE,GAAG,CAAA;EACnC,OAAC,CAAC,CAAA;EACF,MAAA,IAAI,CAACw6B,kBAAkB,CAAC32C,GAAG,CAAC;EAC1ByB,QAAAA,IAAI,EAAEg1C,GAAAA;EACR,OAAC,CAAC,CAAA;;EAEF;QACA,IAAI,CAACJ,mBAAmB,CAAC38C,IAAI,CAAC,wBAAwB,CAAC,CAAC8I,WAAW,CAAC,MAAM,CAAC,CAAA;QAC3E,IAAIrL,IAAI,GAAG2K,IAAI,CAAC80C,IAAI,CAAC,IAAI,CAACz6B,MAAM,GAAG,IAAI,CAAC,CAAA;EACxC,MAAA,IAAI,CAACk6B,mBAAmB,CAAC38C,IAAI,CAAC,wBAAwB,CAAC,CAACvG,KAAK,CAAC,CAAC,EAAEgE,IAAI,CAAC,CAACkL,QAAQ,CAAC,MAAM,CAAC,CAAA;EACvF,MAAA,IAAI,CAACw0C,WAAW,CAAC/9C,IAAI,CAAC,EAAE,CAAC,CAAA;EACzB,MAAA,IAAI,CAAC+9C,WAAW,CAACr0C,WAAW,CAAC,OAAO,CAAC,CAAA;EACrC,MAAA,IAAI,CAAC,IAAI,CAAC+b,KAAK,EAAE;EACf,QAAA,IAAI,CAACs4B,WAAW,CAACl3C,MAAM,CAACu0C,UAAU,CAAC,CAAA;EACrC,OAAC,MAAM;EACL,QAAA,IAAI,CAAC2C,WAAW,CAACl3C,MAAM,CAACw0C,cAAc,CAAC,CAAA;EACvC,QAAA,IAAI,CAAC0C,WAAW,CAACx0C,QAAQ,CAAC,OAAO,CAAC,CAAA;EACpC,OAAA;EACA,MAAA,IAAI,CAACy0C,gBAAgB,CAAC,IAAI,CAACD,WAAW,CAAC,CAAA;EACzC,KAAA;EACF,GAAC,EAAE;EACDnnD,IAAAA,GAAG,EAAE,kBAAkB;EACvBU,IAAAA,KAAK,EAAE,SAASwlD,gBAAgBA,GAAG;EACjC,MAAA,IAAI,CAACmB,gBAAgB,CAACj+C,IAAI,CAAC,EAAE,CAAC,CAAA;EAC9B,MAAA,IAAI,CAACk+C,eAAe,CAACl+C,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7B,IAAI,IAAI,CAACG,SAAS,IAAI,IAAI,CAACA,SAAS,CAACy4B,SAAS,EAAE,EAAE;EAChD,QAAA,IAAI,CAACqlB,gBAAgB,CAACp3C,MAAM,CAACovC,SAAS,CAAC,CAAA;EACvC,QAAA,IAAI,CAACiI,eAAe,CAACr3C,MAAM,CAACs0C,QAAQ,CAAC,CAAA;EACrC,QAAA,IAAI,CAACzuC,OAAO,CAAC4c,MAAM,CAAC2H,oBAAoB,CAAC,CAAA;EAC3C,OAAC,MAAM;EACL,QAAA,IAAI,CAACgtB,gBAAgB,CAACp3C,MAAM,CAACmvC,QAAQ,CAAC,CAAA;EACtC,QAAA,IAAI,CAACkI,eAAe,CAACr3C,MAAM,CAACmvC,QAAQ,CAAC,CAAA;EACrC,QAAA,IAAI,CAACtpC,OAAO,CAAC4c,MAAM,CAAC4H,uBAAuB,CAAC,CAAA;EAC5ClV,QAAAA,OAAO,CAAC6D,QAAQ,IAAI,IAAI,CAAC5Z,IAAI,EAAE,CAAA;EACjC,OAAA;EACA,MAAA,IAAI,CAAC+3C,gBAAgB,CAAC,IAAI,CAACC,gBAAgB,CAAC,CAAA;EAC5C,MAAA,IAAI,CAACD,gBAAgB,CAAC,IAAI,CAACE,eAAe,CAAC,CAAA;EAC7C,KAAA;EACF,GAAC,EAAE;EACDtnD,IAAAA,GAAG,EAAE,oBAAoB;EACzBU,IAAAA,KAAK,EAAE,SAAS6mD,kBAAkBA,CAAC3xC,KAAK,EAAE;EACxC,MAAA,IAAI,IAAI,CAACK,QAAQ,CAAC0/B,WAAW,EAAE;UAC7B,IAAI6R,OAAO,GAAG5xC,KAAK,CAAC6xC,KAAK,GAAG,IAAI,CAACC,iBAAiB,CAACl2C,MAAM,EAAE,CAACO,IAAI,GAAG,IAAI,CAAC41C,aAAa,CAACx1C,KAAK,EAAE,GAAG,CAAC,CAAA;EACjG,QAAA,IAAI,CAACw1C,aAAa,CAACr3C,GAAG,CAAC;EACrByB,UAAAA,IAAI,EAAEy1C,OAAAA;EACR,SAAC,CAAC,CAAA;EACJ,OAAA;QACA,IAAI,CAAC1xC,OAAO,CAAC4c,MAAM,CAACyH,8BAA8B,EAAEvkB,KAAK,CAAC,CAAA;EAC5D,KAAA;EACF,GAAC,EAAE;EACD5V,IAAAA,GAAG,EAAE,qBAAqB;EAC1BU,IAAAA,KAAK,EAAE,SAASknD,mBAAmBA,CAAChyC,KAAK,EAAE;QACzC,IAAI,CAACE,OAAO,CAAC4c,MAAM,CAAC0H,+BAA+B,EAAExkB,KAAK,CAAC,CAAA;EAC7D,KAAA;EACF,GAAC,EAAE;EACD5V,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAASmnD,aAAaA,CAACjyC,KAAK,EAAE;QACnC,IAAI,CAACguB,SAAS,CAAC,IAAI,CAACkkB,oBAAoB,CAAClyC,KAAK,CAAC,CAAC,CAAA;EAClD,KAAA;EACF,GAAC,EAAE;EACD5V,IAAAA,GAAG,EAAE,sBAAsB;EAC3BU,IAAAA,KAAK,EAAE,SAASqnD,oBAAoBA,CAACnyC,KAAK,EAAE;EAC1C,MAAA,IAAI,CAACoyC,iBAAiB,IAAI,IAAI,CAACpkB,SAAS,CAAC,IAAI,CAACkkB,oBAAoB,CAAClyC,KAAK,CAAC,CAAC,CAAA;EAC5E,KAAA;EACF,GAAC,EAAE;EACD5V,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAASulD,YAAYA,CAACt4C,IAAI,EAAE;EACjC,MAAA,IAAI,CAACs6C,iBAAiB,CAAC7+C,IAAI,CAAC,EAAE,CAAC,CAAA;EAC/B,MAAA,IAAI+1C,IAAI,GAAG,IAAI,CAACpiB,IAAI,CAACsL,YAAY,EAAE,GAAGsc,kBAAkB,GAAGD,cAAc,CAAA;EACzE,MAAA,IAAI,CAACuD,iBAAiB,CAACh4C,MAAM,CAACkvC,IAAI,CAAC,CAAA;EACnC,MAAA,IAAI,CAACiI,gBAAgB,CAAC,IAAI,CAACa,iBAAiB,CAAC,CAAA;EAC7C,MAAA,IAAI,CAAC7rB,GAAG,CAACpyB,IAAI,CAAC,gBAAgB,CAAC,CAAC5L,MAAM,KAAK,CAAC,IAAI,IAAI,CAACg+B,GAAG,CAACtpB,WAAW,CAAC,MAAM,CAAC,CAAA;EAC5E,MAAA,IAAInF,IAAI,CAACwE,KAAK,IAAI,GAAG,IAAI,IAAI,CAACmF,OAAO,CAAC4wC,aAAa,EAAE,IAAI,CAAC9rB,GAAG,CAACzpB,QAAQ,CAAC,MAAM,CAAC,CAAA;EAChF,KAAA;EACF,GAAC,EAAE;EACD3S,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAASynD,eAAeA,GAAG;QAChC,IAAI,CAAC5+C,SAAS,CAACy4B,SAAS,EAAE,GAAG,IAAI,CAACz4B,SAAS,CAACu5B,KAAK,EAAE,GAAG,IAAI,CAACv5B,SAAS,CAACulB,IAAI,EAAE,CAAA;EAC3E,MAAA,OAAO,KAAK,CAAA;EACd,KAAA;EACF,GAAC,EAAE;EACD9uB,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAAS0nD,cAAcA,GAAG;QAC/B,IAAI,CAAC7+C,SAAS,CAACy4B,SAAS,EAAE,GAAG,IAAI,CAACz4B,SAAS,CAACq5B,IAAI,EAAE,GAAG,IAAI,CAACr5B,SAAS,CAACulB,IAAI,EAAE,CAAA;EAC5E,KAAA;EACF,GAAC,EAAE;EACD9uB,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAAS2nD,aAAaA,CAACzyC,KAAK,EAAE;EACnC,MAAA,IAAI,CAAC,IAAI,CAACK,QAAQ,CAAC0/B,WAAW,EAAE,OAAA;QAChC,IAAI,CAAC2S,eAAe,GAAG,IAAI,CAAA;EAC3B,MAAA,IAAI,CAAClsB,GAAG,CAACzpB,QAAQ,CAAC,UAAU,CAAC,CAAA;EAC7B,MAAA,IAAI,CAAC41C,cAAc,CAAC51C,QAAQ,CAAC,4BAA4B,CAAC,CAAA;EAC1D,MAAA,IAAI,CAAC61C,gBAAgB,CAAC71C,QAAQ,CAAC,4BAA4B,CAAC,CAAA;EAC5D,MAAA,IAAI,CAAC81C,gBAAgB,CAAC91C,QAAQ,CAAC,4BAA4B,CAAC,CAAA;EAC5DiD,MAAAA,KAAK,IAAIA,KAAK,CAACoL,cAAc,EAAE,CAAA;EACjC,KAAA;EACF,GAAC,EAAE;EACDhhB,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAASgoD,eAAeA,CAAC9yC,KAAK,EAAE;QACrC,IAAI,CAACoyC,iBAAiB,GAAG,IAAI,CAAA;EAC7B,MAAA,IAAI,CAAC5rB,GAAG,CAACzpB,QAAQ,CAAC,UAAU,CAAC,CAAA;EAC7BiD,MAAAA,KAAK,IAAIA,KAAK,CAACoL,cAAc,EAAE,CAAA;EACjC,KAAA;EACF,GAAC,EAAE;EACDhhB,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAAS+kD,QAAQA,CAAC7vC,KAAK,EAAE;QAC9B,IAAI,CAAC0yC,eAAe,IAAI,IAAI,CAAC9kB,IAAI,CAAC5tB,KAAK,CAAC,CAAA;EACxC,MAAA,IAAI,CAACwmB,GAAG,CAACtpB,WAAW,CAAC,UAAU,CAAC,CAAA;EAChC,MAAA,IAAI,CAACy1C,cAAc,CAACz1C,WAAW,CAAC,4BAA4B,CAAC,CAAA;EAC7D,MAAA,IAAI,CAAC01C,gBAAgB,CAAC11C,WAAW,CAAC,4BAA4B,CAAC,CAAA;EAC/D,MAAA,IAAI,CAAC21C,gBAAgB,CAAC31C,WAAW,CAAC,qCAAqC,CAAC,CAAA;QACxE,IAAI,CAACw1C,eAAe,GAAG,KAAK,CAAA;QAC5B,IAAI,CAACN,iBAAiB,GAAG,KAAK,CAAA;EAChC,KAAA;EACF,GAAC,EAAE;EACDhoD,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAASilD,UAAUA,CAAC/vC,KAAK,EAAE;QAChC,IAAI,IAAI,CAAC0yC,eAAe,EAAE;UACxB1yC,KAAK,CAACoL,cAAc,EAAE,CAAA;EACtB,QAAA,IAAIwmC,OAAO,GAAG5xC,KAAK,CAAC6xC,KAAK,GAAG,IAAI,CAACC,iBAAiB,CAACl2C,MAAM,EAAE,CAACO,IAAI,CAAA;EAChE,QAAA,IAAIg1C,GAAG,GAAGS,OAAO,GAAG,IAAI,CAACE,iBAAiB,CAACv1C,KAAK,EAAE,GAAG,GAAG,CAAA;EACxD40C,QAAAA,GAAG,GAAG30C,IAAI,CAACy5B,GAAG,CAAC,GAAG,EAAEz5B,IAAI,CAAC05B,GAAG,CAACib,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;EACrC,QAAA,IAAI,CAAC4B,iBAAiB,CAAC5B,GAAG,CAAC,CAAA;EAC7B,OAAC,MAAM,IAAI,IAAI,CAACiB,iBAAiB,EAAE;UACjCpyC,KAAK,CAACoL,cAAc,EAAE,CAAA;UACtB,IAAI,CAAC4iB,SAAS,CAAC,IAAI,CAACkkB,oBAAoB,CAAClyC,KAAK,CAAC,CAAC,CAAA;EAClD,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD5V,IAAAA,GAAG,EAAE,sBAAsB;EAC3BU,IAAAA,KAAK,EAAE,SAASonD,oBAAoBA,CAAClyC,KAAK,EAAE;EAC1C,MAAA,IAAIgzC,OAAO,GAAGhzC,KAAK,CAAC6xC,KAAK,GAAG,IAAI,CAACd,mBAAmB,CAACn1C,MAAM,EAAE,CAACO,IAAI,CAAA;EAClE,MAAA,IAAI82C,YAAY,GAAGD,OAAO,GAAG,IAAI,CAACjC,mBAAmB,CAACx0C,KAAK,EAAE,GAAG,GAAG,CAAA;EACnE,MAAA,OAAO02C,YAAY,CAAA;EACrB,KAAA;EACF,GAAC,EAAE;EACD7oD,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAASooD,UAAUA,GAAG;QAC3B,IAAI,CAACllB,SAAS,CAAC,IAAI,CAAC/U,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,CAAA;EACtC,KAAA;EACF,GAAC,EAAE;EACD7uB,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASkjC,SAASA,CAACljC,KAAK,EAAE;QAC/B,IAAIikC,MAAM,GAAG,IAAI,CAAA;QACjB,IAAIokB,eAAe,GAAGxnD,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;EAC/Fb,MAAAA,KAAK,GAAG0R,IAAI,CAACy5B,GAAG,CAAC,GAAG,EAAEz5B,IAAI,CAAC05B,GAAG,CAACprC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;EACzC;EACA;EACA;QACA,IAAI,CAACmlD,cAAc,GAAGnlD,KAAK,CAAA;EAC3B,MAAA,IAAI,CAACmuC,aAAa,IAAI,CAACka,eAAe,IAAIx8B,MAAM,CAACO,OAAO,CAAC,QAAQ,EAAEpsB,KAAK,CAAC,CAAA;EACzE,MAAA,IAAIsoD,qBAAqB,GAAG,SAASA,qBAAqBA,GAAG;UAC3D,IAAIrkB,MAAM,CAACp7B,SAAS,IAAIo7B,MAAM,CAACp7B,SAAS,CAACo1B,OAAO,EAAE;EAChDgG,UAAAA,MAAM,CAACp7B,SAAS,CAACq6B,SAAS,CAACljC,KAAK,CAAC,CAAA;EACnC,SAAC,MAAM;YACLikC,MAAM,CAACjR,YAAY,CAACiR,MAAM,CAACp7B,SAAS,EAAEmpB,MAAM,CAAC+E,eAAe,EAAE,YAAY;EACxEkN,YAAAA,MAAM,CAACp7B,SAAS,CAACq6B,SAAS,CAACljC,KAAK,CAAC,CAAA;EACnC,WAAC,CAAC,CAAA;EACJ,SAAA;SACD,CAAA;EACD,MAAA,IAAI,CAAC,IAAI,CAAC6I,SAAS,EAAE,IAAI,CAACmqB,YAAY,CAAC,IAAI,EAAEhB,MAAM,CAAC6H,6BAA6B,EAAE,YAAY;UAC7F,OAAOyuB,qBAAqB,EAAE,CAAA;EAChC,OAAC,CAAC,CAAC,KAAKA,qBAAqB,EAAE,CAAA;EACjC,KAAA;EACF,GAAC,EAAE;EACDhpD,IAAAA,GAAG,EAAE,kBAAkB;EACvBU,IAAAA,KAAK,EAAE,SAASspC,gBAAgBA,GAAG;QACjC,IAAI,CAACl0B,OAAO,CAAC4c,MAAM,CAACsH,uBAAuB,EAAE,IAAI,CAACt2B,IAAI,CAAC,CAAA;EACvD,MAAA,IAAI,CAAC6F,SAAS,CAACs6B,UAAU,EAAE,CAAA;EAC3B,MAAA,IAAI,CAAC9G,IAAI,CAACiN,gBAAgB,EAAE,CAAA;QAC5B,IAAI,CAACif,oBAAoB,EAAE,CAAA;EAC7B,KAAA;EACF,GAAC,EAAE;EACDjpD,IAAAA,GAAG,EAAE,0BAA0B;EAC/BU,IAAAA,KAAK,EAAE,SAASqlD,wBAAwBA,GAAG;QACzC,IAAI,CAACb,6BAA6B,GAAG,IAAI,CAAA;QACzC,IAAI,CAAC9mB,UAAU,EAAE,CAAA;EACjB;QACA,IAAI,CAAC+mB,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAACe,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAACrJ,mBAAmB,EAAE,CAAA;QAC1B,IAAI,CAAC9c,cAAc,EAAE,CAAA;QACrB,IAAI,CAACx2B,SAAS,IAAI,IAAI,CAACA,SAAS,CAACuM,OAAO,CAAC4c,MAAM,CAAC2E,iCAAiC,EAAE,IAAI,CAAC9tB,SAAS,CAACq4B,UAAU,EAAE,CAAC,CAAA;EAC/G,MAAA,IAAI,CAACr4B,SAAS,IAAI,IAAI,CAACA,SAAS,CAACq1B,oBAAoB,IAAI,IAAI,CAAC9hB,OAAO,EAAE,CAAA;EACvE,MAAA,IAAI,CAAChH,OAAO,CAAC4c,MAAM,CAAC6H,6BAA6B,CAAC,CAAA;EACpD,KAAA;EACF,GAAC,EAAE;EACDv6B,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAASwoD,aAAaA,GAAG;QAC9B,IAAI,CAACC,YAAY,IAAI/wC,YAAY,CAAC,IAAI,CAAC+wC,YAAY,CAAC,CAAA;EACpD,MAAA,IAAI,CAACxC,mBAAmB,CAAC7zC,WAAW,CAAC,iBAAiB,CAAC,CAAA;EACzD,KAAA;EACF,GAAC,EAAE;EACD9S,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAASwnD,aAAaA,GAAG;QAC9B,IAAIve,MAAM,GAAG,IAAI,CAAA;QACjB,IAAInxB,OAAO,GAAGjX,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;EACrF,MAAA,IAAI,CAAC,IAAI,CAAColD,mBAAmB,EAAE,OAAA;QAC/B,IAAI,IAAI,CAACqB,iBAAiB,EAAE;EAC1B,QAAA,IAAI,CAACmB,YAAY,GAAG1wC,UAAU,CAAC,YAAY;EACzC,UAAA,OAAOkxB,MAAM,CAACue,aAAa,EAAE,CAAA;WAC9B,EAAE1vC,OAAO,CAAC,CAAA;EACb,OAAC,MAAM;UACL,IAAI,CAAC2wC,YAAY,IAAI/wC,YAAY,CAAC,IAAI,CAAC+wC,YAAY,CAAC,CAAA;EACpD,QAAA,IAAI,CAACA,YAAY,GAAG1wC,UAAU,CAAC,YAAY;EACzC,UAAA,OAAOkxB,MAAM,CAACgd,mBAAmB,CAACh0C,QAAQ,CAAC,iBAAiB,CAAC,CAAA;WAC9D,EAAE6F,OAAO,CAAC,CAAA;EACb,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDxY,IAAAA,GAAG,EAAE,OAAO;EACZU,IAAAA,KAAK,EAAE,SAASw+B,KAAKA,GAAG;QACtB,IAAI,CAACgnB,gBAAgB,EAAE,CAAA;EACzB,KAAA;EACF,GAAC,EAAE;EACDlmD,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAASylD,iBAAiBA,CAACnoC,QAAQ,EAAE;QAC1C,IAAIorC,WAAW,GAAGprC,QAAQ,CAACjB,KAAK,GAAGiB,QAAQ,CAACg6B,KAAK,GAAG,GAAG,CAAA;QACvD,IAAIqR,SAAS,GAAGrrC,QAAQ,CAACukB,OAAO,GAAGvkB,QAAQ,CAACg6B,KAAK,GAAG,GAAG,CAAA;EACvD,MAAA,IAAI,CAACuQ,cAAc,CAACj4C,GAAG,CAAC;UACtByB,IAAI,EAAE,EAAE,CAAC3N,MAAM,CAACglD,WAAW,EAAE,GAAG,CAAC;UACjCj3C,KAAK,EAAE,EAAE,CAAC/N,MAAM,CAACilD,SAAS,GAAGD,WAAW,EAAE,GAAG,CAAA;EAC/C,OAAC,CAAC,CAAA;EACJ,KAAA;EACF,GAAC,EAAE;EACDppD,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAASivC,YAAYA,CAACrN,YAAY,EAAE;QACzC,IAAI,IAAI,CAACgmB,eAAe,EAAE,OAAA;EAC1B;EACA,MAAA,IAAI70C,QAAQ,GAAG6uB,YAAY,CAACC,OAAO,GAAG,CAAC,GAAGD,YAAY,CAAC0V,KAAK,GAAG1V,YAAY,CAACC,OAAO,CAAA;QACnF,IAAI,CAACwiB,oBAAoB,GAAGtxC,QAAQ,CAAA;EACpC,MAAA,IAAI,CAACuxC,oBAAoB,GAAG1iB,YAAY,CAAC0V,KAAK,CAAA;QAC9C,IAAI,CAACsR,aAAa,EAAE,CAAA;EACtB,KAAA;EACF,GAAC,EAAE;EACDtpD,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAAS4oD,aAAaA,GAAG;EAC9B;QACA,IAAI,IAAI,CAACvE,oBAAoB,KAAK,IAAI,IAAI,IAAI,CAACC,oBAAoB,KAAK,IAAI,EAAE,OAAA;;EAE9E;QACA,IAAI,CAACuE,wBAAwB,GAAG,GAAG,CAAA;EACnC,MAAA,IAAI,IAAI,CAAChgD,SAAS,KAAK,IAAI,CAACA,SAAS,CAACk4B,eAAe,EAAE,KAAK8D,QAAQ,CAACW,IAAI,IAAI,IAAI,CAAC38B,SAAS,CAACq4B,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC2nB,wBAAwB,GAAG,IAAI,CAACxE,oBAAoB,GAAG,IAAI,CAACC,oBAAoB,GAAG,GAAG,CAAA;EACtM,MAAA,IAAI,CAAC2D,iBAAiB,CAAC,IAAI,CAACY,wBAAwB,CAAC,CAAA;EACrD,MAAA,IAAIC,WAAW,GAAG3E,YAAY,CAAC,IAAI,CAACE,oBAAoB,CAAC,CAAA;EACzD,MAAA,IAAI0E,WAAW,GAAG5E,YAAY,CAAC,IAAI,CAACG,oBAAoB,CAAC,CAAA;EACzD,MAAA,IAAIwE,WAAW,KAAK,IAAI,CAACE,iBAAiB,EAAE;EAC1C,QAAA,IAAI,CAACC,SAAS,CAACh5C,IAAI,CAAC64C,WAAW,CAAC,CAAA;UAChC,IAAI,CAACE,iBAAiB,GAAGF,WAAW,CAAA;EACtC,OAAA;EACA,MAAA,IAAIC,WAAW,KAAK,IAAI,CAACG,iBAAiB,EAAE;EAC1C,QAAA,IAAI,CAACC,SAAS,CAACl5C,IAAI,CAAC84C,WAAW,CAAC,CAAA;UAChC,IAAI,CAACG,iBAAiB,GAAGH,WAAW,CAAA;EACtC,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDzpD,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAAS8iC,IAAIA,CAAC5tB,KAAK,EAAE;EAC1B,MAAA,IAAI,CAAC,IAAI,CAACK,QAAQ,CAAC0/B,WAAW,EAAE,OAAA;EAChC,MAAA,IAAI6R,OAAO,GAAG5xC,KAAK,CAAC6xC,KAAK,GAAG,IAAI,CAACC,iBAAiB,CAACl2C,MAAM,EAAE,CAACO,IAAI,CAAA;EAChE,MAAA,IAAIg1C,GAAG,GAAGS,OAAO,GAAG,IAAI,CAACE,iBAAiB,CAACv1C,KAAK,EAAE,GAAG,GAAG,CAAA;EACxD40C,MAAAA,GAAG,GAAG30C,IAAI,CAACy5B,GAAG,CAAC,GAAG,EAAEz5B,IAAI,CAAC05B,GAAG,CAACib,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QACrC,IAAI,CAACx9C,SAAS,IAAI,IAAI,CAACA,SAAS,CAACk6B,cAAc,CAACsjB,GAAG,CAAC,CAAA;EACpD,MAAA,IAAI,CAAC4B,iBAAiB,CAAC5B,GAAG,CAAC,CAAA;EAC3B,MAAA,OAAO,KAAK,CAAA;EACd,KAAA;EACF,GAAC,EAAE;EACD/mD,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASopD,cAAcA,GAAG;QAC/B,IAAI,CAAC7E,WAAW,GAAG,IAAI,CAAA;EACzB,KAAA;EACF,GAAC,EAAE;EACDjlD,IAAAA,GAAG,EAAE,kBAAkB;EACvBU,IAAAA,KAAK,EAAE,SAASqpD,gBAAgBA,GAAG;QACjC,IAAI,CAAC9E,WAAW,GAAG,KAAK,CAAA;EAC1B,KAAA;EACF,GAAC,EAAE;EACDjlD,IAAAA,GAAG,EAAE,oBAAoB;EACzBU,IAAAA,KAAK,EAAE,SAASspD,kBAAkBA,GAAG;QACnC,IAAI,CAACC,eAAe,GAAG,IAAI,CAAA;EAC7B,KAAA;EACF,GAAC,EAAE;EACDjqD,IAAAA,GAAG,EAAE,sBAAsB;EAC3BU,IAAAA,KAAK,EAAE,SAASuoD,oBAAoBA,GAAG;QACrC,IAAI,CAACgB,eAAe,GAAG,KAAK,CAAA;EAC9B,KAAA;EACF,GAAC,EAAE;EACDjqD,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASwpD,SAASA,GAAG;QAC1B,OAAO,CAAC,IAAI,CAAC9tB,GAAG,CAAC1pB,QAAQ,CAAC,oBAAoB,CAAC,CAAA;EACjD,KAAA;EACF,GAAC,EAAE;EACD1S,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAAS2O,IAAIA,CAACuG,KAAK,EAAE;QAC1B,IAAIq0B,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,IAAI,CAAChtB,QAAQ,EAAE,OAAA;QACnB,IAAIzE,OAAO,GAAG,IAAI,CAAA;EAClB,MAAA,IAAI2xC,iBAAiB,GAAGv0C,KAAK,IAAIA,KAAK,CAACw0C,OAAO,KAAK,IAAI,CAACC,UAAU,IAAIz0C,KAAK,CAAC00C,OAAO,KAAK,IAAI,CAACC,UAAU,CAAA;EACvG,MAAA,IAAI,CAAC30C,KAAK,IAAIu0C,iBAAiB,IAAIvkC,SAAS,CAACW,SAAS,CAACjgB,KAAK,CAAC,UAAU,CAAC,EAAE;EACxE8R,QAAAA,YAAY,CAAC,IAAI,CAACoyC,MAAM,CAAC,CAAA;EACzB,QAAA,IAAI,CAACpuB,GAAG,CAAC/sB,IAAI,EAAE,CAAA;UACf,IAAI,CAACyG,OAAO,CAAC4c,MAAM,CAACuH,iBAAiB,EAAE,IAAI,CAACv2B,IAAI,CAAC,CAAA;EACjD,QAAA,IAAI,CAAC6F,SAAS,IAAI,IAAI,CAACA,SAAS,CAACuM,OAAO,CAAC4c,MAAM,CAAC8G,2BAA2B,EAAE,IAAI,CAAC91B,IAAI,CAAC,CAAA;EACvF,QAAA,IAAI,CAAC04B,GAAG,CAACtpB,WAAW,CAAC,oBAAoB,CAAC,CAAA;EAC1C,QAAA,IAAI,CAAC03C,MAAM,GAAG/xC,UAAU,CAAC,YAAY;EACnC,UAAA,OAAOwxB,MAAM,CAAC55B,IAAI,EAAE,CAAA;WACrB,EAAEmI,OAAO,CAAC,CAAA;EACX,QAAA,IAAI5C,KAAK,EAAE;EACT,UAAA,IAAI,CAACy0C,UAAU,GAAGz0C,KAAK,CAACw0C,OAAO,CAAA;EAC/B,UAAA,IAAI,CAACG,UAAU,GAAG30C,KAAK,CAAC00C,OAAO,CAAA;EACjC,SAAA;EACF,OAAA;QACA,IAAIG,OAAO,GAAG,IAAI,CAAA;EAClB,MAAA,IAAI,CAACC,iBAAiB,CAACD,OAAO,CAAC,CAAA;EACjC,KAAA;EACF,GAAC,EAAE;EACDzqD,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAAS2P,IAAIA,GAAG;QACrB,IAAIi6B,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI7a,KAAK,GAAGluB,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAImD,SAAS,CAAC,CAAC,CAAC,KAAKuT,SAAS,GAAGvT,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;EACjF,MAAA,IAAI,CAAC,IAAI,CAAC2oD,SAAS,EAAE,EAAE,OAAA;EACvB,MAAA,IAAI1xC,OAAO,GAAGiX,KAAK,IAAI,IAAI,CAAA;EAC3BrX,MAAAA,YAAY,CAAC,IAAI,CAACoyC,MAAM,CAAC,CAAA;EACzB,MAAA,IAAI,CAAC,IAAI,CAACvtC,QAAQ,IAAI,IAAI,CAAC3F,OAAO,CAACqzC,gBAAgB,KAAK,KAAK,EAAE,OAAA;QAC/D,IAAIC,uBAAuB,GAAG,IAAI,CAACX,eAAe,IAAI,IAAI,CAAChF,WAAW,CAAA;QACtE,IAAI4F,iBAAiB,GAAG,IAAI,CAACvC,eAAe,IAAI,IAAI,CAACN,iBAAiB,CAAA;QACtE,IAAI,CAAC,IAAI,CAAC/qC,QAAQ,KAAKwS,KAAK,IAAIm7B,uBAAuB,IAAIC,iBAAiB,CAAC,EAAE;EAC7E,QAAA,IAAI,CAACL,MAAM,GAAG/xC,UAAU,CAAC,YAAY;EACnC,UAAA,OAAO6xB,MAAM,CAACj6B,IAAI,EAAE,CAAA;WACrB,EAAEmI,OAAO,CAAC,CAAA;EACb,OAAC,MAAM;UACL,IAAI,CAAC1C,OAAO,CAAC4c,MAAM,CAACwH,iBAAiB,EAAE,IAAI,CAACx2B,IAAI,CAAC,CAAA;EACjD,QAAA,IAAI,CAAC6F,SAAS,IAAI,IAAI,CAACA,SAAS,CAACuM,OAAO,CAAC4c,MAAM,CAAC+G,2BAA2B,EAAE,IAAI,CAAC/1B,IAAI,CAAC,CAAA;EACvF,QAAA,IAAI,CAAC04B,GAAG,CAACzpB,QAAQ,CAAC,oBAAoB,CAAC,CAAA;EACvC,QAAA,IAAI,CAACu1C,aAAa,CAAC,CAAC,CAAC,CAAA;UACrB,IAAIuC,OAAO,GAAG,KAAK,CAAA;EACnB,QAAA,IAAI,CAACC,iBAAiB,CAACD,OAAO,CAAC,CAAA;EACjC,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDzqD,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAASgqD,iBAAiBA,CAACD,OAAO,EAAE;EACzC,MAAA,IAAIA,OAAO,EAAE,IAAI,CAAC1tB,IAAI,CAACX,GAAG,CAACtpB,WAAW,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,IAAI,CAACiqB,IAAI,CAACsL,YAAY,EAAE,EAAE,IAAI,CAACtL,IAAI,CAACX,GAAG,CAACzpB,QAAQ,CAAC,UAAU,CAAC,CAAA;EAC1H,KAAA;EACF,GAAC,EAAE;EACD3S,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASq/B,cAAcA,GAAG;EAC/B,MAAA,IAAI+qB,WAAW,GAAG,IAAI,CAACC,WAAW,EAAE,CAAA;EACpC,MAAA,IAAID,WAAW,IAAI,CAAC,IAAI,CAAC5F,6BAA6B,IAAI,CAACh6B,UAAU,CAACiB,iBAAiB,EAAE,EAAE;EACzF;EACA2+B,QAAAA,WAAW,CAAC,SAAS,CAAC,IAAIx8B,eAAe,CAACw8B,WAAW,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAA;UAC/EA,WAAW,CAAC/4C,IAAI,IAAIuc,eAAe,CAACw8B,WAAW,CAAC/4C,IAAI,EAAE,YAAY,CAAC,CAAA;UACnE+4C,WAAW,CAAC9W,KAAK,IAAI1lB,eAAe,CAACw8B,WAAW,CAAC9W,KAAK,EAAE,YAAY,CAAC,CAAA;EACvE,OAAA;EACA,MAAA,IAAIgX,eAAe,GAAG/9C,IAAI,CAACg+C,SAAS,CAAC,IAAI,CAACh1C,QAAQ,CAAC,KAAKhJ,IAAI,CAACg+C,SAAS,CAACH,WAAW,CAAC,CAAA;EACnF,MAAA,IAAIE,eAAe,EAAE;UACnB,IAAI,CAAC/0C,QAAQ,GAAG60C,WAAW,CAAA;UAC3B,IAAI,CAACvvB,MAAM,EAAE,CAAA;EACf,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDv7B,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASqqD,WAAWA,GAAG;EAC5B,MAAA,OAAO9mD,CAAC,CAACiG,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAACX,SAAS,IAAI,IAAI,CAACA,SAAS,CAAC0M,QAAQ,CAAC,CAAA;EACtE,KAAA;EACF,GAAC,EAAE;EACDjW,IAAAA,GAAG,EAAE,sBAAsB;EAC3BU,IAAAA,KAAK,EAAE,SAASu/B,oBAAoBA,CAACsE,IAAI,EAAE;QACzC,IAAI,CAACA,IAAI,GAAGA,IAAI,CAAA;EAChB,MAAA,IAAI/H,MAAM,GAAG+H,IAAI,GAAG,UAAU,GAAG,aAAa,CAAA;EAC9C,MAAA,IAAI,CAAC2mB,YAAY,CAAC1uB,MAAM,CAAC,CAAC,SAAS,CAAC,CAAA;EACtC,KAAA;EACF,GAAC,EAAE;EACDx8B,IAAAA,GAAG,EAAE,sBAAsB;EAC3BU,IAAAA,KAAK,EAAE,SAASyqD,oBAAoBA,GAAG;QACrC,IAAIC,MAAM,GAAG,IAAI,CAAChvB,GAAG,CAACpyB,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAClD,IAAI,CAAC6/C,SAAS,GAAGuB,MAAM,CAACphD,IAAI,CAAC,yCAAyC,CAAC,CAAA;QACvE,IAAI,CAACi+C,iBAAiB,GAAGmD,MAAM,CAACphD,IAAI,CAAC,8CAA8C,CAAC,CAAA;QACpF,IAAI,CAACq9C,gBAAgB,GAAG+D,MAAM,CAACphD,IAAI,CAAC,6CAA6C,CAAC,CAAA;QAClF,IAAI,CAACs9C,eAAe,GAAG8D,MAAM,CAACphD,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAChF,IAAI,CAAC2/C,SAAS,GAAGyB,MAAM,CAACphD,IAAI,CAAC,yCAAyC,CAAC,CAAA;QACvE,IAAI,CAAC09C,iBAAiB,GAAG0D,MAAM,CAACphD,IAAI,CAAC,8BAA8B,CAAC,CAAA;QACpE,IAAI,CAAC29C,aAAa,GAAGyD,MAAM,CAACphD,IAAI,CAAC,0BAA0B,CAAC,CAAA;QAC5D,IAAI,CAACu+C,cAAc,GAAG6C,MAAM,CAACphD,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAC9D,IAAI,CAACw+C,gBAAgB,GAAG4C,MAAM,CAACphD,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAChE,IAAI,CAACy+C,gBAAgB,GAAG2C,MAAM,CAACphD,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAClE,IAAI,CAAC28C,mBAAmB,GAAGyE,MAAM,CAACphD,IAAI,CAAC,6BAA6B,CAAC,CAAA;QACrE,IAAI,CAACqhD,gBAAgB,GAAGD,MAAM,CAACphD,IAAI,CAAC,gCAAgC,CAAC,CAAA;QACrE,IAAI,CAACm9C,WAAW,GAAGiE,MAAM,CAACphD,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAC3D,IAAI,CAAC88C,oBAAoB,GAAG,IAAI,CAAC1qB,GAAG,CAACpyB,IAAI,CAAC,8BAA8B,CAAC,CAAA;QACzE,IAAI,CAACg9C,cAAc,GAAG,IAAI,CAAC5qB,GAAG,CAACpyB,IAAI,CAAC,0BAA0B,CAAC,CAAA;QAC/D,IAAI,CAACi9C,kBAAkB,GAAG,IAAI,CAAC7qB,GAAG,CAACpyB,IAAI,CAAC,4BAA4B,CAAC,CAAA;QACrE,IAAI,CAACkhD,YAAY,GAAG,IAAI,CAAC9uB,GAAG,CAACpyB,IAAI,CAAC,gDAAgD,CAAC,CAAA;QACnF,IAAI,CAACshD,eAAe,EAAE,CAAA;QACtB,IAAI,CAACC,eAAe,EAAE,CAAA;EACxB,KAAA;EACF,GAAC,EAAE;EACDvrD,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAAS4qD,eAAeA,GAAG;QAChC,IAAI,CAAC5B,iBAAiB,GAAG,IAAI,CAACC,SAAS,CAACh5C,IAAI,EAAE,CAAA;QAC9C,IAAI,CAACi5C,iBAAiB,GAAG,IAAI,CAACC,SAAS,CAACl5C,IAAI,EAAE,CAAA;EAChD,KAAA;EACF,GAAC,EAAE;EACD3Q,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAAS6qD,eAAeA,GAAG;QAChC,IAAIH,MAAM,GAAG,IAAI,CAAChvB,GAAG,CAACpyB,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAClDohD,MAAM,CAACphD,IAAI,CAAC,wCAAwC,CAAC,CAACiG,MAAM,CAACmvC,QAAQ,CAAC,CAAA;QACtEgM,MAAM,CAACphD,IAAI,CAAC,yCAAyC,CAAC,CAACiG,MAAM,CAACovC,SAAS,CAAC,CAAA;QACxE+L,MAAM,CAACphD,IAAI,CAAC,wCAAwC,CAAC,CAACiG,MAAM,CAACs0C,QAAQ,CAAC,CAAA;EACtE,MAAA,IAAI,CAAC8C,gBAAgB,CAACp3C,MAAM,CAACmvC,QAAQ,CAAC,CAAA;EACtC,MAAA,IAAI,CAACkI,eAAe,CAACr3C,MAAM,CAACmvC,QAAQ,CAAC,CAAA;EACrC,MAAA,IAAI,CAAC+H,WAAW,CAACl3C,MAAM,CAACu0C,UAAU,CAAC,CAAA;EACnC,MAAA,IAAI,CAACyD,iBAAiB,CAACh4C,MAAM,CAACy0C,cAAc,CAAC,CAAA;EAC7C,MAAA,IAAI,CAACwG,YAAY,CAACj7C,MAAM,CAAC20C,MAAM,CAAC,CAAA;EAClC,KAAA;EACF,GAAC,EAAE;EACD5kD,IAAAA,GAAG,EAAE,mBAAmB;EACxBU,IAAAA,KAAK,EAAE,SAASioD,iBAAiBA,CAACjoD,KAAK,EAAE;EACvCA,MAAAA,KAAK,GAAG0R,IAAI,CAAC05B,GAAG,CAAC15B,IAAI,CAACy5B,GAAG,CAACnrC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;EAC3C;EACA,MAAA,IAAI,IAAI,CAAC8qD,0BAA0B,KAAK9qD,KAAK,EAAE,OAAA;QAC/C,IAAI,CAAC8qD,0BAA0B,GAAG9qD,KAAK,CAAA;EACvC,MAAA,IAAI,CAAC8nD,gBAAgB,CAAC11C,WAAW,CAAC,4BAA4B,CAAC,CAAA;EAC/D,MAAA,IAAI,CAAC21C,gBAAgB,CAAC31C,WAAW,CAAC,4BAA4B,CAAC,CAAA;EAC/D,MAAA,IAAI,CAAC01C,gBAAgB,CAACl4C,GAAG,CAAC;EACxB6B,QAAAA,KAAK,EAAE,EAAE,CAAC/N,MAAM,CAAC1D,KAAK,EAAE,GAAG,CAAA;EAC7B,OAAC,CAAC,CAAA;EACF,MAAA,IAAI,CAAC+nD,gBAAgB,CAACn4C,GAAG,CAAC;EACxByB,QAAAA,IAAI,EAAE,EAAE,CAAC3N,MAAM,CAAC1D,KAAK,EAAE,GAAG,CAAA;EAC5B,OAAC,CAAC,CAAA;EACJ,KAAA;EACF,GAAC,EAAE;EACDV,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAAS+qD,YAAYA,CAACC,KAAK,EAAE;EAClC,MAAA,IAAI,CAAC,IAAI,CAACz1C,QAAQ,CAAC0/B,WAAW,EAAE,OAAA;QAChC,IAAI9lB,WAAW,GAAG,IAAI,CAACtmB,SAAS,CAAC24B,cAAc,EAAE,CAAA;QACjD,IAAIyB,QAAQ,GAAG,IAAI,CAACp6B,SAAS,CAAC44B,WAAW,EAAE,CAAA;EAC3C,MAAA,IAAI1uB,QAAQ,GAAGrB,IAAI,CAACy5B,GAAG,CAACz5B,IAAI,CAAC05B,GAAG,CAACjc,WAAW,GAAG67B,KAAK,EAAE,CAAC,CAAC,EAAE/nB,QAAQ,CAAC,CAAA;EACnElwB,MAAAA,QAAQ,GAAGrB,IAAI,CAACy5B,GAAG,CAACp4B,QAAQ,GAAG,GAAG,GAAGkwB,QAAQ,EAAE,GAAG,CAAC,CAAA;EACnD,MAAA,IAAI,CAACp6B,SAAS,CAACk6B,cAAc,CAAChwB,QAAQ,CAAC,CAAA;EACzC,KAAA;EACF,GAAC,EAAE;EACDzT,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASirD,cAAcA,CAAC3rD,GAAG,EAAE8M,QAAQ,EAAE;QAC5C,IAAI8+C,MAAM,GAAG,IAAI,CAAA;EACjB,MAAA,IAAI,CAACxG,IAAI,CAAClB,IAAI,CAAClkD,GAAG,EAAE,YAAY;UAC9B4rD,MAAM,CAACv8C,IAAI,EAAE,CAAA;UACb,OAAOvC,QAAQ,EAAE,CAAA;EACnB,OAAC,CAAC,CAAA;EACJ,KAAA;EACF,GAAC,EAAE;EACD9M,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAAS4kD,aAAaA,GAAG;QAC9B,IAAIuG,MAAM,GAAG,IAAI,CAAA;QACjB,IAAIzmC,OAAO,CAAC6D,QAAQ,IAAI,IAAI,CAAC3R,OAAO,CAACy3B,wBAAwB,EAAE,OAAA;QAC/D,IAAI,CAACsX,eAAe,EAAE,CAAA;EACtB,MAAA,IAAI,CAACjB,IAAI,GAAG,IAAIzD,IAAI,CAAC,IAAI,CAACrqC,OAAO,CAAC+tC,YAAY,IAAI,IAAI,CAAC/tC,OAAO,CAACmzB,aAAa,CAAC,CAAA;EAC7E,MAAA,IAAI,CAACkhB,cAAc,CAAC,OAAO,EAAE,YAAY;EACvC,QAAA,OAAOE,MAAM,CAAC1D,eAAe,EAAE,CAAA;EACjC,OAAC,CAAC,CAAA;EACF,MAAA,IAAI,CAACwD,cAAc,CAAC,MAAM,EAAE,YAAY;EACtC,QAAA,OAAOE,MAAM,CAACJ,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;EAChC,OAAC,CAAC,CAAA;EACF,MAAA,IAAI,CAACE,cAAc,CAAC,OAAO,EAAE,YAAY;EACvC,QAAA,OAAOE,MAAM,CAACJ,YAAY,CAAC,CAAC,CAAC,CAAA;EAC/B,OAAC,CAAC,CAAA;EACF,MAAA,IAAI,CAACE,cAAc,CAAC,YAAY,EAAE,YAAY;EAC5C,QAAA,OAAOE,MAAM,CAACJ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAA;EACjC,OAAC,CAAC,CAAA;EACF,MAAA,IAAI,CAACE,cAAc,CAAC,aAAa,EAAE,YAAY;EAC7C,QAAA,OAAOE,MAAM,CAACJ,YAAY,CAAC,EAAE,CAAC,CAAA;EAChC,OAAC,CAAC,CAAA;EACF,MAAA,IAAI,CAACE,cAAc,CAAC,iBAAiB,EAAE,YAAY;EACjD,QAAA,OAAOE,MAAM,CAACJ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAA;EACjC,OAAC,CAAC,CAAA;EACF,MAAA,IAAI,CAACE,cAAc,CAAC,kBAAkB,EAAE,YAAY;EAClD,QAAA,OAAOE,MAAM,CAACJ,YAAY,CAAC,EAAE,CAAC,CAAA;EAChC,OAAC,CAAC,CAAA;QACF,IAAIhpD,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;EAC7DA,MAAAA,IAAI,CAACI,OAAO,CAAC,UAAUT,CAAC,EAAE;EACxBypD,QAAAA,MAAM,CAACF,cAAc,CAACvpD,CAAC,EAAE,YAAY;EACnCypD,UAAAA,MAAM,CAAC51C,QAAQ,CAAC0/B,WAAW,IAAIkW,MAAM,CAACtiD,SAAS,IAAIsiD,MAAM,CAACtiD,SAAS,CAACk6B,cAAc,CAACrhC,CAAC,GAAG,EAAE,CAAC,CAAA;EAC5F,SAAC,CAAC,CAAA;EACJ,OAAC,CAAC,CAAA;EACJ,KAAA;EACF,GAAC,EAAE;EACDpC,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAAS2lD,eAAeA,GAAG;QAChC,IAAI,IAAI,CAACjB,IAAI,EAAE;EACb,QAAA,IAAI,CAACA,IAAI,CAAC/sC,GAAG,CAAC,OAAO,CAAC,CAAA;EACtB,QAAA,IAAI,CAAC+sC,IAAI,CAAC/sC,GAAG,CAAC,MAAM,CAAC,CAAA;EACrB,QAAA,IAAI,CAAC+sC,IAAI,CAAC/sC,GAAG,CAAC,OAAO,CAAC,CAAA;EACtB,QAAA,IAAI,CAAC+sC,IAAI,CAAC/sC,GAAG,CAAC,YAAY,CAAC,CAAA;EAC3B,QAAA,IAAI,CAAC+sC,IAAI,CAAC/sC,GAAG,CAAC,aAAa,CAAC,CAAA;EAC5B,QAAA,IAAI,CAAC+sC,IAAI,CAAC/sC,GAAG,CAAC,iBAAiB,CAAC,CAAA;EAChC,QAAA,IAAI,CAAC+sC,IAAI,CAAC/sC,GAAG,CAAC,kBAAkB,CAAC,CAAA;UACjC,IAAI,CAAC+sC,IAAI,CAAC/sC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;EACnE,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDrY,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASorD,WAAWA,GAAG;EAC5B,MAAA,IAAI,IAAI,CAACx0C,OAAO,CAACy0C,YAAY,EAAE;UAC7B,IAAI,CAACC,YAAY,GAAG,IAAI,CAAC10C,OAAO,CAACy0C,YAAY,CAACE,OAAO,CAAA;UACrD,IAAIC,YAAY,GAAG,IAAI,CAAC50C,OAAO,CAACy0C,YAAY,CAACI,OAAO,CAAA;EACpD,QAAA,IAAI,CAAC/vB,GAAG,CAACpyB,IAAI,CAAC,2BAA2B,CAAC,CAACsG,GAAG,CAAC,kBAAkB,EAAE47C,YAAY,CAAC,CAAA;EAChF,QAAA,IAAI,CAAC9vB,GAAG,CAACpyB,IAAI,CAAC,8BAA8B,CAAC,CAACsG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC07C,YAAY,CAAC,CAAA;EAC5E,QAAA,IAAI,CAAC5vB,GAAG,CAACpyB,IAAI,CAAC,qCAAqC,CAAC,CAACsG,GAAG,CAAC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC07C,YAAY,CAAC,CAAA;EAC7G,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDhsD,IAAAA,GAAG,EAAE,kBAAkB;EACvBU,IAAAA,KAAK,EAAE,SAAS0mD,gBAAgBA,CAACrhD,OAAO,EAAE;QACxC,IAAI,CAACimD,YAAY,IAAIjmD,OAAO,IAAI9B,CAAC,CAAC8B,OAAO,CAAC,CAACiE,IAAI,CAAC,UAAU,CAAC,CAACsG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC07C,YAAY,CAAC,CAAA;EAC5F,KAAA;EACF,GAAC,EAAE;EACDhsD,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAAS27B,OAAOA,GAAG;QACxBp4B,CAAC,CAACI,QAAQ,CAAC,CAACgd,MAAM,CAAC,SAAS,EAAE,IAAI,CAACmkC,eAAe,CAAC,CAAA;QACnDvhD,CAAC,CAACI,QAAQ,CAAC,CAACgd,MAAM,CAAC,WAAW,EAAE,IAAI,CAACqkC,iBAAiB,CAAC,CAAA;QACvD,IAAI,CAACW,eAAe,EAAE,CAAA;QACtB,IAAI,CAACnzB,aAAa,EAAE,CAAA;QACpBhwB,aAAa,CAAC4hD,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;EACrD,KAAA;;EAEA;EACJ;EACA;EACA;EACA;EACE,GAAC,EAAE;EACD9kD,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASyuB,SAASA,CAAC7X,OAAO,EAAE;EACjC;QACA,IAAI,IAAI,CAACA,OAAO,CAAC2rB,UAAU,IAAI3rB,OAAO,CAAClN,MAAM,IAAIkN,OAAO,CAACgvB,OAAO,EAAE,IAAI,CAACxpB,OAAO,EAAE,CAAC,KAAK,IAAI,CAACwhB,MAAM,EAAE,CAAA;EACnG,MAAA,IAAI,CAACxoB,OAAO,CAAC4c,MAAM,CAAC8H,2BAA2B,CAAC,CAAA;EAClD,KAAA;EACF,GAAC,EAAE;EACDx6B,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS66B,MAAMA,GAAG;QACvB,IAAI6wB,OAAO,GAAG,IAAI,CAAA;QAClB,IAAI5zC,OAAO,GAAG,IAAI,CAAClB,OAAO,CAAC0uC,qBAAqB,IAAI,IAAI,CAAA;EACxD,MAAA,IAAI,CAAC/vC,QAAQ,IAAI,IAAI,CAACmmB,GAAG,CAAChzB,IAAI,CAAC,IAAI,CAACsyB,QAAQ,CAAC;UAC3CzlB,QAAQ,EAAE,IAAI,CAACA,QAAAA;EACjB,OAAC,CAAC,CAAC,CAAA;EACH,MAAA,IAAI3G,KAAK,GAAGqsB,MAAM,CAACC,WAAW,CAACmL,UAAU,EAAE;EACzClL,QAAAA,OAAO,EAAE,IAAI,CAACvkB,OAAO,CAACukB,OAAAA;EACxB,OAAC,CAAC,CAAA;QACF,IAAI,CAACO,GAAG,CAACnsB,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC67C,oBAAoB,EAAE,CAAA;EAC3B,MAAA,IAAI,CAAC9D,gBAAgB,CAAC10C,QAAQ,CAAC,QAAQ,CAAC,CAAA;EACxC,MAAA,IAAI,CAAC20C,eAAe,CAAC30C,QAAQ,CAAC,SAAS,CAAC,CAAA;QACxC,IAAI,CAACuzC,gBAAgB,EAAE,CAAA;QACvB,IAAI,IAAI,CAAC38C,SAAS,EAAE;EAClB,QAAA,IAAI,CAACihD,MAAM,GAAG/xC,UAAU,CAAC,YAAY;EACnC,UAAA,OAAO2zC,OAAO,CAAC/7C,IAAI,EAAE,CAAA;WACtB,EAAEmI,OAAO,CAAC,CAAA;EACX,QAAA,IAAI,CAACyE,QAAQ,IAAI,IAAI,CAAC5M,IAAI,EAAE,CAAA;EAC9B,OAAA;;EAEA;EACA;EACA,MAAA,IAAI+U,OAAO,CAACuD,QAAQ,IAAIvD,OAAO,CAAC6D,QAAQ,EAAE;UACxC,IAAI7D,OAAO,CAACF,OAAO,GAAG,EAAE,EAAE,IAAI,CAACmmC,gBAAgB,CAAC/6C,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,IAAI,CAACq2C,mBAAmB,CAACr2C,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;EAC7H,OAAA;EACA,MAAA,IAAI,CAACk4C,gBAAgB,CAAC71C,QAAQ,CAAC,4BAA4B,CAAC,CAAA;EAC5D,MAAA,IAAI,CAAC81C,gBAAgB,CAAC91C,QAAQ,CAAC,4BAA4B,CAAC,CAAA;QAC5D,IAAI05C,sBAAsB,GAAG,CAAC,CAAA;QAC9B,IAAI,IAAI,CAACb,0BAA0B,EAAEa,sBAAsB,GAAG,IAAI,CAACb,0BAA0B,CAAA;QAC7F,IAAI,CAACA,0BAA0B,GAAG,IAAI,CAAA;EACtC,MAAA,IAAI,CAAC7C,iBAAiB,CAAC0D,sBAAsB,CAAC,CAAA;EAC9C5zC,MAAAA,UAAU,CAAC,YAAY;EACrB,QAAA,CAAC2zC,OAAO,CAACn2C,QAAQ,CAAC0/B,WAAW,IAAIyW,OAAO,CAAC1E,iBAAiB,CAAC/0C,QAAQ,CAAC,eAAe,CAAC,CAAA;EACpF,QAAA,CAACyS,OAAO,CAAC6D,QAAQ,IAAI,CAACmjC,OAAO,CAAC90C,OAAO,CAACy3B,wBAAwB,IAAIqd,OAAO,CAAC9G,aAAa,EAAE,CAAA;UACzF8G,OAAO,CAACnG,YAAY,CAAC;EACnB9zC,UAAAA,KAAK,EAAEi6C,OAAO,CAAC90C,OAAO,CAACnF,KAAK;EAC5BG,UAAAA,MAAM,EAAE85C,OAAO,CAAC90C,OAAO,CAAChF,MAAAA;EAC1B,SAAC,CAAC,CAAA;EACF85C,QAAAA,OAAO,CAAClE,aAAa,CAAC,CAAC,CAAC,CAAA;SACzB,EAAE,CAAC,CAAC,CAAA;QACL,IAAI,CAAC4D,WAAW,EAAE,CAAA;EAClB,MAAA,IAAI,CAAC7rB,oBAAoB,CAAC,IAAI,CAACsE,IAAI,CAAC,CAAA;QACpC,IAAI,CAACxH,IAAI,CAACX,GAAG,CAACnsB,MAAM,CAAC,IAAI,CAACzC,EAAE,CAAC,CAAA;QAC7B,IAAI,CAACk5C,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAACH,cAAc,EAAE,CAAA;EACrB,MAAA,IAAI,CAACzwC,OAAO,CAAC4c,MAAM,CAACqH,qBAAqB,CAAC,CAAA;EAC1C,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACkE,YAAY,CAAC,CAAA;AACf6mB,gBAAY,CAAC56C,MAAM,GAAG,UAAUb,UAAU,EAAE;EAC1C,EAAA,OAAOa,MAAM,CAAC46C,cAAY,EAAEz7C,UAAU,CAAC,CAAA;EACzC,CAAC,CAAA;EAED,IAAIijD,UAAU,GAAG,kDAAkD,CAAA;EAEnE,IAAItlB,UAAU,GAAG,w0BAAw0B,CAAA;EAEz1B,IAAIulB,YAAY,gBAAgB,UAAUC,kBAAkB,EAAE;IAC5D,SAASD,YAAYA,CAAChjD,SAAS,EAAE;EAC/B,IAAA,IAAI+gB,KAAK,CAAA;EACT/qB,IAAAA,eAAe,CAAC,IAAI,EAAEgtD,YAAY,CAAC,CAAA;MACnCjiC,KAAK,GAAGzrB,UAAU,CAAC,IAAI,EAAE0tD,YAAY,EAAE,CAAChjD,SAAS,CAAC,CAAC,CAAA;MACnD+gB,KAAK,CAACmiC,iBAAiB,GAAG,KAAK,CAAA;MAC/BniC,KAAK,CAACoiC,aAAa,GAAG,KAAK,CAAA;MAC3BpiC,KAAK,CAACiR,MAAM,EAAE,CAAA;EACd9iB,IAAAA,UAAU,CAAC,YAAY;EACrB,MAAA,OAAO6R,KAAK,CAACqiC,MAAM,EAAE,CAAA;OACtB,EAAE,CAAC,CAAC,CAAA;EACL,IAAA,OAAOriC,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,SAAS,CAAC4qD,YAAY,EAAEC,kBAAkB,CAAC,CAAA;EAC3C,EAAA,OAAOvsD,YAAY,CAACssD,YAAY,EAAE,CAAC;EACjCvsD,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,QAAQ,CAAA;EACjB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,UAAU;EACfkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAOw6B,IAAQ,CAAC4wB,UAAU,CAAC,CAAA;EAC7B,KAAA;EACF,GAAC,EAAE;EACDtsD,IAAAA,GAAG,EAAE,cAAc;EACnBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,IAAI04C,WAAW,GAAG,CAAC,EAAE,IAAI,CAACtiC,OAAO,CAACi8B,MAAM,IAAI,IAAI,CAACj8B,OAAO,CAACi8B,MAAM,CAACqG,WAAW,CAAC,CAAA;QAC5E,OAAO,IAAI,CAACrwC,SAAS,CAACm1B,QAAQ,CAACh7B,IAAI,KAAK,UAAU,KAAK,IAAI,CAAC6F,SAAS,CAACm1B,QAAQ,CAAC+C,eAAe,EAAE,KAAK8D,QAAQ,CAACG,KAAK,IAAIkU,WAAW,CAAC,CAAA;EACrI,KAAA;EACF,GAAC,EAAE;EACD55C,IAAAA,GAAG,EAAE,YAAY;EACjBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,OAAO,EAAE,eAAe;EACxB,QAAA,aAAa,EAAE,EAAA;SAChB,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,QAAQ;EACbkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,OAAO,EAAE,SAAA;SACV,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,gBAAgB;EACrBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO,CAAC,IAAI,CAACoW,OAAO,CAACi8B,MAAM,IAAI,IAAI,CAACj8B,OAAO,CAACi8B,MAAM,CAACqZ,cAAc,IAAI,IAAI,CAACt1C,OAAO,CAACi8B,MAAM,CAACqZ,cAAc,KAAK93C,SAAS,CAAA;EACvH,KAAA;EACF,GAAC,EAAE;EACD9U,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC3K,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0F,cAAc,EAAE,IAAI,CAACqX,MAAM,CAAC,CAAA;EACjE,MAAA,IAAI,CAAChc,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACyF,cAAc,EAAE,IAAI,CAACoX,MAAM,CAAC,CAAA;EACjE,MAAA,IAAI,CAAC9b,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0G,yBAAyB,EAAE,IAAI,CAACuzB,MAAM,CAAC,CAAA;EAC5E,MAAA,IAAI,CAACl5B,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC2G,0BAA0B,EAAE,IAAI,CAACszB,MAAM,CAAC,CAAA;EAC7E,MAAA,IAAI,CAACl5B,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACoH,wBAAwB,EAAE,IAAI,CAACyB,MAAM,CAAC,CAAA;EAC3E,MAAA,IAAI,CAAC9H,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACiF,eAAe,EAAE,IAAI,CAAC+X,OAAO,CAAC,CAAA;EACnE,MAAA,IAAI,CAACkd,cAAc,IAAI,IAAI,CAACn5B,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC4F,eAAe,EAAE,IAAI,CAACmX,MAAM,CAAC,CAAA;EAC3F,KAAA;EACF,GAAC,EAAE;EACDzvC,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAASgvC,OAAOA,CAAC14B,KAAK,EAAE;QAC7B,IAAI,CAAC61C,aAAa,GAAG71C,KAAK,CAAC8Z,KAAK,KAAKgM,WAAW,CAACY,MAAM,CAACT,KAAK,CAAA;QAC7D,IAAI,IAAI,CAAC4vB,aAAa,EAAE;UACtB,IAAI,CAACJ,iBAAiB,GAAG,KAAK,CAAA;UAC9B,IAAI,CAACC,aAAa,GAAG,KAAK,CAAA;UAC1B,IAAI,CAACI,cAAc,EAAE,CAAA;EACvB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD9sD,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS6uC,MAAMA,GAAG;QACvB,IAAI,CAACkd,iBAAiB,GAAG,IAAI,CAAA;QAC7B,IAAI,CAACE,MAAM,EAAE,CAAA;EACf,KAAA;EACF,GAAC,EAAE;EACD3sD,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS+uC,MAAMA,GAAG;QACvB,IAAI,CAACgd,iBAAiB,GAAG,KAAK,CAAA;QAC9B,IAAI,CAACC,aAAa,GAAG,KAAK,CAAA;QAC1B,IAAI,CAACC,MAAM,EAAE,CAAA;EACf,KAAA;EACF,GAAC,EAAE;EACD3sD,IAAAA,GAAG,EAAE,kBAAkB;EACvBU,IAAAA,KAAK,EAAE,SAASqsD,gBAAgBA,CAAC19C,IAAI,EAAE;QACrC,IAAIA,IAAI,KAAK,CAAC,IAAI,CAACiI,OAAO,CAAC2rB,UAAU,IAAI,IAAI,CAAC3rB,OAAO,CAAC4rB,oBAAoB,CAAC,EAAE,IAAI,CAAC4pB,cAAc,EAAE,CAAC,KAAK,IAAI,CAACE,cAAc,EAAE,CAAA;EAC/H,KAAA;EACF,GAAC,EAAE;EACDhtD,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASosD,cAAcA,GAAG;QAC/B,IAAI,IAAI,CAACD,aAAa,IAAI,CAAC,IAAI,CAACv1C,OAAO,CAACunC,kBAAkB,EAAE,OAAA;EAC5D,MAAA,IAAI,CAACoO,WAAW,CAAC59C,IAAI,EAAE,CAAA;EACvB,MAAA,IAAI,CAAC+sB,GAAG,CAACzpB,QAAQ,CAAC,WAAW,CAAC,CAAA;EAChC,KAAA;EACF,GAAC,EAAE;EACD3S,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAASssD,cAAcA,GAAG;EAC/B,MAAA,IAAI,CAACC,WAAW,CAAC58C,IAAI,EAAE,CAAA;EACvB,MAAA,IAAI,CAAC+rB,GAAG,CAACtpB,WAAW,CAAC,WAAW,CAAC,CAAA;EACnC,KAAA;EACF,GAAC,EAAE;EACD9S,IAAAA,GAAG,EAAE,SAAS;EACdU,IAAAA,KAAK,EAAE,SAASqiC,OAAOA,GAAG;EACxB;EACA,MAAA,IAAI,CAAC,IAAI,CAAC0pB,iBAAiB,EAAE;EAC3B,QAAA,IAAI,CAAC,IAAI,CAACn1C,OAAO,CAAC2rB,UAAU,IAAI,IAAI,CAAC3rB,OAAO,CAAC4rB,oBAAoB,EAAE;YACjE,IAAI,CAACwpB,aAAa,GAAG,IAAI,CAAA;YACzB,IAAI,CAACC,MAAM,EAAE,CAAA;EACb,UAAA,IAAI,CAACpjD,SAAS,CAACm1B,QAAQ,KAAK,IAAI,CAACn1B,SAAS,CAACm1B,QAAQ,CAAC8G,UAAU,GAAG,IAAI,CAAC,CAAA;EACtE,UAAA,IAAI,CAACj8B,SAAS,CAACulB,IAAI,EAAE,CAAA;EACvB,SAAA;EACA,QAAA,OAAO,KAAK,CAAA;EACd,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD9uB,IAAAA,GAAG,EAAE,kBAAkB;EACvBU,IAAAA,KAAK,EAAE,SAASwsD,gBAAgBA,GAAG;EACjC;EACA,MAAA,OAAO,CAAC,IAAI,CAAC3jD,SAAS,CAACm1B,QAAQ,CAACyV,WAAW,CAAA;EAC7C,KAAA;EACF,GAAC,EAAE;EACDn0C,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAASisD,MAAMA,GAAG;EACvB,MAAA,IAAI,CAAC,IAAI,CAACvO,YAAY,EAAE,OAAA;EACxB,MAAA,IAAI0O,cAAc,GAAG,CAAC,IAAI,CAACJ,aAAa,IAAI,CAAC,IAAI,CAACD,iBAAiB,IAAI,CAAC,IAAI,CAACljD,SAAS,CAAC41B,SAAS,CAAA;EAChG,MAAA,IAAI,CAAC4tB,gBAAgB,CAACD,cAAc,CAAC,CAAA;QACrC,IAAI,CAACK,YAAY,EAAE,CAAA;EACrB,KAAA;EACF,GAAC,EAAE;EACDntD,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAASysD,YAAYA,GAAG;EAC7B,MAAA,IAAI,CAAC,IAAI,CAACV,iBAAiB,EAAE,IAAI,CAACW,UAAU,EAAE,CAAC,KAAK,IAAI,CAACC,UAAU,EAAE,CAAA;EACvE,KAAA;EACF,GAAC,EAAE;EACDrtD,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS0sD,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC7jD,SAAS,CAAC82B,mBAAmB,EAAE,CAAA;EACpC,MAAA,IAAI,CAACjE,GAAG,CAAC/sB,IAAI,EAAE,CAAA;EACjB,KAAA;EACF,GAAC,EAAE;EACDrP,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS2sD,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC9jD,SAAS,CAAC+2B,kBAAkB,EAAE,CAAA;EACnC,MAAA,IAAI,IAAI,CAAC4sB,gBAAgB,EAAE,EAAE,IAAI,CAAC9wB,GAAG,CAAC/rB,IAAI,EAAE,CAAA;EAC9C,KAAA;EACF,GAAC,EAAE;EACDrQ,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS66B,MAAMA,GAAG;EACvB,MAAA,IAAI,CAAC,IAAI,CAAC6iB,YAAY,EAAE,OAAA;EACxB,MAAA,IAAI9uC,KAAK,GAAGqsB,MAAM,CAACC,WAAW,CAACoL,UAAU,EAAE;EACzCnL,QAAAA,OAAO,EAAE,IAAI,CAACvkB,OAAO,CAACukB,OAAAA;EACxB,OAAC,CAAC,CAAA;QACF,IAAI,CAACO,GAAG,CAAChzB,IAAI,CAAC,IAAI,CAACsyB,QAAQ,EAAE,CAAC,CAAA;QAC9B,IAAI,CAACU,GAAG,CAACnsB,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;EACzB,MAAA,IAAIg+C,eAAe,GAAG,IAAI,CAACh2C,OAAO,CAACi8B,MAAM,IAAI,IAAI,CAACj8B,OAAO,CAACi8B,MAAM,CAACga,MAAM,KAAKz4C,SAAS,CAAA;EACrF,MAAA,IAAIw4C,eAAe,EAAE;EACnB,QAAA,IAAIha,SAAS,GAAG,IAAI,CAACh8B,OAAO,CAACi8B,MAAM,CAACj7B,GAAG,IAAI,IAAI,CAAChB,OAAO,CAACi8B,MAAM,CAAA;EAC9D,QAAA,IAAI,CAACnX,GAAG,CAAC9rB,GAAG,CAAC;EACX,UAAA,kBAAkB,EAAE,MAAM,GAAGgjC,SAAS,GAAG,GAAA;EAC3C,SAAC,CAAC,CAAA;UACF,IAAI,CAACka,wBAAwB,EAAE,CAAA;EACjC,OAAC,MAAM,IAAI,IAAI,CAACl2C,OAAO,CAACi8B,MAAM,EAAE;EAC9B,QAAA,IAAI,CAACnX,GAAG,CAAC9rB,GAAG,CAAC;EACX,UAAA,YAAY,EAAE,IAAI,CAACgH,OAAO,CAACi8B,MAAM,CAACga,MAAAA;EACpC,SAAC,CAAC,CAAA;UACF,IAAI,CAACC,wBAAwB,EAAE,CAAA;EACjC,OAAA;QACA,IAAI,CAACjkD,SAAS,CAAC6yB,GAAG,CAACnsB,MAAM,CAAC,IAAI,CAACzC,EAAE,CAAC,CAAA;QAClC,IAAI,CAACigD,YAAY,GAAG,IAAI,CAACrxB,GAAG,CAACpyB,IAAI,CAAC,eAAe,CAAC,CAAA;EAClD,MAAA,IAAI,CAACyjD,YAAY,CAACx9C,MAAM,CAACmvC,QAAQ,CAAC,CAAA;QAClC,IAAI,CAAC6N,WAAW,GAAG,IAAI,CAACQ,YAAY,CAACzjD,IAAI,CAAC,KAAK,CAAC,CAAA;EAChD,MAAA,IAAI,CAACijD,WAAW,CAACt6C,QAAQ,CAAC,aAAa,CAAC,CAAA;QACxC,IAAI,CAACs6C,WAAW,CAACtjD,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;EACxC,MAAA,IAAIqiD,YAAY,GAAG,IAAI,CAAC10C,OAAO,CAACy0C,YAAY,IAAI,IAAI,CAACz0C,OAAO,CAACy0C,YAAY,CAACE,OAAO,CAAA;EACjF,MAAA,IAAID,YAAY,EAAE,IAAI,CAAC5vB,GAAG,CAACpyB,IAAI,CAAC,UAAU,CAAC,CAACsG,GAAG,CAAC,MAAM,EAAE07C,YAAY,CAAC,CAAA;EACrE,MAAA,IAAI,IAAI,CAAC10C,OAAO,CAACy0C,YAAY,IAAI,IAAI,CAACz0C,OAAO,CAACy0C,YAAY,CAACE,OAAO,EAAE;EAClED,QAAAA,YAAY,GAAG,IAAI,CAAC10C,OAAO,CAACy0C,YAAY,CAACE,OAAO,CAAA;UAChD,IAAI,CAACgB,WAAW,CAAC38C,GAAG,CAAC,OAAO,EAAE07C,YAAY,CAAC,CAAA;EAC7C,OAAA;QACA,IAAI,CAACW,MAAM,EAAE,CAAA;EACb,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACD3sD,IAAAA,GAAG,EAAE,0BAA0B;EAC/BU,IAAAA,KAAK,EAAE,SAAS8sD,wBAAwBA,GAAG;QACzC,IAAI,CAACjkD,SAAS,CAACm1B,QAAQ,IAAI,IAAI,CAACn1B,SAAS,CAACm1B,QAAQ,CAACtC,GAAG,IAAI,IAAI,CAAC7yB,SAAS,CAACm1B,QAAQ,CAACtC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC7yB,SAAS,CAACm1B,QAAQ,CAACtC,GAAG,CAAC,CAAC,CAAC,CAAC5wB,eAAe,IAAI,IAAI,CAACjC,SAAS,CAACm1B,QAAQ,CAACtC,GAAG,CAAC,CAAC,CAAC,CAAC5wB,eAAe,CAAC,QAAQ,CAAC,CAAA;EACxM,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACgmC,iBAAiB,CAAC,CAAA;EAEpB,IAAIkc,YAAY,GAAG,6DAA6D,CAAA;EAEhF,IAAIhc,UAAU,GAAG,6zBAA6zB,CAAA;EAE90B,IAAIhnB,UAAU,GAAGsF,KAAK,CAACtF,UAAU,CAAA;EACjC,IAAIijC,UAAQ,gBAAgB,UAAUxR,aAAa,EAAE;IACnD,SAASwR,QAAQA,CAAC5wB,IAAI,EAAE;EACtB,IAAA,IAAIzS,KAAK,CAAA;EACT/qB,IAAAA,eAAe,CAAC,IAAI,EAAEouD,QAAQ,CAAC,CAAA;MAC/BrjC,KAAK,GAAGzrB,UAAU,CAAC,IAAI,EAAE8uD,QAAQ,EAAE,CAAC5wB,IAAI,CAAC,CAAC,CAAA;MAC1CzS,KAAK,CAACsjC,mBAAmB,GAAG,KAAK,CAAA;MACjCtjC,KAAK,CAACujC,aAAa,GAAG,IAAI,CAAA;MAC1BvjC,KAAK,CAACqZ,QAAQ,GAAG,IAAI,CAAA;MACrBrZ,KAAK,CAACwjC,iBAAiB,GAAG,IAAI,CAAA;MAC9BxjC,KAAK,CAACyjC,cAAc,GAAG,CAAC,CAACzjC,KAAK,CAACqyB,YAAY,CAACrlC,OAAO,CAACy2C,cAAc,CAAA;MAClE,IAAIzjC,KAAK,CAACyjC,cAAc,EAAE;EACxB,MAAA,IAAIzjC,KAAK,CAACqyB,YAAY,CAACrlC,OAAO,CAAC02C,oBAAoB,EAAE1jC,KAAK,CAAC2jC,wBAAwB,GAAG,IAAIj5C,IAAI,EAAE,CAAC8a,OAAO,EAAE,GAAG,IAAI9a,IAAI,CAACsV,KAAK,CAACqyB,YAAY,CAACrlC,OAAO,CAAC02C,oBAAoB,CAAC,CAACl+B,OAAO,EAAE,CAAC,KAAKxF,KAAK,CAAC2jC,wBAAwB,GAAG,CAAC,CAAA;EAC1N,KAAA;EACA,IAAA,OAAO3jC,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,SAAS,CAACgsD,QAAQ,EAAExR,aAAa,CAAC,CAAA;EAClC,EAAA,OAAOl8C,YAAY,CAAC0tD,QAAQ,EAAE,CAAC;EAC7B3tD,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,WAAW,CAAA;EACpB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,UAAU;EACfkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAOw6B,IAAQ,CAACgyB,YAAY,CAAC,CAAA;EAC/B,KAAA;EACF,GAAC,EAAE;EACD1tD,IAAAA,GAAG,EAAE,YAAY;EACjBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,OAAO,EAAE,WAAW;EACpB,QAAA,gBAAgB,EAAE,EAAA;SACnB,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,cAAc;EACnBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAAC67B,IAAI,CAAC4f,YAAY,CAAA;EAC/B,KAAA;EACF,GAAC,EAAE;EACD38C,IAAAA,GAAG,EAAE,uBAAuB;EAC5BkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAACy7C,YAAY,CAACpzC,SAAS,CAAA;EACpC,KAAA;EACF,GAAC,EAAE;EACDvJ,IAAAA,GAAG,EAAE,qBAAqB;EAC1BkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO,IAAI,CAACgtD,qBAAqB,IAAI,IAAI,CAACA,qBAAqB,CAACzsB,eAAe,EAAE,KAAK8D,QAAQ,CAACW,IAAI,IAAI,IAAI,CAACgoB,qBAAqB,CAACxsB,YAAY,EAAE,CAAA;EAClJ,KAAA;EACF,GAAC,EAAE;EACD1hC,IAAAA,GAAG,EAAE,eAAe;EACpBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAACitD,mBAAmB,IAAI,CAAC,IAAI,CAACJ,cAAc,CAAA;EACzD,KAAA;EACF,GAAC,EAAE;EACD/tD,IAAAA,GAAG,EAAE,mBAAmB;EACxBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,IAAI,CAAC6sD,cAAc,IAAI,IAAI,CAACI,mBAAmB,CAAA;EACxD,KAAA;EACF,GAAC,EAAE;EACDnuD,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC3K,QAAQ,CAAC,IAAI,CAACkpB,YAAY,EAAEjqB,MAAM,CAACqH,qBAAqB,EAAE,IAAI,CAACwB,MAAM,CAAC,CAAA;EAC3E,MAAA,IAAI,CAAC9H,QAAQ,CAAC,IAAI,CAACkpB,YAAY,EAAEjqB,MAAM,CAACyH,8BAA8B,EAAE,IAAI,CAACi0B,QAAQ,CAAC,CAAA;EACtF,MAAA,IAAI,CAAC36B,QAAQ,CAAC,IAAI,CAACkpB,YAAY,EAAEjqB,MAAM,CAAC0H,+BAA+B,EAAE,IAAI,CAACi0B,QAAQ,CAAC,CAAA;EACvF,MAAA,IAAI,CAAC56B,QAAQ,CAAC,IAAI,CAACkpB,YAAY,EAAEjqB,MAAM,CAAC6H,6BAA6B,EAAE,IAAI,CAACukB,kBAAkB,CAAC,CAAA;QAC/F,IAAI,IAAI,CAACoP,qBAAqB,EAAE;EAC9B,QAAA,IAAI,CAACz6B,QAAQ,CAAC,IAAI,CAACy6B,qBAAqB,EAAEx7B,MAAM,CAAC2E,iCAAiC,EAAE,IAAI,CAACs1B,MAAM,CAAC,CAAA;EAChG,QAAA,IAAI,CAACl5B,QAAQ,CAAC,IAAI,CAACy6B,qBAAqB,EAAEx7B,MAAM,CAACuF,oBAAoB,EAAE,IAAI,CAACq2B,cAAc,CAAC,CAAA;EAC7F,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDtuD,IAAAA,GAAG,EAAE,oBAAoB;EACzBU,IAAAA,KAAK,EAAE,SAASo+C,kBAAkBA,GAAG;QACnC,IAAI,CAAC5rB,aAAa,EAAE,CAAA;QACpB,IAAI,CAACkL,UAAU,EAAE,CAAA;EACnB,KAAA;EACF,GAAC,EAAE;EACDp+B,IAAAA,GAAG,EAAE,gBAAgB;EACrBU,IAAAA,KAAK,EAAE,SAAS4tD,cAAcA,CAAChsB,YAAY,EAAE;EAC3C,MAAA,IAAI,CAACqB,QAAQ,GAAGrB,YAAY,CAAC0V,KAAK,CAAA;EAClC,MAAA,IAAI,CAAC8V,iBAAiB,GAAGxrB,YAAY,CAACwrB,iBAAiB,CAAA;QACvD,IAAI,CAACnB,MAAM,EAAE,CAAA;EACf,KAAA;EACF,GAAC,EAAE;EACD3sD,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAAS0tD,QAAQA,CAACx4C,KAAK,EAAE;QAC9B,IAAI,CAACg4C,mBAAmB,GAAG,IAAI,CAAA;EAC/B,MAAA,IAAI,CAACW,sBAAsB,CAAC34C,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC+2C,MAAM,EAAE,CAAA;EACf,KAAA;EACF,GAAC,EAAE;EACD3sD,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAAS2tD,QAAQA,GAAG;QACzB,IAAI,CAACT,mBAAmB,GAAG,KAAK,CAAA;QAChC,IAAI,CAACjB,MAAM,EAAE,CAAA;EACf,KAAA;EACF,GAAC,EAAE;EACD3sD,IAAAA,GAAG,EAAE,wBAAwB;EAC7BU,IAAAA,KAAK,EAAE,SAAS6tD,sBAAsBA,CAAC34C,KAAK,EAAE;EAC5C,MAAA,IAAIpE,MAAM,GAAGoE,KAAK,CAAC6xC,KAAK,GAAG,IAAI,CAAC9K,YAAY,CAAC+K,iBAAiB,CAACl2C,MAAM,EAAE,CAACO,IAAI,CAAA;EAC5E;QACA,IAAI,CAAC87C,aAAa,GAAGz7C,IAAI,CAACy5B,GAAG,CAAC,CAAC,EAAEz5B,IAAI,CAAC05B,GAAG,CAACt6B,MAAM,GAAG,IAAI,CAACmrC,YAAY,CAAC+K,iBAAiB,CAACv1C,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;EACrG,KAAA;EACF,GAAC,EAAE;EACDnS,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAAS8tD,WAAWA,GAAG;EAC5B,MAAA,IAAI5W,QAAQ,EAAE6W,oBAAoB,EAAE1O,CAAC,EAAE1hD,CAAC,CAAA;QACxC,IAAI,IAAI,CAACqwD,iBAAiB,EAAE;UAC1B,IAAI,IAAI,CAACZ,iBAAiB,EAAE;EAC1BzvD,UAAAA,CAAC,GAAG,IAAI2W,IAAI,CAAC,IAAI,CAAC84C,iBAAiB,CAAC,CAAA;EACpC/N,UAAAA,CAAC,GAAG,IAAI/qC,IAAI,CAAC,IAAI,CAAC84C,iBAAiB,CAAC,CAAA;YACpC/N,CAAC,CAAC4O,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;EACtBF,UAAAA,oBAAoB,GAAG,CAACpwD,CAAC,CAACyxB,OAAO,EAAE,GAAGiwB,CAAC,CAACjwB,OAAO,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC6T,QAAQ,CAAA;EAC3E,SAAC,MAAM;EACLoc,UAAAA,CAAC,GAAG,IAAI/qC,IAAI,CAAC,IAAIA,IAAI,EAAE,CAAC8a,OAAO,EAAE,GAAG,IAAI,CAACm+B,wBAAwB,CAAC,CAAA;EAClE5vD,UAAAA,CAAC,GAAG,IAAI2W,IAAI,CAAC+qC,CAAC,CAAC,CAAA;EACf0O,UAAAA,oBAAoB,GAAG,CAACpwD,CAAC,GAAG0hD,CAAC,CAAC4O,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAA;EAC5D,SAAA;EACA/W,QAAAA,QAAQ,GAAG6W,oBAAoB,GAAG,IAAI,CAAC9qB,QAAQ,GAAG,IAAI,CAACkqB,aAAa,GAAG,IAAI,CAAClqB,QAAQ,CAAA;EACpF,QAAA,IAAIiU,QAAQ,GAAG,CAAC,EAAEA,QAAQ,IAAI,KAAK,CAAA;EACrC,OAAC,MAAM;EACLA,QAAAA,QAAQ,GAAG,IAAI,CAACiW,aAAa,GAAG,IAAI,CAAClqB,QAAQ,CAAA;EAC/C,OAAA;QACA,OAAO;EACLiU,QAAAA,QAAQ,EAAEA,QAAQ;EAClB6W,QAAAA,oBAAoB,EAAEA,oBAAAA;SACvB,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDzuD,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAASisD,MAAMA,GAAG;EACvB,MAAA,IAAI,CAAC,IAAI,CAACjG,QAAQ,EAAE;EAClB;EACA,QAAA,OAAA;EACF,OAAA;EACA,MAAA,IAAI,CAAC,IAAI,CAACkI,eAAe,EAAE,EAAE;EAC3B,QAAA,IAAI,CAACxyB,GAAG,CAAC/rB,IAAI,EAAE,CAAA;UACf,IAAI,CAAC+rB,GAAG,CAAC9rB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;EAC/B,OAAC,MAAM;EACL,QAAA,IAAIsnC,QAAQ,GAAG,IAAI,CAAC4W,WAAW,EAAE,CAAA;UACjC,IAAIK,eAAe,GAAGnkC,UAAU,CAACktB,QAAQ,CAACA,QAAQ,EAAE,IAAI,CAAC8W,iBAAiB,CAAC,CAAA;EAC3E;EACA,QAAA,IAAIG,eAAe,KAAK,IAAI,CAACC,iBAAiB,EAAE;EAC9C,UAAA,IAAI,CAACC,WAAW,CAACp+C,IAAI,CAACk+C,eAAe,CAAC,CAAA;YACtC,IAAI,CAACC,iBAAiB,GAAGD,eAAe,CAAA;EAC1C,SAAA;UACA,IAAI,IAAI,CAACG,aAAa,EAAE;EACtB,UAAA,IAAI,CAACC,WAAW,CAAC5/C,IAAI,EAAE,CAAA;EACvB,UAAA,IAAI6/C,eAAe,GAAGxkC,UAAU,CAAC,IAAI,CAACqjC,cAAc,GAAGnW,QAAQ,CAAC6W,oBAAoB,GAAG,IAAI,CAAC9qB,QAAQ,EAAE,IAAI,CAACoqB,cAAc,CAAC,CAAA;EAC1H,UAAA,IAAImB,eAAe,KAAK,IAAI,CAACtF,iBAAiB,EAAE;EAC9C,YAAA,IAAI,CAACqF,WAAW,CAACt+C,IAAI,CAACu+C,eAAe,CAAC,CAAA;cACtC,IAAI,CAACtF,iBAAiB,GAAGsF,eAAe,CAAA;EAC1C,WAAA;EACF,SAAC,MAAM;EACL,UAAA,IAAI,CAACD,WAAW,CAAC5+C,IAAI,EAAE,CAAA;EACzB,SAAA;;EAEA;EACA,QAAA,IAAI,CAAC+rB,GAAG,CAAC/sB,IAAI,EAAE,CAAA;UACf,IAAIu3C,cAAc,GAAG,IAAI,CAACjK,YAAY,CAAC+K,iBAAiB,CAACv1C,KAAK,EAAE,CAAA;UAChE,IAAIg9C,OAAO,GAAG,IAAI,CAAC/yB,GAAG,CAACjqB,KAAK,EAAE,CAAA;EAC9B,QAAA,IAAIi9C,SAAS,GAAG,IAAI,CAACvB,aAAa,GAAGjH,cAAc,CAAA;UACnDwI,SAAS,IAAID,OAAO,GAAG,CAAC,CAAA;EACxBC,QAAAA,SAAS,GAAGh9C,IAAI,CAAC05B,GAAG,CAAC,CAAC,EAAE15B,IAAI,CAACy5B,GAAG,CAACujB,SAAS,EAAExI,cAAc,GAAGuI,OAAO,CAAC,CAAC,CAAA;UACtE,IAAI,CAAC/yB,GAAG,CAAC9rB,GAAG,CAAC,MAAM,EAAE8+C,SAAS,CAAC,CAAA;EACjC,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACDpvD,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAASkuD,eAAeA,GAAG;QAChC,OAAO,IAAI,CAACV,qBAAqB,IAAI,IAAI,CAACA,qBAAqB,CAACj4C,QAAQ,CAAC0/B,WAAW,IAAI,IAAI,CAACiY,mBAAmB,IAAI,IAAI,CAACC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAClqB,QAAQ,KAAK,IAAI,CAAA;EAC3K,KAAA;EACF,GAAC,EAAE;EACD3jC,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS66B,MAAMA,GAAG;EACvB,MAAA,IAAIjsB,KAAK,GAAGqsB,MAAM,CAACC,WAAW,CAAC8V,UAAU,EAAE;EACzC7V,QAAAA,OAAO,EAAE,IAAI,CAACvkB,OAAO,CAACukB,OAAAA;EACxB,OAAC,CAAC,CAAA;QACF,IAAI,CAAC6qB,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAACkD,iBAAiB,GAAG,IAAI,CAAA;QAC7B,IAAI,CAACkF,iBAAiB,GAAG,IAAI,CAAA;QAC7B,IAAI,CAAC1yB,GAAG,CAAChzB,IAAI,CAAC,IAAI,CAACsyB,QAAQ,EAAE,CAAC,CAAA;QAC9B,IAAI,CAACU,GAAG,CAACnsB,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;EACzB,MAAA,IAAI,CAAC8sB,GAAG,CAAC/rB,IAAI,EAAE,CAAA;QACf,IAAI,CAACssC,YAAY,CAACvgB,GAAG,CAACnsB,MAAM,CAAC,IAAI,CAACzC,EAAE,CAAC,CAAA;QACrC,IAAI,CAACuhD,WAAW,GAAG,IAAI,CAAC3yB,GAAG,CAACpyB,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACpD,IAAI,CAACilD,WAAW,GAAG,IAAI,CAAC7yB,GAAG,CAACpyB,IAAI,CAAC,iBAAiB,CAAC,CAAA;EACnD,MAAA,IAAI,CAACilD,WAAW,CAAC5+C,IAAI,EAAE,CAAA;QACvB,IAAI,CAACs8C,MAAM,EAAE,CAAA;EACf,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAAC1uB,YAAY,CAAC,CAAA;EAEf,IAAIoxB,WAAW,GAAG,4EAA4E,CAAA;EAE9F,IAAInW,UAAU,GAAG,q4BAAq4B,CAAA;EAEt5B,IAAIoW,wBAAwB,gBAAgB,UAAU9C,kBAAkB,EAAE;IACxE,SAAS8C,wBAAwBA,CAAC/lD,SAAS,EAAE;EAC3C,IAAA,IAAI+gB,KAAK,CAAA;EACT/qB,IAAAA,eAAe,CAAC,IAAI,EAAE+vD,wBAAwB,CAAC,CAAA;MAC/ChlC,KAAK,GAAGzrB,UAAU,CAAC,IAAI,EAAEywD,wBAAwB,EAAE,CAAC/lD,SAAS,CAAC,CAAC,CAAA;EAC/D+gB,IAAAA,KAAK,CAACoR,QAAQ,GAAGA,IAAQ,CAAC2zB,WAAW,CAAC,CAAA;MACtC/kC,KAAK,CAACilC,WAAW,GAAG,IAAI,CAAA;EACxBjlC,IAAAA,KAAK,CAACmJ,QAAQ,CAACnJ,KAAK,CAAC/gB,SAAS,EAAEmpB,MAAM,CAAC0G,yBAAyB,EAAE9O,KAAK,CAACuV,WAAW,CAAC,CAAA;EACpFvV,IAAAA,KAAK,CAACmJ,QAAQ,CAACnJ,KAAK,CAAC/gB,SAAS,EAAEmpB,MAAM,CAAC2G,0BAA0B,EAAE/O,KAAK,CAAC22B,YAAY,CAAC,CAAA;EACtF32B,IAAAA,KAAK,CAACmJ,QAAQ,CAACnJ,KAAK,CAAC/gB,SAAS,EAAEmpB,MAAM,CAAC0F,cAAc,EAAE9N,KAAK,CAACmlB,MAAM,CAAC,CAAA;EACpEnlB,IAAAA,KAAK,CAACmJ,QAAQ,CAACnJ,KAAK,CAAC/gB,SAAS,EAAEmpB,MAAM,CAAC4F,eAAe,EAAEhO,KAAK,CAACmlB,MAAM,CAAC,CAAA;EACrEnlB,IAAAA,KAAK,CAACmJ,QAAQ,CAACnJ,KAAK,CAAC/gB,SAAS,EAAEmpB,MAAM,CAACiF,eAAe,EAAErN,KAAK,CAACmlB,MAAM,CAAC,CAAA;MACrEnlB,KAAK,CAACiR,MAAM,EAAE,CAAA;EACd,IAAA,OAAOjR,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,SAAS,CAAC2tD,wBAAwB,EAAE9C,kBAAkB,CAAC,CAAA;EACvD,EAAA,OAAOvsD,YAAY,CAACqvD,wBAAwB,EAAE,CAAC;EAC7CtvD,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,SAAS,CAAA;EAClB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,YAAY;EACjBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL,QAAA,cAAc,EAAE,EAAE;EAClB,QAAA,OAAO,EAAE,sBAAA;SACV,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASm/B,WAAWA,GAAG;QAC5B,IAAI,CAACxwB,IAAI,EAAE,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACDrP,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAASugD,YAAYA,GAAG;QAC7B,IAAI,CAAC5wC,IAAI,EAAE,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACDrQ,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS+uC,MAAMA,GAAG;QACvB,IAAI,CAACp/B,IAAI,EAAE,CAAA;EACb,KAAA;EACF,GAAC,EAAE;EACDrQ,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAAS2O,IAAIA,GAAG;QACrB,IAAI2zB,MAAM,GAAG,IAAI,CAAA;EACjB,MAAA,IAAI,IAAI,CAACusB,WAAW,KAAK,IAAI,EAAE,IAAI,CAACA,WAAW,GAAG92C,UAAU,CAAC,YAAY;EACvE,QAAA,OAAOuqB,MAAM,CAAC5G,GAAG,CAAC/sB,IAAI,EAAE,CAAA;SACzB,EAAE,GAAG,CAAC,CAAA;EACT,KAAA;EACF,GAAC,EAAE;EACDrP,IAAAA,GAAG,EAAE,MAAM;EACXU,IAAAA,KAAK,EAAE,SAAS2P,IAAIA,GAAG;EACrB,MAAA,IAAI,IAAI,CAACk/C,WAAW,KAAK,IAAI,EAAE;EAC7Bn3C,QAAAA,YAAY,CAAC,IAAI,CAACm3C,WAAW,CAAC,CAAA;UAC9B,IAAI,CAACA,WAAW,GAAG,IAAI,CAAA;EACzB,OAAA;EACA,MAAA,IAAI,CAACnzB,GAAG,CAAC/rB,IAAI,EAAE,CAAA;EACjB,KAAA;EACF,GAAC,EAAE;EACDrQ,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS66B,MAAMA,GAAG;EACvB,MAAA,IAAIjsB,KAAK,GAAGqsB,MAAM,CAACC,WAAW,CAACsd,UAAU,EAAE;EACzCrd,QAAAA,OAAO,EAAE,IAAI,CAACvkB,OAAO,CAACukB,OAAAA;EACxB,OAAC,CAAC,CAAA;QACF,IAAI,CAACO,GAAG,CAAChzB,IAAI,CAAC,IAAI,CAACsyB,QAAQ,EAAE,CAAC,CAAA;QAC9B,IAAI,CAACU,GAAG,CAACnsB,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC/F,SAAS,CAAC6yB,GAAG,CAACnsB,MAAM,CAAC,IAAI,CAACmsB,GAAG,CAAC,CAAA;EACnC,MAAA,IAAI,CAACA,GAAG,CAAC/rB,IAAI,EAAE,CAAA;QACf,IAAI,IAAI,CAAC9G,SAAS,CAAC41B,SAAS,EAAE,IAAI,CAACU,WAAW,EAAE,CAAA;EAChD,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAAC2R,iBAAiB,CAAC,CAAA;EAEpB,IAAIge,WAAW,gBAAgB,UAAU9T,gBAAgB,EAAE;IACzD,SAAS8T,WAAWA,CAACjmD,SAAS,EAAE;EAC9B,IAAA,IAAI+gB,KAAK,CAAA;EACT/qB,IAAAA,eAAe,CAAC,IAAI,EAAEiwD,WAAW,CAAC,CAAA;MAClCllC,KAAK,GAAGzrB,UAAU,CAAC,IAAI,EAAE2wD,WAAW,EAAE,CAACjmD,SAAS,CAAC,CAAC,CAAA;MAClD+gB,KAAK,CAACmlC,eAAe,EAAE,CAAA;MACvBnlC,KAAK,CAAColC,cAAc,GAAGplC,KAAK,CAAChT,OAAO,CAACo4C,cAAc,IAAI,IAAI,CAAA;MAC3DplC,KAAK,CAAChN,KAAK,GAAG,MAAM,CAAA;EACpB,IAAA,OAAOgN,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,SAAS,CAAC6tD,WAAW,EAAE9T,gBAAgB,CAAC,CAAA;EACxC,EAAA,OAAOz7C,YAAY,CAACuvD,WAAW,EAAE,CAAC;EAChCxvD,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,OAAO,CAAA;EAChB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC3K,QAAQ,CAAC,IAAI,CAAClqB,SAAS,CAACm1B,QAAQ,EAAEhM,MAAM,CAACiD,aAAa,EAAE,IAAI,CAAC4Z,MAAM,CAAC,CAAA;EACzE,MAAA,IAAI,CAAC9b,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0F,cAAc,EAAE,IAAI,CAACqX,MAAM,CAAC,CAAA;EACjE,MAAA,IAAI,CAAChc,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC4F,eAAe,EAAE,IAAI,CAACmX,MAAM,CAAC,CAAA;EAClE,MAAA,IAAI,CAAChc,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC8E,mBAAmB,EAAE,IAAI,CAACiY,MAAM,CAAC,CAAA;EACtE,MAAA,IAAI,CAAChc,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0G,yBAAyB,EAAE,IAAI,CAACyG,WAAW,CAAC,CAAA;EACjF,MAAA,IAAI,CAACpM,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC2G,0BAA0B,EAAE,IAAI,CAAC4nB,YAAY,CAAC,CAAA;EACnF,MAAA,IAAI,CAACxtB,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACkH,mBAAmB,EAAE,IAAI,CAAC+1B,UAAU,CAAC,CAAA;EAC1E,MAAA,IAAI,CAACl8B,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC4E,iBAAiB,EAAE,IAAI,CAACq4B,UAAU,CAAC,CAAA;EACxE,MAAA,IAAI,CAACl8B,QAAQ,CAAC,IAAI,CAAClqB,SAAS,CAACm1B,QAAQ,EAAEhM,MAAM,CAACuD,kBAAkB,EAAE,IAAI,CAAC05B,UAAU,CAAC,CAAA;EACpF,KAAA;EACF,GAAC,EAAE;EACD3vD,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAAS+uD,eAAeA,GAAG;QAChC,IAAI,CAACG,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAACC,WAAW,GAAG,CAAC,CAAA;QACpB,IAAI,CAACC,eAAe,GAAG,CAAC,CAAA;QACxB,IAAI,CAACC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAACC,SAAS,GAAG,CAAC,CAAA;EAClB,MAAA,IAAI,CAACC,eAAe,GAAG,EAAE,CAAA;EAC3B,KAAA;EACF,GAAC,EAAE;EACDjwD,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS6uC,MAAMA,GAAG;QACvB,IAAI,CAACjyB,KAAK,GAAG,SAAS,CAAA;EACtB,MAAA,IAAI,CAAC4yC,gBAAgB,GAAGl7C,IAAI,CAACgF,GAAG,EAAE,CAAA;QAClC,IAAI,CAAC,IAAI,CAACm2C,UAAU,EAAE,IAAI,CAACA,UAAU,GAAGtrB,WAAW,CAAC,IAAI,CAACurB,MAAM,CAACjvD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAACuuD,cAAc,CAAC,CAAA;EAClG,KAAA;EACF,GAAC,EAAE;EACD1vD,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS+uC,MAAMA,GAAG;EACvB1K,MAAAA,aAAa,CAAC,IAAI,CAACorB,UAAU,CAAC,CAAA;QAC9B,IAAI,CAACC,MAAM,EAAE,CAAA;QACb,IAAI,CAACD,UAAU,GAAGr7C,SAAS,CAAA;QAC3B,IAAI,CAACwI,KAAK,GAAG,SAAS,CAAA;EACxB,KAAA;EACF,GAAC,EAAE;EACDtd,IAAAA,GAAG,EAAE,aAAa;EAClBU,IAAAA,KAAK,EAAE,SAASm/B,WAAWA,GAAG;QAC5B,IAAI,IAAI,CAAC+vB,SAAS,EAAE,IAAI,CAACS,eAAe,GAAGr7C,IAAI,CAACgF,GAAG,EAAE,CAAC,KAAK,IAAI,CAACs2C,mBAAmB,GAAGt7C,IAAI,CAACgF,GAAG,EAAE,CAAA;QAChG,IAAI,CAACsD,KAAK,GAAG,WAAW,CAAA;QACxB,IAAI,CAAC0yC,SAAS,EAAE,CAAA;EAClB,KAAA;EACF,GAAC,EAAE;EACDhwD,IAAAA,GAAG,EAAE,cAAc;EACnBU,IAAAA,KAAK,EAAE,SAASugD,YAAYA,GAAG;EAC7B,MAAA,IAAI,IAAI,CAAC2O,SAAS,IAAI,IAAI,CAACS,eAAe,EAAE;UAC1C,IAAI,CAACT,SAAS,GAAG,KAAK,CAAA;UACtB,IAAI,CAACC,WAAW,GAAG76C,IAAI,CAACgF,GAAG,EAAE,GAAG,IAAI,CAACq2C,eAAe,CAAA;EACpD,QAAA,IAAI,CAACH,gBAAgB,GAAGl7C,IAAI,CAACgF,GAAG,EAAE,CAAA;EACpC,OAAC,MAAM,IAAI,IAAI,CAACs2C,mBAAmB,EAAE;EACnC,QAAA,IAAI,CAACR,eAAe,IAAI,IAAI,CAACS,kBAAkB,EAAE,CAAA;EACnD,OAAA;QACA,IAAI,CAACD,mBAAmB,GAAGx7C,SAAS,CAAA;QACpC,IAAI,CAACwI,KAAK,GAAG,SAAS,CAAA;EACxB,KAAA;EACF,GAAC,EAAE;EACDtd,IAAAA,GAAG,EAAE,oBAAoB;EACzBU,IAAAA,KAAK,EAAE,SAAS6vD,kBAAkBA,GAAG;QACnC,OAAOv7C,IAAI,CAACgF,GAAG,EAAE,GAAG,IAAI,CAACs2C,mBAAmB,CAAA;EAC9C,KAAA;EACF,GAAC,EAAE;EACDtwD,IAAAA,GAAG,EAAE,iBAAiB;EACtBU,IAAAA,KAAK,EAAE,SAAS8vD,eAAeA,GAAG;QAChC,IAAIC,SAAS,GAAGz7C,IAAI,CAACgF,GAAG,EAAE,GAAG,IAAI,CAACk2C,gBAAgB,CAAA;EAClD,MAAA,OAAOO,SAAS,GAAG,IAAI,CAACX,eAAe,CAAA;EACzC,KAAA;EACF,GAAC,EAAE;EACD9vD,IAAAA,GAAG,EAAE,eAAe;EACpBU,IAAAA,KAAK,EAAE,SAASgwD,aAAaA,GAAG;EAC9B,MAAA,OAAO,CAAC,CAAC,IAAI,CAACJ,mBAAmB,CAAA;EACnC,KAAA;EACF,GAAC,EAAE;EACDtwD,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAASivD,UAAUA,CAACgB,MAAM,EAAE;QACjC1sD,CAAC,CAACiG,MAAM,CAAC,IAAI,CAAC+lD,eAAe,EAAEU,MAAM,CAAC,CAAA;EACxC,KAAA;EACF,GAAC,EAAE;EACD3wD,IAAAA,GAAG,EAAE,UAAU;EACfU,IAAAA,KAAK,EAAE,SAASkwD,QAAQA,GAAG;EACzB,MAAA,IAAIpvB,OAAO,GAAG;UACZquB,WAAW,EAAE,IAAI,CAACA,WAAW;UAC7BG,SAAS,EAAE,IAAI,CAACA,SAAS;EACzBF,QAAAA,eAAe,EAAE,IAAI,CAACY,aAAa,EAAE,GAAG,IAAI,CAACZ,eAAe,GAAG,IAAI,CAACS,kBAAkB,EAAE,GAAG,IAAI,CAACT,eAAe;UAC/GC,YAAY,EAAE,IAAI,CAACW,aAAa,EAAE,GAAG,IAAI,CAACF,eAAe,EAAE,GAAG,IAAI,CAACD,kBAAkB,EAAE,GAAG,IAAI,CAACC,eAAe,EAAC;SAChH,CAAA;QACDvsD,CAAC,CAACiG,MAAM,CAACs3B,OAAO,EAAE,IAAI,CAACyuB,eAAe,CAAC,CAAA;EACvC,MAAA,OAAOzuB,OAAO,CAAA;EAChB,KAAA;EACF,GAAC,EAAE;EACDxhC,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS0vD,MAAMA,GAAG;QACvB,IAAI,CAAC7mD,SAAS,CAACg4B,WAAW,CAAC,IAAI,CAACqvB,QAAQ,EAAE,CAAC,CAAA;EAC7C,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACtf,eAAe,CAAC,CAAA;EAElB,IAAIuf,aAAa,GAAG,6RAA6R,CAAA;EAEjT,IAAItX,QAAQ,GAAG,6nBAA6nB,CAAA;EAE5oB,IAAIuX,eAAe,gBAAgB,UAAUtE,kBAAkB,EAAE;IAC/D,SAASsE,eAAeA,CAACvnD,SAAS,EAAE;EAClC,IAAA,IAAI+gB,KAAK,CAAA;EACT/qB,IAAAA,eAAe,CAAC,IAAI,EAAEuxD,eAAe,CAAC,CAAA;MACtCxmC,KAAK,GAAGzrB,UAAU,CAAC,IAAI,EAAEiyD,eAAe,EAAE,CAACvnD,SAAS,CAAC,CAAC,CAAA;MACtD+gB,KAAK,CAAC6E,SAAS,EAAE,CAAA;EACjB,IAAA,OAAO7E,KAAK,CAAA;EACd,GAAA;EACA3oB,EAAAA,SAAS,CAACmvD,eAAe,EAAEtE,kBAAkB,CAAC,CAAA;EAC9C,EAAA,OAAOvsD,YAAY,CAAC6wD,eAAe,EAAE,CAAC;EACpC9wD,IAAAA,GAAG,EAAE,MAAM;EACXkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;EAClB,MAAA,OAAO,WAAW,CAAA;EACpB,KAAA;EACF,GAAC,EAAE;EACDlB,IAAAA,GAAG,EAAE,kBAAkB;EACvBkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAO;EACL2qC,QAAAA,GAAG,EAAE,QAAA;SACN,CAAA;EACH,KAAA;EACF,GAAC,EAAE;EACD7rC,IAAAA,GAAG,EAAE,UAAU;EACfkB,IAAAA,GAAG,EAAE,SAASA,GAAGA,GAAG;QAClB,OAAOw6B,IAAQ,CAACm1B,aAAa,CAAC,CAAA;EAChC,KAAA;EACF,GAAC,EAAE;EACD7wD,IAAAA,GAAG,EAAE,YAAY;EACjBU,IAAAA,KAAK,EAAE,SAAS09B,UAAUA,GAAG;EAC3B,MAAA,IAAI,CAAC3K,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACyF,cAAc,EAAE,IAAI,CAACoX,MAAM,CAAC,CAAA;EACjE,MAAA,IAAI,CAAC9b,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAAC0F,cAAc,EAAE,IAAI,CAACqX,MAAM,CAAC,CAAA;EACjE,MAAA,IAAI,CAAChc,QAAQ,CAAC,IAAI,CAAClqB,SAAS,EAAEmpB,MAAM,CAACoH,wBAAwB,EAAE,IAAI,CAAC3K,SAAS,CAAC,CAAA;EAChF,KAAA;EACF,GAAC,EAAE;EACDnvB,IAAAA,GAAG,EAAE,WAAW;EAChBU,IAAAA,KAAK,EAAE,SAASyuB,SAASA,GAAG;QAC1B,IAAI,CAAC1b,QAAQ,GAAG,IAAI,CAAC6D,OAAO,CAAC7D,QAAQ,IAAI,cAAc,CAAA;EACvD,MAAA,IAAI,IAAI,CAAC6D,OAAO,CAACy5C,SAAS,EAAE;EAC1B,QAAA,IAAI,CAACC,QAAQ,GAAG,IAAI,CAAC15C,OAAO,CAACy5C,SAAS,CAAA;EACtC,QAAA,IAAI,CAACE,SAAS,GAAG,IAAI,CAAC35C,OAAO,CAAC45C,aAAa,CAAA;UAC3C,IAAI,CAAC31B,MAAM,EAAE,CAAA;EACf,OAAC,MAAM;EACL,QAAA,IAAI,CAACa,GAAG,CAACxuB,MAAM,EAAE,CAAA;EACnB,OAAA;EACF,KAAA;EACF,GAAC,EAAE;EACD5N,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS6uC,MAAMA,GAAG;QACvB,IAAI,CAAC,IAAI,CAACjsB,MAAM,EAAE,IAAI,CAAC8Y,GAAG,CAAC/sB,IAAI,EAAE,CAAA;EACnC,KAAA;EACF,GAAC,EAAE;EACDrP,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS+uC,MAAMA,GAAG;EACvB,MAAA,IAAI,CAACrT,GAAG,CAAC/rB,IAAI,EAAE,CAAA;EACjB,KAAA;EACF,GAAC,EAAE;EACDrQ,IAAAA,GAAG,EAAE,QAAQ;EACbU,IAAAA,KAAK,EAAE,SAAS66B,MAAMA,GAAG;EACvB,MAAA,IAAI,CAACa,GAAG,CAAC/rB,IAAI,EAAE,CAAA;EACf,MAAA,IAAIf,KAAK,GAAGqsB,MAAM,CAACC,WAAW,CAAC2d,QAAQ,EAAE;EACvC1d,QAAAA,OAAO,EAAE,IAAI,CAACvkB,OAAO,CAACukB,OAAAA;EACxB,OAAC,CAAC,CAAA;EACF,MAAA,IAAIs1B,eAAe,GAAG;UACpB19C,QAAQ,EAAE,IAAI,CAACA,QAAQ;UACvBu9C,QAAQ,EAAE,IAAI,CAACA,QAAQ;UACvBC,SAAS,EAAE,IAAI,CAACA,SAAAA;SACjB,CAAA;QACD,IAAI,CAAC70B,GAAG,CAAChzB,IAAI,CAAC,IAAI,CAACsyB,QAAQ,CAACy1B,eAAe,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC/0B,GAAG,CAACnsB,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC/F,SAAS,CAAC6yB,GAAG,CAACnsB,MAAM,CAAC,IAAI,CAACmsB,GAAG,CAAC,CAAA;EACnC,MAAA,OAAO,IAAI,CAAA;EACb,KAAA;EACF,GAAC,CAAC,CAAC,CAAA;EACL,CAAC,CAACoV,iBAAiB,CAAC,CAAA;EAOpB,IAAI4f,OAAO,GAAG;EACZC,EAAAA,YAAY,EAAE5V,kBAAkB;EAChCS,EAAAA,cAAc,EAAEA,gBAAc;EAC9B+B,EAAAA,WAAW,EAAEA,aAAW;EACxBM,EAAAA,QAAQ,EAAEA,UAAQ;EAClBK,EAAAA,WAAW,EAAEA,aAAW;EACxBW,EAAAA,OAAO,EAAEA,SAAO;EAChBc,EAAAA,eAAe,EAAEA,iBAAe;EAChCyE,EAAAA,YAAY,EAAEA,cAAY;EAC1BwM,EAAAA,MAAM,EAAE/E,YAAY;EACpBoB,EAAAA,QAAQ,EAAEA,UAAQ;EAClB4D,EAAAA,kBAAkB,EAAEjC,wBAAwB;EAC5CkC,EAAAA,KAAK,EAAEhC,WAAW;EAClBiC,EAAAA,SAAS,EAAEX,eAAAA;EACb,CAAC;;EC/rFD,IAAM5rC,OAAO,GAAG,QAAc,CAAA;EAE9B,KAAA,IAAAo1B,EAAA,GAAAoX,CAAAA,EAAAA,cAAA,GAAmB7xD,MAAM,CAACkN,MAAM,CAACqkD,OAAO,CAAC,EAAA9W,EAAA,GAAAoX,cAAA,CAAAtzD,MAAA,EAAAk8C,EAAA,EAAA,EAAA;EAApC,EAAA,IAAIxY,MAAM,GAAA4vB,cAAA,CAAApX,EAAA,CAAA,CAAA;EACblO,EAAAA,MAAM,CAAC2B,cAAc,CAACjM,MAAM,CAAC,CAAA;EAAA,CAAA;;EAE/B;EACA,IACEuvB,YAAY,GAaVD,OAAO,CAbTC,YAAY;IACZnV,cAAc,GAYZkV,OAAO,CAZTlV,cAAc;IACd+B,WAAW,GAWTmT,OAAO,CAXTnT,WAAW;IACXM,QAAQ,GAUN6S,OAAO,CAVT7S,QAAQ;IACRK,WAAW,GASTwS,OAAO,CATTxS,WAAW;IACXW,OAAO,GAQL6R,OAAO,CART7R,OAAO;IACPc,eAAe,GAOb+Q,OAAO,CAPT/Q,eAAe;IACfyE,YAAY,GAMVsM,OAAO,CANTtM,YAAY;IACZwM,MAAM,GAKJF,OAAO,CALTE,MAAM;IACN3D,QAAQ,GAINyD,OAAO,CAJTzD,QAAQ;IACR4D,kBAAkB,GAGhBH,OAAO,CAHTG,kBAAkB;IAClBC,KAAK,GAEHJ,OAAO,CAFTI,KAAK;IACLC,SAAS,GACPL,OAAO,CADTK,SAAS,CAAA;AAGX,oBAAAE,gBAAA,CAAAA,gBAAA,CAAA,EAAA,EACKC,IAAU,CAAA,EAAA,EAAA,EAAA;EACbP,EAAAA,YAAY,EAAZA,YAAY;EACZnV,EAAAA,cAAc,EAAdA,cAAc;EACd+B,EAAAA,WAAW,EAAXA,WAAW;EACXM,EAAAA,QAAQ,EAARA,QAAQ;EACRK,EAAAA,WAAW,EAAXA,WAAW;EACXW,EAAAA,OAAO,EAAPA,OAAO;EACPc,EAAAA,eAAe,EAAfA,eAAe;EACfyE,EAAAA,YAAY,EAAZA,YAAY;EACZwM,EAAAA,MAAM,EAANA,MAAM;EACN3D,EAAAA,QAAQ,EAARA,QAAQ;EACR4D,EAAAA,kBAAkB,EAAlBA,kBAAkB;EAClBC,EAAAA,KAAK,EAALA,KAAK;EACLC,EAAAA,SAAS,EAATA,SAAS;EACTI,EAAAA,MAAM,EAANA,KAAM;EACNT,EAAAA,OAAO,EAAPA,OAAO;EACPlsC,EAAAA,OAAO,EAAPA,OAAAA;EAAO,CAAA,CAAA;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"clappr.plainhtml5.js","sources":["../../clappr-core/dist/clappr-core.esm.js","../../clappr-plugins/dist/clappr-plugins.esm.js","../src/base_bundle.js"],"sourcesContent":["function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nfunction _callSuper(t, o, e) {\n return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nfunction _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nfunction _createForOfIteratorHelper(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (!t) {\n if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) {\n t && (r = t);\n var n = 0,\n F = function () {};\n return {\n s: F,\n n: function () {\n return n >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[n++]\n };\n },\n e: function (r) {\n throw r;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var o,\n a = !0,\n u = !1;\n return {\n s: function () {\n t = t.call(r);\n },\n n: function () {\n var r = t.next();\n return a = r.done, r;\n },\n e: function (r) {\n u = !0, o = r;\n },\n f: function () {\n try {\n a || null == t.return || t.return();\n } finally {\n if (u) throw o;\n }\n }\n };\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = _superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nfunction _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && _setPrototypeOf(t, e);\n}\nfunction _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function () {\n return !!t;\n })();\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _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}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == typeof e || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return _assertThisInitialized(t);\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t)););\n return t;\n}\nfunction _superPropGet(t, o, e, r) {\n var p = _get(_getPrototypeOf(t.prototype ), o, e);\n return \"function\" == typeof p ? function (t) {\n return p.apply(e, t);\n } : p;\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (String )(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\n/* Zepto v1.2.0 - zepto ajax callbacks deferred event ie selector - zeptojs.com/license */\nvar Zepto = function () {\n var undefined$1,\n key,\n $,\n classList,\n emptyArray = [],\n concat = emptyArray.concat,\n filter = emptyArray.filter,\n slice = emptyArray.slice,\n document = window.document,\n elementDisplay = {},\n classCache = {},\n cssNumber = {\n 'column-count': 1,\n 'columns': 1,\n 'font-weight': 1,\n 'line-height': 1,\n 'opacity': 1,\n 'z-index': 1,\n 'zoom': 1\n },\n fragmentRE = /^\\s*<(\\w+|!)[^>]*>/,\n singleTagRE = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,\n tagExpanderRE = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/ig,\n rootNodeRE = /^(?:body|html)$/i,\n capitalRE = /([A-Z])/g,\n // special attributes that should be get/set via method calls\n methodAttributes = ['val', 'css', 'html', 'text', 'data', 'width', 'height', 'offset'],\n adjacencyOperators = ['after', 'prepend', 'before', 'append'],\n table = document.createElement('table'),\n tableRow = document.createElement('tr'),\n containers = {\n 'tr': document.createElement('tbody'),\n 'tbody': table,\n 'thead': table,\n 'tfoot': table,\n 'td': tableRow,\n 'th': tableRow,\n '*': document.createElement('div')\n },\n readyRE = /complete|loaded|interactive/,\n simpleSelectorRE = /^[\\w-]*$/,\n class2type = {},\n toString = class2type.toString,\n zepto = {},\n camelize,\n uniq,\n tempParent = document.createElement('div'),\n propMap = {\n 'tabindex': 'tabIndex',\n 'readonly': 'readOnly',\n 'for': 'htmlFor',\n 'class': 'className',\n 'maxlength': 'maxLength',\n 'cellspacing': 'cellSpacing',\n 'cellpadding': 'cellPadding',\n 'rowspan': 'rowSpan',\n 'colspan': 'colSpan',\n 'usemap': 'useMap',\n 'frameborder': 'frameBorder',\n 'contenteditable': 'contentEditable'\n },\n isArray = Array.isArray || function (object) {\n return object instanceof Array;\n };\n zepto.matches = function (element, selector) {\n if (!selector || !element || element.nodeType !== 1) return false;\n var matchesSelector = element.matches || element.webkitMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.matchesSelector;\n if (matchesSelector) return matchesSelector.call(element, selector);\n // fall back to performing a selector:\n var match,\n parent = element.parentNode,\n temp = !parent;\n if (temp) (parent = tempParent).appendChild(element);\n match = ~zepto.qsa(parent, selector).indexOf(element);\n temp && tempParent.removeChild(element);\n return match;\n };\n function type(obj) {\n return obj == null ? String(obj) : class2type[toString.call(obj)] || \"object\";\n }\n function isFunction(value) {\n return type(value) == \"function\";\n }\n function isWindow(obj) {\n return obj != null && obj == obj.window;\n }\n function isDocument(obj) {\n return obj != null && obj.nodeType == obj.DOCUMENT_NODE;\n }\n function isObject(obj) {\n return type(obj) == \"object\";\n }\n function isPlainObject(obj) {\n return isObject(obj) && !isWindow(obj) && Object.getPrototypeOf(obj) == Object.prototype;\n }\n function likeArray(obj) {\n var length = !!obj && 'length' in obj && obj.length,\n type = $.type(obj);\n return 'function' != type && !isWindow(obj) && ('array' == type || length === 0 || typeof length == 'number' && length > 0 && length - 1 in obj);\n }\n function compact(array) {\n return filter.call(array, function (item) {\n return item != null;\n });\n }\n function flatten(array) {\n return array.length > 0 ? $.fn.concat.apply([], array) : array;\n }\n camelize = function (str) {\n return str.replace(/-+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n });\n };\n function dasherize(str) {\n return str.replace(/::/g, '/').replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2').replace(/([a-z\\d])([A-Z])/g, '$1_$2').replace(/_/g, '-').toLowerCase();\n }\n uniq = function (array) {\n return filter.call(array, function (item, idx) {\n return array.indexOf(item) == idx;\n });\n };\n function classRE(name) {\n return name in classCache ? classCache[name] : classCache[name] = new RegExp('(^|\\\\s)' + name + '(\\\\s|$)');\n }\n function maybeAddPx(name, value) {\n return typeof value == \"number\" && !cssNumber[dasherize(name)] ? value + \"px\" : value;\n }\n function defaultDisplay(nodeName) {\n var element, display;\n if (!elementDisplay[nodeName]) {\n element = document.createElement(nodeName);\n document.body.appendChild(element);\n display = getComputedStyle(element, '').getPropertyValue(\"display\");\n element.parentNode.removeChild(element);\n display == \"none\" && (display = \"block\");\n elementDisplay[nodeName] = display;\n }\n return elementDisplay[nodeName];\n }\n function children(element) {\n return 'children' in element ? slice.call(element.children) : $.map(element.childNodes, function (node) {\n if (node.nodeType == 1) return node;\n });\n }\n function Z(dom, selector) {\n var i,\n len = dom ? dom.length : 0;\n for (i = 0; i < len; i++) this[i] = dom[i];\n this.length = len;\n this.selector = selector || '';\n }\n\n // `$.zepto.fragment` takes a html string and an optional tag name\n // to generate DOM nodes from the given html string.\n // The generated DOM nodes are returned as an array.\n // This function can be overridden in plugins for example to make\n // it compatible with browsers that don't support the DOM fully.\n zepto.fragment = function (html, name, properties) {\n var dom, nodes, container;\n\n // A special case optimization for a single tag\n if (singleTagRE.test(html)) dom = $(document.createElement(RegExp.$1));\n if (!dom) {\n if (html.replace) html = html.replace(tagExpanderRE, \"<$1></$2>\");\n if (name === undefined$1) name = fragmentRE.test(html) && RegExp.$1;\n if (!(name in containers)) name = '*';\n container = containers[name];\n container.innerHTML = '' + html;\n dom = $.each(slice.call(container.childNodes), function () {\n container.removeChild(this);\n });\n }\n if (isPlainObject(properties)) {\n nodes = $(dom);\n $.each(properties, function (key, value) {\n if (methodAttributes.indexOf(key) > -1) nodes[key](value);else nodes.attr(key, value);\n });\n }\n return dom;\n };\n\n // `$.zepto.Z` swaps out the prototype of the given `dom` array\n // of nodes with `$.fn` and thus supplying all the Zepto functions\n // to the array. This method can be overridden in plugins.\n zepto.Z = function (dom, selector) {\n return new Z(dom, selector);\n };\n\n // `$.zepto.isZ` should return `true` if the given object is a Zepto\n // collection. This method can be overridden in plugins.\n zepto.isZ = function (object) {\n return object instanceof zepto.Z;\n };\n\n // `$.zepto.init` is Zepto's counterpart to jQuery's `$.fn.init` and\n // takes a CSS selector and an optional context (and handles various\n // special cases).\n // This method can be overridden in plugins.\n zepto.init = function (selector, context) {\n var dom;\n // If nothing given, return an empty Zepto collection\n if (!selector) return zepto.Z();\n // Optimize for string selectors\n else if (typeof selector == 'string') {\n selector = selector.trim();\n // If it's a html fragment, create nodes from it\n // Note: In both Chrome 21 and Firefox 15, DOM error 12\n // is thrown if the fragment doesn't begin with <\n if (selector[0] == '<' && fragmentRE.test(selector)) dom = zepto.fragment(selector, RegExp.$1, context), selector = null;\n // If there's a context, create a collection on that context first, and select\n // nodes from there\n else if (context !== undefined$1) return $(context).find(selector);\n // If it's a CSS selector, use it to select nodes.\n else dom = zepto.qsa(document, selector);\n }\n // If a function is given, call it when the DOM is ready\n else if (isFunction(selector)) return $(document).ready(selector);\n // If a Zepto collection is given, just return it\n else if (zepto.isZ(selector)) return selector;else {\n // normalize array if an array of nodes is given\n if (isArray(selector)) dom = compact(selector);\n // Wrap DOM nodes.\n else if (isObject(selector)) dom = [selector], selector = null;\n // If it's a html fragment, create nodes from it\n else if (fragmentRE.test(selector)) dom = zepto.fragment(selector.trim(), RegExp.$1, context), selector = null;\n // If there's a context, create a collection on that context first, and select\n // nodes from there\n else if (context !== undefined$1) return $(context).find(selector);\n // And last but no least, if it's a CSS selector, use it to select nodes.\n else dom = zepto.qsa(document, selector);\n }\n // create a new Zepto collection from the nodes found\n return zepto.Z(dom, selector);\n };\n\n // `$` will be the base `Zepto` object. When calling this\n // function just call `$.zepto.init, which makes the implementation\n // details of selecting nodes and creating Zepto collections\n // patchable in plugins.\n $ = function (selector, context) {\n return zepto.init(selector, context);\n };\n function extend(target, source, deep) {\n for (key in source) if (deep && (isPlainObject(source[key]) || isArray(source[key]))) {\n if (isPlainObject(source[key]) && !isPlainObject(target[key])) target[key] = {};\n if (isArray(source[key]) && !isArray(target[key])) target[key] = [];\n extend(target[key], source[key], deep);\n } else if (source[key] !== undefined$1) target[key] = source[key];\n }\n\n // Copy all but undefined properties from one or more\n // objects to the `target` object.\n $.extend = function (target) {\n var deep,\n args = slice.call(arguments, 1);\n if (typeof target == 'boolean') {\n deep = target;\n target = args.shift();\n }\n args.forEach(function (arg) {\n extend(target, arg, deep);\n });\n return target;\n };\n\n // `$.zepto.qsa` is Zepto's CSS selector implementation which\n // uses `document.querySelectorAll` and optimizes for some special cases, like `#id`.\n // This method can be overridden in plugins.\n zepto.qsa = function (element, selector) {\n var found,\n maybeID = selector[0] == '#',\n maybeClass = !maybeID && selector[0] == '.',\n nameOnly = maybeID || maybeClass ? selector.slice(1) : selector,\n // Ensure that a 1 char tag name still gets checked\n isSimple = simpleSelectorRE.test(nameOnly);\n return element.getElementById && isSimple && maybeID ?\n // Safari DocumentFragment doesn't have getElementById\n (found = element.getElementById(nameOnly)) ? [found] : [] : element.nodeType !== 1 && element.nodeType !== 9 && element.nodeType !== 11 ? [] : slice.call(isSimple && !maybeID && element.getElementsByClassName ?\n // DocumentFragment doesn't have getElementsByClassName/TagName\n maybeClass ? element.getElementsByClassName(nameOnly) :\n // If it's simple, it could be a class\n element.getElementsByTagName(selector) :\n // Or a tag\n element.querySelectorAll(selector) // Or it's not simple, and we need to query all\n );\n };\n function filtered(nodes, selector) {\n return selector == null ? $(nodes) : $(nodes).filter(selector);\n }\n $.contains = document.documentElement.contains ? function (parent, node) {\n return parent !== node && parent.contains(node);\n } : function (parent, node) {\n while (node && (node = node.parentNode)) if (node === parent) return true;\n return false;\n };\n function funcArg(context, arg, idx, payload) {\n return isFunction(arg) ? arg.call(context, idx, payload) : arg;\n }\n function setAttribute(node, name, value) {\n value == null ? node.removeAttribute(name) : node.setAttribute(name, value);\n }\n\n // access className property while respecting SVGAnimatedString\n function className(node, value) {\n var klass = node.className || '',\n svg = klass && klass.baseVal !== undefined$1;\n if (value === undefined$1) return svg ? klass.baseVal : klass;\n svg ? klass.baseVal = value : node.className = value;\n }\n\n // \"true\" => true\n // \"false\" => false\n // \"null\" => null\n // \"42\" => 42\n // \"42.5\" => 42.5\n // \"08\" => \"08\"\n // JSON => parse if valid\n // String => self\n function deserializeValue(value) {\n try {\n return value ? value == \"true\" || (value == \"false\" ? false : value == \"null\" ? null : +value + \"\" == value ? +value : /^[\\[\\{]/.test(value) ? $.parseJSON(value) : value) : value;\n } catch (e) {\n return value;\n }\n }\n $.type = type;\n $.isFunction = isFunction;\n $.isWindow = isWindow;\n $.isArray = isArray;\n $.isPlainObject = isPlainObject;\n $.isEmptyObject = function (obj) {\n var name;\n for (name in obj) return false;\n return true;\n };\n $.isNumeric = function (val) {\n var num = Number(val),\n type = typeof val;\n return val != null && type != 'boolean' && (type != 'string' || val.length) && !isNaN(num) && isFinite(num) || false;\n };\n $.inArray = function (elem, array, i) {\n return emptyArray.indexOf.call(array, elem, i);\n };\n $.camelCase = camelize;\n $.trim = function (str) {\n return str == null ? \"\" : String.prototype.trim.call(str);\n };\n\n // plugin compatibility\n $.uuid = 0;\n $.support = {};\n $.expr = {};\n $.noop = function () {};\n $.map = function (elements, callback) {\n var value,\n values = [],\n i,\n key;\n if (likeArray(elements)) for (i = 0; i < elements.length; i++) {\n value = callback(elements[i], i);\n if (value != null) values.push(value);\n } else for (key in elements) {\n value = callback(elements[key], key);\n if (value != null) values.push(value);\n }\n return flatten(values);\n };\n $.each = function (elements, callback) {\n var i, key;\n if (likeArray(elements)) {\n for (i = 0; i < elements.length; i++) if (callback.call(elements[i], i, elements[i]) === false) return elements;\n } else {\n for (key in elements) if (callback.call(elements[key], key, elements[key]) === false) return elements;\n }\n return elements;\n };\n $.grep = function (elements, callback) {\n return filter.call(elements, callback);\n };\n if (window.JSON) $.parseJSON = JSON.parse;\n\n // Populate the class2type map\n $.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"), function (i, name) {\n class2type[\"[object \" + name + \"]\"] = name.toLowerCase();\n });\n\n // Define methods that will be available on all\n // Zepto collections\n $.fn = {\n constructor: zepto.Z,\n length: 0,\n // Because a collection acts like an array\n // copy over these useful array functions.\n forEach: emptyArray.forEach,\n reduce: emptyArray.reduce,\n push: emptyArray.push,\n sort: emptyArray.sort,\n splice: emptyArray.splice,\n indexOf: emptyArray.indexOf,\n concat: function () {\n var i,\n value,\n args = [];\n for (i = 0; i < arguments.length; i++) {\n value = arguments[i];\n args[i] = zepto.isZ(value) ? value.toArray() : value;\n }\n return concat.apply(zepto.isZ(this) ? this.toArray() : this, args);\n },\n // `map` and `slice` in the jQuery API work differently\n // from their array counterparts\n map: function (fn) {\n return $($.map(this, function (el, i) {\n return fn.call(el, i, el);\n }));\n },\n slice: function () {\n return $(slice.apply(this, arguments));\n },\n ready: function (callback) {\n // need to check if document.body exists for IE as that browser reports\n // document ready when it hasn't yet created the body element\n if (readyRE.test(document.readyState) && document.body) callback($);else document.addEventListener('DOMContentLoaded', function () {\n callback($);\n }, false);\n return this;\n },\n get: function (idx) {\n return idx === undefined$1 ? slice.call(this) : this[idx >= 0 ? idx : idx + this.length];\n },\n toArray: function () {\n return this.get();\n },\n size: function () {\n return this.length;\n },\n remove: function () {\n return this.each(function () {\n if (this.parentNode != null) this.parentNode.removeChild(this);\n });\n },\n each: function (callback) {\n emptyArray.every.call(this, function (el, idx) {\n return callback.call(el, idx, el) !== false;\n });\n return this;\n },\n filter: function (selector) {\n if (isFunction(selector)) return this.not(this.not(selector));\n return $(filter.call(this, function (element) {\n return zepto.matches(element, selector);\n }));\n },\n add: function (selector, context) {\n return $(uniq(this.concat($(selector, context))));\n },\n is: function (selector) {\n return this.length > 0 && zepto.matches(this[0], selector);\n },\n not: function (selector) {\n var nodes = [];\n if (isFunction(selector) && selector.call !== undefined$1) this.each(function (idx) {\n if (!selector.call(this, idx)) nodes.push(this);\n });else {\n var excludes = typeof selector == 'string' ? this.filter(selector) : likeArray(selector) && isFunction(selector.item) ? slice.call(selector) : $(selector);\n this.forEach(function (el) {\n if (excludes.indexOf(el) < 0) nodes.push(el);\n });\n }\n return $(nodes);\n },\n has: function (selector) {\n return this.filter(function () {\n return isObject(selector) ? $.contains(this, selector) : $(this).find(selector).size();\n });\n },\n eq: function (idx) {\n return idx === -1 ? this.slice(idx) : this.slice(idx, +idx + 1);\n },\n first: function () {\n var el = this[0];\n return el && !isObject(el) ? el : $(el);\n },\n last: function () {\n var el = this[this.length - 1];\n return el && !isObject(el) ? el : $(el);\n },\n find: function (selector) {\n var result,\n $this = this;\n if (!selector) result = $();else if (typeof selector == 'object') result = $(selector).filter(function () {\n var node = this;\n return emptyArray.some.call($this, function (parent) {\n return $.contains(parent, node);\n });\n });else if (this.length == 1) result = $(zepto.qsa(this[0], selector));else result = this.map(function () {\n return zepto.qsa(this, selector);\n });\n return result;\n },\n closest: function (selector, context) {\n var nodes = [],\n collection = typeof selector == 'object' && $(selector);\n this.each(function (_, node) {\n while (node && !(collection ? collection.indexOf(node) >= 0 : zepto.matches(node, selector))) node = node !== context && !isDocument(node) && node.parentNode;\n if (node && nodes.indexOf(node) < 0) nodes.push(node);\n });\n return $(nodes);\n },\n parents: function (selector) {\n var ancestors = [],\n nodes = this;\n while (nodes.length > 0) nodes = $.map(nodes, function (node) {\n if ((node = node.parentNode) && !isDocument(node) && ancestors.indexOf(node) < 0) {\n ancestors.push(node);\n return node;\n }\n });\n return filtered(ancestors, selector);\n },\n parent: function (selector) {\n return filtered(uniq(this.pluck('parentNode')), selector);\n },\n children: function (selector) {\n return filtered(this.map(function () {\n return children(this);\n }), selector);\n },\n contents: function () {\n return this.map(function () {\n return this.contentDocument || slice.call(this.childNodes);\n });\n },\n siblings: function (selector) {\n return filtered(this.map(function (i, el) {\n return filter.call(children(el.parentNode), function (child) {\n return child !== el;\n });\n }), selector);\n },\n empty: function () {\n return this.each(function () {\n this.innerHTML = '';\n });\n },\n // `pluck` is borrowed from Prototype.js\n pluck: function (property) {\n return $.map(this, function (el) {\n return el[property];\n });\n },\n show: function () {\n return this.each(function () {\n this.style.display == \"none\" && (this.style.display = '');\n if (getComputedStyle(this, '').getPropertyValue(\"display\") == \"none\") this.style.display = defaultDisplay(this.nodeName);\n });\n },\n replaceWith: function (newContent) {\n return this.before(newContent).remove();\n },\n wrap: function (structure) {\n var func = isFunction(structure);\n if (this[0] && !func) var dom = $(structure).get(0),\n clone = dom.parentNode || this.length > 1;\n return this.each(function (index) {\n $(this).wrapAll(func ? structure.call(this, index) : clone ? dom.cloneNode(true) : dom);\n });\n },\n wrapAll: function (structure) {\n if (this[0]) {\n $(this[0]).before(structure = $(structure));\n var children;\n // drill down to the inmost element\n while ((children = structure.children()).length) structure = children.first();\n $(structure).append(this);\n }\n return this;\n },\n wrapInner: function (structure) {\n var func = isFunction(structure);\n return this.each(function (index) {\n var self = $(this),\n contents = self.contents(),\n dom = func ? structure.call(this, index) : structure;\n contents.length ? contents.wrapAll(dom) : self.append(dom);\n });\n },\n unwrap: function () {\n this.parent().each(function () {\n $(this).replaceWith($(this).children());\n });\n return this;\n },\n clone: function () {\n return this.map(function () {\n return this.cloneNode(true);\n });\n },\n hide: function () {\n return this.css(\"display\", \"none\");\n },\n toggle: function (setting) {\n return this.each(function () {\n var el = $(this);\n (setting === undefined$1 ? el.css(\"display\") == \"none\" : setting) ? el.show() : el.hide();\n });\n },\n prev: function (selector) {\n return $(this.pluck('previousElementSibling')).filter(selector || '*');\n },\n next: function (selector) {\n return $(this.pluck('nextElementSibling')).filter(selector || '*');\n },\n html: function (html) {\n return 0 in arguments ? this.each(function (idx) {\n var originHtml = this.innerHTML;\n $(this).empty().append(funcArg(this, html, idx, originHtml));\n }) : 0 in this ? this[0].innerHTML : null;\n },\n text: function (text) {\n return 0 in arguments ? this.each(function (idx) {\n var newText = funcArg(this, text, idx, this.textContent);\n this.textContent = newText == null ? '' : '' + newText;\n }) : 0 in this ? this.pluck('textContent').join(\"\") : null;\n },\n attr: function (name, value) {\n var result;\n return typeof name == 'string' && !(1 in arguments) ? 0 in this && this[0].nodeType == 1 && (result = this[0].getAttribute(name)) != null ? result : undefined$1 : this.each(function (idx) {\n if (this.nodeType !== 1) return;\n if (isObject(name)) for (key in name) setAttribute(this, key, name[key]);else setAttribute(this, name, funcArg(this, value, idx, this.getAttribute(name)));\n });\n },\n removeAttr: function (name) {\n return this.each(function () {\n this.nodeType === 1 && name.split(' ').forEach(function (attribute) {\n setAttribute(this, attribute);\n }, this);\n });\n },\n prop: function (name, value) {\n name = propMap[name] || name;\n return 1 in arguments ? this.each(function (idx) {\n this[name] = funcArg(this, value, idx, this[name]);\n }) : this[0] && this[0][name];\n },\n removeProp: function (name) {\n name = propMap[name] || name;\n return this.each(function () {\n delete this[name];\n });\n },\n data: function (name, value) {\n var attrName = 'data-' + name.replace(capitalRE, '-$1').toLowerCase();\n var data = 1 in arguments ? this.attr(attrName, value) : this.attr(attrName);\n return data !== null ? deserializeValue(data) : undefined$1;\n },\n val: function (value) {\n if (0 in arguments) {\n if (value == null) value = \"\";\n return this.each(function (idx) {\n this.value = funcArg(this, value, idx, this.value);\n });\n } else {\n return this[0] && (this[0].multiple ? $(this[0]).find('option').filter(function () {\n return this.selected;\n }).pluck('value') : this[0].value);\n }\n },\n offset: function (coordinates) {\n if (coordinates) return this.each(function (index) {\n var $this = $(this),\n coords = funcArg(this, coordinates, index, $this.offset()),\n parentOffset = $this.offsetParent().offset(),\n props = {\n top: coords.top - parentOffset.top,\n left: coords.left - parentOffset.left\n };\n if ($this.css('position') == 'static') props['position'] = 'relative';\n $this.css(props);\n });\n if (!this.length) return null;\n if (document.documentElement !== this[0] && !$.contains(document.documentElement, this[0])) return {\n top: 0,\n left: 0\n };\n var obj = this[0].getBoundingClientRect();\n return {\n left: obj.left + window.pageXOffset,\n top: obj.top + window.pageYOffset,\n width: Math.round(obj.width),\n height: Math.round(obj.height)\n };\n },\n css: function (property, value) {\n if (arguments.length < 2) {\n var element = this[0];\n if (typeof property == 'string') {\n if (!element) return;\n return element.style[camelize(property)] || getComputedStyle(element, '').getPropertyValue(property);\n } else if (isArray(property)) {\n if (!element) return;\n var props = {};\n var computedStyle = getComputedStyle(element, '');\n $.each(property, function (_, prop) {\n props[prop] = element.style[camelize(prop)] || computedStyle.getPropertyValue(prop);\n });\n return props;\n }\n }\n var css = '';\n if (type(property) == 'string') {\n if (!value && value !== 0) this.each(function () {\n this.style.removeProperty(dasherize(property));\n });else css = dasherize(property) + \":\" + maybeAddPx(property, value);\n } else {\n for (key in property) if (!property[key] && property[key] !== 0) this.each(function () {\n this.style.removeProperty(dasherize(key));\n });else css += dasherize(key) + ':' + maybeAddPx(key, property[key]) + ';';\n }\n return this.each(function () {\n this.style.cssText += ';' + css;\n });\n },\n index: function (element) {\n return element ? this.indexOf($(element)[0]) : this.parent().children().indexOf(this[0]);\n },\n hasClass: function (name) {\n if (!name) return false;\n return emptyArray.some.call(this, function (el) {\n return this.test(className(el));\n }, classRE(name));\n },\n addClass: function (name) {\n if (!name) return this;\n return this.each(function (idx) {\n if (!('className' in this)) return;\n classList = [];\n var cls = className(this),\n newName = funcArg(this, name, idx, cls);\n newName.split(/\\s+/g).forEach(function (klass) {\n if (!$(this).hasClass(klass)) classList.push(klass);\n }, this);\n classList.length && className(this, cls + (cls ? \" \" : \"\") + classList.join(\" \"));\n });\n },\n removeClass: function (name) {\n return this.each(function (idx) {\n if (!('className' in this)) return;\n if (name === undefined$1) return className(this, '');\n classList = className(this);\n funcArg(this, name, idx, classList).split(/\\s+/g).forEach(function (klass) {\n classList = classList.replace(classRE(klass), \" \");\n });\n className(this, classList.trim());\n });\n },\n toggleClass: function (name, when) {\n if (!name) return this;\n return this.each(function (idx) {\n var $this = $(this),\n names = funcArg(this, name, idx, className(this));\n names.split(/\\s+/g).forEach(function (klass) {\n (when === undefined$1 ? !$this.hasClass(klass) : when) ? $this.addClass(klass) : $this.removeClass(klass);\n });\n });\n },\n scrollTop: function (value) {\n if (!this.length) return;\n var hasScrollTop = 'scrollTop' in this[0];\n if (value === undefined$1) return hasScrollTop ? this[0].scrollTop : this[0].pageYOffset;\n return this.each(hasScrollTop ? function () {\n this.scrollTop = value;\n } : function () {\n this.scrollTo(this.scrollX, value);\n });\n },\n scrollLeft: function (value) {\n if (!this.length) return;\n var hasScrollLeft = 'scrollLeft' in this[0];\n if (value === undefined$1) return hasScrollLeft ? this[0].scrollLeft : this[0].pageXOffset;\n return this.each(hasScrollLeft ? function () {\n this.scrollLeft = value;\n } : function () {\n this.scrollTo(value, this.scrollY);\n });\n },\n position: function () {\n if (!this.length) return;\n var elem = this[0],\n // Get *real* offsetParent\n offsetParent = this.offsetParent(),\n // Get correct offsets\n offset = this.offset(),\n parentOffset = rootNodeRE.test(offsetParent[0].nodeName) ? {\n top: 0,\n left: 0\n } : offsetParent.offset();\n\n // Subtract element margins\n // note: when an element has margin: auto the offsetLeft and marginLeft\n // are the same in Safari causing offset.left to incorrectly be 0\n offset.top -= parseFloat($(elem).css('margin-top')) || 0;\n offset.left -= parseFloat($(elem).css('margin-left')) || 0;\n\n // Add offsetParent borders\n parentOffset.top += parseFloat($(offsetParent[0]).css('border-top-width')) || 0;\n parentOffset.left += parseFloat($(offsetParent[0]).css('border-left-width')) || 0;\n\n // Subtract the two offsets\n return {\n top: offset.top - parentOffset.top,\n left: offset.left - parentOffset.left\n };\n },\n offsetParent: function () {\n return this.map(function () {\n var parent = this.offsetParent || document.body;\n while (parent && !rootNodeRE.test(parent.nodeName) && $(parent).css(\"position\") == \"static\") parent = parent.offsetParent;\n return parent;\n });\n }\n };\n\n // for now\n $.fn.detach = $.fn.remove\n\n // Generate the `width` and `height` functions\n ;\n ['width', 'height'].forEach(function (dimension) {\n var dimensionProperty = dimension.replace(/./, function (m) {\n return m[0].toUpperCase();\n });\n $.fn[dimension] = function (value) {\n var offset,\n el = this[0];\n if (value === undefined$1) return isWindow(el) ? el['inner' + dimensionProperty] : isDocument(el) ? el.documentElement['scroll' + dimensionProperty] : (offset = this.offset()) && offset[dimension];else return this.each(function (idx) {\n el = $(this);\n el.css(dimension, funcArg(this, value, idx, el[dimension]()));\n });\n };\n });\n function traverseNode(node, fun) {\n fun(node);\n for (var i = 0, len = node.childNodes.length; i < len; i++) traverseNode(node.childNodes[i], fun);\n }\n\n // Generate the `after`, `prepend`, `before`, `append`,\n // `insertAfter`, `insertBefore`, `appendTo`, and `prependTo` methods.\n adjacencyOperators.forEach(function (operator, operatorIndex) {\n var inside = operatorIndex % 2; //=> prepend, append\n\n $.fn[operator] = function () {\n // arguments can be nodes, arrays of nodes, Zepto objects and HTML strings\n var argType,\n nodes = $.map(arguments, function (arg) {\n var arr = [];\n argType = type(arg);\n if (argType == \"array\") {\n arg.forEach(function (el) {\n if (el.nodeType !== undefined$1) return arr.push(el);else if ($.zepto.isZ(el)) return arr = arr.concat(el.get());\n arr = arr.concat(zepto.fragment(el));\n });\n return arr;\n }\n return argType == \"object\" || arg == null ? arg : zepto.fragment(arg);\n }),\n parent,\n copyByClone = this.length > 1;\n if (nodes.length < 1) return this;\n return this.each(function (_, target) {\n parent = inside ? target : target.parentNode;\n\n // convert all methods to a \"before\" operation\n target = operatorIndex == 0 ? target.nextSibling : operatorIndex == 1 ? target.firstChild : operatorIndex == 2 ? target : null;\n var parentInDocument = $.contains(document.documentElement, parent);\n nodes.forEach(function (node) {\n if (copyByClone) node = node.cloneNode(true);else if (!parent) return $(node).remove();\n parent.insertBefore(node, target);\n if (parentInDocument) traverseNode(node, function (el) {\n if (el.nodeName != null && el.nodeName.toUpperCase() === 'SCRIPT' && (!el.type || el.type === 'text/javascript') && !el.src) {\n var target = el.ownerDocument ? el.ownerDocument.defaultView : window;\n target['eval'].call(target, el.innerHTML);\n }\n });\n });\n });\n };\n\n // after => insertAfter\n // prepend => prependTo\n // before => insertBefore\n // append => appendTo\n $.fn[inside ? operator + 'To' : 'insert' + (operatorIndex ? 'Before' : 'After')] = function (html) {\n $(html)[operator](this);\n return this;\n };\n });\n zepto.Z.prototype = Z.prototype = $.fn;\n\n // Export internal API functions in the `$.zepto` namespace\n zepto.uniq = uniq;\n zepto.deserializeValue = deserializeValue;\n $.zepto = zepto;\n return $;\n}();\nwindow.Zepto = Zepto;\nwindow.$ === undefined && (window.$ = Zepto);\n(function ($) {\n var jsonpID = +new Date(),\n document = window.document,\n key,\n name,\n rscript = /<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,\n scriptTypeRE = /^(?:text|application)\\/javascript/i,\n xmlTypeRE = /^(?:text|application)\\/xml/i,\n jsonType = 'application/json',\n htmlType = 'text/html',\n blankRE = /^\\s*$/,\n originAnchor = document.createElement('a');\n originAnchor.href = window.location.href;\n\n // trigger a custom event and return false if it was cancelled\n function triggerAndReturn(context, eventName, data) {\n var event = $.Event(eventName);\n $(context).trigger(event, data);\n return !event.isDefaultPrevented();\n }\n\n // trigger an Ajax \"global\" event\n function triggerGlobal(settings, context, eventName, data) {\n if (settings.global) return triggerAndReturn(context || document, eventName, data);\n }\n\n // Number of active Ajax requests\n $.active = 0;\n function ajaxStart(settings) {\n if (settings.global && $.active++ === 0) triggerGlobal(settings, null, 'ajaxStart');\n }\n function ajaxStop(settings) {\n if (settings.global && ! --$.active) triggerGlobal(settings, null, 'ajaxStop');\n }\n\n // triggers an extra global event \"ajaxBeforeSend\" that's like \"ajaxSend\" but cancelable\n function ajaxBeforeSend(xhr, settings) {\n var context = settings.context;\n if (settings.beforeSend.call(context, xhr, settings) === false || triggerGlobal(settings, context, 'ajaxBeforeSend', [xhr, settings]) === false) return false;\n triggerGlobal(settings, context, 'ajaxSend', [xhr, settings]);\n }\n function ajaxSuccess(data, xhr, settings, deferred) {\n var context = settings.context,\n status = 'success';\n settings.success.call(context, data, status, xhr);\n if (deferred) deferred.resolveWith(context, [data, status, xhr]);\n triggerGlobal(settings, context, 'ajaxSuccess', [xhr, settings, data]);\n ajaxComplete(status, xhr, settings);\n }\n // type: \"timeout\", \"error\", \"abort\", \"parsererror\"\n function ajaxError(error, type, xhr, settings, deferred) {\n var context = settings.context;\n settings.error.call(context, xhr, type, error);\n if (deferred) deferred.rejectWith(context, [xhr, type, error]);\n triggerGlobal(settings, context, 'ajaxError', [xhr, settings, error || type]);\n ajaxComplete(type, xhr, settings);\n }\n // status: \"success\", \"notmodified\", \"error\", \"timeout\", \"abort\", \"parsererror\"\n function ajaxComplete(status, xhr, settings) {\n var context = settings.context;\n settings.complete.call(context, xhr, status);\n triggerGlobal(settings, context, 'ajaxComplete', [xhr, settings]);\n ajaxStop(settings);\n }\n function ajaxDataFilter(data, type, settings) {\n if (settings.dataFilter == empty) return data;\n var context = settings.context;\n return settings.dataFilter.call(context, data, type);\n }\n\n // Empty function, used as default callback\n function empty() {}\n $.ajaxJSONP = function (options, deferred) {\n if (!('type' in options)) return $.ajax(options);\n var _callbackName = options.jsonpCallback,\n callbackName = ($.isFunction(_callbackName) ? _callbackName() : _callbackName) || 'Zepto' + jsonpID++,\n script = document.createElement('script'),\n originalCallback = window[callbackName],\n responseData,\n abort = function (errorType) {\n $(script).triggerHandler('error', errorType || 'abort');\n },\n xhr = {\n abort: abort\n },\n abortTimeout;\n if (deferred) deferred.promise(xhr);\n $(script).on('load error', function (e, errorType) {\n clearTimeout(abortTimeout);\n $(script).off().remove();\n if (e.type == 'error' || !responseData) {\n ajaxError(null, errorType || 'error', xhr, options, deferred);\n } else {\n ajaxSuccess(responseData[0], xhr, options, deferred);\n }\n window[callbackName] = originalCallback;\n if (responseData && $.isFunction(originalCallback)) originalCallback(responseData[0]);\n originalCallback = responseData = undefined;\n });\n if (ajaxBeforeSend(xhr, options) === false) {\n abort('abort');\n return xhr;\n }\n window[callbackName] = function () {\n responseData = arguments;\n };\n script.src = options.url.replace(/\\?(.+)=\\?/, '?$1=' + callbackName);\n document.head.appendChild(script);\n if (options.timeout > 0) abortTimeout = setTimeout(function () {\n abort('timeout');\n }, options.timeout);\n return xhr;\n };\n $.ajaxSettings = {\n // Default type of request\n type: 'GET',\n // Callback that is executed before request\n beforeSend: empty,\n // Callback that is executed if the request succeeds\n success: empty,\n // Callback that is executed the the server drops error\n error: empty,\n // Callback that is executed on request complete (both: error and success)\n complete: empty,\n // The context for the callbacks\n context: null,\n // Whether to trigger \"global\" Ajax events\n global: true,\n // Transport\n xhr: function () {\n return new window.XMLHttpRequest();\n },\n // MIME types mapping\n // IIS returns Javascript as \"application/x-javascript\"\n accepts: {\n script: 'text/javascript, application/javascript, application/x-javascript',\n json: jsonType,\n xml: 'application/xml, text/xml',\n html: htmlType,\n text: 'text/plain'\n },\n // Whether the request is to another domain\n crossDomain: false,\n // Default timeout\n timeout: 0,\n // Whether data should be serialized to string\n processData: true,\n // Whether the browser should be allowed to cache GET responses\n cache: true,\n //Used to handle the raw response data of XMLHttpRequest.\n //This is a pre-filtering function to sanitize the response.\n //The sanitized response should be returned\n dataFilter: empty\n };\n function mimeToDataType(mime) {\n if (mime) mime = mime.split(';', 2)[0];\n return mime && (mime == htmlType ? 'html' : mime == jsonType ? 'json' : scriptTypeRE.test(mime) ? 'script' : xmlTypeRE.test(mime) && 'xml') || 'text';\n }\n function appendQuery(url, query) {\n if (query == '') return url;\n return (url + '&' + query).replace(/[&?]{1,2}/, '?');\n }\n\n // serialize payload and append it to the URL for GET requests\n function serializeData(options) {\n if (options.processData && options.data && $.type(options.data) != \"string\") options.data = $.param(options.data, options.traditional);\n if (options.data && (!options.type || options.type.toUpperCase() == 'GET' || 'jsonp' == options.dataType)) options.url = appendQuery(options.url, options.data), options.data = undefined;\n }\n $.ajax = function (options) {\n var settings = $.extend({}, options || {}),\n deferred = $.Deferred && $.Deferred(),\n urlAnchor,\n hashIndex;\n for (key in $.ajaxSettings) if (settings[key] === undefined) settings[key] = $.ajaxSettings[key];\n ajaxStart(settings);\n if (!settings.crossDomain) {\n urlAnchor = document.createElement('a');\n urlAnchor.href = settings.url;\n // cleans up URL for .href (IE only), see https://github.com/madrobby/zepto/pull/1049\n urlAnchor.href = urlAnchor.href;\n settings.crossDomain = originAnchor.protocol + '//' + originAnchor.host !== urlAnchor.protocol + '//' + urlAnchor.host;\n }\n if (!settings.url) settings.url = window.location.toString();\n if ((hashIndex = settings.url.indexOf('#')) > -1) settings.url = settings.url.slice(0, hashIndex);\n serializeData(settings);\n var dataType = settings.dataType,\n hasPlaceholder = /\\?.+=\\?/.test(settings.url);\n if (hasPlaceholder) dataType = 'jsonp';\n if (settings.cache === false || (!options || options.cache !== true) && ('script' == dataType || 'jsonp' == dataType)) settings.url = appendQuery(settings.url, '_=' + Date.now());\n if ('jsonp' == dataType) {\n if (!hasPlaceholder) settings.url = appendQuery(settings.url, settings.jsonp ? settings.jsonp + '=?' : settings.jsonp === false ? '' : 'callback=?');\n return $.ajaxJSONP(settings, deferred);\n }\n var mime = settings.accepts[dataType],\n headers = {},\n setHeader = function (name, value) {\n headers[name.toLowerCase()] = [name, value];\n },\n protocol = /^([\\w-]+:)\\/\\//.test(settings.url) ? RegExp.$1 : window.location.protocol,\n xhr = settings.xhr(),\n nativeSetHeader = xhr.setRequestHeader,\n abortTimeout;\n if (deferred) deferred.promise(xhr);\n if (!settings.crossDomain) setHeader('X-Requested-With', 'XMLHttpRequest');\n setHeader('Accept', mime || '*/*');\n if (mime = settings.mimeType || mime) {\n if (mime.indexOf(',') > -1) mime = mime.split(',', 2)[0];\n xhr.overrideMimeType && xhr.overrideMimeType(mime);\n }\n if (settings.contentType || settings.contentType !== false && settings.data && settings.type.toUpperCase() != 'GET') setHeader('Content-Type', settings.contentType || 'application/x-www-form-urlencoded');\n if (settings.headers) for (name in settings.headers) setHeader(name, settings.headers[name]);\n xhr.setRequestHeader = setHeader;\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n xhr.onreadystatechange = empty;\n clearTimeout(abortTimeout);\n var result,\n error = false;\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304 || xhr.status == 0 && protocol == 'file:') {\n dataType = dataType || mimeToDataType(settings.mimeType || xhr.getResponseHeader('content-type'));\n if (xhr.responseType == 'arraybuffer' || xhr.responseType == 'blob') result = xhr.response;else {\n result = xhr.responseText;\n try {\n // http://perfectionkills.com/global-eval-what-are-the-options/\n // sanitize response accordingly if data filter callback provided\n result = ajaxDataFilter(result, dataType, settings);\n if (dataType == 'script') (1, eval)(result);else if (dataType == 'xml') result = xhr.responseXML;else if (dataType == 'json') result = blankRE.test(result) ? null : $.parseJSON(result);\n } catch (e) {\n error = e;\n }\n if (error) return ajaxError(error, 'parsererror', xhr, settings, deferred);\n }\n ajaxSuccess(result, xhr, settings, deferred);\n } else {\n ajaxError(xhr.statusText || null, xhr.status ? 'error' : 'abort', xhr, settings, deferred);\n }\n }\n };\n if (ajaxBeforeSend(xhr, settings) === false) {\n xhr.abort();\n ajaxError(null, 'abort', xhr, settings, deferred);\n return xhr;\n }\n var async = 'async' in settings ? settings.async : true;\n xhr.open(settings.type, settings.url, async, settings.username, settings.password);\n if (settings.xhrFields) for (name in settings.xhrFields) xhr[name] = settings.xhrFields[name];\n for (name in headers) nativeSetHeader.apply(xhr, headers[name]);\n if (settings.timeout > 0) abortTimeout = setTimeout(function () {\n xhr.onreadystatechange = empty;\n xhr.abort();\n ajaxError(null, 'timeout', xhr, settings, deferred);\n }, settings.timeout);\n\n // avoid sending empty string (#319)\n xhr.send(settings.data ? settings.data : null);\n return xhr;\n };\n\n // handle optional data/success arguments\n function parseArguments(url, data, success, dataType) {\n if ($.isFunction(data)) dataType = success, success = data, data = undefined;\n if (!$.isFunction(success)) dataType = success, success = undefined;\n return {\n url: url,\n data: data,\n success: success,\n dataType: dataType\n };\n }\n $.get = function /* url, data, success, dataType */\n () {\n return $.ajax(parseArguments.apply(null, arguments));\n };\n $.post = function /* url, data, success, dataType */\n () {\n var options = parseArguments.apply(null, arguments);\n options.type = 'POST';\n return $.ajax(options);\n };\n $.getJSON = function /* url, data, success */\n () {\n var options = parseArguments.apply(null, arguments);\n options.dataType = 'json';\n return $.ajax(options);\n };\n $.fn.load = function (url, data, success) {\n if (!this.length) return this;\n var self = this,\n parts = url.split(/\\s/),\n selector,\n options = parseArguments(url, data, success),\n callback = options.success;\n if (parts.length > 1) options.url = parts[0], selector = parts[1];\n options.success = function (response) {\n self.html(selector ? $('<div>').html(response.replace(rscript, \"\")).find(selector) : response);\n callback && callback.apply(self, arguments);\n };\n $.ajax(options);\n return this;\n };\n var escape = encodeURIComponent;\n function serialize(params, obj, traditional, scope) {\n var type,\n array = $.isArray(obj),\n hash = $.isPlainObject(obj);\n $.each(obj, function (key, value) {\n type = $.type(value);\n if (scope) key = traditional ? scope : scope + '[' + (hash || type == 'object' || type == 'array' ? key : '') + ']';\n // handle data in serializeArray() format\n if (!scope && array) params.add(value.name, value.value);\n // recurse into nested objects\n else if (type == \"array\" || !traditional && type == \"object\") serialize(params, value, traditional, key);else params.add(key, value);\n });\n }\n $.param = function (obj, traditional) {\n var params = [];\n params.add = function (key, value) {\n if ($.isFunction(value)) value = value();\n if (value == null) value = \"\";\n this.push(escape(key) + '=' + escape(value));\n };\n serialize(params, obj, traditional);\n return params.join('&').replace(/%20/g, '+');\n };\n})(Zepto);\n(function ($) {\n // Create a collection of callbacks to be fired in a sequence, with configurable behaviour\n // Option flags:\n // - once: Callbacks fired at most one time.\n // - memory: Remember the most recent context and arguments\n // - stopOnFalse: Cease iterating over callback list\n // - unique: Permit adding at most one instance of the same callback\n $.Callbacks = function (options) {\n options = $.extend({}, options);\n var memory,\n // Last fire value (for non-forgettable lists)\n fired,\n // Flag to know if list was already fired\n firing,\n // Flag to know if list is currently firing\n firingStart,\n // First callback to fire (used internally by add and fireWith)\n firingLength,\n // End of the loop when firing\n firingIndex,\n // Index of currently firing callback (modified by remove if needed)\n list = [],\n // Actual callback list\n stack = !options.once && [],\n // Stack of fire calls for repeatable lists\n fire = function (data) {\n memory = options.memory && data;\n fired = true;\n firingIndex = firingStart || 0;\n firingStart = 0;\n firingLength = list.length;\n firing = true;\n for (; list && firingIndex < firingLength; ++firingIndex) {\n if (list[firingIndex].apply(data[0], data[1]) === false && options.stopOnFalse) {\n memory = false;\n break;\n }\n }\n firing = false;\n if (list) {\n if (stack) stack.length && fire(stack.shift());else if (memory) list.length = 0;else Callbacks.disable();\n }\n },\n Callbacks = {\n add: function () {\n if (list) {\n var start = list.length,\n add = function (args) {\n $.each(args, function (_, arg) {\n if (typeof arg === \"function\") {\n if (!options.unique || !Callbacks.has(arg)) list.push(arg);\n } else if (arg && arg.length && typeof arg !== 'string') add(arg);\n });\n };\n add(arguments);\n if (firing) firingLength = list.length;else if (memory) {\n firingStart = start;\n fire(memory);\n }\n }\n return this;\n },\n remove: function () {\n if (list) {\n $.each(arguments, function (_, arg) {\n var index;\n while ((index = $.inArray(arg, list, index)) > -1) {\n list.splice(index, 1);\n // Handle firing indexes\n if (firing) {\n if (index <= firingLength) --firingLength;\n if (index <= firingIndex) --firingIndex;\n }\n }\n });\n }\n return this;\n },\n has: function (fn) {\n return !!(list && (fn ? $.inArray(fn, list) > -1 : list.length));\n },\n empty: function () {\n firingLength = list.length = 0;\n return this;\n },\n disable: function () {\n list = stack = memory = undefined;\n return this;\n },\n disabled: function () {\n return !list;\n },\n lock: function () {\n stack = undefined;\n if (!memory) Callbacks.disable();\n return this;\n },\n locked: function () {\n return !stack;\n },\n fireWith: function (context, args) {\n if (list && (!fired || stack)) {\n args = args || [];\n args = [context, args.slice ? args.slice() : args];\n if (firing) stack.push(args);else fire(args);\n }\n return this;\n },\n fire: function () {\n return Callbacks.fireWith(this, arguments);\n },\n fired: function () {\n return !!fired;\n }\n };\n return Callbacks;\n };\n})(Zepto);\n(function ($) {\n var slice = Array.prototype.slice;\n function Deferred(func) {\n var tuples = [\n // action, add listener, listener list, final state\n [\"resolve\", \"done\", $.Callbacks({\n once: 1,\n memory: 1\n }), \"resolved\"], [\"reject\", \"fail\", $.Callbacks({\n once: 1,\n memory: 1\n }), \"rejected\"], [\"notify\", \"progress\", $.Callbacks({\n memory: 1\n })]],\n state = \"pending\",\n promise = {\n state: function () {\n return state;\n },\n always: function () {\n deferred.done(arguments).fail(arguments);\n return this;\n },\n then: function /* fnDone [, fnFailed [, fnProgress]] */\n () {\n var fns = arguments;\n return Deferred(function (defer) {\n $.each(tuples, function (i, tuple) {\n var fn = $.isFunction(fns[i]) && fns[i];\n deferred[tuple[1]](function () {\n var returned = fn && fn.apply(this, arguments);\n if (returned && $.isFunction(returned.promise)) {\n returned.promise().done(defer.resolve).fail(defer.reject).progress(defer.notify);\n } else {\n var context = this === promise ? defer.promise() : this,\n values = fn ? [returned] : arguments;\n defer[tuple[0] + \"With\"](context, values);\n }\n });\n });\n fns = null;\n }).promise();\n },\n promise: function (obj) {\n return obj != null ? $.extend(obj, promise) : promise;\n }\n },\n deferred = {};\n $.each(tuples, function (i, tuple) {\n var list = tuple[2],\n stateString = tuple[3];\n promise[tuple[1]] = list.add;\n if (stateString) {\n list.add(function () {\n state = stateString;\n }, tuples[i ^ 1][2].disable, tuples[2][2].lock);\n }\n deferred[tuple[0]] = function () {\n deferred[tuple[0] + \"With\"](this === deferred ? promise : this, arguments);\n return this;\n };\n deferred[tuple[0] + \"With\"] = list.fireWith;\n });\n promise.promise(deferred);\n if (func) func.call(deferred, deferred);\n return deferred;\n }\n $.when = function (sub) {\n var resolveValues = slice.call(arguments),\n len = resolveValues.length,\n i = 0,\n remain = len !== 1 || sub && $.isFunction(sub.promise) ? len : 0,\n deferred = remain === 1 ? sub : Deferred(),\n progressValues,\n progressContexts,\n resolveContexts,\n updateFn = function (i, ctx, val) {\n return function (value) {\n ctx[i] = this;\n val[i] = arguments.length > 1 ? slice.call(arguments) : value;\n if (val === progressValues) {\n deferred.notifyWith(ctx, val);\n } else if (! --remain) {\n deferred.resolveWith(ctx, val);\n }\n };\n };\n if (len > 1) {\n progressValues = new Array(len);\n progressContexts = new Array(len);\n resolveContexts = new Array(len);\n for (; i < len; ++i) {\n if (resolveValues[i] && $.isFunction(resolveValues[i].promise)) {\n resolveValues[i].promise().done(updateFn(i, resolveContexts, resolveValues)).fail(deferred.reject).progress(updateFn(i, progressContexts, progressValues));\n } else {\n --remain;\n }\n }\n }\n if (!remain) deferred.resolveWith(resolveContexts, resolveValues);\n return deferred.promise();\n };\n $.Deferred = Deferred;\n})(Zepto);\n(function ($) {\n var _zid = 1,\n undefined$1,\n slice = Array.prototype.slice,\n isFunction = $.isFunction,\n isString = function (obj) {\n return typeof obj == 'string';\n },\n handlers = {},\n specialEvents = {},\n focusinSupported = 'onfocusin' in window,\n focus = {\n focus: 'focusin',\n blur: 'focusout'\n },\n hover = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n };\n specialEvents.click = specialEvents.mousedown = specialEvents.mouseup = specialEvents.mousemove = 'MouseEvents';\n function zid(element) {\n return element._zid || (element._zid = _zid++);\n }\n function findHandlers(element, event, fn, selector) {\n event = parse(event);\n if (event.ns) var matcher = matcherFor(event.ns);\n return (handlers[zid(element)] || []).filter(function (handler) {\n return handler && (!event.e || handler.e == event.e) && (!event.ns || matcher.test(handler.ns)) && (!fn || zid(handler.fn) === zid(fn)) && (!selector || handler.sel == selector);\n });\n }\n function parse(event) {\n var parts = ('' + event).split('.');\n return {\n e: parts[0],\n ns: parts.slice(1).sort().join(' ')\n };\n }\n function matcherFor(ns) {\n return new RegExp('(?:^| )' + ns.replace(' ', ' .* ?') + '(?: |$)');\n }\n function eventCapture(handler, captureSetting) {\n return handler.del && !focusinSupported && handler.e in focus || !!captureSetting;\n }\n function realEvent(type) {\n return hover[type] || focusinSupported && focus[type] || type;\n }\n function add(element, events, fn, data, selector, delegator, capture) {\n var id = zid(element),\n set = handlers[id] || (handlers[id] = []);\n events.split(/\\s/).forEach(function (event) {\n if (event == 'ready') return $(document).ready(fn);\n var handler = parse(event);\n handler.fn = fn;\n handler.sel = selector;\n // emulate mouseenter, mouseleave\n if (handler.e in hover) fn = function (e) {\n var related = e.relatedTarget;\n if (!related || related !== this && !$.contains(this, related)) return handler.fn.apply(this, arguments);\n };\n handler.del = delegator;\n var callback = delegator || fn;\n handler.proxy = function (e) {\n e = compatible(e);\n if (e.isImmediatePropagationStopped()) return;\n e.data = data;\n var result = callback.apply(element, e._args == undefined$1 ? [e] : [e].concat(e._args));\n if (result === false) e.preventDefault(), e.stopPropagation();\n return result;\n };\n handler.i = set.length;\n set.push(handler);\n if ('addEventListener' in element) element.addEventListener(realEvent(handler.e), handler.proxy, eventCapture(handler, capture));\n });\n }\n function remove(element, events, fn, selector, capture) {\n var id = zid(element);\n (events || '').split(/\\s/).forEach(function (event) {\n findHandlers(element, event, fn, selector).forEach(function (handler) {\n delete handlers[id][handler.i];\n if ('removeEventListener' in element) element.removeEventListener(realEvent(handler.e), handler.proxy, eventCapture(handler, capture));\n });\n });\n }\n $.event = {\n add: add,\n remove: remove\n };\n $.proxy = function (fn, context) {\n var args = 2 in arguments && slice.call(arguments, 2);\n if (isFunction(fn)) {\n var proxyFn = function () {\n return fn.apply(context, args ? args.concat(slice.call(arguments)) : arguments);\n };\n proxyFn._zid = zid(fn);\n return proxyFn;\n } else if (isString(context)) {\n if (args) {\n args.unshift(fn[context], fn);\n return $.proxy.apply(null, args);\n } else {\n return $.proxy(fn[context], fn);\n }\n } else {\n throw new TypeError(\"expected function\");\n }\n };\n $.fn.bind = function (event, data, callback) {\n return this.on(event, data, callback);\n };\n $.fn.unbind = function (event, callback) {\n return this.off(event, callback);\n };\n $.fn.one = function (event, selector, data, callback) {\n return this.on(event, selector, data, callback, 1);\n };\n var returnTrue = function () {\n return true;\n },\n returnFalse = function () {\n return false;\n },\n ignoreProperties = /^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,\n eventMethods = {\n preventDefault: 'isDefaultPrevented',\n stopImmediatePropagation: 'isImmediatePropagationStopped',\n stopPropagation: 'isPropagationStopped'\n };\n function compatible(event, source) {\n if (source || !event.isDefaultPrevented) {\n source || (source = event);\n $.each(eventMethods, function (name, predicate) {\n var sourceMethod = source[name];\n event[name] = function () {\n this[predicate] = returnTrue;\n return sourceMethod && sourceMethod.apply(source, arguments);\n };\n event[predicate] = returnFalse;\n });\n event.timeStamp || (event.timeStamp = Date.now());\n if (source.defaultPrevented !== undefined$1 ? source.defaultPrevented : 'returnValue' in source ? source.returnValue === false : source.getPreventDefault && source.getPreventDefault()) event.isDefaultPrevented = returnTrue;\n }\n return event;\n }\n function createProxy(event) {\n var key,\n proxy = {\n originalEvent: event\n };\n for (key in event) if (!ignoreProperties.test(key) && event[key] !== undefined$1) proxy[key] = event[key];\n return compatible(proxy, event);\n }\n $.fn.delegate = function (selector, event, callback) {\n return this.on(event, selector, callback);\n };\n $.fn.undelegate = function (selector, event, callback) {\n return this.off(event, selector, callback);\n };\n $.fn.live = function (event, callback) {\n $(document.body).delegate(this.selector, event, callback);\n return this;\n };\n $.fn.die = function (event, callback) {\n $(document.body).undelegate(this.selector, event, callback);\n return this;\n };\n $.fn.on = function (event, selector, data, callback, one) {\n var autoRemove,\n delegator,\n $this = this;\n if (event && !isString(event)) {\n $.each(event, function (type, fn) {\n $this.on(type, selector, data, fn, one);\n });\n return $this;\n }\n if (!isString(selector) && !isFunction(callback) && callback !== false) callback = data, data = selector, selector = undefined$1;\n if (callback === undefined$1 || data === false) callback = data, data = undefined$1;\n if (callback === false) callback = returnFalse;\n return $this.each(function (_, element) {\n if (one) autoRemove = function (e) {\n remove(element, e.type, callback);\n return callback.apply(this, arguments);\n };\n if (selector) delegator = function (e) {\n var evt,\n match = $(e.target).closest(selector, element).get(0);\n if (match && match !== element) {\n evt = $.extend(createProxy(e), {\n currentTarget: match,\n liveFired: element\n });\n return (autoRemove || callback).apply(match, [evt].concat(slice.call(arguments, 1)));\n }\n };\n add(element, event, callback, data, selector, delegator || autoRemove);\n });\n };\n $.fn.off = function (event, selector, callback) {\n var $this = this;\n if (event && !isString(event)) {\n $.each(event, function (type, fn) {\n $this.off(type, selector, fn);\n });\n return $this;\n }\n if (!isString(selector) && !isFunction(callback) && callback !== false) callback = selector, selector = undefined$1;\n if (callback === false) callback = returnFalse;\n return $this.each(function () {\n remove(this, event, callback, selector);\n });\n };\n $.fn.trigger = function (event, args) {\n event = isString(event) || $.isPlainObject(event) ? $.Event(event) : compatible(event);\n event._args = args;\n return this.each(function () {\n // handle focus(), blur() by calling them directly\n if (event.type in focus && typeof this[event.type] == \"function\") this[event.type]();\n // items in the collection might not be DOM elements\n else if ('dispatchEvent' in this) this.dispatchEvent(event);else $(this).triggerHandler(event, args);\n });\n };\n\n // triggers event handlers on current element just as if an event occurred,\n // doesn't trigger an actual event, doesn't bubble\n $.fn.triggerHandler = function (event, args) {\n var e, result;\n this.each(function (i, element) {\n e = createProxy(isString(event) ? $.Event(event) : event);\n e._args = args;\n e.target = element;\n $.each(findHandlers(element, event.type || event), function (i, handler) {\n result = handler.proxy(e);\n if (e.isImmediatePropagationStopped()) return false;\n });\n });\n return result;\n }\n\n // shortcut methods for `.bind(event, fn)` for each event type\n ;\n ('focusin focusout focus blur load resize scroll unload click dblclick ' + 'mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave ' + 'change select keydown keypress keyup error').split(' ').forEach(function (event) {\n $.fn[event] = function (callback) {\n return 0 in arguments ? this.bind(event, callback) : this.trigger(event);\n };\n });\n $.Event = function (type, props) {\n if (!isString(type)) props = type, type = props.type;\n var event = document.createEvent(specialEvents[type] || 'Events'),\n bubbles = true;\n if (props) for (var name in props) name == 'bubbles' ? bubbles = !!props[name] : event[name] = props[name];\n event.initEvent(type, bubbles, true);\n return compatible(event);\n };\n})(Zepto);\n(function () {\n // getComputedStyle shouldn't freak out when called\n // without a valid element as argument\n try {\n getComputedStyle(undefined);\n } catch (e) {\n var nativeGetComputedStyle = getComputedStyle;\n window.getComputedStyle = function (element, pseudoElement) {\n try {\n return nativeGetComputedStyle(element, pseudoElement);\n } catch (e) {\n return null;\n }\n };\n }\n})();\n(function ($) {\n var zepto = $.zepto,\n oldQsa = zepto.qsa,\n oldMatches = zepto.matches;\n function visible(elem) {\n elem = $(elem);\n return !!(elem.width() || elem.height()) && elem.css(\"display\") !== \"none\";\n }\n\n // Implements a subset from:\n // http://api.jquery.com/category/selectors/jquery-selector-extensions/\n //\n // Each filter function receives the current index, all nodes in the\n // considered set, and a value if there were parentheses. The value\n // of `this` is the node currently being considered. The function returns the\n // resulting node(s), null, or undefined.\n //\n // Complex selectors are not supported:\n // li:has(label:contains(\"foo\")) + li:has(label:contains(\"bar\"))\n // ul.inner:first > li\n var filters = $.expr[':'] = {\n visible: function () {\n if (visible(this)) return this;\n },\n hidden: function () {\n if (!visible(this)) return this;\n },\n selected: function () {\n if (this.selected) return this;\n },\n checked: function () {\n if (this.checked) return this;\n },\n parent: function () {\n return this.parentNode;\n },\n first: function (idx) {\n if (idx === 0) return this;\n },\n last: function (idx, nodes) {\n if (idx === nodes.length - 1) return this;\n },\n eq: function (idx, _, value) {\n if (idx === value) return this;\n },\n contains: function (idx, _, text) {\n if ($(this).text().indexOf(text) > -1) return this;\n },\n has: function (idx, _, sel) {\n if (zepto.qsa(this, sel).length) return this;\n }\n };\n var filterRe = new RegExp('(.*):(\\\\w+)(?:\\\\(([^)]+)\\\\))?$\\\\s*'),\n childRe = /^\\s*>/,\n classTag = 'Zepto' + +new Date();\n function process(sel, fn) {\n // quote the hash in `a[href^=#]` expression\n sel = sel.replace(/=#\\]/g, '=\"#\"]');\n var filter,\n arg,\n match = filterRe.exec(sel);\n if (match && match[2] in filters) {\n filter = filters[match[2]], arg = match[3];\n sel = match[1];\n if (arg) {\n var num = Number(arg);\n if (isNaN(num)) arg = arg.replace(/^[\"']|[\"']$/g, '');else arg = num;\n }\n }\n return fn(sel, filter, arg);\n }\n zepto.qsa = function (node, selector) {\n return process(selector, function (sel, filter, arg) {\n try {\n var taggedParent;\n if (!sel && filter) sel = '*';else if (childRe.test(sel))\n // support \"> *\" child queries by tagging the parent node with a\n // unique class and prepending that classname onto the selector\n taggedParent = $(node).addClass(classTag), sel = '.' + classTag + ' ' + sel;\n var nodes = oldQsa(node, sel);\n } catch (e) {\n console.error('error performing selector: %o', selector);\n throw e;\n } finally {\n if (taggedParent) taggedParent.removeClass(classTag);\n }\n return !filter ? nodes : zepto.uniq($.map(nodes, function (n, i) {\n return filter.call(n, i, nodes, arg);\n }));\n });\n };\n zepto.matches = function (node, selector) {\n return process(selector, function (sel, filter, arg) {\n return (!sel || oldMatches(node, sel)) && (!filter || filter.call(node, null, arg) === node);\n });\n };\n})(Zepto);\nvar zepto = Zepto;\nvar $ = /*@__PURE__*/getDefaultExportFromCjs(zepto);\n\n// Copyright 2014 Globo.com Player authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n/* istanbul ignore file */\n\n/**\n * Array.prototype.find\n *\n * Original source : https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/find\n * See also : https://tc39.github.io/ecma262/#sec-array.prototype.find\n */\nif (!Array.prototype.find) {\n // eslint-disable-next-line\n Object.defineProperty(Array.prototype, 'find', {\n // Note: ES6 arrow function syntax is not used on purpose to avoid this to be undefined\n value: function value(predicate) {\n // 1. Let O be ? ToObject(this value).\n if (this == null) throw new TypeError('\"this\" is null or not defined');\n var o = Object(this);\n\n // 2. Let len be ? ToLength(? Get(O, \"length\")).\n var len = o.length >>> 0;\n\n // 3. If IsCallable(predicate) is false, throw a TypeError exception.\n if (typeof predicate !== 'function') throw new TypeError('predicate must be a function');\n\n // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.\n var thisArg = arguments[1];\n\n // 5. Let k be 0.\n var k = 0;\n\n // 6. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ! ToString(k).\n // b. Let kValue be ? Get(O, Pk).\n // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).\n // d. If testResult is true, return kValue.\n var kValue = o[k];\n if (predicate.call(thisArg, kValue, k, o)) return kValue;\n\n // e. Increase k by 1.\n k++;\n }\n\n // 7. Return undefined.\n return undefined;\n }\n });\n}\n\n// polyfills for smart TVs\n\nif (!Object.entries) {\n Object.entries = function (obj) {\n var ownProps = Object.keys(obj),\n i = ownProps.length,\n resArray = new Array(i); // preallocate the Array\n while (i--) resArray[i] = [ownProps[i], obj[ownProps[i]]];\n return resArray;\n };\n}\nif (!Object.values) {\n Object.values = function (obj) {\n var ownProps = Object.keys(obj),\n i = ownProps.length,\n resArray = new Array(i); // preallocate the Array\n while (i--) resArray[i] = obj[ownProps[i]];\n return resArray;\n };\n}\n\n/**\n * Object.assign\n * This polyfill doesn't support symbol properties, since ES5 doesn't have symbols anyway\n *\n * Original source : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */\nif (typeof Object.assign != 'function') {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, 'assign', {\n // length of function is 2.\n value: function assign(target, varArgs) {\n\n if (target == null) {\n // TypeError if undefined or null\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n },\n writable: true,\n configurable: true\n });\n}\n\n// https://tc39.github.io/ecma262/#sec-array.prototype.findindex\nif (!Array.prototype.findIndex) {\n Object.defineProperty(Array.prototype, 'findIndex', {\n value: function value(predicate) {\n // 1. Let O be ? ToObject(this value).\n if (this == null) throw new TypeError('\"this\" is null or not defined');\n var o = Object(this);\n\n // 2. Let len be ? ToLength(? Get(O, \"length\")).\n var len = o.length >>> 0;\n\n // 3. If IsCallable(predicate) is false, throw a TypeError exception.\n if (typeof predicate !== 'function') throw new TypeError('predicate must be a function');\n\n // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.\n var thisArg = arguments[1];\n\n // 5. Let k be 0.\n var k = 0;\n\n // 6. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ! ToString(k).\n // b. Let kValue be ? Get(O, Pk).\n // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).\n // d. If testResult is true, return k.\n var kValue = o[k];\n if (predicate.call(thisArg, kValue, k, o)) return k;\n\n // e. Increase k by 1.\n k++;\n }\n\n // 7. Return -1.\n return -1;\n },\n configurable: true,\n writable: true\n });\n}\n\n/* istanbul ignore file */\n// https://github.com/mathiasbynens/small\nvar mp4 = 'data:video/mp4;base64,AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAAC721kYXQhEAUgpBv/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3pwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcCEQBSCkG//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADengAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAsJtb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAALwABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAB7HRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAIAAAAAAAAALwAAAAAAAAAAAAAAAQEAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAAC8AAAAAAAEAAAAAAWRtZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAAKxEAAAIAFXEAAAAAAAtaGRscgAAAAAAAAAAc291bgAAAAAAAAAAAAAAAFNvdW5kSGFuZGxlcgAAAAEPbWluZgAAABBzbWhkAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAADTc3RibAAAAGdzdHNkAAAAAAAAAAEAAABXbXA0YQAAAAAAAAABAAAAAAAAAAAAAgAQAAAAAKxEAAAAAAAzZXNkcwAAAAADgICAIgACAASAgIAUQBUAAAAAAfQAAAHz+QWAgIACEhAGgICAAQIAAAAYc3R0cwAAAAAAAAABAAAAAgAABAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAIAAAABAAAAHHN0c3oAAAAAAAAAAAAAAAIAAAFzAAABdAAAABRzdGNvAAAAAAAAAAEAAAAsAAAAYnVkdGEAAABabWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWpdG9vAAAAHWRhdGEAAAABAAAAAExhdmY1Ni40MC4xMDE=';\nvar Media = {\n mp4: mp4\n};\n\n/* eslint-disable no-useless-escape */\n// The order of the following arrays is important, be careful if you change it.\n\nvar BROWSER_DATA = [{\n name: 'Chromium',\n group: 'Chrome',\n identifier: 'Chromium/([0-9\\.]*)'\n}, {\n name: 'Chrome Mobile',\n group: 'Chrome',\n identifier: 'Chrome/([0-9\\.]*) Mobile',\n versionIdentifier: 'Chrome/([0-9\\.]*)'\n}, {\n name: 'Chrome',\n group: 'Chrome',\n identifier: 'Chrome/([0-9\\.]*)'\n}, {\n name: 'Chrome for iOS',\n group: 'Chrome',\n identifier: 'CriOS/([0-9\\.]*)'\n}, {\n name: 'Android Browser',\n group: 'Chrome',\n identifier: 'CrMo/([0-9\\.]*)'\n}, {\n name: 'Firefox',\n group: 'Firefox',\n identifier: 'Firefox/([0-9\\.]*)'\n}, {\n name: 'Opera Mini',\n group: 'Opera',\n identifier: 'Opera Mini/([0-9\\.]*)'\n}, {\n name: 'Opera',\n group: 'Opera',\n identifier: 'Opera ([0-9\\.]*)'\n}, {\n name: 'Opera',\n group: 'Opera',\n identifier: 'Opera/([0-9\\.]*)',\n versionIdentifier: 'Version/([0-9\\.]*)'\n}, {\n name: 'IEMobile',\n group: 'Explorer',\n identifier: 'IEMobile/([0-9\\.]*)'\n}, {\n name: 'Internet Explorer',\n group: 'Explorer',\n identifier: 'MSIE ([a-zA-Z0-9\\.]*)'\n}, {\n name: 'Internet Explorer',\n group: 'Explorer',\n identifier: 'Trident/([0-9\\.]*)',\n versionIdentifier: 'rv:([0-9\\.]*)'\n}, {\n name: 'Spartan',\n group: 'Spartan',\n identifier: 'Edge/([0-9\\.]*)',\n versionIdentifier: 'Edge/([0-9\\.]*)'\n}, {\n name: 'Safari',\n group: 'Safari',\n identifier: 'Safari/([0-9\\.]*)',\n versionIdentifier: 'Version/([0-9\\.]*)'\n}];\n\n/* eslint-disable no-useless-escape */\n// The order of the following arrays is important, be careful if you change it.\n\nvar OS_DATA = [{\n name: 'Windows 2000',\n group: 'Windows',\n identifier: 'Windows NT 5.0',\n version: '5.0'\n}, {\n name: 'Windows XP',\n group: 'Windows',\n identifier: 'Windows NT 5.1',\n version: '5.1'\n}, {\n name: 'Windows Vista',\n group: 'Windows',\n identifier: 'Windows NT 6.0',\n version: '6.0'\n}, {\n name: 'Windows 7',\n group: 'Windows',\n identifier: 'Windows NT 6.1',\n version: '7.0'\n}, {\n name: 'Windows 8',\n group: 'Windows',\n identifier: 'Windows NT 6.2',\n version: '8.0'\n}, {\n name: 'Windows 8.1',\n group: 'Windows',\n identifier: 'Windows NT 6.3',\n version: '8.1'\n}, {\n name: 'Windows 10',\n group: 'Windows',\n identifier: 'Windows NT 10.0',\n version: '10.0'\n}, {\n name: 'Windows Phone',\n group: 'Windows Phone',\n identifier: 'Windows Phone ([0-9\\.]*)'\n}, {\n name: 'Windows Phone',\n group: 'Windows Phone',\n identifier: 'Windows Phone OS ([0-9\\.]*)'\n}, {\n name: 'Windows',\n group: 'Windows',\n identifier: 'Windows'\n}, {\n name: 'Chrome OS',\n group: 'Chrome OS',\n identifier: 'CrOS'\n}, {\n name: 'Android',\n group: 'Android',\n identifier: 'Android',\n versionIdentifier: 'Android ([a-zA-Z0-9\\.-]*)'\n}, {\n name: 'iPad',\n group: 'iOS',\n identifier: 'iPad',\n versionIdentifier: 'OS ([0-9_]*)',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'iPod',\n group: 'iOS',\n identifier: 'iPod',\n versionIdentifier: 'OS ([0-9_]*)',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'iPhone',\n group: 'iOS',\n identifier: 'iPhone OS',\n versionIdentifier: 'OS ([0-9_]*)',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X High Sierra',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])13([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Sierra',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])12([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X El Capitan',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])11([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Yosemite',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])10([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Mavericks',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])9([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Mountain Lion',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])8([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Lion',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])7([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Snow Leopard',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])6([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Leopard',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])5([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Tiger',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])4([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Panther',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])3([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Jaguar',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])2([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Puma',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])1([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS X Cheetah',\n group: 'Mac OS',\n identifier: 'Mac OS X (10([_|\\.])0([0-9_\\.]*))',\n versionSeparator: '[_|\\.]'\n}, {\n name: 'Mac OS',\n group: 'Mac OS',\n identifier: 'Mac OS'\n}, {\n name: 'Ubuntu',\n group: 'Linux',\n identifier: 'Ubuntu',\n versionIdentifier: 'Ubuntu/([0-9\\.]*)'\n}, {\n name: 'Debian',\n group: 'Linux',\n identifier: 'Debian'\n}, {\n name: 'Gentoo',\n group: 'Linux',\n identifier: 'Gentoo'\n}, {\n name: 'Linux',\n group: 'Linux',\n identifier: 'Linux'\n}, {\n name: 'BlackBerry',\n group: 'BlackBerry',\n identifier: 'BlackBerry'\n}];\n\nvar Browser = {};\nvar hasLocalstorage = function hasLocalstorage() {\n try {\n localStorage.setItem('clappr', 'clappr');\n localStorage.removeItem('clappr');\n return true;\n } catch (e) {\n return false;\n }\n};\nvar hasFlash = function hasFlash() {\n try {\n var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');\n return !!fo;\n } catch (e) {\n return !!(navigator.mimeTypes && navigator.mimeTypes['application/x-shockwave-flash'] !== undefined && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin);\n }\n};\nvar getBrowserInfo = function getBrowserInfo(ua) {\n var parts = ua.match(/\\b(playstation 4|nx|opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\n var extra;\n if (/trident/i.test(parts[1])) {\n extra = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\n return {\n name: 'IE',\n version: parseInt(extra[1] || '')\n };\n } else if (parts[1] === 'Chrome') {\n extra = ua.match(/\\bOPR\\/(\\d+)/);\n if (extra != null) return {\n name: 'Opera',\n version: parseInt(extra[1])\n };\n extra = ua.match(/\\bEdge\\/(\\d+)/);\n if (extra != null) return {\n name: 'Edge',\n version: parseInt(extra[1])\n };\n } else if (/android/i.test(ua) && (extra = ua.match(/version\\/(\\d+)/i))) {\n parts.splice(1, 1, 'Android WebView');\n parts.splice(2, 1, extra[1]);\n }\n parts = parts[2] ? [parts[1], parts[2]] : [navigator.appName, navigator.appVersion, '-?'];\n return {\n name: parts[0],\n version: parseInt(parts[1])\n };\n};\n\n// Get browser data\nvar getBrowserData = function getBrowserData() {\n var browserObject = {};\n var userAgent = Browser.userAgent.toLowerCase();\n\n // Check browser type\n var _iterator = _createForOfIteratorHelper(BROWSER_DATA),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var browser = _step.value;\n var browserRegExp = new RegExp(browser.identifier.toLowerCase());\n var browserRegExpResult = browserRegExp.exec(userAgent);\n if (browserRegExpResult != null && browserRegExpResult[1]) {\n browserObject.name = browser.name;\n browserObject.group = browser.group;\n\n // Check version\n if (browser.versionIdentifier) {\n var versionRegExp = new RegExp(browser.versionIdentifier.toLowerCase());\n var versionRegExpResult = versionRegExp.exec(userAgent);\n if (versionRegExpResult != null && versionRegExpResult[1]) {\n setBrowserVersion(versionRegExpResult[1], browserObject);\n }\n } else {\n setBrowserVersion(browserRegExpResult[1], browserObject);\n }\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return browserObject;\n};\n\n// Set browser version\nvar setBrowserVersion = function setBrowserVersion(version, browserObject) {\n var splitVersion = version.split('.', 2);\n browserObject.fullVersion = version;\n\n // Major version\n if (splitVersion[0]) browserObject.majorVersion = parseInt(splitVersion[0]);\n\n // Minor version\n if (splitVersion[1]) browserObject.minorVersion = parseInt(splitVersion[1]);\n};\n\n// Get OS data\nvar getOsData = function getOsData() {\n var osObject = {};\n var userAgent = Browser.userAgent.toLowerCase();\n\n // Check browser type\n var _iterator2 = _createForOfIteratorHelper(OS_DATA),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var os = _step2.value;\n var osRegExp = new RegExp(os.identifier.toLowerCase());\n var osRegExpResult = osRegExp.exec(userAgent);\n if (osRegExpResult != null) {\n osObject.name = os.name;\n osObject.group = os.group;\n\n // Version defined\n if (os.version) {\n setOsVersion(os.version, os.versionSeparator ? os.versionSeparator : '.', osObject);\n\n // Version detected\n } else if (osRegExpResult[1]) {\n setOsVersion(osRegExpResult[1], os.versionSeparator ? os.versionSeparator : '.', osObject);\n\n // Version identifier\n } else if (os.versionIdentifier) {\n var versionRegExp = new RegExp(os.versionIdentifier.toLowerCase());\n var versionRegExpResult = versionRegExp.exec(userAgent);\n if (versionRegExpResult != null && versionRegExpResult[1]) {\n setOsVersion(versionRegExpResult[1], os.versionSeparator ? os.versionSeparator : '.', osObject);\n }\n }\n break;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n return osObject;\n};\n\n// Set OS version\nvar setOsVersion = function setOsVersion(version, separator, osObject) {\n var finalSeparator = separator.substr(0, 1) === '[' ? new RegExp(separator, 'g') : separator;\n var splitVersion = version.split(finalSeparator, 2);\n if (separator !== '.') version = version.replace(new RegExp(separator, 'g'), '.');\n osObject.fullVersion = version;\n\n // Major version\n if (splitVersion && splitVersion[0]) {\n osObject.majorVersion = parseInt(splitVersion[0]);\n }\n\n // Minor version\n if (splitVersion && splitVersion[1]) {\n osObject.minorVersion = parseInt(splitVersion[1]);\n }\n};\n\n// Set viewport size\nvar getViewportSize = function getViewportSize() {\n var viewportObject = {};\n viewportObject.width = $(window).width();\n viewportObject.height = $(window).height();\n return viewportObject;\n};\n\n// Set viewport orientation\nvar setViewportOrientation = function setViewportOrientation() {\n switch (window.orientation) {\n case -90:\n case 90:\n Browser.viewport.orientation = 'landscape';\n break;\n default:\n Browser.viewport.orientation = 'portrait';\n break;\n }\n};\nvar getDevice = function getDevice(ua) {\n var platformRegExp = /\\((iP(?:hone|ad|od))?(?:[^;]*; ){0,2}([^)]+(?=\\)))/;\n var matches = platformRegExp.exec(ua);\n var device = matches && (matches[1] || matches[2]) || '';\n return device;\n};\nvar browserInfo = getBrowserInfo(navigator.userAgent);\nBrowser.isEdge = /Edg|EdgiOS|EdgA/i.test(navigator.userAgent);\nBrowser.isChrome = /Chrome|CriOS/i.test(navigator.userAgent) && !Browser.isEdge;\nBrowser.isSafari = /Safari/i.test(navigator.userAgent) && !Browser.isChrome && !Browser.isEdge;\nBrowser.isFirefox = /Firefox/i.test(navigator.userAgent);\nBrowser.isLegacyIE = !!window.ActiveXObject;\nBrowser.isIE = Browser.isLegacyIE || /trident.*rv:1\\d/i.test(navigator.userAgent);\nBrowser.isIE11 = /trident.*rv:11/i.test(navigator.userAgent);\nBrowser.isChromecast = Browser.isChrome && /CrKey/i.test(navigator.userAgent);\nBrowser.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone|IEMobile|Mobile Safari|Opera Mini/i.test(navigator.userAgent);\nBrowser.isiOS = /iPad|iPhone|iPod/i.test(navigator.userAgent);\nBrowser.isAndroid = /Android/i.test(navigator.userAgent);\nBrowser.isWindowsPhone = /Windows Phone/i.test(navigator.userAgent);\nBrowser.isWin8App = /MSAppHost/i.test(navigator.userAgent);\nBrowser.isWiiU = /WiiU/i.test(navigator.userAgent);\nBrowser.isPS4 = /PlayStation 4/i.test(navigator.userAgent);\nBrowser.hasLocalstorage = hasLocalstorage();\nBrowser.hasFlash = hasFlash();\n\n/**\n * @deprecated\n * This parameter currently exists for retrocompatibility reasons.\n * Use Browser.data.name instead.\n */\nBrowser.name = browserInfo.name;\n\n/**\n * @deprecated\n * This parameter currently exists for retrocompatibility reasons.\n * Use Browser.data.fullVersion instead.\n */\nBrowser.version = browserInfo.version;\nBrowser.userAgent = navigator.userAgent;\nBrowser.data = getBrowserData();\nBrowser.os = getOsData();\nBrowser.isWindows = /^Windows$/i.test(Browser.os.group);\nBrowser.isMacOS = /^Mac OS$/i.test(Browser.os.group);\nBrowser.isLinux = /^Linux$/i.test(Browser.os.group);\nBrowser.viewport = getViewportSize();\nBrowser.device = getDevice(Browser.userAgent);\ntypeof window.orientation !== 'undefined' && setViewportOrientation();\n\nvar idsCounter = {};\nvar videoStack = [];\nvar requestAnimationFrame = (window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (fn) {\n window.setTimeout(fn, 1000 / 60);\n}).bind(window);\nvar cancelAnimationFrame = (window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout).bind(window);\nfunction assign(obj, source) {\n if (source) {\n for (var prop in source) {\n var propDescriptor = Object.getOwnPropertyDescriptor(source, prop);\n propDescriptor ? Object.defineProperty(obj, prop, propDescriptor) : obj[prop] = source[prop];\n }\n }\n return obj;\n}\nfunction extend(parent, properties) {\n var Surrogate = /*#__PURE__*/function (_parent) {\n function Surrogate() {\n var _this;\n _classCallCheck(this, Surrogate);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Surrogate, [].concat(args));\n if (properties.initialize) {\n properties.initialize.apply(_this, args);\n }\n return _this;\n }\n _inherits(Surrogate, _parent);\n return _createClass(Surrogate);\n }(parent);\n assign(Surrogate.prototype, properties);\n return Surrogate;\n}\n\n/**\n *\n * @param {number} time\n * @param {*=} paddedHours\n * @returns\n */\nfunction formatTime(time, paddedHours) {\n if (!isFinite(time)) return '--:--';\n time = time * 1000;\n time = parseInt(time / 1000);\n var seconds = time % 60;\n time = parseInt(time / 60);\n var minutes = time % 60;\n time = parseInt(time / 60);\n var hours = time % 24;\n var days = parseInt(time / 24);\n var out = '';\n if (days && days > 0) {\n out += days + ':';\n if (hours < 1) out += '00:';\n }\n if (hours && hours > 0 || paddedHours) out += ('0' + hours).slice(-2) + ':';\n out += ('0' + minutes).slice(-2) + ':';\n out += ('0' + seconds).slice(-2);\n return out.trim();\n}\nvar Fullscreen = {\n fullscreenElement: function fullscreenElement() {\n return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n },\n requestFullscreen: function requestFullscreen(el) {\n if (el.requestFullscreen) {\n return el.requestFullscreen();\n } else if (el.webkitRequestFullscreen) {\n if (typeof el.then === 'function') return el.webkitRequestFullscreen();\n el.webkitRequestFullscreen();\n } else if (el.mozRequestFullScreen) {\n return el.mozRequestFullScreen();\n } else if (el.msRequestFullscreen) {\n return el.msRequestFullscreen();\n } else if (el.querySelector && el.querySelector('video') && el.querySelector('video').webkitEnterFullScreen) {\n el.querySelector('video').webkitEnterFullScreen();\n } else if (el.webkitEnterFullScreen) {\n el.webkitEnterFullScreen();\n }\n },\n cancelFullscreen: function cancelFullscreen() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n if (el.exitFullscreen) {\n el.exitFullscreen();\n } else if (el.webkitCancelFullScreen) {\n el.webkitCancelFullScreen();\n } else if (el.webkitExitFullscreen) {\n el.webkitExitFullscreen();\n } else if (el.mozCancelFullScreen) {\n el.mozCancelFullScreen();\n } else if (el.msExitFullscreen) {\n el.msExitFullscreen();\n }\n },\n fullscreenEnabled: function fullscreenEnabled() {\n return !!(document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled);\n }\n};\nvar Config = /*#__PURE__*/function () {\n function Config() {\n _classCallCheck(this, Config);\n }\n return _createClass(Config, null, [{\n key: \"_defaultConfig\",\n value: function _defaultConfig() {\n return {\n volume: {\n value: 100,\n parse: parseInt\n }\n };\n }\n }, {\n key: \"_defaultValueFor\",\n value: function _defaultValueFor(key) {\n try {\n return this._defaultConfig()[key].parse(this._defaultConfig()[key].value);\n } catch (e) {\n return undefined;\n }\n }\n }, {\n key: \"_createKeyspace\",\n value: function _createKeyspace(key) {\n return \"clappr.\".concat(document.domain, \".\").concat(key);\n }\n }, {\n key: \"restore\",\n value: function restore(key) {\n if (Browser.hasLocalstorage && localStorage[this._createKeyspace(key)]) {\n return this._defaultConfig()[key].parse(localStorage[this._createKeyspace(key)]);\n }\n return this._defaultValueFor(key);\n }\n }, {\n key: \"persist\",\n value: function persist(key, value) {\n if (Browser.hasLocalstorage) {\n try {\n localStorage[this._createKeyspace(key)] = value;\n return true;\n } catch (e) {\n return false;\n }\n }\n }\n }]);\n}();\nvar QueryString = /*#__PURE__*/function () {\n function QueryString() {\n _classCallCheck(this, QueryString);\n }\n return _createClass(QueryString, null, [{\n key: \"params\",\n get: function get() {\n var query = window.location.search.substring(1);\n if (query !== this.query) {\n this._urlParams = this.parse(query);\n this.query = query;\n }\n return this._urlParams;\n }\n }, {\n key: \"hashParams\",\n get: function get() {\n var hash = window.location.hash.substring(1);\n if (hash !== this.hash) {\n this._hashParams = this.parse(hash);\n this.hash = hash;\n }\n return this._hashParams;\n }\n }, {\n key: \"parse\",\n value: function parse(paramsString) {\n var match;\n var pl = /\\+/g; // Regex for replacing addition symbol with a space\n var search = /([^&=]+)=?([^&]*)/g;\n var decode = function decode(s) {\n return decodeURIComponent(s.replace(pl, ' '));\n };\n var params = {};\n while (match = search.exec(paramsString)) {\n // eslint-disable-line no-cond-assign\n params[decode(match[1]).toLowerCase()] = decode(match[2]);\n }\n return params;\n }\n }]);\n}();\nfunction seekStringToSeconds() {\n var paramName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 't';\n var seconds = 0;\n var seekString = QueryString.params[paramName] || QueryString.hashParams[paramName] || '';\n var parts = seekString.match(/[0-9]+[hms]+/g) || [];\n if (parts.length > 0) {\n var factor = {\n 'h': 3600,\n 'm': 60,\n 's': 1\n };\n parts.forEach(function (el) {\n if (el) {\n var suffix = el[el.length - 1];\n var time = parseInt(el.slice(0, el.length - 1), 10);\n seconds += time * factor[suffix];\n }\n });\n } else if (seekString) {\n seconds = parseInt(seekString, 10);\n }\n return seconds;\n}\nfunction uniqueId(prefix) {\n idsCounter[prefix] || (idsCounter[prefix] = 0);\n var id = ++idsCounter[prefix];\n return prefix + id;\n}\nfunction isNumber(value) {\n return value - parseFloat(value) + 1 >= 0;\n}\nfunction currentScriptUrl() {\n var scripts = document.getElementsByTagName('script');\n return scripts.length ? scripts[scripts.length - 1].src : '';\n}\nfunction getBrowserLanguage() {\n return window.navigator && window.navigator.language;\n}\nfunction now() {\n if (window.performance && window.performance.now) {\n return performance.now();\n }\n return Date.now();\n}\n\n// remove the item from the array if it exists in the array\nfunction removeArrayItem(arr, item) {\n var i = arr.indexOf(item);\n if (i >= 0) {\n arr.splice(i, 1);\n }\n}\n\n// find an item regardless of its letter case\nfunction listContainsIgnoreCase(item, items) {\n if (item === undefined || items === undefined) return false;\n return items.find(function (itemEach) {\n return item.toLowerCase() === itemEach.toLowerCase();\n }) !== undefined;\n}\n\n// https://github.com/video-dev/can-autoplay\nfunction canAutoPlayMedia(cb, options) {\n options = Object.assign({\n inline: false,\n muted: false,\n timeout: 250,\n type: 'video',\n source: Media.mp4,\n element: null\n }, options);\n var element = options.element ? options.element : document.createElement(options.type);\n element.muted = options.muted;\n if (options.muted === true) {\n element.setAttribute('muted', 'muted');\n }\n if (options.inline === true) {\n element.setAttribute('playsinline', 'playsinline');\n }\n element.src = options.source;\n var promise = element.play();\n var timeoutId = setTimeout(function () {\n setResult(false, new Error(\"Timeout \".concat(options.timeout, \" ms has been reached\")));\n }, options.timeout);\n var setResult = function setResult(result) {\n var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n clearTimeout(timeoutId);\n cb(result, error);\n };\n if (promise !== undefined) {\n promise.then(function () {\n return setResult(true);\n })[\"catch\"](function (err) {\n return setResult(false, err);\n });\n } else {\n setResult(true);\n }\n}\n\n// Simple element factory with video recycle feature.\nvar DomRecycler = /*#__PURE__*/function () {\n function DomRecycler() {\n _classCallCheck(this, DomRecycler);\n }\n return _createClass(DomRecycler, null, [{\n key: \"configure\",\n value: function configure(options) {\n this.options = $.extend(true, this.options, options);\n }\n }, {\n key: \"create\",\n value: function create(name) {\n if (this.options.recycleVideo && name === 'video' && videoStack.length > 0) {\n return videoStack.shift();\n }\n return document.createElement(name);\n }\n }, {\n key: \"garbage\",\n value: function garbage(el) {\n if (!this.options.recycleVideo || el.tagName.toUpperCase() !== 'VIDEO') return;\n $(el).children().remove();\n Object.values(el.attributes).forEach(function (attr) {\n return el.removeAttribute(attr.name);\n });\n videoStack.push(el);\n }\n }]);\n}();\nDomRecycler.options = {\n recycleVideo: false\n};\nvar DoubleEventHandler = /*#__PURE__*/function () {\n function DoubleEventHandler() {\n var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 500;\n _classCallCheck(this, DoubleEventHandler);\n this.delay = delay;\n this.lastTime = 0;\n }\n return _createClass(DoubleEventHandler, [{\n key: \"handle\",\n value: function handle(event, cb) {\n var prevented = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // Based on http://jsfiddle.net/brettwp/J4djY/\n var currentTime = new Date().getTime();\n var diffTime = currentTime - this.lastTime;\n if (diffTime < this.delay && diffTime > 0) {\n cb();\n prevented && event.preventDefault();\n }\n this.lastTime = currentTime;\n }\n }]);\n}();\nvar Utils = {\n Config: Config,\n Fullscreen: Fullscreen,\n QueryString: QueryString,\n DomRecycler: DomRecycler,\n assign: assign,\n extend: extend,\n formatTime: formatTime,\n seekStringToSeconds: seekStringToSeconds,\n uniqueId: uniqueId,\n currentScriptUrl: currentScriptUrl,\n isNumber: isNumber,\n requestAnimationFrame: requestAnimationFrame,\n cancelAnimationFrame: cancelAnimationFrame,\n getBrowserLanguage: getBrowserLanguage,\n now: now,\n removeArrayItem: removeArrayItem,\n listContainsIgnoreCase: listContainsIgnoreCase,\n canAutoPlayMedia: canAutoPlayMedia,\n Media: Media,\n DoubleEventHandler: DoubleEventHandler\n};\n\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nvar BOLD = 'font-weight: bold; font-size: 13px;';\nvar INFO = 'color: #006600;' + BOLD;\nvar DEBUG = 'color: #0000ff;' + BOLD;\nvar WARN = 'color: #ff8000;' + BOLD;\nvar ERROR = 'color: #ff0000;' + BOLD;\nvar LEVEL_DEBUG = 0;\nvar LEVEL_INFO = 1;\nvar LEVEL_WARN = 2;\nvar LEVEL_ERROR = 3;\nvar LEVEL_DISABLED = LEVEL_ERROR;\nvar COLORS = [DEBUG, INFO, WARN, ERROR, ERROR];\nvar DESCRIPTIONS = ['debug', 'info', 'warn', 'error', 'disabled'];\nvar Log = /*#__PURE__*/function () {\n function Log() {\n var level = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : LEVEL_INFO;\n var offLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : LEVEL_DISABLED;\n _classCallCheck(this, Log);\n this.EXCLUDE_LIST = ['timeupdate', 'playback:timeupdate', 'playback:progress', 'container:hover', 'container:timeupdate', 'container:progress', 'core:mousemove'];\n this.level = level;\n this.previousLevel = this.level;\n this.offLevel = offLevel;\n }\n return _createClass(Log, [{\n key: \"level\",\n get: function get() {\n return this._level;\n },\n set: function set(newLevel) {\n this._level = newLevel;\n }\n }, {\n key: \"debug\",\n value: function debug(klass) {\n this.log(klass, LEVEL_DEBUG, Array.prototype.slice.call(arguments, 1));\n }\n }, {\n key: \"info\",\n value: function info(klass) {\n this.log(klass, LEVEL_INFO, Array.prototype.slice.call(arguments, 1));\n }\n }, {\n key: \"warn\",\n value: function warn(klass) {\n this.log(klass, LEVEL_WARN, Array.prototype.slice.call(arguments, 1));\n }\n }, {\n key: \"error\",\n value: function error(klass) {\n this.log(klass, LEVEL_ERROR, Array.prototype.slice.call(arguments, 1));\n }\n }, {\n key: \"onOff\",\n value: function onOff() {\n if (this.level === this.offLevel) {\n this.level = this.previousLevel;\n } else {\n this.previousLevel = this.level;\n this.level = this.offLevel;\n }\n // handle instances where console.log is unavailable\n window.console && window.console.log && window.console.log('%c[Clappr.Log] set log level to ' + DESCRIPTIONS[this.level], WARN);\n }\n }, {\n key: \"log\",\n value: function log(klass, level, message) {\n if (level < this.level) return;\n if (this.EXCLUDE_LIST.indexOf(message[0]) >= 0) return;\n if (!message) {\n message = klass;\n klass = null;\n }\n var color = COLORS[level];\n var klassDescription = '';\n if (klass) {\n klassDescription = '[' + klass + ']';\n }\n window.console && window.console.log && window.console.log.apply(console, ['%c[' + DESCRIPTIONS[level] + ']' + klassDescription, color].concat(message));\n }\n }]);\n}();\nLog.LEVEL_DEBUG = LEVEL_DEBUG;\nLog.LEVEL_INFO = LEVEL_INFO;\nLog.LEVEL_WARN = LEVEL_WARN;\nLog.LEVEL_ERROR = LEVEL_ERROR;\nLog.getInstance = function () {\n if (this._instance === undefined) {\n this._instance = new this();\n }\n return this._instance;\n};\nLog.setLevel = function (level) {\n this.getInstance().level = level;\n};\nLog.debug = function () {\n this.getInstance().debug.apply(this.getInstance(), arguments);\n};\nLog.info = function () {\n this.getInstance().info.apply(this.getInstance(), arguments);\n};\nLog.warn = function () {\n this.getInstance().warn.apply(this.getInstance(), arguments);\n};\nLog.error = function () {\n this.getInstance().error.apply(this.getInstance(), arguments);\n};\n\nvar slice = Array.prototype.slice;\nvar eventSplitter = /\\s+/;\nvar eventsApi = function eventsApi(obj, action, name, rest) {\n if (!name) return true;\n\n // Handle event maps.\n if (_typeof(name) === 'object') {\n for (var key in name) {\n obj[action].apply(obj, [key, name[key]].concat(rest));\n }\n return false;\n }\n\n // Handle space separated event names.\n if (eventSplitter.test(name)) {\n var names = name.split(eventSplitter);\n for (var i = 0, l = names.length; i < l; i++) {\n obj[action].apply(obj, [names[i]].concat(rest));\n }\n return false;\n }\n return true;\n};\nvar triggerEvents = function triggerEvents(events, args, klass, name) {\n var ev;\n var i = -1;\n var l = events.length;\n var a1 = args[0];\n var a2 = args[1];\n var a3 = args[2];\n run();\n function run() {\n try {\n switch (args.length) {\n /* eslint-disable curly */\n case 0:\n while (++i < l) {\n ev = events[i];\n ev.callback.call(ev.ctx);\n }\n return;\n case 1:\n while (++i < l) {\n ev = events[i];\n ev.callback.call(ev.ctx, a1);\n }\n return;\n case 2:\n while (++i < l) {\n ev = events[i];\n ev.callback.call(ev.ctx, a1, a2);\n }\n return;\n case 3:\n while (++i < l) {\n ev = events[i];\n ev.callback.call(ev.ctx, a1, a2, a3);\n }\n return;\n default:\n while (++i < l) {\n ev = events[i];\n ev.callback.apply(ev.ctx, args);\n }\n return;\n }\n } catch (exception) {\n Log.error.apply(Log, [klass, 'error on event', name, 'trigger', '-', exception]); // eslint-disable-line\n run();\n }\n }\n};\n\n/**\n * @class Events\n * @constructor\n * @module base\n */\nvar Events = /*#__PURE__*/function () {\n function Events() {\n _classCallCheck(this, Events);\n }\n return _createClass(Events, [{\n key: \"on\",\n value:\n /**\n * listen to an event indefinitely, if you want to stop you need to call `off`\n * @method on\n * @param {String} name\n * @param {Function} callback\n * @param {Object} context\n */\n function on(name, callback, context) {\n if (!eventsApi(this, 'on', name, [callback, context]) || !callback) return this;\n this._events || (this._events = {});\n var events = this._events[name] || (this._events[name] = []);\n events.push({\n callback: callback,\n context: context,\n ctx: context || this\n });\n return this;\n }\n\n /**\n * listen to an event only once\n * @method once\n * @param {String} name\n * @param {Function} callback\n * @param {Object} context\n */\n }, {\n key: \"once\",\n value: function _once(name, callback, context) {\n var _this = this;\n if (!eventsApi(this, 'once', name, [callback, context]) || !callback) return this;\n var off = function off() {\n return _this.off(name, _once);\n };\n var _once = function once() {\n off();\n callback.apply(this, arguments);\n };\n _once._callback = callback;\n return this.on(name, _once, context);\n }\n\n /**\n * stop listening to an event\n * @method off\n * @param {String} name\n * @param {Function} callback\n * @param {Object} context\n */\n }, {\n key: \"off\",\n value: function off(name, callback, context) {\n var retain, ev, events, i, l, j, k;\n if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this;\n if (!name && !callback && !context) {\n this._events = void 0;\n return this;\n }\n var names = name ? [name] : Object.keys(this._events);\n // jshint maxdepth:5\n for (i = 0, l = names.length; i < l; i++) {\n name = names[i];\n events = this._events[name];\n if (events) {\n this._events[name] = retain = [];\n if (callback || context) {\n for (j = 0, k = events.length; j < k; j++) {\n ev = events[j];\n if (callback && callback !== ev.callback && callback !== ev.callback._callback || context && context !== ev.context) retain.push(ev);\n }\n }\n if (!retain.length) delete this._events[name];\n }\n }\n return this;\n }\n\n /**\n * triggers an event given its `name`\n * @method trigger\n * @param {String} name\n */\n }, {\n key: \"trigger\",\n value: function trigger(name) {\n var klass = this.name || this.constructor.name;\n Log.debug.apply(Log, [klass].concat(Array.prototype.slice.call(arguments)));\n if (!this._events) return this;\n var args = slice.call(arguments, 1);\n if (!eventsApi(this, 'trigger', name, args)) return this;\n var events = this._events[name];\n var allEvents = this._events.all;\n if (events) triggerEvents(events, args, klass, name);\n if (allEvents) triggerEvents(allEvents, arguments, klass, name);\n return this;\n }\n\n /**\n * stop listening an event for a given object\n * @method stopListening\n * @param {Object} obj\n * @param {String} name\n * @param {Function} callback\n */\n }, {\n key: \"stopListening\",\n value: function stopListening(obj, name, callback) {\n var listeningTo = this._listeningTo;\n if (!listeningTo) return this;\n var remove = !name && !callback;\n if (!callback && _typeof(name) === 'object') callback = this;\n if (obj) (listeningTo = {})[obj._listenId] = obj;\n for (var id in listeningTo) {\n obj = listeningTo[id];\n obj.off(name, callback, this);\n if (remove || Object.keys(obj._events).length === 0) delete this._listeningTo[id];\n }\n return this;\n }\n }], [{\n key: \"register\",\n value: function register(eventName) {\n Events.Custom || (Events.Custom = {});\n var property = typeof eventName === 'string' && eventName.toUpperCase().trim();\n if (property && !Events.Custom[property]) {\n Events.Custom[property] = property.toLowerCase().split('_').map(function (value, index) {\n return index === 0 ? value : value = value[0].toUpperCase() + value.slice(1);\n }).join('');\n } else Log.error('Events', 'Error when register event: ' + eventName);\n }\n }, {\n key: \"listAvailableCustomEvents\",\n value: function listAvailableCustomEvents() {\n Events.Custom || (Events.Custom = {});\n return Object.keys(Events.Custom).filter(function (property) {\n return typeof Events.Custom[property] === 'string';\n });\n }\n }]);\n}();\nEvents.prototype.listenTo = function (obj, name, callback) {\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var id = obj._listenId || (obj._listenId = uniqueId('l'));\n listeningTo[id] = obj;\n if (!callback && _typeof(name) === 'object') callback = this;\n obj.on(name, callback, this);\n return this;\n};\n\n/**\n * listen to an event once for a given `obj`\n * @method listenToOnce\n * @param {Object} obj\n * @param {String} name\n * @param {Function} callback\n * @param {Object} context\n * @example\n * ```javascript\n * this.listenToOnce(this.core.playback, Events.PLAYBACK_PAUSE, this.callback)\n * ```\n */\nEvents.prototype.listenToOnce = function (obj, name, callback) {\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var id = obj._listenId || (obj._listenId = uniqueId('l'));\n listeningTo[id] = obj;\n if (!callback && _typeof(name) === 'object') callback = this;\n obj.once(name, callback, this);\n return this;\n};\n\n// PLAYER EVENTS\n/**\n * Fired when the player is ready on startup\n *\n * @event PLAYER_READY\n */\nEvents.PLAYER_READY = 'ready';\n/**\n * Fired when player resizes\n *\n * @event PLAYER_RESIZE\n * @param {Object} currentSize an object with the current size\n */\nEvents.PLAYER_RESIZE = 'resize';\n/**\n * Fired when player changes its fullscreen state\n *\n * @event PLAYER_FULLSCREEN\n * @param {Boolean} whether or not the player is on fullscreen mode\n */\nEvents.PLAYER_FULLSCREEN = 'fullscreen';\n/**\n * Fired when player starts to play\n *\n * @event PLAYER_PLAY\n */\nEvents.PLAYER_PLAY = 'play';\n/**\n * Fired when player pauses\n *\n * @event PLAYER_PAUSE\n */\nEvents.PLAYER_PAUSE = 'pause';\n/**\n * Fired when player stops\n *\n * @event PLAYER_STOP\n */\nEvents.PLAYER_STOP = 'stop';\n/**\n * Fired when player ends the video\n *\n * @event PLAYER_ENDED\n */\nEvents.PLAYER_ENDED = 'ended';\n/**\n * Fired when player seeks the video\n *\n * @event PLAYER_SEEK\n * @param {Number} time the current time in seconds\n */\nEvents.PLAYER_SEEK = 'seek';\n/**\n * Fired when player receives an error\n *\n * @event PLAYER_ERROR\n * @param {Object} error the error\n */\nEvents.PLAYER_ERROR = 'playererror';\n/**\n * Fired when there is an error\n *\n * @event ERROR\n * @param {Object} error\n * the error with the following format `{code, description, level, raw, origin, scope}`\n * @param {String} [options.code]\n * error's code: code to identify error in the following format: origin:code\n * @param {String} [options.description]\n * error's description: description of the error\n * @param {String} [options.level]\n * error's level: FATAL or WARN.\n * @param {String} [options.origin]\n * error's origin. Example: hls, html5, etc\n * @param {String} [options.scope]\n * error's scope. Example: playback, container, etc\n * @param {String} [options.raw]\n * raw error: the initial error received\n */\nEvents.ERROR = 'error';\n/**\n * Fired when the time is updated on player\n *\n * @event PLAYER_TIMEUPDATE\n * @param {Object} progress Data\n * progress object\n * @param {Number} [progress.current]\n * current time (in seconds)\n * @param {Number} [progress.total]\n * total time (in seconds)\n */\nEvents.PLAYER_TIMEUPDATE = 'timeupdate';\n/**\n * Fired when player updates its volume\n *\n * @event PLAYER_VOLUMEUPDATE\n * @param {Number} volume the current volume\n */\nEvents.PLAYER_VOLUMEUPDATE = 'volumeupdate';\n\n/**\n * Fired when subtitle is available\n *\n * @event PLAYER_SUBTITLE_AVAILABLE\n */\nEvents.PLAYER_SUBTITLE_AVAILABLE = 'subtitleavailable';\n\n// Playback Events\n/** Fired when picture-in-picture mode is entered\n *\n * @event PLAYBACK_PIP_ENTER\n */\nEvents.PLAYBACK_PIP_ENTER = 'playback:picture-in-picture:enter';\n/** Fired when picture-in-picture mode is exited\n *\n * @event PLAYBACK_PIP_EXIT\n */\nEvents.PLAYBACK_PIP_EXIT = 'playback:picture-in-picture:exit';\n/**\n * Fired when the playback is downloading the media\n *\n * @event PLAYBACK_PROGRESS\n * @param progress {Object}\n * Data progress object\n * @param [progress.start] {Number}\n * start position of buffered content at current position\n * @param [progress.current] {Number}\n * end position of buffered content at current position\n * @param [progress.total] {Number}\n * total content to be downloaded\n * @param buffered {Array}\n * array of buffered segments ({start, end}). [Only for supported playbacks]\n */\nEvents.PLAYBACK_PROGRESS = 'playback:progress';\n/**\n * Fired when the time is updated on playback\n *\n * @event PLAYBACK_TIMEUPDATE\n * @param {Object} progress Data\n * progress object\n * @param {Number} [progress.current]\n * current time (in seconds)\n * @param {Number} [progress.total]\n * total time (in seconds)\n */\nEvents.PLAYBACK_TIMEUPDATE = 'playback:timeupdate';\n/**\n * Fired when playback is ready\n *\n * @event PLAYBACK_READY\n */\nEvents.PLAYBACK_READY = 'playback:ready';\n/**\n * Fired when the playback starts having to buffer because\n * playback can currently not be smooth.\n *\n * This corresponds to the playback `buffering` property being\n * `true`.\n *\n * @event PLAYBACK_BUFFERING\n */\nEvents.PLAYBACK_BUFFERING = 'playback:buffering';\n/**\n * Fired when the playback has enough in the buffer to be\n * able to play smoothly, after previously being unable to\n * do this.\n *\n * This corresponds to the playback `buffering` property being\n * `false`.\n *\n * @event PLAYBACK_BUFFERFULL\n */\nEvents.PLAYBACK_BUFFERFULL = 'playback:bufferfull';\n/**\n * Fired when playback changes any settings (volume, seek and etc)\n *\n * @event PLAYBACK_SETTINGSUPDATE\n */\nEvents.PLAYBACK_SETTINGSUPDATE = 'playback:settingsupdate';\n/**\n * Fired when playback loaded its metadata\n *\n * @event PLAYBACK_LOADEDMETADATA\n * @param {Object} metadata Data\n * settings object\n * @param {Number} [metadata.duration]\n * the playback duration\n * @param {Object} [metadata.data]\n * extra meta data\n */\nEvents.PLAYBACK_LOADEDMETADATA = 'playback:loadedmetadata';\n/**\n * Fired when playback updates its video quality\n *\n * @event PLAYBACK_HIGHDEFINITIONUPDATE\n * @param {Boolean} isHD\n * true when is on HD, false otherwise\n */\nEvents.PLAYBACK_HIGHDEFINITIONUPDATE = 'playback:highdefinitionupdate';\n/**\n * Fired when playback updates its bitrate\n *\n * @event PLAYBACK_BITRATE\n * @param {Object} bitrate Data\n * bitrate object\n * @param {Number} [bitrate.bandwidth]\n * bitrate bandwidth when it's available\n * @param {Number} [bitrate.width]\n * playback width (ex: 720, 640, 1080)\n * @param {Number} [bitrate.height]\n * playback height (ex: 240, 480, 720)\n * @param {Number} [bitrate.level]\n * playback level when it's available, it could be just a map for width (0 => 240, 1 => 480, 2 => 720)\n */\nEvents.PLAYBACK_BITRATE = 'playback:bitrate';\n/**\n * Fired when the playback has its levels\n *\n * @event PLAYBACK_LEVELS_AVAILABLE\n * @param {Array} levels\n * the ordered levels, each one with the following format `{id: 1, label: '500kbps'}` ps: id should be a number >= 0\n * @param {Number} initial\n * the initial level otherwise -1 (AUTO)\n */\nEvents.PLAYBACK_LEVELS_AVAILABLE = 'playback:levels:available';\n/**\n * Fired when the playback starts to switch level\n *\n * @event PLAYBACK_LEVEL_SWITCH_START\n *\n */\nEvents.PLAYBACK_LEVEL_SWITCH_START = 'playback:levels:switch:start';\n/**\n * Fired when the playback ends the level switch\n *\n * @event PLAYBACK_LEVEL_SWITCH_END\n *\n */\nEvents.PLAYBACK_LEVEL_SWITCH_END = 'playback:levels:switch:end';\n\n/**\n * Fired when playback internal state changes\n *\n * @event PLAYBACK_PLAYBACKSTATE\n * @param {Object} state Data\n * state object\n * @param {String} [state.type]\n * the playback type\n */\nEvents.PLAYBACK_PLAYBACKSTATE = 'playback:playbackstate';\n/**\n * Fired when DVR becomes enabled/disabled.\n *\n * @event PLAYBACK_DVR\n * @param {boolean} state true if dvr enabled\n */\nEvents.PLAYBACK_DVR = 'playback:dvr';\n// TODO doc\nEvents.PLAYBACK_MEDIACONTROL_DISABLE = 'playback:mediacontrol:disable';\n// TODO doc\nEvents.PLAYBACK_MEDIACONTROL_ENABLE = 'playback:mediacontrol:enable';\n/**\n * Fired when the media for a playback ends.\n *\n * @event PLAYBACK_ENDED\n * @param {String} name the name of the playback\n */\nEvents.PLAYBACK_ENDED = 'playback:ended';\n/**\n * Fired when user requests `play()`\n *\n * @event PLAYBACK_PLAY_INTENT\n */\nEvents.PLAYBACK_PLAY_INTENT = 'playback:play:intent';\n/**\n * Fired when the media for a playback starts playing.\n * This is not necessarily when the user requests `play()`\n * The media may have to buffer first.\n * I.e. `isPlaying()` might return `true` before this event is fired,\n * because `isPlaying()` represents the intended state.\n *\n * @event PLAYBACK_PLAY\n */\nEvents.PLAYBACK_PLAY = 'playback:play';\n/**\n * Fired when the media for a playback pauses.\n *\n * @event PLAYBACK_PAUSE\n */\nEvents.PLAYBACK_PAUSE = 'playback:pause';\n/**\n * Fired when the media for a playback is seeking.\n *\n * @event PLAYBACK_SEEK\n */\nEvents.PLAYBACK_SEEK = 'playback:seek';\n/**\n * Fired when the media for a playback is seeked.\n *\n * @event PLAYBACK_SEEKED\n */\nEvents.PLAYBACK_SEEKED = 'playback:seeked';\n/**\n * Fired when the media for a playback is stopped.\n *\n * @event PLAYBACK_STOP\n */\nEvents.PLAYBACK_STOP = 'playback:stop';\n/**\n * Fired if an error occurs in the playback.\n *\n * @event PLAYBACK_ERROR\n * @param {Object} error An object containing the error details\n * @param {String} name Playback name\n */\nEvents.PLAYBACK_ERROR = 'playback:error';\n// TODO doc\nEvents.PLAYBACK_STATS_ADD = 'playback:stats:add';\n// TODO doc\nEvents.PLAYBACK_FRAGMENT_LOADED = 'playback:fragment:loaded';\n/**\n * Fired when a fragment has been appended into buffer\n *\n * @event PLAYBACK_FRAGMENT_BUFFERED\n * @param {Object} data Data\n *\n */\nEvents.PLAYBACK_FRAGMENT_BUFFERED = 'playback:fragment:buffered';\n// TODO doc\nEvents.PLAYBACK_LEVEL_SWITCH = 'playback:level:switch';\n/**\n * Fired when subtitle is available on playback for display\n *\n * @event PLAYBACK_SUBTITLE_AVAILABLE\n */\nEvents.PLAYBACK_SUBTITLE_AVAILABLE = 'playback:subtitle:available';\n/**\n * Fired when playback subtitle track has changed\n *\n * @event CONTAINER_SUBTITLE_CHANGED\n * @param {Object} track Data\n * track object\n * @param {Number} [track.id]\n * selected track id\n */\nEvents.PLAYBACK_SUBTITLE_CHANGED = 'playback:subtitle:changed';\n\n/**\n * Fired when audio tracks are available to be used on the playback\n * @event PLAYBACK_AUDIO_AVAILABLE\n * @param {import('../playback/playback').AudioTrack[]} tracks - list of available audio tracks\n */\nEvents.PLAYBACK_AUDIO_AVAILABLE = 'playback:audio:available';\n\n/**\n * Fired whenever the current audio track has changed\n * @event PLAYBACK_AUDIO_CHANGED\n * @param {import('../playback/playback').AudioTrack} track - audio track active after change\n */\nEvents.PLAYBACK_AUDIO_CHANGED = 'playback:audio:changed';\n\n/**\n * Fired when the playback was resized.\n *\n * @event PLAYBACK_RESIZE\n */\nEvents.PLAYBACK_RESIZE = 'playback:resize';\n\n// Core Events\n/**\n * Fired when the containers are created\n *\n * @event CORE_CONTAINERS_CREATED\n */\nEvents.CORE_CONTAINERS_CREATED = 'core:containers:created';\n/**\n * Fired when the active container changed\n *\n * @event CORE_ACTIVE_CONTAINER_CHANGED\n */\nEvents.CORE_ACTIVE_CONTAINER_CHANGED = 'core:active:container:changed';\n\n/**\n * Fired before options are changed in core\n *\n * @event CORE_OPTIONS_WILL_CHANGE\n * @param {Object} current options before change\n */\nEvents.CORE_OPTIONS_WILL_CHANGE = 'core:options:will:change';\n\n/**\n * Fired when the options were changed for the core\n *\n * @event CORE_OPTIONS_CHANGE\n * @param {Object} new options provided to configure() method\n */\nEvents.CORE_OPTIONS_CHANGE = 'core:options:change';\n/**\n * Fired after creating containers, when the core is ready\n *\n * @event CORE_READY\n */\nEvents.CORE_READY = 'core:ready';\n/**\n * Fired when the fullscreen state change\n *\n * @event CORE_FULLSCREEN\n * @param {Boolean} whether or not the player is on fullscreen mode\n */\nEvents.CORE_FULLSCREEN = 'core:fullscreen';\n/**\n * Fired when core updates size\n *\n * @event CORE_RESIZE\n * @param {Object} currentSize an object with the current size\n */\nEvents.CORE_RESIZE = 'core:resize';\n/**\n * Fired when the screen orientation has changed.\n * This event is trigger only for mobile devices.\n *\n * @event CORE_SCREEN_ORIENTATION_CHANGED\n * @param {Object} screen An object with screen orientation\n * screen object\n * @param {Object} [screen.event]\n * window resize event object\n * @param {String} [screen.orientation]\n * screen orientation (ie: 'landscape' or 'portrait')\n */\nEvents.CORE_SCREEN_ORIENTATION_CHANGED = 'core:screen:orientation:changed';\n/**\n * Fired when occurs mouse move event on core element\n *\n * @event CORE_MOUSE_MOVE\n * @param {Object} event a DOM event\n */\nEvents.CORE_MOUSE_MOVE = 'core:mousemove';\n/**\n * Fired when occurs mouse leave event on core element\n *\n * @event CORE_MOUSE_LEAVE\n * @param {Object} event a DOM event\n */\nEvents.CORE_MOUSE_LEAVE = 'core:mouseleave';\n\n// Container Events\n/**\n * Fired when the container internal state changes\n *\n * @event CONTAINER_PLAYBACKSTATE\n * @param {Object} state Data\n * state object\n * @param {String} [state.type]\n * the playback type\n */\nEvents.CONTAINER_PLAYBACKSTATE = 'container:playbackstate';\nEvents.CONTAINER_PLAYBACKDVRSTATECHANGED = 'container:dvr';\n/**\n * Fired when the container updates its bitrate\n *\n * @event CONTAINER_BITRATE\n * @param {Object} bitrate Data\n * bitrate object\n * @param {Number} [bitrate.bandwidth]\n * bitrate bandwidth when it's available\n * @param {Number} [bitrate.width]\n * playback width (ex: 720, 640, 1080)\n * @param {Number} [bitrate.height]\n * playback height (ex: 240, 480, 720)\n * @param {Number} [bitrate.level]\n * playback level when it's available, it could be just a map for width (0 => 240, 1 => 480, 2 => 720)\n */\nEvents.CONTAINER_BITRATE = 'container:bitrate';\nEvents.CONTAINER_STATS_REPORT = 'container:stats:report';\nEvents.CONTAINER_DESTROYED = 'container:destroyed';\n/**\n * Fired when the container is ready\n *\n * @event CONTAINER_READY\n */\nEvents.CONTAINER_READY = 'container:ready';\n\n/**\n * Fired when the container was resized.\n *\n * Some fullscreen modes won't trigger this resize since they don't affect the container, only the playback contents.\n *\n * @event CONTAINER_RESIZE\n */\nEvents.CONTAINER_RESIZE = 'container:resize';\nEvents.CONTAINER_ERROR = 'container:error';\n/**\n * Fired when the container loaded its metadata\n *\n * @event CONTAINER_LOADEDMETADATA\n * @param {Object} metadata Data\n * settings object\n * @param {Number} [metadata.duration]\n * the playback duration\n * @param {Object} [metadata.data]\n * extra meta data\n */\nEvents.CONTAINER_LOADEDMETADATA = 'container:loadedmetadata';\n\n/**\n * Fired when subtitle is available on container for display\n *\n * @event CONTAINER_SUBTITLE_AVAILABLE\n */\nEvents.CONTAINER_SUBTITLE_AVAILABLE = 'container:subtitle:available';\n/**\n * Fired when subtitle track has changed\n *\n * @event CONTAINER_SUBTITLE_CHANGED\n * @param {Object} track Data\n * track object\n * @param {Number} [track.id]\n * selected track id\n */\nEvents.CONTAINER_SUBTITLE_CHANGED = 'container:subtitle:changed';\n\n/**\n * Fired when audio tracks are available to be used on the container\n * @event CONTAINER_AUDIO_AVAILABLE\n * @param {import('../playback/playback').AudioTrack[]} tracks - list of available audio tracks\n */\nEvents.CONTAINER_AUDIO_AVAILABLE = 'container:audio:available';\n\n/**\n * Fired whenever the current audio track has changed\n * @event CONTAINER_AUDIO_CHANGED\n * @param {import('../playback/playback').AudioTrack} track - audio track active after change\n */\nEvents.CONTAINER_AUDIO_CHANGED = 'container:audio:changed';\n\n/**\n * Fired when the time is updated on container\n *\n * @event CONTAINER_TIMEUPDATE\n * @param {Object} progress Data\n * progress object\n * @param {Number} [progress.current]\n * current time (in seconds)\n * @param {Number} [progress.total]\n * total time (in seconds)\n */\nEvents.CONTAINER_TIMEUPDATE = 'container:timeupdate';\n/**\n * Fired when the container is downloading the media\n *\n * @event CONTAINER_PROGRESS\n * @param {Object} progress Data\n * progress object\n * @param {Number} [progress.start]\n * initial downloaded content\n * @param {Number} [progress.current]\n * current dowloaded content\n * @param {Number} [progress.total]\n * total content to be downloaded\n */\nEvents.CONTAINER_PROGRESS = 'container:progress';\nEvents.CONTAINER_PLAY = 'container:play';\nEvents.CONTAINER_STOP = 'container:stop';\nEvents.CONTAINER_PAUSE = 'container:pause';\nEvents.CONTAINER_ENDED = 'container:ended';\nEvents.CONTAINER_CLICK = 'container:click';\nEvents.CONTAINER_DBLCLICK = 'container:dblclick';\nEvents.CONTAINER_CONTEXTMENU = 'container:contextmenu';\nEvents.CONTAINER_MOUSE_ENTER = 'container:mouseenter';\nEvents.CONTAINER_MOUSE_LEAVE = 'container:mouseleave';\nEvents.CONTAINER_MOUSE_UP = 'container:mouseup';\nEvents.CONTAINER_MOUSE_DOWN = 'container:mousedown';\n\n/**\n * Fired when the container enters on Picture-in-Picture mode\n * @event CONTAINER_PIP_ENTER\n */\nEvents.CONTAINER_PIP_ENTER = 'container:picture-in-picture:enter';\n/**\n * Fired when the container exits from Picture-in-Picture mode\n * @event CONTAINER_PIP_EXIT\n */\nEvents.CONTAINER_PIP_EXIT = 'container:picture-in-picture:exit';\n\n/**\n * Fired when the container seeks the video\n *\n * @event CONTAINER_SEEK\n * @param {Number} time the current time in seconds\n */\nEvents.CONTAINER_SEEK = 'container:seek';\n/**\n * Fired when the container was finished the seek video\n *\n * @event CONTAINER_SEEKED\n * @param {Number} time the current time in seconds\n */\nEvents.CONTAINER_SEEKED = 'container:seeked';\nEvents.CONTAINER_VOLUME = 'container:volume';\nEvents.CONTAINER_FULLSCREEN = 'container:fullscreen';\n/**\n * Fired when container is buffering\n *\n * @event CONTAINER_STATE_BUFFERING\n */\nEvents.CONTAINER_STATE_BUFFERING = 'container:state:buffering';\n/**\n * Fired when the container filled the buffer\n *\n * @event CONTAINER_STATE_BUFFERFULL\n */\nEvents.CONTAINER_STATE_BUFFERFULL = 'container:state:bufferfull';\n/**\n * Fired when the container changes any settings (volume, seek and etc)\n *\n * @event CONTAINER_SETTINGSUPDATE\n */\nEvents.CONTAINER_SETTINGSUPDATE = 'container:settingsupdate';\n/**\n * Fired when container updates its video quality\n *\n * @event CONTAINER_HIGHDEFINITIONUPDATE\n * @param {Boolean} isHD\n * true when is on HD, false otherwise\n */\nEvents.CONTAINER_HIGHDEFINITIONUPDATE = 'container:highdefinitionupdate';\n\n/**\n * Fired when the media control shows\n *\n * @event CONTAINER_MEDIACONTROL_SHOW\n */\nEvents.CONTAINER_MEDIACONTROL_SHOW = 'container:mediacontrol:show';\n/**\n * Fired when the media control hides\n *\n * @event CONTAINER_MEDIACONTROL_HIDE\n */\nEvents.CONTAINER_MEDIACONTROL_HIDE = 'container:mediacontrol:hide';\nEvents.CONTAINER_MEDIACONTROL_DISABLE = 'container:mediacontrol:disable';\nEvents.CONTAINER_MEDIACONTROL_ENABLE = 'container:mediacontrol:enable';\nEvents.CONTAINER_STATS_ADD = 'container:stats:add';\n/**\n * Fired before options are changed in container\n *\n * @event CONTAINER_OPTIONS_WILL_CHANGE\n * @param {Object} current options before change\n */\nEvents.CONTAINER_OPTIONS_WILL_CHANGE = 'container:options:will:change';\n\n/**\n * Fired when the options were changed for the container\n *\n * @event CONTAINER_OPTIONS_CHANGE\n */\nEvents.CONTAINER_OPTIONS_CHANGE = 'container:options:change';\n\n// MediaControl Events\nEvents.MEDIACONTROL_RENDERED = 'mediacontrol:rendered';\n/**\n * Fired when the player enters/exit on fullscreen\n *\n * @event MEDIACONTROL_FULLSCREEN\n */\nEvents.MEDIACONTROL_FULLSCREEN = 'mediacontrol:fullscreen';\n/**\n * Fired when the media control shows\n *\n * @event MEDIACONTROL_SHOW\n */\nEvents.MEDIACONTROL_SHOW = 'mediacontrol:show';\n/**\n * Fired when the media control hides\n *\n * @event MEDIACONTROL_HIDE\n */\nEvents.MEDIACONTROL_HIDE = 'mediacontrol:hide';\n/**\n * Fired when mouse enters on the seekbar\n *\n * @event MEDIACONTROL_MOUSEMOVE_SEEKBAR\n * @param {Object} event\n * the javascript event\n */\nEvents.MEDIACONTROL_MOUSEMOVE_SEEKBAR = 'mediacontrol:mousemove:seekbar';\n/**\n * Fired when mouse leaves the seekbar\n *\n * @event MEDIACONTROL_MOUSELEAVE_SEEKBAR\n * @param {Object} event\n * the javascript event\n */\nEvents.MEDIACONTROL_MOUSELEAVE_SEEKBAR = 'mediacontrol:mouseleave:seekbar';\n/**\n * Fired when the media is being played\n *\n * @event MEDIACONTROL_PLAYING\n */\nEvents.MEDIACONTROL_PLAYING = 'mediacontrol:playing';\n/**\n * Fired when the media is not being played\n *\n * @event MEDIACONTROL_NOTPLAYING\n */\nEvents.MEDIACONTROL_NOTPLAYING = 'mediacontrol:notplaying';\n/**\n * Fired when the container was changed\n *\n * @event MEDIACONTROL_CONTAINERCHANGED\n */\nEvents.MEDIACONTROL_CONTAINERCHANGED = 'mediacontrol:containerchanged';\n/**\n * Fired when the options were changed for the mediacontrol\n *\n * @event MEDIACONTROL_OPTIONS_CHANGE\n */\nEvents.MEDIACONTROL_OPTIONS_CHANGE = 'mediacontrol:options:change';\n\n/**\n * @class BaseObject\n * @constructor\n * @extends Events\n * @module base\n */\nvar BaseObject = /*#__PURE__*/function (_Events) {\n /**\n * @method constructor\n * @param {Object} options\n */\n function BaseObject() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, BaseObject);\n _this = _callSuper(this, BaseObject, [options]);\n _this._options = options;\n _this.uniqueId = uniqueId('o');\n return _this;\n }\n /**\n * a unique id prefixed with `'o'`, `o1, o232`\n *\n * @property uniqueId\n * @type String\n */\n _inherits(BaseObject, _Events);\n return _createClass(BaseObject, [{\n key: \"options\",\n get:\n /**\n * returns the object options\n * @property options\n * @type Object\n */\n function get() {\n return this._options;\n }\n }]);\n}(Events);\n\n/* eslint-disable no-var */\n// Simple JavaScript Templating\n// Paul Miller (http://paulmillr.com)\n// http://underscorejs.org\n// (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n\n// By default, Underscore uses ERB-style template delimiters, change the\n// following template settings to use alternative delimiters.\nvar settings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n};\n\n// When customizing `templateSettings`, if you don't want to define an\n// interpolation, evaluation or escaping regex, we need one that is\n// guaranteed not to match.\nvar noMatch = /(.)^/;\n\n// Certain characters need to be escaped so that they can be put into a\n// string literal.\nvar escapes = {\n '\\'': '\\'',\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\t': 't',\n \"\\u2028\": 'u2028',\n \"\\u2029\": 'u2029'\n};\nvar escaper = /\\\\|'|\\r|\\n|\\t|\\u2028|\\u2029/g;\n\n// List of HTML entities for escaping.\nvar htmlEntities = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n};\nvar entityRe = new RegExp('[&<>\"\\']', 'g');\nvar escapeExpr = function escapeExpr(string) {\n if (string === null) return '';\n return ('' + string).replace(entityRe, function (match) {\n return htmlEntities[match];\n });\n};\nvar counter = 0;\n\n/**\n * JavaScript micro-templating, similar to John Resig's implementation.\n * Underscore templating handles arbitrary delimiters, preserves whitespace,\n * and correctly escapes quotes within interpolated code.\n * @param {string} text\n * @param {*=} data\n * @returns\n */\nvar tmpl = function tmpl(text, data) {\n var render;\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = new RegExp([(settings.escape || noMatch).source, (settings.interpolate || noMatch).source, (settings.evaluate || noMatch).source].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = '__p+=\\'';\n text.replace(matcher, function (match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escaper, function (match) {\n return '\\\\' + escapes[match];\n });\n if (escape) source += '\\'+\\n((__t=(' + escape + '))==null?\\'\\':escapeExpr(__t))+\\n\\'';\n if (interpolate) source += '\\'+\\n((__t=(' + interpolate + '))==null?\\'\\':__t)+\\n\\'';\n if (evaluate) source += '\\';\\n' + evaluate + '\\n__p+=\\'';\n index = offset + match.length;\n return match;\n });\n source += '\\';\\n';\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n source = 'var __t,__p=\\'\\',__j=Array.prototype.join,' + 'print=function(){__p+=__j.call(arguments,\\'\\');};\\n' + source + 'return __p;\\n//# sourceURL=/microtemplates/source[' + counter++ + ']';\n try {\n /*jshint -W054 */\n // TODO: find a way to avoid eval\n render = new Function(settings.variable || 'obj', 'escapeExpr', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n if (data) return render(data, escapeExpr);\n var template = function template(data) {\n return render.call(this, data, escapeExpr);\n };\n\n // Provide the compiled function source as a convenience for precompilation.\n template.source = 'function(' + (settings.variable || 'obj') + '){\\n' + source + '}';\n return template;\n};\ntmpl.settings = settings;\n\n// Copyright 2014 Globo.com Player authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nvar Styler = {\n getStyleFor: function getStyleFor(style) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n baseUrl: ''\n };\n return $('<style class=\"clappr-style\"></style>').html(tmpl(style.toString())(options));\n }\n};\n\nvar delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n\n/**\n * A base class to create ui object.\n * @class UIObject\n * @constructor\n * @extends BaseObject\n * @module base\n */\nvar UIObject = /*#__PURE__*/function (_BaseObject) {\n /**\n * it builds an ui component by:\n * * creating an id for the component `cid`\n * * making sure the element is created `$el`\n * * delegating all `events` to the element\n * @method constructor\n * @param {Object} options the options object\n */\n function UIObject(options) {\n var _this;\n _classCallCheck(this, UIObject);\n _this = _callSuper(this, UIObject, [options]);\n /**\n * a unique id prefixed with `'c'`, `c1, c232`\n *\n * @property cid\n * @type String\n */\n _this.cid = uniqueId('c');\n _this._ensureElement();\n _this.delegateEvents();\n return _this;\n }\n\n /**\n * selects within the component.\n * @method $\n * @param {String} selector a selector to find within the component.\n * @return {HTMLElement} an element, if it exists.\n * @example\n * ```javascript\n * fullScreenBarUIComponent.$('.button-full') //will return only `.button-full` within the component\n * ```\n */\n _inherits(UIObject, _BaseObject);\n return _createClass(UIObject, [{\n key: \"tagName\",\n get:\n /**\n * gets the tag name for the ui component\n * @method tagName\n * @default div\n * @return {String} tag's name\n */\n function get() {\n return 'div';\n }\n /**\n * a literal object mapping element's events to methods\n * @property events\n * @type Object\n * @example\n *\n *```javascript\n *\n * class MyButton extends UIObject {\n * constructor(options) {\n * super(options)\n * this.myId = 0\n * }\n * get events() { return { 'click': 'myClick' } }\n * myClick(){ this.myId = 42 }\n * }\n *\n * // when you click on MyButton the method `myClick` will be called\n *```\n */\n }, {\n key: \"events\",\n get: function get() {\n return {};\n }\n /**\n * a literal object mapping attributes and values to the element\n * element's attribute name and the value the attribute value\n * @property attributes\n * @type Object\n * @example\n *\n *```javascript\n *\n * class MyButton extends UIObject {\n * constructor(options) { super(options) }\n * get attributes() { return { class: 'my-button'} }\n * }\n *\n * // MyButton.el.className will be 'my-button'\n * ```\n */\n }, {\n key: \"attributes\",\n get: function get() {\n return {};\n }\n }, {\n key: \"$\",\n value: function $(selector) {\n return this.$el.find(selector);\n }\n\n /**\n * render the component, usually attach it to a real existent `element`\n * @method render\n * @return {UIObject} itself\n */\n }, {\n key: \"render\",\n value: function render() {\n return this;\n }\n\n /**\n * removes the ui component from DOM\n * @method destroy\n * @return {UIObject} itself\n */\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.$el.remove();\n this.stopListening();\n this.undelegateEvents();\n return this;\n }\n\n /**\n * set element to `el` and `$el`\n * @method setElement\n * @param {HTMLElement} element\n * @param {Boolean} delegate whether is delegate or not\n * @return {UIObject} itself\n */\n }, {\n key: \"setElement\",\n value: function setElement(element, delegate) {\n if (this.$el) this.undelegateEvents();\n /**\n * the dom element wrapped by `$`\n *\n * @property $el\n * @type import(\"clappr-zepto\").ZeptoCollection\n */\n this.$el = $.zepto.isZ(element) ? element : $(element);\n /**\n * the dom element itself\n *\n * @property el\n * @type HTMLElement\n */\n this.el = this.$el[0];\n if (delegate !== false) this.delegateEvents();\n return this;\n }\n\n /**\n * delegates all the original `events` on `element` to its callbacks\n * @method delegateEvents\n * @param {Object} events\n * @return {UIObject} itself\n */\n }, {\n key: \"delegateEvents\",\n value: function delegateEvents(events) {\n if (!events) events = this.events;\n this.undelegateEvents();\n for (var key in events) {\n var method = events[key];\n if (method && method.constructor !== Function) method = this[events[key]];\n if (!method) continue;\n var match = key.match(delegateEventSplitter);\n var eventName = match[1];\n var selector = match[2];\n eventName += '.delegateEvents' + this.cid;\n if (selector === '') {\n this.$el.on(eventName, method.bind(this));\n } else {\n this.$el.on(eventName, selector, method.bind(this));\n }\n }\n return this;\n }\n\n /**\n * undelegats all the `events`\n * @method undelegateEvents\n * @return {UIObject} itself\n */\n }, {\n key: \"undelegateEvents\",\n value: function undelegateEvents() {\n this.$el.off('.delegateEvents' + this.cid);\n return this;\n }\n\n /**\n * ensures the creation of this ui component\n * @method _ensureElement\n * @private\n */\n }, {\n key: \"_ensureElement\",\n value: function _ensureElement() {\n if (!this.el) {\n var attrs = $.extend(true, {}, this.attributes);\n if (this.id) attrs.id = this.id;\n if (this.className) attrs[\"class\"] = this.className;\n var $el = $(DomRecycler.create(this.tagName)).attr(attrs);\n this.setElement($el, false);\n } else {\n this.setElement(this.el, false);\n }\n }\n\n /**\n * method called before resize the element\n * @method onResize\n * @return {UIObject} itself\n */\n }, {\n key: \"onResize\",\n value: function onResize() {\n return this;\n }\n\n /**\n * resize current element\n * @method resize\n * @param {Object} options the options object\n * @return {UIObject} itself\n */\n }, {\n key: \"resize\",\n value: function resize(options) {\n var newWidth = isNumber(options.width) ? \"\".concat(options.width, \"px\") : \"\".concat(options.width);\n var newHeight = isNumber(options.height) ? \"\".concat(options.height, \"px\") : \"\".concat(options.height);\n this.el.style.width = newWidth;\n this.el.style.height = newHeight;\n this.onResize(options);\n return this;\n }\n }]);\n}(BaseObject);\n\n/**\n * The PlayerError is responsible to receive and propagate errors.\n * @class PlayerError\n * @constructor\n * @extends BaseObject\n * @module components\n */\nvar PlayerError = /*#__PURE__*/function (_BaseObject) {\n function PlayerError() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var core = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, PlayerError);\n _this = _callSuper(this, PlayerError, [options]);\n _this.core = core;\n return _this;\n }\n\n /**\n * creates and trigger an error.\n * @method createError\n * @param {Object} err should be an object with code, description, level, origin, scope and raw error.\n */\n _inherits(PlayerError, _BaseObject);\n return _createClass(PlayerError, [{\n key: \"name\",\n get: function get() {\n return 'error';\n }\n\n /**\n * @property Levels\n * @type {Object} object with error levels\n */\n }, {\n key: \"createError\",\n value: function createError(err) {\n if (!this.core) {\n Log.warn(this.name, 'Core is not set. Error: ', err);\n return;\n }\n this.core.trigger(Events.ERROR, err);\n }\n }], [{\n key: \"Levels\",\n get: function get() {\n return {\n FATAL: 'FATAL',\n WARN: 'WARN',\n INFO: 'INFO'\n };\n }\n }]);\n}(BaseObject);\n\nvar ErrorMixin = {\n /**\n * creates an error.\n * @method createError\n * @param {Object} error should be an object with code, description, level and raw error.\n * @return {Object} Object with formatted error data including origin and scope\n */\n createError: function createError(error) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n useCodePrefix: true\n };\n var scope = this.constructor && this.constructor.type || '';\n var origin = this.name || scope;\n var i18n = this.i18n || this.core && this.core.i18n || this.container && this.container.i18n;\n var prefixedCode = \"\".concat(origin, \":\").concat(error && error.code || 'unknown');\n var defaultError = {\n description: '',\n level: PlayerError.Levels.FATAL,\n origin: origin,\n scope: scope,\n raw: {}\n };\n var errorData = Object.assign({}, defaultError, error, {\n code: options.useCodePrefix ? prefixedCode : error.code\n });\n if (i18n && errorData.level === PlayerError.Levels.FATAL && !errorData.UI) {\n var defaultUI = {\n title: i18n.t('default_error_title'),\n message: i18n.t('default_error_message')\n };\n errorData.UI = defaultUI;\n }\n this.playerError ? this.playerError.createError(errorData) : Log.warn(origin, 'PlayerError is not defined. Error: ', errorData);\n return errorData;\n }\n};\n\nvar UICorePlugin = /*#__PURE__*/function (_UIObject) {\n function UICorePlugin(core) {\n var _this;\n _classCallCheck(this, UICorePlugin);\n _this = _callSuper(this, UICorePlugin, [core.options]);\n _this.core = core;\n _this.enabled = true;\n _this.bindEvents();\n _this.render();\n return _this;\n }\n _inherits(UICorePlugin, _UIObject);\n return _createClass(UICorePlugin, [{\n key: \"playerError\",\n get: function get() {\n return this.core.playerError;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {}\n }, {\n key: \"getExternalInterface\",\n value: function getExternalInterface() {\n return {};\n }\n }, {\n key: \"enable\",\n value: function enable() {\n if (!this.enabled) {\n this.bindEvents();\n this.$el.show();\n this.enabled = true;\n }\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.stopListening();\n this.$el.hide();\n this.enabled = false;\n }\n }, {\n key: \"render\",\n value: function render() {\n return this;\n }\n }]);\n}(UIObject);\nObject.assign(UICorePlugin.prototype, ErrorMixin);\nUICorePlugin.extend = function (properties) {\n return extend(UICorePlugin, properties);\n};\nUICorePlugin.type = 'core';\n\nvar css_248z$5 = \".container[data-container] {\\n position: absolute;\\n background-color: black;\\n height: 100%;\\n width: 100%;\\n max-width: 100%; }\\n .container[data-container] .chromeless {\\n cursor: default; }\\n\\n[data-player]:not(.nocursor) .container[data-container]:not(.chromeless).pointer-enabled {\\n cursor: pointer; }\\n\";\n\n/**\n * An abstraction to represent a container for a given playback\n * TODO: describe its responsabilities\n * @class Container\n * @constructor\n * @extends UIObject\n * @module base\n */\nvar Container = /*#__PURE__*/function (_UIObject) {\n /**\n * it builds a container\n * @method constructor\n * @param {Object} options the options object\n * @param {Strings} i18n the internationalization component\n */\n function Container(options, i18n, playerError) {\n var _this;\n _classCallCheck(this, Container);\n _this = _callSuper(this, Container, [options]);\n _this._i18n = i18n;\n _this.currentTime = 0;\n _this.volume = 100;\n _this.playback = options.playback;\n _this.playerError = playerError;\n _this.settings = $.extend(true, {}, _this.playback.settings);\n _this.isReady = false;\n _this.mediaControlDisabled = false;\n _this.plugins = [_this.playback];\n _this.dblTapHandler = new DoubleEventHandler(500);\n _this.clickTimer = null;\n _this.clickDelay = 200; // FIXME: could be a player option\n _this.actionsMetadata = {};\n _this.bindEvents();\n return _this;\n }\n\n /**\n * binds playback events to the methods of the container.\n * it listens to playback's events and triggers them as container events.\n *\n * | Playback |\n * |----------|\n * | progress |\n * | timeupdate |\n * | ready |\n * | buffering |\n * | bufferfull |\n * | settingsupdate |\n * | loadedmetadata |\n * | highdefinitionupdate |\n * | bitrate |\n * | playbackstate |\n * | dvr |\n * | mediacontrol_disable |\n * | mediacontrol_enable |\n * | ended |\n * | play |\n * | pause |\n * | error |\n * | pip_enter |\n * | pip_exit |\n *\n * ps: the events usually translate from PLABACK_x to CONTAINER_x, you can check all the events at `Event` class.\n *\n * @method bindEvents\n */\n _inherits(Container, _UIObject);\n return _createClass(Container, [{\n key: \"name\",\n get:\n /**\n * container's name\n * @method name\n * @default Container\n * @return {String} container's name\n */\n function get() {\n return 'Container';\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n \"class\": 'container',\n 'data-container': ''\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'click': 'clicked',\n 'dblclick': 'dblClicked',\n 'touchend': 'dblTap',\n 'contextmenu': 'onContextMenu',\n 'mouseenter': 'mouseEnter',\n 'mouseleave': 'mouseLeave',\n 'mouseup': 'onMouseUp',\n 'mousedown': 'onMouseDown'\n };\n }\n\n /**\n * Determine if the playback has ended.\n * @property ended\n * @type Boolean\n */\n }, {\n key: \"ended\",\n get: function get() {\n return this.playback.ended;\n }\n\n /**\n * Determine if the playback is having to buffer in order for\n * playback to be smooth.\n * (i.e if a live stream is playing smoothly, this will be false)\n * @property buffering\n * @type Boolean\n */\n }, {\n key: \"buffering\",\n get: function get() {\n return this.playback.buffering;\n }\n\n /**\n * The internationalization plugin.\n * @property i18n\n * @type {Strings}\n */\n }, {\n key: \"i18n\",\n get: function get() {\n return this._i18n;\n }\n\n /**\n * checks if has closed caption tracks.\n * @property hasClosedCaptionsTracks\n * @type {Boolean}\n */\n }, {\n key: \"hasClosedCaptionsTracks\",\n get: function get() {\n return this.playback.hasClosedCaptionsTracks;\n }\n\n /**\n * gets the available closed caption tracks.\n * @property closedCaptionsTracks\n * @type {Array} an array of objects with at least 'id' and 'name' properties\n */\n }, {\n key: \"closedCaptionsTracks\",\n get: function get() {\n return this.playback.closedCaptionsTracks;\n }\n\n /**\n * gets the selected closed caption track index. (-1 is disabled)\n * @property closedCaptionsTrackId\n * @type {Number}\n */\n }, {\n key: \"closedCaptionsTrackId\",\n get: function get() {\n return this.playback.closedCaptionsTrackId;\n }\n\n /**\n * sets the selected closed caption track index. (-1 is disabled)\n * @property closedCaptionsTrackId\n * @type {Number}\n */,\n set: function set(trackId) {\n this.playback.closedCaptionsTrackId = trackId;\n }\n\n /**\n * returns a list of the available audio tracks.\n * @type {import('../../base/playback/playback').AudioTrack[]} audio tracks\n */\n }, {\n key: \"audioTracks\",\n get: function get() {\n return this.playback.audioTracks;\n }\n\n /**\n * returns the audio track currently in use.\n * @type {import('../../base/playback/playback').AudioTrack} audio track\n */\n }, {\n key: \"currentAudioTrack\",\n get: function get() {\n return this.playback.currentAudioTrack;\n }\n\n /**\n * returns the picture-in-picture state.\n * @type {Boolean}\n */\n }, {\n key: \"isPiPActive\",\n get: function get() {\n return this.playback.isPiPActive;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.playback, Events.PLAYBACK_PROGRESS, this.onProgress);\n this.listenTo(this.playback, Events.PLAYBACK_TIMEUPDATE, this.timeUpdated);\n this.listenTo(this.playback, Events.PLAYBACK_READY, this.ready);\n this.listenTo(this.playback, Events.PLAYBACK_BUFFERING, this.onBuffering);\n this.listenTo(this.playback, Events.PLAYBACK_BUFFERFULL, this.bufferfull);\n this.listenTo(this.playback, Events.PLAYBACK_SETTINGSUPDATE, this.settingsUpdate);\n this.listenTo(this.playback, Events.PLAYBACK_LOADEDMETADATA, this.loadedMetadata);\n this.listenTo(this.playback, Events.PLAYBACK_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);\n this.listenTo(this.playback, Events.PLAYBACK_BITRATE, this.updateBitrate);\n this.listenTo(this.playback, Events.PLAYBACK_PLAYBACKSTATE, this.playbackStateChanged);\n this.listenTo(this.playback, Events.PLAYBACK_DVR, this.playbackDvrStateChanged);\n this.listenTo(this.playback, Events.PLAYBACK_MEDIACONTROL_DISABLE, this.disableMediaControl);\n this.listenTo(this.playback, Events.PLAYBACK_MEDIACONTROL_ENABLE, this.enableMediaControl);\n this.listenTo(this.playback, Events.PLAYBACK_SEEK, this.onSeek);\n this.listenTo(this.playback, Events.PLAYBACK_SEEKED, this.onSeeked);\n this.listenTo(this.playback, Events.PLAYBACK_ENDED, this.onEnded);\n this.listenTo(this.playback, Events.PLAYBACK_PLAY, this.playing);\n this.listenTo(this.playback, Events.PLAYBACK_PAUSE, this.paused);\n this.listenTo(this.playback, Events.PLAYBACK_STOP, this.stopped);\n this.listenTo(this.playback, Events.PLAYBACK_ERROR, this.error);\n this.listenTo(this.playback, Events.PLAYBACK_SUBTITLE_AVAILABLE, this.subtitleAvailable);\n this.listenTo(this.playback, Events.PLAYBACK_SUBTITLE_CHANGED, this.subtitleChanged);\n this.listenTo(this.playback, Events.PLAYBACK_AUDIO_AVAILABLE, this.audioAvailable);\n this.listenTo(this.playback, Events.PLAYBACK_AUDIO_CHANGED, this.audioChanged);\n this.listenTo(this.playback, Events.PLAYBACK_PIP_ENTER, this.onEnterPiP);\n this.listenTo(this.playback, Events.PLAYBACK_PIP_EXIT, this.onExitPiP);\n }\n }, {\n key: \"subtitleAvailable\",\n value: function subtitleAvailable() {\n this.trigger(Events.CONTAINER_SUBTITLE_AVAILABLE);\n }\n }, {\n key: \"subtitleChanged\",\n value: function subtitleChanged(track) {\n this.trigger(Events.CONTAINER_SUBTITLE_CHANGED, track);\n }\n }, {\n key: \"audioAvailable\",\n value: function audioAvailable(tracks) {\n this.trigger(Events.CONTAINER_AUDIO_AVAILABLE, tracks);\n }\n }, {\n key: \"audioChanged\",\n value: function audioChanged(track) {\n this.trigger(Events.CONTAINER_AUDIO_CHANGED, track);\n }\n }, {\n key: \"playbackStateChanged\",\n value: function playbackStateChanged(state) {\n this.trigger(Events.CONTAINER_PLAYBACKSTATE, state);\n }\n }, {\n key: \"playbackDvrStateChanged\",\n value: function playbackDvrStateChanged(dvrInUse) {\n this.settings = this.playback.settings;\n this.dvrInUse = dvrInUse;\n this.trigger(Events.CONTAINER_PLAYBACKDVRSTATECHANGED, dvrInUse);\n }\n }, {\n key: \"updateBitrate\",\n value: function updateBitrate(newBitrate) {\n this.trigger(Events.CONTAINER_BITRATE, newBitrate);\n }\n }, {\n key: \"statsReport\",\n value: function statsReport(metrics) {\n this.trigger(Events.CONTAINER_STATS_REPORT, metrics);\n }\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n return this.playback.getPlaybackType();\n }\n\n /**\n * returns `true` if DVR is enable otherwise `false`.\n * @method isDvrEnabled\n * @return {Boolean}\n */\n }, {\n key: \"isDvrEnabled\",\n value: function isDvrEnabled() {\n return !!this.playback.dvrEnabled;\n }\n\n /**\n * returns `true` if DVR is in use otherwise `false`.\n * @method isDvrInUse\n * @return {Boolean}\n */\n }, {\n key: \"isDvrInUse\",\n value: function isDvrInUse() {\n return !!this.dvrInUse;\n }\n\n /**\n * destroys the container\n * @method destroy\n */\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.disableResizeObserver();\n this.trigger(Events.CONTAINER_DESTROYED, this, this.name);\n this.stopListening();\n this.plugins.forEach(function (plugin) {\n return plugin.destroy();\n });\n this.$el.remove();\n this.undelegateEvents();\n }\n }, {\n key: \"setStyle\",\n value: function setStyle(style) {\n this.$el.css(style);\n }\n }, {\n key: \"ready\",\n value: function ready() {\n this.isReady = true;\n this.trigger(Events.CONTAINER_READY, this.name);\n }\n }, {\n key: \"isPlaying\",\n value: function isPlaying() {\n return this.playback.isPlaying();\n }\n }, {\n key: \"getStartTimeOffset\",\n value: function getStartTimeOffset() {\n return this.playback.getStartTimeOffset();\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.currentTime;\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.playback.getDuration();\n }\n }, {\n key: \"error\",\n value: function error(_error) {\n if (!this.isReady) {\n this.ready();\n }\n this.trigger(Events.CONTAINER_ERROR, _error, this.name);\n }\n }, {\n key: \"loadedMetadata\",\n value: function loadedMetadata(metadata) {\n this.trigger(Events.CONTAINER_LOADEDMETADATA, metadata);\n }\n }, {\n key: \"timeUpdated\",\n value: function timeUpdated(timeProgress) {\n this.currentTime = timeProgress.current;\n this.trigger(Events.CONTAINER_TIMEUPDATE, timeProgress, this.name);\n }\n }, {\n key: \"onProgress\",\n value: function onProgress() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n this.trigger.apply(this, [Events.CONTAINER_PROGRESS].concat(args, [this.name]));\n }\n }, {\n key: \"playing\",\n value: function playing() {\n this.trigger(Events.CONTAINER_PLAY, this.name, this.actionsMetadata.playEvent || {});\n this.actionsMetadata.playEvent = {};\n }\n }, {\n key: \"paused\",\n value: function paused() {\n this.trigger(Events.CONTAINER_PAUSE, this.name, this.actionsMetadata.pauseEvent || {});\n this.actionsMetadata.pauseEvent = {};\n }\n }, {\n key: \"stopped\",\n value: function stopped() {\n this.trigger(Events.CONTAINER_STOP, this.actionsMetadata.stopEvent || {});\n this.actionsMetadata.stopEvent = {};\n }\n\n /**\n * plays the playback\n * @method play\n * @param {Object} customData\n */\n }, {\n key: \"play\",\n value: function play() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.actionsMetadata.playEvent = customData;\n this.playback.play(customData);\n }\n\n /**\n * stops the playback\n * @method stop\n * @param {Object} customData\n */\n }, {\n key: \"stop\",\n value: function stop() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.actionsMetadata.stopEvent = customData;\n this.playback.stop(customData);\n this.currentTime = 0;\n }\n }, {\n key: \"switchAudioTrack\",\n value: function switchAudioTrack(id) {\n this.playback.switchAudioTrack(id);\n }\n\n /**\n * pauses the playback\n * @method pause\n * @param {Object} customData\n */\n }, {\n key: \"pause\",\n value: function pause() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.actionsMetadata.pauseEvent = customData;\n this.playback.pause(customData);\n }\n }, {\n key: \"onEnded\",\n value: function onEnded() {\n this.trigger(Events.CONTAINER_ENDED, this, this.name);\n this.currentTime = 0;\n }\n }, {\n key: \"clicked\",\n value: function clicked() {\n var _this2 = this;\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n // The event is delayed because it can be canceled by a double-click event\n // An example of use is to prevent playback from pausing when switching to full screen\n this.clickTimer = setTimeout(function () {\n _this2.clickTimer && _this2.trigger(Events.CONTAINER_CLICK, _this2, _this2.name);\n }, this.clickDelay);\n }\n }\n }, {\n key: \"cancelClicked\",\n value: function cancelClicked() {\n clearTimeout(this.clickTimer);\n this.clickTimer = null;\n }\n }, {\n key: \"dblClicked\",\n value: function dblClicked() {\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.cancelClicked();\n this.trigger(Events.CONTAINER_DBLCLICK, this, this.name);\n }\n }\n }, {\n key: \"dblTap\",\n value: function dblTap(evt) {\n var _this3 = this;\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.dblTapHandler.handle(evt, function () {\n _this3.cancelClicked();\n _this3.trigger(Events.CONTAINER_DBLCLICK, _this3, _this3.name);\n });\n }\n }\n }, {\n key: \"onContextMenu\",\n value: function onContextMenu(event) {\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.trigger(Events.CONTAINER_CONTEXTMENU, event, this.name);\n }\n }\n }, {\n key: \"seek\",\n value: function seek(time) {\n this.playback.seek(time);\n }\n }, {\n key: \"onSeek\",\n value: function onSeek(time) {\n this.trigger(Events.CONTAINER_SEEK, time, this.name);\n }\n }, {\n key: \"onSeeked\",\n value: function onSeeked() {\n this.trigger(Events.CONTAINER_SEEKED, this.name);\n }\n }, {\n key: \"seekPercentage\",\n value: function seekPercentage(percentage) {\n var duration = this.getDuration();\n if (percentage >= 0 && percentage <= 100) {\n var time = duration * (percentage / 100);\n this.seek(time);\n }\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(value) {\n this.volume = parseFloat(value);\n this.trigger(Events.CONTAINER_VOLUME, this.volume, this.name);\n this.playback.volume(this.volume);\n }\n }, {\n key: \"fullscreen\",\n value: function fullscreen() {\n this.trigger(Events.CONTAINER_FULLSCREEN, this.name);\n }\n }, {\n key: \"onBuffering\",\n value: function onBuffering() {\n this.trigger(Events.CONTAINER_STATE_BUFFERING, this.name);\n }\n }, {\n key: \"bufferfull\",\n value: function bufferfull() {\n this.trigger(Events.CONTAINER_STATE_BUFFERFULL, this.name);\n }\n }, {\n key: \"onEnterPiP\",\n value: function onEnterPiP() {\n this.trigger(Events.CONTAINER_PIP_ENTER, this.name);\n }\n }, {\n key: \"onExitPiP\",\n value: function onExitPiP() {\n this.trigger(Events.CONTAINER_PIP_EXIT, this.name);\n }\n\n /**\n * adds plugin to the container\n * @method addPlugin\n * @param {Object} plugin\n */\n }, {\n key: \"addPlugin\",\n value: function addPlugin(plugin) {\n this.plugins.push(plugin);\n }\n\n /**\n * checks if a plugin, given its name, exist\n * @method hasPlugin\n * @param {String} name\n * @return {Boolean}\n */\n }, {\n key: \"hasPlugin\",\n value: function hasPlugin(name) {\n return !!this.getPlugin(name);\n }\n\n /**\n * get the plugin given its name\n * @method getPlugin\n * @param {String} name\n */\n }, {\n key: \"getPlugin\",\n value: function getPlugin(name) {\n return this.plugins.filter(function (plugin) {\n return plugin.name === name;\n })[0];\n }\n }, {\n key: \"mouseEnter\",\n value: function mouseEnter() {\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.trigger(Events.CONTAINER_MOUSE_ENTER);\n }\n }\n }, {\n key: \"mouseLeave\",\n value: function mouseLeave() {\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.trigger(Events.CONTAINER_MOUSE_LEAVE);\n }\n }\n }, {\n key: \"mouseUp\",\n value: function mouseUp() {\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.trigger(Events.CONTAINER_MOUSE_UP);\n }\n }\n }, {\n key: \"mouseDown\",\n value: function mouseDown() {\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.trigger(Events.CONTAINER_MOUSE_DOWN);\n }\n }\n }, {\n key: \"enterPiP\",\n value: function enterPiP() {\n this.playback.enterPiP();\n }\n }, {\n key: \"exitPiP\",\n value: function exitPiP() {\n this.playback.exitPiP();\n }\n }, {\n key: \"settingsUpdate\",\n value: function settingsUpdate() {\n this.settings = this.playback.settings;\n this.trigger(Events.CONTAINER_SETTINGSUPDATE);\n }\n }, {\n key: \"highDefinitionUpdate\",\n value: function highDefinitionUpdate(isHD) {\n this.trigger(Events.CONTAINER_HIGHDEFINITIONUPDATE, isHD);\n }\n }, {\n key: \"isHighDefinitionInUse\",\n value: function isHighDefinitionInUse() {\n return this.playback.isHighDefinitionInUse();\n }\n }, {\n key: \"disableMediaControl\",\n value: function disableMediaControl() {\n if (!this.mediaControlDisabled) {\n this.mediaControlDisabled = true;\n this.trigger(Events.CONTAINER_MEDIACONTROL_DISABLE);\n }\n }\n }, {\n key: \"enableMediaControl\",\n value: function enableMediaControl() {\n if (this.mediaControlDisabled) {\n this.mediaControlDisabled = false;\n this.trigger(Events.CONTAINER_MEDIACONTROL_ENABLE);\n }\n }\n }, {\n key: \"updateStyle\",\n value: function updateStyle() {\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.$el.removeClass('chromeless');\n } else {\n this.$el.addClass('chromeless');\n }\n }\n }, {\n key: \"enableResizeObserver\",\n value: function enableResizeObserver() {\n var _this4 = this;\n this.disableResizeObserver();\n this.resizeObserverInterval = setInterval(function () {\n return _this4.checkResize();\n }, 500);\n }\n }, {\n key: \"disableResizeObserver\",\n value: function disableResizeObserver() {\n this.resizeObserverInterval && clearInterval(this.resizeObserverInterval);\n }\n }, {\n key: \"checkResize\",\n value: function checkResize() {\n var newSize = {\n width: this.el.clientWidth,\n height: this.el.clientHeight\n };\n var _ref = this.currentSize || {},\n width = _ref.width,\n height = _ref.height;\n var isResize = height !== newSize.height || width !== newSize.width;\n if (!isResize) return;\n this.currentSize = newSize;\n this.trigger(Events.CONTAINER_RESIZE, newSize);\n }\n\n /**\n * method called before resize the element\n * @method onResize\n * @param {Object} options the options object\n * @return {UIObject} itself\n */\n }, {\n key: \"onResize\",\n value: function onResize(options) {\n this.playback.resize(options);\n return this;\n }\n\n /**\n * enables to configure the container after its creation\n * @method configure\n * @param {Object} options all the options to change in form of a javascript object\n * @param {Object} oldOptions previous options\n */\n }, {\n key: \"configure\",\n value: function configure(options, oldOptions) {\n this.trigger(Events.CONTAINER_OPTIONS_WILL_CHANGE, oldOptions);\n this._options = $.extend(true, this._options, options);\n this.updateStyle();\n this.playback.configure(this.options);\n this.trigger(Events.CONTAINER_OPTIONS_CHANGE);\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = Styler.getStyleFor(css_248z$5.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n this.$el.append(this.playback.render().el);\n this.updateStyle();\n this.checkResize();\n this.enableResizeObserver();\n return this;\n }\n }]);\n}(UIObject);\nObject.assign(Container.prototype, ErrorMixin);\n\n/**\n * An object representing a single audio track.\n * @typedef {Object} AudioTrack\n * @property {string} id - A unique identifier for the track. Used to identify it among the others.\n * @property {string} language - The language of the track (e.g., 'en', 'pt-BR').\n * @property {string} [label] - An optional label to be used in the UI to describe the track.\n * @property {('main'|'description')} kind - The category the audio track belongs to.\n * The kind 'description' is applied to audio tracks that narrate or describe the visual content.\n */\n\n/**\n * An abstraction to represent a generic playback, it's like an interface to be implemented by subclasses.\n * @class Playback\n * @constructor\n * @extends UIObject\n * @module base\n */\nvar Playback = /*#__PURE__*/function (_UIObject) {\n /**\n * @method constructor\n * @param {Object} options the options object\n * @param {Strings} i18n the internationalization component\n */\n function Playback(options, i18n, playerError) {\n var _this;\n _classCallCheck(this, Playback);\n _this = _callSuper(this, Playback, [options]);\n _this.settings = {};\n _this._i18n = i18n;\n _this.playerError = playerError;\n _this._consented = false;\n return _this;\n }\n\n /**\n * Gives user consent to playback (mobile devices).\n * @method consent\n * @param {Function} callback function called when playback is consented\n */\n _inherits(Playback, _UIObject);\n return _createClass(Playback, [{\n key: \"isAudioOnly\",\n get:\n /**\n * Determine if the playback does not contain video/has video but video should be ignored.\n * @property isAudioOnly\n * @type Boolean\n */\n function get() {\n return false;\n }\n }, {\n key: \"isAdaptive\",\n get: function get() {\n return false;\n }\n\n /**\n * Determine if the playback has ended.\n * @property ended\n * @type Boolean\n */\n }, {\n key: \"ended\",\n get: function get() {\n return false;\n }\n\n /**\n * The internationalization plugin.\n * @property i18n\n * @type {Strings}\n */\n }, {\n key: \"i18n\",\n get: function get() {\n return this._i18n;\n }\n\n /**\n * Determine if the playback is having to buffer in order for\n * playback to be smooth.\n * (i.e if a live stream is playing smoothly, this will be false)\n * @property buffering\n * @type Boolean\n */\n }, {\n key: \"buffering\",\n get: function get() {\n return false;\n }\n\n /**\n * The estimated time (in seconds) of a video's live edge plus time sync playlist advanced.\n * (i.e if first playlist hasn't been loaded, will return 0)\n * @property latency\n * @type {Number}\n */\n }, {\n key: \"latency\",\n get: function get() {\n return null;\n }\n\n /**\n * The datetime value relative for a video's active level Program Date Time, if present.\n * (i.e if first playlist hasn't been loaded, will return null)\n * @property currentProgramDateTime\n * @return {Date}\n */\n }, {\n key: \"currentProgramDateTime\",\n get: function get() {\n return null;\n }\n\n /**\n * checks if picture in picture mode is active.\n * @property isPiPActive\n * @type {Boolean} `true` if the current playback is in picture in picture mode, otherwise `false`\n */\n }, {\n key: \"isPiPActive\",\n get: function get() {\n return false;\n }\n }, {\n key: \"consent\",\n value: function consent(cb) {\n typeof cb === 'function' && cb();\n }\n\n /**\n * plays the playback.\n * @method play\n */\n }, {\n key: \"play\",\n value: function play() {}\n\n /**\n * pauses the playback.\n * @method pause\n */\n }, {\n key: \"pause\",\n value: function pause() {}\n\n /**\n * stops the playback.\n * @method stop\n */\n }, {\n key: \"stop\",\n value: function stop() {}\n\n /**\n * enter in picture in picture mode\n * @method enterPiP\n */\n }, {\n key: \"enterPiP\",\n value: function enterPiP() {}\n\n /**\n * exit from picture in picture mode\n * @method exitPiP\n */\n }, {\n key: \"exitPiP\",\n value: function exitPiP() {}\n\n /**\n * seeks the playback to a given `time` in seconds\n * @method seek\n * @param {Number} time should be a number between 0 and the video duration\n */\n }, {\n key: \"seek\",\n value: function seek(time) {} // eslint-disable-line no-unused-vars\n\n /**\n * seeks the playback to a given `percentage` in percentage\n * @method seekPercentage\n * @param {Number} time should be a number between 0 and 100\n */\n }, {\n key: \"seekPercentage\",\n value: function seekPercentage(percentage) {} // eslint-disable-line no-unused-vars\n\n /**\n * The time that \"0\" now represents relative to when playback started.\n * For a stream with a sliding window this will increase as content is\n * removed from the beginning.\n * @method getStartTimeOffset\n * @return {Number} time (in seconds) that time \"0\" represents.\n */\n }, {\n key: \"getStartTimeOffset\",\n value: function getStartTimeOffset() {\n return 0;\n }\n\n /**\n * gets the duration in seconds\n * @method getDuration\n * @return {Number} duration (in seconds) of the current source\n */\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return 0;\n }\n\n /**\n * gets the frame rate of the current source\n * @method getFrameRate\n * @return {Number|null} frame rate (fps) of the current source, or null if unavailable\n */\n }, {\n key: \"getFrameRate\",\n value: function getFrameRate() {\n return null;\n }\n\n /**\n * checks if the playback is playing.\n * @method isPlaying\n * @return {Boolean} `true` if the current playback is playing, otherwise `false`\n */\n }, {\n key: \"isPlaying\",\n value: function isPlaying() {\n return false;\n }\n\n /**\n * checks if the playback is ready.\n * @property isReady\n * @type {Boolean} `true` if the current playback is ready, otherwise `false`\n */\n }, {\n key: \"isReady\",\n get: function get() {\n return false;\n }\n\n /**\n * checks if the playback has closed caption tracks.\n * @property hasClosedCaptionsTracks\n * @type {Boolean}\n */\n }, {\n key: \"hasClosedCaptionsTracks\",\n get: function get() {\n return this.closedCaptionsTracks.length > 0;\n }\n\n /**\n * gets the playback available closed caption tracks.\n * @property closedCaptionsTracks\n * @type {Array} an array of objects with at least 'id' and 'name' properties\n */\n }, {\n key: \"closedCaptionsTracks\",\n get: function get() {\n return [];\n }\n\n /**\n * gets the selected closed caption track index. (-1 is disabled)\n * @property closedCaptionsTrackId\n * @type {Number}\n */\n }, {\n key: \"closedCaptionsTrackId\",\n get: function get() {\n return -1;\n }\n\n /**\n * sets the selected closed caption track index. (-1 is disabled)\n * @property closedCaptionsTrackId\n * @type {Number}\n */,\n set: function set(trackId) {} // eslint-disable-line no-unused-vars\n\n /**\n * returns a list of the available audio tracks for the playback.\n * @type {AudioTrack[]} audio tracks\n */\n }, {\n key: \"audioTracks\",\n get: function get() {\n return [];\n }\n\n /**\n * returns the audio track currently in use by the playback.\n * @type {AudioTrack} audio track\n */\n }, {\n key: \"currentAudioTrack\",\n get: function get() {\n return null;\n }\n\n /**\n * switches the current audio track used by the playback.\n * @param {string} id - id of the audio track to be set.\n */\n }, {\n key: \"switchAudioTrack\",\n value: function switchAudioTrack(id) {} // eslint-disable-line no-unused-vars\n\n /**\n * gets the playback type (`'vod', 'live', 'aod'`)\n * @method getPlaybackType\n * @return {String} you should write the playback type otherwise it'll assume `'no_op'`\n * @example\n * ```javascript\n * html5VideoPlayback.getPlaybackType() //vod\n * html5AudioPlayback.getPlaybackType() //aod\n * html5VideoPlayback.getPlaybackType() //live\n * flashHlsPlayback.getPlaybackType() //live\n * ```\n */\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n return Playback.NO_OP;\n }\n\n /**\n * checks if the playback is in HD.\n * @method isHighDefinitionInUse\n * @return {Boolean} `true` if the playback is playing in HD, otherwise `false`\n */\n }, {\n key: \"isHighDefinitionInUse\",\n value: function isHighDefinitionInUse() {\n return false;\n }\n\n /**\n * mutes the playback\n * @method mute\n */\n }, {\n key: \"mute\",\n value: function mute() {}\n\n /**\n * restores the playback volume\n * @method unmute\n */\n }, {\n key: \"unmute\",\n value: function unmute() {}\n\n /**\n * sets the volume for the playback\n * @method volume\n * @param {Number} value a number between 0 (`muted`) to 100 (`max`)\n */\n }, {\n key: \"volume\",\n value: function volume(value) {} // eslint-disable-line no-unused-vars\n\n /**\n * enables to configure the playback after its creation\n * @method configure\n * @param {Object} options all the options to change in form of a javascript object\n */\n }, {\n key: \"configure\",\n value: function configure(options) {\n this._options = $.extend(true, this._options, options);\n }\n\n /**\n * attempt to autoplays the playback.\n * @method attemptAutoPlay\n */\n }, {\n key: \"attemptAutoPlay\",\n value: function attemptAutoPlay() {\n var _this2 = this;\n this.canAutoPlay(function (result, error) {\n // eslint-disable-line no-unused-vars\n result && _this2.play();\n });\n }\n\n /**\n * checks if the playback can autoplay.\n * @method canAutoPlay\n * @param {Function} callback function where first param is Boolean and second param is playback Error or null\n */\n }, {\n key: \"canAutoPlay\",\n value: function canAutoPlay(cb) {\n cb(true, null); // Assume playback can autoplay by default\n }\n\n /**\n * method called before resize the element\n * @method onResize\n * @param {Object} options the options object\n * @return {UIObject} itself\n */\n }, {\n key: \"onResize\",\n value: function onResize(options) {\n this.trigger(Events.PLAYBACK_RESIZE, options);\n return this;\n }\n }]);\n}(UIObject);\nObject.assign(Playback.prototype, ErrorMixin);\nPlayback.extend = function (properties) {\n return extend(Playback, properties);\n};\n\n/**\n * checks if the playback can play a given `source`\n * If a mimeType is provided then this will be used instead of inferring the mimetype\n * from the source extension.\n * @method canPlay\n * @static\n * @param {String} source the given source ex: `http://example.com/play.mp4`\n * @param {String} [mimeType] the given mime type, ex: `'application/vnd.apple.mpegurl'`\n * @return {Boolean} `true` if the playback is playable, otherwise `false`\n */\nPlayback.canPlay = function (source, mimeType) {\n // eslint-disable-line no-unused-vars\n return false;\n};\n\n/**\n * a playback type for video on demand\n *\n * @property VOD\n * @static\n * @type String\n */\nPlayback.VOD = 'vod';\n/**\n * a playback type for audio on demand\n *\n * @property AOD\n * @static\n * @type String\n */\nPlayback.AOD = 'aod';\n/**\n * a playback type for live video\n *\n * @property LIVE\n * @static\n * @type String\n */\nPlayback.LIVE = 'live';\n/**\n * a default playback type\n *\n * @property NO_OP\n * @static\n * @type String\n */\nPlayback.NO_OP = 'no_op';\n/**\n * the plugin type\n *\n * @property type\n * @static\n * @type String\n */\nPlayback.type = 'playback';\n\nvar ContainerFactory = /*#__PURE__*/function (_BaseObject) {\n function ContainerFactory(options, loader, i18n, playerError) {\n var _this;\n _classCallCheck(this, ContainerFactory);\n _this = _callSuper(this, ContainerFactory, [options]);\n _this._i18n = i18n;\n _this.loader = loader;\n _this.playerError = playerError;\n return _this;\n }\n _inherits(ContainerFactory, _BaseObject);\n return _createClass(ContainerFactory, [{\n key: \"options\",\n get: function get() {\n return this._options;\n },\n set: function set(options) {\n this._options = options;\n }\n }, {\n key: \"createContainers\",\n value: function createContainers() {\n var _this2 = this;\n return $.Deferred(function (promise) {\n promise.resolve(_this2.options.sources.map(function (source) {\n return _this2.createContainer(source);\n }));\n });\n }\n }, {\n key: \"findPlaybackPlugin\",\n value: function findPlaybackPlugin(source, mimeType) {\n return this.loader.playbackPlugins.filter(function (p) {\n return p.canPlay(source, mimeType);\n })[0];\n }\n }, {\n key: \"createContainer\",\n value: function createContainer(source) {\n var resolvedSource = null;\n var mimeType = this.options.mimeType;\n if (_typeof(source) === 'object') {\n resolvedSource = source.source.toString();\n if (source.mimeType) mimeType = source.mimeType;\n } else {\n resolvedSource = source.toString();\n }\n if (resolvedSource.match(/^\\/\\//)) resolvedSource = window.location.protocol + resolvedSource;\n var options = _objectSpread2(_objectSpread2({}, this.options), {}, {\n src: resolvedSource,\n mimeType: mimeType\n });\n var playbackPlugin = this.findPlaybackPlugin(resolvedSource, mimeType);\n\n // Fallback to empty playback object until we sort out unsupported sources error without NoOp playback\n var playback = playbackPlugin ? new playbackPlugin(options, this._i18n, this.playerError) // eslint-disable-line\n : new Playback();\n options = _objectSpread2(_objectSpread2({}, options), {}, {\n playback: playback\n });\n var container = new Container(options, this._i18n, this.playerError);\n var defer = $.Deferred();\n defer.promise(container);\n this.addContainerPlugins(container);\n this.listenToOnce(container, Events.CONTAINER_READY, function () {\n return defer.resolve(container);\n });\n return container;\n }\n }, {\n key: \"addContainerPlugins\",\n value: function addContainerPlugins(container) {\n this.loader.containerPlugins.forEach(function (Plugin) {\n container.addPlugin(new Plugin(container));\n });\n }\n }]);\n}(BaseObject);\n\nvar css_248z$4 = \"[data-player] {\\n -webkit-touch-callout: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -o-user-select: none;\\n user-select: none;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n transform: translate3d(0, 0, 0);\\n position: relative;\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font-style: normal;\\n font-weight: normal;\\n text-align: center;\\n overflow: hidden;\\n font-size: 100%;\\n font-family: \\\"Roboto\\\", \\\"Open Sans\\\", Arial, sans-serif;\\n text-shadow: 0 0 0;\\n box-sizing: border-box; }\\n [data-player]:focus {\\n outline: 0; }\\n [data-player] * {\\n box-sizing: inherit; }\\n [data-player] > * {\\n float: none;\\n max-width: none; }\\n [data-player] > div {\\n display: block; }\\n [data-player].fullscreen {\\n width: 100% !important;\\n height: 100% !important;\\n top: 0;\\n left: 0; }\\n [data-player].nocursor {\\n cursor: none; }\\n\\n.clappr-style {\\n display: none !important; }\\n\";\n\nvar css_248z$3 = \"[data-player] div, [data-player] span, [data-player] applet, [data-player] object, [data-player] iframe,\\n[data-player] h1, [data-player] h2, [data-player] h3, [data-player] h4, [data-player] h5, [data-player] h6, [data-player] p, [data-player] blockquote, [data-player] pre,\\n[data-player] a, [data-player] abbr, [data-player] acronym, [data-player] address, [data-player] big, [data-player] cite, [data-player] code,\\n[data-player] del, [data-player] dfn, [data-player] em, [data-player] img, [data-player] ins, [data-player] kbd, [data-player] q, [data-player] s, [data-player] samp,\\n[data-player] small, [data-player] strike, [data-player] strong, [data-player] sub, [data-player] sup, [data-player] tt, [data-player] var,\\n[data-player] b, [data-player] u, [data-player] i, [data-player] center,\\n[data-player] dl, [data-player] dt, [data-player] dd, [data-player] ol, [data-player] ul, [data-player] li,\\n[data-player] fieldset, [data-player] form, [data-player] label, [data-player] legend,\\n[data-player] table, [data-player] caption, [data-player] tbody, [data-player] tfoot, [data-player] thead, [data-player] tr, [data-player] th, [data-player] td,\\n[data-player] article, [data-player] aside, [data-player] canvas, [data-player] details, [data-player] embed,\\n[data-player] figure, [data-player] figcaption, [data-player] footer, [data-player] header, [data-player] hgroup,\\n[data-player] menu, [data-player] nav, [data-player] output, [data-player] ruby, [data-player] section, [data-player] summary,\\n[data-player] time, [data-player] mark, [data-player] audio, [data-player] video {\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font: inherit;\\n font-size: 100%;\\n vertical-align: baseline; }\\n\\n[data-player] table {\\n border-collapse: collapse;\\n border-spacing: 0; }\\n\\n[data-player] caption, [data-player] th, [data-player] td {\\n text-align: left;\\n font-weight: normal;\\n vertical-align: middle; }\\n\\n[data-player] q, [data-player] blockquote {\\n quotes: none; }\\n [data-player] q:before, [data-player] q:after, [data-player] blockquote:before, [data-player] blockquote:after {\\n content: \\\"\\\";\\n content: none; }\\n\\n[data-player] a img {\\n border: none; }\\n\";\n\n/**\n * The Core is responsible to manage Containers and the player state.\n * @class Core\n * @constructor\n * @extends UIObject\n * @module components\n */\nvar Core = /*#__PURE__*/function (_UIObject) {\n function Core(options) {\n var _this;\n _classCallCheck(this, Core);\n _this = _callSuper(this, Core, [options]);\n _this.playerError = new PlayerError(options, _this);\n _this.configureDomRecycler();\n _this.firstResize = true;\n _this.styleRendered = false;\n _this.plugins = [];\n _this.containers = [];\n // FIXME fullscreen api sucks\n _this._boundFullscreenHandler = function () {\n return _this.handleFullscreenChange();\n };\n _this._boundHandleWindowResize = function (o) {\n return _this.handleWindowResize(o);\n };\n $(document).bind('fullscreenchange', _this._boundFullscreenHandler);\n $(document).bind('MSFullscreenChange', _this._boundFullscreenHandler);\n $(document).bind('mozfullscreenchange', _this._boundFullscreenHandler);\n Browser.isMobile && $(window).bind('resize', _this._boundHandleWindowResize);\n return _this;\n }\n _inherits(Core, _UIObject);\n return _createClass(Core, [{\n key: \"events\",\n get: function get() {\n return {\n 'webkitfullscreenchange': 'handleFullscreenChange',\n 'mousemove': 'onMouseMove',\n 'mouseleave': 'onMouseLeave'\n };\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'data-player': '',\n tabindex: 9999\n };\n }\n\n /**\n * checks if the core is ready.\n * @property isReady\n * @type {Boolean} `true` if the core is ready, otherwise `false`\n */\n }, {\n key: \"isReady\",\n get: function get() {\n return !!this.ready;\n }\n\n /**\n * The internationalization plugin.\n * @property i18n\n * @type {Strings}\n */\n }, {\n key: \"i18n\",\n get: function get() {\n return this.getPlugin('strings') || {\n t: function t(key) {\n return key;\n }\n };\n }\n\n /**\n * @deprecated\n * This property currently exists for backward compatibility reasons.\n * If you need to access the media control instance, use the method getPlugin('media_control').\n * This approach is still not recommended.\n */\n }, {\n key: \"mediaControl\",\n get: function get() {\n return this._mediaControl || (this._mediaControl = this.getPlugin('media_control')) || this.dummyMediaControl;\n }\n }, {\n key: \"dummyMediaControl\",\n get: function get() {\n if (this._dummyMediaControl) return this._dummyMediaControl;\n this._dummyMediaControl = new UICorePlugin(this);\n return this._dummyMediaControl;\n }\n\n /**\n * gets the active container reference.\n * @property activeContainer\n * @type {Object}\n */\n }, {\n key: \"activeContainer\",\n get: function get() {\n return this._activeContainer;\n }\n\n /**\n * sets the active container reference and trigger a event with the new reference.\n * @property activeContainer\n * @type {Object}\n */,\n set: function set(container) {\n this._activeContainer = container;\n this.trigger(Events.CORE_ACTIVE_CONTAINER_CHANGED, this._activeContainer);\n }\n\n /**\n * gets the active playback reference.\n * @property activePlayback\n * @type {Object}\n */\n }, {\n key: \"activePlayback\",\n get: function get() {\n return this.activeContainer && this.activeContainer.playback;\n }\n\n /**\n * gets the active playback's video element.\n * @property activePlaybackEl\n * @type {Object}\n */\n }, {\n key: \"activePlaybackEl\",\n get: function get() {\n if (!this.activePlayback) return undefined;\n return this.activePlayback.$el ? this.activePlayback.$el.find('video')[0] || this.activePlayback.el : this.activePlayback.el;\n }\n }, {\n key: \"configureDomRecycler\",\n value: function configureDomRecycler() {\n var recycleVideo = this.options && this.options.playback && this.options.playback.recycleVideo;\n DomRecycler.configure({\n recycleVideo: recycleVideo\n });\n }\n }, {\n key: \"createContainers\",\n value: function createContainers(options) {\n this.defer = $.Deferred();\n this.defer.promise(this);\n this.containerFactory = new ContainerFactory(options, options.loader, this.i18n, this.playerError);\n this.prepareContainers();\n }\n }, {\n key: \"prepareContainers\",\n value: function prepareContainers() {\n var _this2 = this;\n this.containerFactory.createContainers().then(function (containers) {\n return _this2.setupContainers(containers);\n }).then(function (containers) {\n return _this2.resolveOnContainersReady(containers);\n });\n }\n }, {\n key: \"updateSize\",\n value: function updateSize() {\n this.isFullscreen() ? this.setFullscreen() : this.setPlayerSize();\n }\n }, {\n key: \"setFullscreen\",\n value: function setFullscreen() {\n if (!Browser.isiOS) {\n this.$el.addClass('fullscreen');\n this.$el.removeAttr('style');\n this.previousSize = {\n width: this.options.width,\n height: this.options.height\n };\n this.currentSize = {\n width: $(window).width(),\n height: $(window).height()\n };\n }\n }\n }, {\n key: \"setPlayerSize\",\n value: function setPlayerSize() {\n this.$el.removeClass('fullscreen');\n this.currentSize = this.previousSize;\n this.previousSize = {\n width: $(window).width(),\n height: $(window).height()\n };\n this.resize(this.currentSize);\n }\n\n /**\n * method called before resize the element\n * @method onResize\n * @param {Object} options the options object\n * @return {UIObject} itself\n */\n }, {\n key: \"onResize\",\n value: function onResize(options) {\n this.previousSize = {\n width: this.options.width,\n height: this.options.height\n };\n this.options.width = options.width;\n this.options.height = options.height;\n this.currentSize = options;\n this.triggerResize(this.currentSize);\n return this;\n }\n }, {\n key: \"enableResizeObserver\",\n value: function enableResizeObserver() {\n var _this3 = this;\n this.disableResizeObserver();\n var checkSizeCallback = function checkSizeCallback() {\n var _this3$el$clientWidth, _this3$el$clientHeigh;\n var width = (_this3$el$clientWidth = _this3.el.clientWidth) !== null && _this3$el$clientWidth !== void 0 ? _this3$el$clientWidth : _this3.options.width;\n var height = (_this3$el$clientHeigh = _this3.el.clientHeight) !== null && _this3$el$clientHeigh !== void 0 ? _this3$el$clientHeigh : _this3.options.height;\n _this3.triggerResize({\n width: width,\n height: height\n });\n };\n this.resizeObserverInterval = setInterval(checkSizeCallback, 500);\n }\n }, {\n key: \"triggerResize\",\n value: function triggerResize(newSize) {\n var thereWasChange = this.firstResize || this.oldHeight !== newSize.height || this.oldWidth !== newSize.width;\n if (!thereWasChange) return;\n this.oldHeight = newSize.height;\n this.oldWidth = newSize.width;\n this.computedSize = newSize;\n this.firstResize = false;\n this.trigger(Events.CORE_RESIZE, newSize);\n }\n }, {\n key: \"disableResizeObserver\",\n value: function disableResizeObserver() {\n this.resizeObserverInterval && clearInterval(this.resizeObserverInterval);\n this.resizeObserverInterval = null;\n }\n }, {\n key: \"resolveOnContainersReady\",\n value: function resolveOnContainersReady(containers) {\n var _this4 = this;\n $.when.apply($, containers).done(function () {\n _this4.defer.resolve(_this4);\n _this4.ready = true;\n _this4.trigger(Events.CORE_READY);\n });\n }\n }, {\n key: \"addPlugin\",\n value: function addPlugin(plugin) {\n this.plugins.push(plugin);\n }\n }, {\n key: \"hasPlugin\",\n value: function hasPlugin(name) {\n return !!this.getPlugin(name);\n }\n }, {\n key: \"getPlugin\",\n value: function getPlugin(name) {\n return this.plugins.filter(function (plugin) {\n return plugin.name === name;\n })[0];\n }\n }, {\n key: \"load\",\n value: function load(sources, mimeType) {\n this.options.mimeType = mimeType;\n sources = sources && sources.constructor === Array ? sources : [sources];\n this.options.sources = sources;\n this.containers.forEach(function (container) {\n return container.destroy();\n });\n this.containerFactory.options = $.extend(true, this.options, {\n sources: sources\n });\n this.prepareContainers();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.disableResizeObserver();\n this.containers.forEach(function (container) {\n return container.destroy();\n });\n this.plugins.forEach(function (plugin) {\n return plugin.destroy();\n });\n this.$el.remove();\n $(document).unbind('fullscreenchange', this._boundFullscreenHandler);\n $(document).unbind('MSFullscreenChange', this._boundFullscreenHandler);\n $(document).unbind('mozfullscreenchange', this._boundFullscreenHandler);\n Browser.isMobile && $(window).unbind('resize', this._boundHandleWindowResize);\n this.stopListening();\n this.undelegateEvents();\n }\n }, {\n key: \"handleFullscreenChange\",\n value: function handleFullscreenChange() {\n this.trigger(Events.CORE_FULLSCREEN, this.isFullscreen());\n this.updateSize();\n }\n }, {\n key: \"handleWindowResize\",\n value: function handleWindowResize(event) {\n var _this$el$clientWidth, _this$el$clientHeight;\n var orientation = window.innerWidth > window.innerHeight ? 'landscape' : 'portrait';\n if (this._screenOrientation === orientation) return;\n this._screenOrientation = orientation;\n var width = (_this$el$clientWidth = this.el.clientWidth) !== null && _this$el$clientWidth !== void 0 ? _this$el$clientWidth : this.options.width;\n var height = (_this$el$clientHeight = this.el.clientHeight) !== null && _this$el$clientHeight !== void 0 ? _this$el$clientHeight : this.options.height;\n this.triggerResize({\n width: width,\n height: height\n });\n this.trigger(Events.CORE_SCREEN_ORIENTATION_CHANGED, {\n event: event,\n orientation: this._screenOrientation\n });\n }\n }, {\n key: \"removeContainer\",\n value: function removeContainer(container) {\n this.stopListening(container);\n this.containerFactory.stopListening(container);\n this.containers = this.containers.filter(function (c) {\n return c !== container;\n });\n }\n }, {\n key: \"setupContainer\",\n value: function setupContainer(container) {\n this.listenTo(container, Events.CONTAINER_DESTROYED, this.removeContainer);\n this.containers.push(container);\n }\n }, {\n key: \"setupContainers\",\n value: function setupContainers(containers) {\n containers.forEach(this.setupContainer.bind(this));\n this.trigger(Events.CORE_CONTAINERS_CREATED);\n this.renderContainers();\n this.activeContainer = containers[0];\n this.render();\n this.appendToParent();\n return this.containers;\n }\n }, {\n key: \"renderContainers\",\n value: function renderContainers() {\n var _this5 = this;\n this.containers.forEach(function (container) {\n return _this5.el.appendChild(container.render().el);\n });\n }\n }, {\n key: \"createContainer\",\n value: function createContainer(source, options) {\n var container = this.containerFactory.createContainer(source, options);\n this.setupContainer(container);\n this.el.appendChild(container.render().el);\n return container;\n }\n\n /**\n * @deprecated\n * This method currently exists for retrocompatibility reasons.\n * If you want the current container reference, use the activeContainer getter.\n */\n }, {\n key: \"getCurrentContainer\",\n value: function getCurrentContainer() {\n return this.activeContainer;\n }\n\n /**\n * @deprecated\n * This method currently exists for retrocompatibility reasons.\n * If you want the current playback reference, use the activePlayback getter.\n */\n }, {\n key: \"getCurrentPlayback\",\n value: function getCurrentPlayback() {\n return this.activePlayback;\n }\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n return this.activeContainer && this.activeContainer.getPlaybackType();\n }\n }, {\n key: \"isFullscreen\",\n value: function isFullscreen() {\n var fullscreenElement = Fullscreen.fullscreenElement();\n return fullscreenElement && fullscreenElement === this.el || fullscreenElement && fullscreenElement === this.activePlaybackEl || this.activePlaybackEl && this.activePlaybackEl.webkitDisplayingFullscreen || false;\n }\n }, {\n key: \"toggleFullscreen\",\n value: function toggleFullscreen() {\n var _this6 = this;\n if (this.isFullscreen()) {\n var fullscreenEl = Browser.isiOS ? this.activePlaybackEl : document;\n Fullscreen.cancelFullscreen(fullscreenEl);\n !Browser.isiOS && this.$el.removeClass('fullscreen nocursor');\n } else {\n var _fullscreenEl = Browser.isiOS ? this.activePlaybackEl : this.el;\n if (!_fullscreenEl) return;\n Browser.isSafari || Browser.isiOS // Safari doesn't return a promise like the other browsers. See more in https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n ? Fullscreen.requestFullscreen(_fullscreenEl) : Fullscreen.requestFullscreen(_fullscreenEl).then(function (_) {\n return _;\n }, function (error) {\n return setTimeout(function () {\n // fixes the issue https://github.com/clappr/clappr/issues/1860\n if (!_this6.isFullscreen()) throw new ReferenceError(error);\n }, 600);\n });\n !Browser.isiOS && this.$el.addClass('fullscreen');\n }\n }\n }, {\n key: \"onMouseMove\",\n value: function onMouseMove(event) {\n this.trigger(Events.CORE_MOUSE_MOVE, event);\n }\n }, {\n key: \"onMouseLeave\",\n value: function onMouseLeave(event) {\n this.trigger(Events.CORE_MOUSE_LEAVE, event);\n }\n\n /**\n * enables to configure the container after its creation\n * @method configure\n * @param {Object} options all the options to change in form of a javascript object\n */\n }, {\n key: \"configure\",\n value: function configure(options) {\n var _this7 = this;\n var oldOptions = $.extend(true, {}, this._options);\n this.trigger(Events.CORE_OPTIONS_WILL_CHANGE, oldOptions);\n this._options = $.extend(true, this._options, options);\n this.configureDomRecycler();\n var sources = options.source || options.sources;\n sources && this.load(sources, options.mimeType || this.options.mimeType);\n this.trigger(Events.CORE_OPTIONS_CHANGE, options);\n this.containers.forEach(function (container) {\n return container.configure(_this7.options, oldOptions);\n });\n }\n }, {\n key: \"appendToParent\",\n value: function appendToParent() {\n var hasCoreParent = this.$el.parent() && this.$el.parent().length;\n !hasCoreParent && this.$el.appendTo(this.options.parentElement);\n }\n }, {\n key: \"appendStyles\",\n value: function appendStyles() {\n if (this.styleRendered) return;\n var style = Styler.getStyleFor(css_248z$4.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n if (this.options.includeResetStyle) {\n var resetStyle = Styler.getStyleFor(css_248z$3.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(resetStyle[0]);\n }\n this.styleRendered = true;\n }\n }, {\n key: \"render\",\n value: function render() {\n this.appendStyles();\n this.options.width = this.options.width || this.$el.width();\n this.options.height = this.options.height || this.$el.height();\n var size = {\n width: this.options.width,\n height: this.options.height\n };\n this.previousSize = this.currentSize = this.computedSize = size;\n this.updateSize();\n this.enableResizeObserver();\n return this;\n }\n }]);\n}(UIObject);\nObject.assign(Core.prototype, ErrorMixin);\n\n/**\n * The Core Factory is responsible for instantiate the core and it's plugins.\n * @class CoreFactory\n * @constructor\n * @extends BaseObject\n * @module components\n */\nvar CoreFactory = /*#__PURE__*/function (_BaseObject) {\n /**\n * it builds the core factory\n * @method constructor\n * @param {Player} player the player object\n */\n function CoreFactory(player) {\n var _this;\n _classCallCheck(this, CoreFactory);\n _this = _callSuper(this, CoreFactory, [player.options]);\n _this.player = player;\n return _this;\n }\n\n /**\n * creates a core and its plugins\n * @method create\n * @return {Core} created core\n */\n _inherits(CoreFactory, _BaseObject);\n return _createClass(CoreFactory, [{\n key: \"loader\",\n get: function get() {\n return this.player.loader;\n }\n }, {\n key: \"create\",\n value: function create() {\n this.options.loader = this.loader;\n this.core = new Core(this.options);\n this.addCorePlugins();\n this.core.createContainers(this.options);\n return this.core;\n }\n\n /**\n * given the core plugins (`loader.corePlugins`) it builds each one\n * @method addCorePlugins\n * @return {Core} the core with all plugins\n */\n }, {\n key: \"addCorePlugins\",\n value: function addCorePlugins() {\n var _this2 = this;\n this.loader.corePlugins.forEach(function (Plugin) {\n var plugin = new Plugin(_this2.core);\n _this2.core.addPlugin(plugin);\n _this2.setupExternalInterface(plugin);\n });\n return this.core;\n }\n }, {\n key: \"setupExternalInterface\",\n value: function setupExternalInterface(plugin) {\n var externalFunctions = plugin.getExternalInterface();\n for (var key in externalFunctions) {\n this.player[key] = externalFunctions[key].bind(plugin);\n }\n }\n }]);\n}(BaseObject);\n\nvar VERSION_REGEX = /(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?/;\nvar Version = /*#__PURE__*/function () {\n function Version(major, minor, patch) {\n _classCallCheck(this, Version);\n this.major = parseInt(major || 0, 10);\n this.minor = parseInt(minor || 0, 10);\n this.patch = parseInt(patch || 0, 10);\n }\n return _createClass(Version, [{\n key: \"compare\",\n value: function compare(other) {\n var diff = this.major - other.major;\n diff = diff || this.minor - other.minor;\n diff = diff || this.patch - other.patch;\n return diff;\n }\n }, {\n key: \"inc\",\n value: function inc() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'patch';\n typeof this[type] !== 'undefined' && (this[type] += 1);\n return this;\n }\n }, {\n key: \"satisfies\",\n value: function satisfies(min, max) {\n return this.compare(min) >= 0 && (!max || this.compare(max) < 0);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.major, \".\").concat(this.minor, \".\").concat(this.patch);\n }\n }], [{\n key: \"parse\",\n value: function parse() {\n var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var matches = str.match(VERSION_REGEX) || [];\n var _matches = _slicedToArray(matches, 4),\n major = _matches[1],\n minor = _matches[2],\n patch = _matches[3];\n if (typeof major === 'undefined') return null;\n return new Version(major, minor, patch);\n }\n }]);\n}();\n\nvar filterPluginsByType = function filterPluginsByType(plugins, type) {\n if (!plugins || !type) return {};\n return Object.entries(plugins).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n value = _ref2[1];\n return value.type === type;\n }).reduce(function (obj, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n obj[key] = value;\n return obj;\n }, {});\n};\n\n/**\n * It keeps a list of the default plugins (playback, container, core) and it merges external plugins with its internals.\n * @class Loader\n * @constructor\n * @extends BaseObject\n * @module components\n */\nvar Loader = (function () {\n var registry = {\n plugins: {},\n playbacks: []\n };\n var currentVersion = \"0.13.0\";\n return /*#__PURE__*/function () {\n /**\n * builds the loader\n * @method constructor\n * @param {Object} externalPlugins the external plugins\n * @param {Number} playerId you can embed multiple instances of clappr, therefore this is the unique id of each one.\n */\n function Loader() {\n var externalPlugins = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var playerId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n _classCallCheck(this, Loader);\n this.playerId = playerId;\n this.playbackPlugins = _toConsumableArray(registry.playbacks);\n var _Loader$registeredPlu = Loader.registeredPlugins,\n core = _Loader$registeredPlu.core,\n container = _Loader$registeredPlu.container;\n this.containerPlugins = Object.values(container);\n this.corePlugins = Object.values(core);\n if (!Array.isArray(externalPlugins)) this.validateExternalPluginsType(externalPlugins);\n this.addExternalPlugins(externalPlugins);\n }\n\n /**\n * groups by type the external plugins that were passed through `options.plugins` it they're on a flat array\n * @method addExternalPlugins\n * @param {Object} an config object or an array of plugins\n * @return {Object} plugins the config object with the plugins separated by type\n */\n return _createClass(Loader, [{\n key: \"groupPluginsByType\",\n value: function groupPluginsByType(plugins) {\n if (Array.isArray(plugins)) {\n plugins = plugins.reduce(function (memo, plugin) {\n memo[plugin.type] || (memo[plugin.type] = []);\n memo[plugin.type].push(plugin);\n return memo;\n }, {});\n }\n return plugins;\n }\n }, {\n key: \"removeDups\",\n value: function removeDups(list) {\n var useReversePrecedence = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var groupUp = function groupUp(plugins, plugin) {\n if (plugins[plugin.prototype.name] && useReversePrecedence) return plugins;\n plugins[plugin.prototype.name] && delete plugins[plugin.prototype.name];\n plugins[plugin.prototype.name] = plugin;\n return plugins;\n };\n var pluginsMap = list.reduceRight(groupUp, Object.create(null));\n var plugins = [];\n for (var key in pluginsMap) plugins.unshift(pluginsMap[key]);\n return plugins;\n }\n\n /**\n * adds all the external plugins that were passed through `options.plugins`\n * @method addExternalPlugins\n * @param {Object} plugins the config object with all plugins\n */\n }, {\n key: \"addExternalPlugins\",\n value: function addExternalPlugins(plugins) {\n var loadExternalPluginsFirst = typeof plugins.loadExternalPluginsFirst === 'boolean' ? plugins.loadExternalPluginsFirst : true;\n var loadExternalPlaybacksFirst = typeof plugins.loadExternalPlaybacksFirst === 'boolean' ? plugins.loadExternalPlaybacksFirst : true;\n plugins = this.groupPluginsByType(plugins);\n if (plugins.playback) {\n var playbacks = plugins.playback.filter(function (playback) {\n Loader.checkVersionSupport(playback);\n return true;\n });\n this.playbackPlugins = loadExternalPlaybacksFirst ? this.removeDups(playbacks.concat(this.playbackPlugins)) : this.removeDups(this.playbackPlugins.concat(playbacks), true);\n }\n if (plugins.container) {\n var containerPlugins = plugins.container.filter(function (plugin) {\n Loader.checkVersionSupport(plugin);\n return true;\n });\n this.containerPlugins = loadExternalPluginsFirst ? this.removeDups(containerPlugins.concat(this.containerPlugins)) : this.removeDups(this.containerPlugins.concat(containerPlugins), true);\n }\n if (plugins.core) {\n var corePlugins = plugins.core.filter(function (plugin) {\n Loader.checkVersionSupport(plugin);\n return true;\n });\n this.corePlugins = loadExternalPluginsFirst ? this.removeDups(corePlugins.concat(this.corePlugins)) : this.removeDups(this.corePlugins.concat(corePlugins), true);\n }\n }\n\n /**\n * validate if the external plugins that were passed through `options.plugins` are associated to the correct type\n * @method validateExternalPluginsType\n * @param {Object} plugins the config object with all plugins\n */\n }, {\n key: \"validateExternalPluginsType\",\n value: function validateExternalPluginsType(plugins) {\n var pluginTypes = ['playback', 'container', 'core'];\n pluginTypes.forEach(function (type) {\n var pluginsByType = plugins[type] || [];\n pluginsByType.forEach(function (el) {\n var errorMessage = 'external ' + el.type + ' plugin on ' + type + ' array';\n if (el.type !== type) throw new ReferenceError(errorMessage);\n });\n });\n }\n }], [{\n key: \"registeredPlaybacks\",\n get: function get() {\n return _toConsumableArray(registry.playbacks);\n }\n }, {\n key: \"registeredPlugins\",\n get: function get() {\n var plugins = registry.plugins;\n var core = filterPluginsByType(plugins, 'core');\n var container = filterPluginsByType(plugins, 'container');\n return {\n core: core,\n container: container\n };\n }\n }, {\n key: \"checkVersionSupport\",\n value: function checkVersionSupport(entry) {\n var _entry$prototype = entry.prototype,\n supportedVersion = _entry$prototype.supportedVersion,\n name = _entry$prototype.name;\n if (!supportedVersion || !supportedVersion.min) {\n Log.warn('Loader', \"missing version information for \".concat(name));\n return false;\n }\n var maxVersion = supportedVersion.max ? Version.parse(supportedVersion.max) : Version.parse(supportedVersion.min).inc('minor');\n var minVersion = Version.parse(supportedVersion.min);\n if (!Version.parse(currentVersion).satisfies(minVersion, maxVersion)) {\n Log.warn('Loader', \"unsupported plugin \".concat(name, \": Clappr version \").concat(currentVersion, \" does not match required range [\").concat(minVersion, \",\").concat(maxVersion, \")\"));\n return false;\n }\n return true;\n }\n }, {\n key: \"registerPlugin\",\n value: function registerPlugin(pluginEntry) {\n if (!pluginEntry || !pluginEntry.prototype.name) {\n Log.warn('Loader', \"missing information to register plugin: \".concat(pluginEntry));\n return false;\n }\n Loader.checkVersionSupport(pluginEntry);\n var pluginRegistry = registry.plugins;\n if (!pluginRegistry) return false;\n var previousEntry = pluginRegistry[pluginEntry.prototype.name];\n if (previousEntry) {\n Log.warn('Loader', \"overriding plugin entry: \".concat(pluginEntry.prototype.name, \" - \").concat(previousEntry));\n }\n pluginRegistry[pluginEntry.prototype.name] = pluginEntry;\n return true;\n }\n }, {\n key: \"registerPlayback\",\n value: function registerPlayback(playbackEntry) {\n if (!playbackEntry || !playbackEntry.prototype.name) return false;\n Loader.checkVersionSupport(playbackEntry);\n var playbacks = registry.playbacks;\n var previousEntryIdx = playbacks.findIndex(function (entry) {\n return entry.prototype.name === playbackEntry.prototype.name;\n });\n if (previousEntryIdx >= 0) {\n var previousEntry = playbacks[previousEntryIdx];\n playbacks.splice(previousEntryIdx, 1);\n Log.warn('Loader', \"overriding playback entry: \".concat(previousEntry.name, \" - \").concat(previousEntry));\n }\n registry.playbacks = [playbackEntry].concat(_toConsumableArray(playbacks));\n return true;\n }\n }, {\n key: \"unregisterPlugin\",\n value: function unregisterPlugin(name) {\n if (!name) return false;\n var plugins = registry.plugins;\n var plugin = plugins[name];\n if (!plugin) return false;\n delete plugins[name];\n return true;\n }\n }, {\n key: \"unregisterPlayback\",\n value: function unregisterPlayback(name) {\n if (!name) return false;\n var playbacks = registry.playbacks;\n var index = playbacks.findIndex(function (entry) {\n return entry.prototype.name === name;\n });\n if (index < 0) return false;\n playbacks.splice(index, 1);\n registry.playbacks = playbacks;\n return true;\n }\n }, {\n key: \"clearPlugins\",\n value: function clearPlugins() {\n registry.plugins = {};\n }\n }, {\n key: \"clearPlaybacks\",\n value: function clearPlaybacks() {\n registry.playbacks = [];\n }\n }]);\n }();\n})();\n\nvar baseUrl = currentScriptUrl().replace(/\\/[^/]+$/, '');\n\n/**\n * @class Player\n * @constructor\n * @extends BaseObject\n * @module components\n * @example\n * ### Using the Player\n *\n * Add the following script on your HTML:\n * ```html\n * <head>\n * <script type=\"text/javascript\" src=\"http://cdn.clappr.io/latest/clappr.min.js\"></script>\n * </head>\n * ```\n * Now, create the player:\n * ```html\n * <body>\n * <div id=\"player\"></div>\n * <script>\n * var player = new Clappr.Player({source: \"http://your.video/here.mp4\", parentId: \"#player\"});\n * </script>\n * </body>\n * ```\n */\nvar Player = /*#__PURE__*/function (_BaseObject) {\n /**\n * @typedef {Object} PlaybackConfig\n * @prop {boolean} disableContextMenu\n * disables the context menu (right click) on the video element if a HTML5Video playback is used.\n * @prop {boolean} preload\n * video will be preloaded according to `preload` attribute options **default**: `'metadata'`\n * @prop {boolean} controls\n * enabled/disables displaying controls\n * @prop {boolean} crossOrigin\n * enables cross-origin capability for media-resources\n * @prop {boolean} playInline\n * enables in-line video elements\n * @prop {boolean} audioOnly\n * enforce audio-only playback (when possible)\n * @prop {Object} externalTracks\n * pass externaly loaded track to playback\n * @prop {Number} [maxBufferLength]\n * The default behavior for the **HLS playback** is to keep buffering indefinitely, even on VoD.\n * This replicates the behavior for progressive download, which continues buffering when pausing the video, thus making the video available for playback even on slow networks.\n * To change this behavior use `maxBufferLength` where **value is in seconds**.\n * @prop {Number} [maxBackBufferLength]\n * After how much distance of the playhead data should be pruned from the buffer (influences memory consumption\n * of adaptive media-engines like Hls.js or Shaka)\n * @prop {Number} [minBufferLength]\n * After how much data in the buffer at least we attempt to consume it (influences QoS-related behavior\n * of adaptive media-engines like Hls.js or Shaka). If this is too low, and the available bandwidth is varying a lot\n * and too close to the streamed bitrate, we may continuously hit under-runs.\n * @prop {Number} [initialBandwidthEstimate]\n * define an initial bandwidth \"guess\" (or previously stored/established value) for underlying adaptive-bitreate engines\n * of adaptive playback implementations, like Hls.js or Shaka\n * @prop {Number} [maxAdaptiveBitrate]\n * Limits the streamed bitrate (for adaptive media-engines in underlying playback implementations)\n * @prop {Object} [maxAdaptiveVideoDimensions]\n * Limits the video dimensions in adaptive media-engines. Should be a literal object with `height` and `width`.\n * @prop {Boolean}[enableAutomaticABR] **default**: `true`\n * Allows to enable/disable automatic bitrate switching in adaptive media-engines\n * @prop {String} [preferredTextLanguage] **default**: `'pt-BR'`\n * Allows to set a preferred text language, that may be enabled by the media-engine if available.\n * @prop {String} [preferredAudioLanguage] **default**: `'pt-BR'`\n * Allows to set a preferred audio language, that may be enabled by the media-engine if available.\n */\n\n /**\n * ## Player's constructor\n *\n * You might pass the options object to build the player.\n * ```javascript\n * var options = {source: \"http://example.com/video.mp4\", param1: \"val1\"};\n * var player = new Clappr.Player(options);\n * ```\n *\n * @method constructor\n * @param {Object} options Data\n * options to build a player instance\n * @param {Number} [options.width]\n * player's width **default**: `640`\n * @param {Number} [options.height]\n * player's height **default**: `360`\n * @param {String} [options.parentId]\n * the id of the element on the page that the player should be inserted into\n * @param {Object} [options.parent]\n * a reference to a dom element that the player should be inserted into\n * @param {String} [options.source]\n * The media source URL, or {source: <<source URL>>, mimeType: <<source mime type>>}\n * @param {Object} [options.sources]\n * An array of media source URL's, or an array of {source: <<source URL>>, mimeType: <<source mime type>>}\n * @param {Boolean} [options.autoPlay]\n * automatically play after page load **default**: `false`\n * @param {Boolean} [options.loop]\n * automatically replay after it ends **default**: `false`\n * @param {Boolean} [options.chromeless]\n * player acts in chromeless mode **default**: `false`\n * @param {Boolean} [options.allowUserInteraction]\n * whether or not the player should handle click events when in chromeless mode **default**: `false` on desktops browsers, `true` on mobile.\n * @param {Boolean} [options.disableKeyboardShortcuts]\n * disable keyboard shortcuts. **default**: `false`. `true` if `allowUserInteraction` is `false`.\n * @param {Boolean} [options.mute]\n * start the video muted **default**: `false`\n * @param {String} [options.mimeType]\n * add `mimeType: \"application/vnd.apple.mpegurl\"` if you need to use a url without extension.\n * @param {Boolean} [options.actualLiveTime]\n * show duration and seek time relative to actual time.\n * @param {String} [options.actualLiveServerTime]\n * specify server time as a string, format: \"2015/11/26 06:01:03\". This option is meant to be used with actualLiveTime.\n * @param {Boolean} [options.persistConfig]\n * persist player's settings (volume) through the same domain **default**: `true`\n * @param {String} [options.preload] @deprecated\n * video will be preloaded according to `preload` attribute options **default**: `'metadata'`\n * @param {Number} [options.maxBufferLength] @deprecated\n * the default behavior for the **HLS playback** is to keep buffering indefinitely, even on VoD.\n * This replicates the behavior for progressive download, which continues buffering when pausing the video, thus making the video available for playback even on slow networks.\n * To change this behavior use `maxBufferLength` where **value is in seconds**.\n * @param {String} [options.gaAccount]\n * enable Google Analytics events dispatch **(play/pause/stop/buffering/etc)** by adding your `gaAccount`\n * @param {String} [options.gaTrackerName]\n * besides `gaAccount` you can optionally, pass your favorite trackerName as `gaTrackerName`\n * @param {Object} [options.mediacontrol]\n * customize control bar colors, example: `mediacontrol: {seekbar: \"#E113D3\", buttons: \"#66B2FF\"}`\n * @param {Boolean} [options.hideMediaControl]\n * control media control auto hide **default**: `true`\n * @param {Boolean} [options.hideVolumeBar]\n * when embedded with width less than 320, volume bar will hide. You can force this behavior for all sizes by adding `true` **default**: `false`\n * @param {String} [options.watermark]\n * put `watermark: 'http://url/img.png'` on your embed parameters to automatically add watermark on your video.\n * You can customize corner position by defining position parameter. Positions can be `bottom-left`, `bottom-right`, `top-left` and `top-right`.\n * @param {String} [options.watermarkLink]\n * `watermarkLink: 'http://example.net/'` - define URL to open when the watermark is clicked. If not provided watermark will not be clickable.\n * @param {Boolean} [options.disableVideoTagContextMenu] @deprecated\n * disables the context menu (right click) on the video element if a HTML5Video playback is used.\n * @param {Boolean} [options.autoSeekFromUrl]\n * Automatically seek to the seconds provided in the url (e.g example.com?t=100) **default**: `true`\n * @param {Boolean} [options.exitFullscreenOnEnd]\n * Automatically exit full screen when the media finishes. **default**: `true`\n * @param {String} [options.poster]\n * define a poster by adding its address `poster: 'http://url/img.png'`. It will appear after video embed, disappear on play and go back when user stops the video.\n * @param {String} [options.playbackNotSupportedMessage]\n * define a custom message to be displayed when a playback is not supported.\n * @param {Object} [options.events]\n * Specify listeners which will be registered with their corresponding player events.\n * E.g. onReady -> \"PLAYER_READY\", onTimeUpdate -> \"PLAYER_TIMEUPDATE\"\n * @param {PlaybackConfig} [options.playback]\n * Generic `Playback` component related configuration\n * @param {Boolean} [options.disableErrorScreen]\n * disables the error screen plugin.\n * @param {Number} [options.autoPlayTimeout]\n * autoplay check timeout.\n */\n\n function Player(options) {\n var _this;\n _classCallCheck(this, Player);\n _this = _callSuper(this, Player, [options]);\n var playbackDefaultOptions = {\n recycleVideo: true\n };\n var defaultOptions = {\n playerId: uniqueId(''),\n persistConfig: true,\n width: 640,\n height: 360,\n baseUrl: baseUrl,\n allowUserInteraction: Browser.isMobile,\n includeResetStyle: true,\n playback: playbackDefaultOptions\n };\n _this._options = $.extend(true, defaultOptions, options);\n _this.options.sources = _this._normalizeSources(options);\n if (!_this.options.chromeless) {\n // \"allowUserInteraction\" cannot be false if not in chromeless mode.\n _this.options.allowUserInteraction = true;\n }\n if (!_this.options.allowUserInteraction) {\n // if user iteraction is not allowed ensure keyboard shortcuts are disabled\n _this.options.disableKeyboardShortcuts = true;\n }\n _this._registerOptionEventListeners(_this.options.events);\n _this._coreFactory = new CoreFactory(_this);\n var parentElement = _this._getParentElement(_this.options);\n parentElement && _this.attachTo(parentElement);\n return _this;\n }\n\n /**\n * Returns the parent element\n * @param {String} parentId\n * @param {Object} parent\n * @returns {Object} the parent element\n */\n _inherits(Player, _BaseObject);\n return _createClass(Player, [{\n key: \"loader\",\n get: function get() {\n if (!this._loader) {\n this._loader = new Loader(this.options.plugins || {}, this.options.playerId);\n }\n return this._loader;\n }\n\n /**\n * Determine if the playback has ended.\n * @property ended\n * @type Boolean\n */,\n set: function set(loader) {\n this._loader = loader;\n }\n }, {\n key: \"ended\",\n get: function get() {\n return this.core.activeContainer.ended;\n }\n\n /**\n * Determine if the playback is having to buffer in order for\n * playback to be smooth.\n * (i.e if a live stream is playing smoothly, this will be false)\n * @property buffering\n * @type Boolean\n */\n }, {\n key: \"buffering\",\n get: function get() {\n return this.core.activeContainer.buffering;\n }\n\n /*\n * determine if the player is ready.\n * @property isReady\n * @type {Boolean} `true` if the player is ready. ie PLAYER_READY event has fired\n */\n }, {\n key: \"isReady\",\n get: function get() {\n return !!this._ready;\n }\n\n /**\n * An events map that allows the user to add custom callbacks in player's options.\n * @property eventsMapping\n * @type {Object}\n */\n }, {\n key: \"eventsMapping\",\n get: function get() {\n return {\n onReady: Events.PLAYER_READY,\n onResize: Events.PLAYER_RESIZE,\n onPlay: Events.PLAYER_PLAY,\n onPause: Events.PLAYER_PAUSE,\n onStop: Events.PLAYER_STOP,\n onEnded: Events.PLAYER_ENDED,\n onSeek: Events.PLAYER_SEEK,\n onError: Events.PLAYER_ERROR,\n onTimeUpdate: Events.PLAYER_TIMEUPDATE,\n onVolumeUpdate: Events.PLAYER_VOLUMEUPDATE,\n onSubtitleAvailable: Events.PLAYER_SUBTITLE_AVAILABLE\n };\n }\n }, {\n key: \"_getParentElement\",\n value: function _getParentElement(_ref) {\n var parentId = _ref.parentId,\n parent = _ref.parent;\n if (parentId) return document.querySelector(parentId);\n return parent;\n }\n\n /**\n * You can use this method to attach the player to a given element. You don't need to do this when you specify it during the player instantiation passing the `parentId` param.\n * @method attachTo\n * @param {Object} element a given element.\n * @return {Player} itself\n */\n }, {\n key: \"attachTo\",\n value: function attachTo(element) {\n this.options.parentElement = element;\n this.core = this._coreFactory.create();\n this._addEventListeners();\n return this;\n }\n }, {\n key: \"_addEventListeners\",\n value: function _addEventListeners() {\n if (!this.core.isReady) {\n this.listenToOnce(this.core, Events.CORE_READY, this._onReady);\n } else {\n this._onReady();\n }\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this._containerChanged);\n this.listenTo(this.core, Events.CORE_FULLSCREEN, this._onFullscreenChange);\n this.listenTo(this.core, Events.CORE_RESIZE, this._onResize);\n return this;\n }\n }, {\n key: \"_addContainerEventListeners\",\n value: function _addContainerEventListeners() {\n var container = this.core.activeContainer;\n if (container) {\n this.listenTo(container, Events.CONTAINER_PLAY, this._onPlay);\n this.listenTo(container, Events.CONTAINER_PAUSE, this._onPause);\n this.listenTo(container, Events.CONTAINER_STOP, this._onStop);\n this.listenTo(container, Events.CONTAINER_ENDED, this._onEnded);\n this.listenTo(container, Events.CONTAINER_SEEK, this._onSeek);\n this.listenTo(container, Events.CONTAINER_ERROR, this._onError);\n this.listenTo(container, Events.CONTAINER_TIMEUPDATE, this._onTimeUpdate);\n this.listenTo(container, Events.CONTAINER_VOLUME, this._onVolumeUpdate);\n this.listenTo(container, Events.CONTAINER_SUBTITLE_AVAILABLE, this._onSubtitleAvailable);\n }\n return this;\n }\n }, {\n key: \"_registerOptionEventListeners\",\n value: function _registerOptionEventListeners() {\n var _this2 = this;\n var newEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var hasNewEvents = Object.keys(newEvents).length > 0;\n hasNewEvents && Object.keys(events).forEach(function (userEvent) {\n var eventType = _this2.eventsMapping[userEvent];\n eventType && _this2.off(eventType, events[userEvent]);\n });\n Object.keys(newEvents).forEach(function (userEvent) {\n var eventType = _this2.eventsMapping[userEvent];\n if (eventType) {\n var eventFunction = newEvents[userEvent];\n eventFunction = typeof eventFunction === 'function' && eventFunction;\n eventFunction && _this2.on(eventType, eventFunction);\n }\n });\n return this;\n }\n }, {\n key: \"_containerChanged\",\n value: function _containerChanged() {\n this.stopListening();\n this._addEventListeners();\n }\n }, {\n key: \"_onReady\",\n value: function _onReady() {\n this._ready = true;\n this._addContainerEventListeners();\n this.trigger(Events.PLAYER_READY);\n }\n }, {\n key: \"_onFullscreenChange\",\n value: function _onFullscreenChange(fullscreen) {\n this.trigger(Events.PLAYER_FULLSCREEN, fullscreen);\n }\n }, {\n key: \"_onVolumeUpdate\",\n value: function _onVolumeUpdate(volume) {\n this.trigger(Events.PLAYER_VOLUMEUPDATE, volume);\n }\n }, {\n key: \"_onSubtitleAvailable\",\n value: function _onSubtitleAvailable() {\n this.trigger(Events.PLAYER_SUBTITLE_AVAILABLE);\n }\n }, {\n key: \"_onResize\",\n value: function _onResize(size) {\n this.trigger(Events.PLAYER_RESIZE, size);\n }\n }, {\n key: \"_onPlay\",\n value: function _onPlay(_) {\n var eventMetadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.trigger(Events.PLAYER_PLAY, eventMetadata);\n }\n }, {\n key: \"_onPause\",\n value: function _onPause(_) {\n var eventMetadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.trigger(Events.PLAYER_PAUSE, eventMetadata);\n }\n }, {\n key: \"_onStop\",\n value: function _onStop() {\n var eventMetadata = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.trigger(Events.PLAYER_STOP, this.getCurrentTime(), eventMetadata);\n }\n }, {\n key: \"_onEnded\",\n value: function _onEnded() {\n this.trigger(Events.PLAYER_ENDED);\n }\n }, {\n key: \"_onSeek\",\n value: function _onSeek(time) {\n this.trigger(Events.PLAYER_SEEK, time);\n }\n }, {\n key: \"_onTimeUpdate\",\n value: function _onTimeUpdate(timeProgress) {\n this.trigger(Events.PLAYER_TIMEUPDATE, timeProgress);\n }\n }, {\n key: \"_onError\",\n value: function _onError(error) {\n this.trigger(Events.PLAYER_ERROR, error);\n }\n }, {\n key: \"_normalizeSources\",\n value: function _normalizeSources(options) {\n var sources = options.sources || (options.source !== undefined ? [options.source] : []);\n return sources.length === 0 ? [{\n source: '',\n mimeType: ''\n }] : sources;\n }\n\n /**\n * resizes the current player canvas.\n * @method resize\n * @param {Object} size should be a literal object with `height` and `width`.\n * @return {Player} itself\n * @example\n * ```javascript\n * player.resize({height: 360, width: 640})\n * ```\n */\n }, {\n key: \"resize\",\n value: function resize(size) {\n this.core.resize(size);\n return this;\n }\n\n /**\n * loads a new source.\n * @method load\n * @param {Array|String} sources source or sources of video.\n * An array item can be a string or {source: <<source URL>>, mimeType: <<source mime type>>}\n * @param {String} mimeType a mime type, example: `'application/vnd.apple.mpegurl'`\n * @param {Boolean} [autoPlay=false] whether playing should be started immediately\n * @return {Player} itself\n */\n }, {\n key: \"load\",\n value: function load(sources, mimeType, autoPlay) {\n if (autoPlay !== undefined) {\n this.configure({\n autoPlay: !!autoPlay\n });\n }\n this.core.load(sources, mimeType);\n return this;\n }\n\n /**\n * destroys the current player and removes it from the DOM.\n * @method destroy\n * @return {Player} itself\n */\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n this.core.destroy();\n return this;\n }\n\n /**\n * Gives user consent to playback. Required by mobile device after a click event before Player.load().\n * @method consent\n * @param {Function} callback function called when current playback is consented\n * @example\n * ```javascript\n * player.consent(function() { doSomethingNext(); });\n * ```\n */\n }, {\n key: \"consent\",\n value: function consent(cb) {\n this.core.getCurrentPlayback().consent(cb);\n }\n\n /**\n * plays the current video (`source`).\n * @method play\n * @param {Object} customData\n * @return {Player} itself\n */\n }, {\n key: \"play\",\n value: function play() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.core.activeContainer.play(customData);\n return this;\n }\n\n /**\n * pauses the current video (`source`).\n * @method pause\n * @param {Object} customData\n * @return {Player} itself\n */\n }, {\n key: \"pause\",\n value: function pause() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.core.activeContainer.pause(customData);\n return this;\n }\n\n /**\n * stops the current video (`source`).\n * @method stop\n * @param {Object} customData\n * @return {Player} itself\n */\n }, {\n key: \"stop\",\n value: function stop() {\n var customData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.core.activeContainer.stop(customData);\n return this;\n }\n\n /**\n * seeks the current video (`source`). For example, `player.seek(120)` will seek to second 120 (2minutes) of the current video.\n * @method seek\n * @param {Number} time should be a number between 0 and the video duration.\n * @return {Player} itself\n */\n }, {\n key: \"seek\",\n value: function seek(time) {\n this.core.activeContainer.seek(time);\n return this;\n }\n\n /**\n * seeks the current video (`source`). For example, `player.seek(50)` will seek to the middle of the current video.\n * @method seekPercentage\n * @param {Number} time should be a number between 0 and 100.\n * @return {Player} itself\n */\n }, {\n key: \"seekPercentage\",\n value: function seekPercentage(percentage) {\n this.core.activeContainer.seekPercentage(percentage);\n return this;\n }\n\n /**\n * mutes the current video (`source`).\n * @method mute\n * @return {Player} itself\n */\n }, {\n key: \"mute\",\n value: function mute() {\n this.core.activePlayback.mute();\n return this;\n }\n\n /**\n * unmutes the current video (`source`).\n * @method unmute\n * @return {Player} itself\n */\n }, {\n key: \"unmute\",\n value: function unmute() {\n this.core.activePlayback.unmute();\n return this;\n }\n\n /**\n * checks if the player is playing.\n * @method isPlaying\n * @return {Boolean} `true` if the current source is playing, otherwise `false`\n */\n }, {\n key: \"isPlaying\",\n value: function isPlaying() {\n return this.core.activeContainer.isPlaying();\n }\n\n /**\n * returns `true` if DVR is enable otherwise `false`.\n * @method isDvrEnabled\n * @return {Boolean}\n */\n }, {\n key: \"isDvrEnabled\",\n value: function isDvrEnabled() {\n return this.core.activeContainer.isDvrEnabled();\n }\n\n /**\n * returns `true` if DVR is in use otherwise `false`.\n * @method isDvrInUse\n * @return {Boolean}\n */\n }, {\n key: \"isDvrInUse\",\n value: function isDvrInUse() {\n return this.core.activeContainer.isDvrInUse();\n }\n\n /**\n * enables to configure a player after its creation\n * @method configure\n * @param {Object} options all the options to change in form of a javascript object\n * @return {Player} itself\n */\n }, {\n key: \"configure\",\n value: function configure() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this._registerOptionEventListeners(options.events, this.options.events);\n this.core.configure(options);\n return this;\n }\n\n /**\n * get a plugin by its name.\n * @method getPlugin\n * @param {String} name of the plugin.\n * @return {Object} the plugin instance\n * @example\n * ```javascript\n * var poster = player.getPlugin('poster');\n * poster.hidePlayButton();\n * ```\n */\n }, {\n key: \"getPlugin\",\n value: function getPlugin(name) {\n var plugins = this.core.plugins.concat(this.core.activeContainer.plugins);\n return plugins.filter(function (plugin) {\n return plugin.name === name;\n })[0];\n }\n\n /**\n * the current time in seconds.\n * @method getCurrentTime\n * @return {Number} current time (in seconds) of the current source\n */\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.core.activeContainer.getCurrentTime();\n }\n\n /**\n * The time that \"0\" now represents relative to when playback started.\n * For a stream with a sliding window this will increase as content is\n * removed from the beginning.\n * @method getStartTimeOffset\n * @return {Number} time (in seconds) that time \"0\" represents.\n */\n }, {\n key: \"getStartTimeOffset\",\n value: function getStartTimeOffset() {\n return this.core.activeContainer.getStartTimeOffset();\n }\n\n /**\n * the duration time in seconds.\n * @method getDuration\n * @return {Number} duration time (in seconds) of the current source\n */\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.core.activeContainer.getDuration();\n }\n }]);\n}(BaseObject);\nObject.assign(Player.prototype, ErrorMixin);\n\n/**\n * The base class for a container plugin\n * @class ContainerPlugin\n * @constructor\n * @extends BaseObject\n * @module base\n */\nvar ContainerPlugin = /*#__PURE__*/function (_BaseObject) {\n function ContainerPlugin(container) {\n var _this;\n _classCallCheck(this, ContainerPlugin);\n _this = _callSuper(this, ContainerPlugin, [container.options]);\n _this.container = container;\n _this.enabled = true;\n _this.bindEvents();\n return _this;\n }\n _inherits(ContainerPlugin, _BaseObject);\n return _createClass(ContainerPlugin, [{\n key: \"playerError\",\n get: function get() {\n return this.container.playerError;\n }\n }, {\n key: \"enable\",\n value: function enable() {\n if (!this.enabled) {\n this.bindEvents();\n this.enabled = true;\n }\n }\n }, {\n key: \"disable\",\n value: function disable() {\n if (this.enabled) {\n this.stopListening();\n this.enabled = false;\n }\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {}\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }]);\n}(BaseObject);\nObject.assign(ContainerPlugin.prototype, ErrorMixin);\nContainerPlugin.extend = function (properties) {\n return extend(ContainerPlugin, properties);\n};\nContainerPlugin.type = 'container';\n\nvar CorePlugin = /*#__PURE__*/function (_BaseObject) {\n function CorePlugin(core) {\n var _this;\n _classCallCheck(this, CorePlugin);\n _this = _callSuper(this, CorePlugin, [core.options]);\n _this.core = core;\n _this.enabled = true;\n _this.bindEvents();\n return _this;\n }\n _inherits(CorePlugin, _BaseObject);\n return _createClass(CorePlugin, [{\n key: \"playerError\",\n get: function get() {\n return this.core.playerError;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {}\n }, {\n key: \"enable\",\n value: function enable() {\n if (!this.enabled) {\n this.bindEvents();\n this.enabled = true;\n }\n }\n }, {\n key: \"disable\",\n value: function disable() {\n if (this.enabled) {\n this.stopListening();\n this.enabled = false;\n }\n }\n }, {\n key: \"getExternalInterface\",\n value: function getExternalInterface() {\n return {};\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }]);\n}(BaseObject);\nObject.assign(CorePlugin.prototype, ErrorMixin);\nCorePlugin.extend = function (properties) {\n return extend(CorePlugin, properties);\n};\nCorePlugin.type = 'core';\n\n/**\n * The base class for an ui container plugin\n * @class UIContainerPlugin\n * @constructor\n * @extends UIObject\n * @module base\n */\nvar UIContainerPlugin = /*#__PURE__*/function (_UIObject) {\n function UIContainerPlugin(container) {\n var _this;\n _classCallCheck(this, UIContainerPlugin);\n _this = _callSuper(this, UIContainerPlugin, [container.options]);\n _this.container = container;\n _this.enabled = true;\n _this.bindEvents();\n return _this;\n }\n _inherits(UIContainerPlugin, _UIObject);\n return _createClass(UIContainerPlugin, [{\n key: \"playerError\",\n get: function get() {\n return this.container.playerError;\n }\n }, {\n key: \"enable\",\n value: function enable() {\n if (!this.enabled) {\n this.bindEvents();\n this.$el.show();\n this.enabled = true;\n }\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.stopListening();\n this.$el.hide();\n this.enabled = false;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {}\n }]);\n}(UIObject);\nObject.assign(UIContainerPlugin.prototype, ErrorMixin);\nUIContainerPlugin.extend = function (properties) {\n return extend(UIContainerPlugin, properties);\n};\nUIContainerPlugin.type = 'container';\n\nvar tracksHTML = \"<% for (var i = 0; i < tracks.length; i++) { %>\\n <track data-html5-video-track=\\\"<%= i %>\\\" kind=\\\"<%= tracks[i].kind %>\\\" label=\\\"<%= tracks[i].label %>\\\" srclang=\\\"<%= tracks[i].lang %>\\\" src=\\\"<%= tracks[i].src %>\\\">\\n<% }; %>\\n\";\n\nvar css_248z$2 = \"[data-html5-video] {\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n display: block; }\\n\";\n\nvar MIMETYPES = {\n mp4: ['avc1.42E01E', 'avc1.58A01E', 'avc1.4D401E', 'avc1.64001E', 'mp4v.20.8', 'mp4v.20.240', 'mp4a.40.2'].map(function (codec) {\n return 'video/mp4; codecs=\"' + codec + ', mp4a.40.2\"';\n }),\n ogg: ['video/ogg; codecs=\"theora, vorbis\"', 'video/ogg; codecs=\"dirac\"', 'video/ogg; codecs=\"theora, speex\"'],\n '3gpp': ['video/3gpp; codecs=\"mp4v.20.8, samr\"'],\n webm: ['video/webm; codecs=\"vp8, vorbis\"'],\n mkv: ['video/x-matroska; codecs=\"theora, vorbis\"'],\n m3u8: ['application/x-mpegurl']\n};\nMIMETYPES.ogv = MIMETYPES.ogg;\nMIMETYPES['3gp'] = MIMETYPES['3gpp'];\nvar AUDIO_MIMETYPES = {\n wav: ['audio/wav'],\n mp3: ['audio/mp3', 'audio/mpeg;codecs=\"mp3\"'],\n aac: ['audio/mp4;codecs=\"mp4a.40.5\"'],\n oga: ['audio/ogg']\n};\nvar KNOWN_AUDIO_MIMETYPES = Object.keys(AUDIO_MIMETYPES).reduce(function (acc, k) {\n return [].concat(_toConsumableArray(acc), _toConsumableArray(AUDIO_MIMETYPES[k]));\n}, []);\nvar UNKNOWN_ERROR = {\n code: 'unknown',\n message: 'unknown'\n};\n\n// TODO: rename this Playback to HTML5Playback (breaking change, only after 0.3.0)\nvar HTML5Video = /*#__PURE__*/function (_Playback) {\n function HTML5Video() {\n var _this;\n _classCallCheck(this, HTML5Video);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, HTML5Video, [].concat(args));\n _this._destroyed = false;\n _this._loadStarted = false;\n _this._isBuffering = false;\n _this._playheadMoving = false;\n _this._playheadMovingTimer = null;\n _this._stopped = false;\n _this._ccTrackId = -1;\n _this._playheadMovingCheckEnabled = !_this.options.disablePlayheadMovingCheck;\n _this._setupSrc(_this.options.src);\n _this._playheadMovingCheckInterval = _this.options.playheadMovingCheckInterval || 500;\n // backwards compatibility (TODO: remove on 0.3.0)\n _this.options.playback || (_this.options.playback = _this.options || {});\n _this.options.playback.disableContextMenu = _this.options.playback.disableContextMenu || _this.options.disableVideoTagContextMenu;\n _this._minDvrSize = _this.isValidMinimumDVRSizeConfig ? _this.minimumDVRSizeConfig : 60;\n var playbackConfig = _this.options.playback;\n var preload = playbackConfig.preload || (Browser.isSafari ? 'auto' : _this.options.preload);\n var posterUrl; // FIXME: poster plugin should always convert poster to object with expected properties ?\n if (_this.options.poster) {\n if (typeof _this.options.poster === 'string') {\n posterUrl = _this.options.poster;\n } else if (typeof _this.options.poster.url === 'string') {\n posterUrl = _this.options.poster.url;\n }\n }\n $.extend(true, _this.el, {\n muted: _this.options.mute,\n defaultMuted: _this.options.mute,\n loop: _this.options.loop,\n poster: posterUrl,\n preload: preload || 'metadata',\n crossOrigin: playbackConfig.crossOrigin,\n 'x-webkit-playsinline': playbackConfig.playInline\n });\n if (playbackConfig.controls || _this.options.useVideoTagDefaultControls) {\n _this.$el.attr('controls', '');\n }\n playbackConfig.playInline && _this.$el.attr({\n playsinline: 'playsinline'\n });\n playbackConfig.crossOrigin && _this.$el.attr({\n crossorigin: playbackConfig.crossOrigin\n });\n\n // TODO should settings be private?\n _this.settings = {\n \"default\": ['seekbar']\n };\n _this.settings.left = ['playpause', 'position', 'duration'];\n _this.settings.right = ['fullscreen', 'volume', 'hd-indicator'];\n playbackConfig.externalTracks && _this._setupExternalTracks(playbackConfig.externalTracks);\n _this.options.autoPlay && _this.attemptAutoPlay();\n return _this;\n }\n _inherits(HTML5Video, _Playback);\n return _createClass(HTML5Video, [{\n key: \"name\",\n get: function get() {\n return 'html5_video';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"tagName\",\n get: function get() {\n return this.isAudioOnly ? 'audio' : 'video';\n }\n }, {\n key: \"isAudioOnly\",\n get: function get() {\n var resourceUrl = this.options.src;\n var mimeTypes = HTML5Video._mimeTypesForUrl(resourceUrl, AUDIO_MIMETYPES, this.options.mimeType);\n return this.options.playback && this.options.playback.audioOnly || this.options.audioOnly || KNOWN_AUDIO_MIMETYPES.indexOf(mimeTypes[0]) >= 0;\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'data-html5-video': ''\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n canplay: '_onCanPlay',\n canplaythrough: '_handleBufferingEvents',\n durationchange: '_onDurationChange',\n ended: '_onEnded',\n error: '_onError',\n loadeddata: '_onLoadedData',\n loadedmetadata: '_onLoadedMetadata',\n pause: '_onPause',\n playing: '_onPlaying',\n progress: '_onProgress',\n seeking: '_onSeeking',\n seeked: '_onSeeked',\n stalled: '_handleBufferingEvents',\n timeupdate: '_onTimeUpdate',\n waiting: '_onWaiting',\n enterpictureinpicture: '_onEnterPiP',\n leavepictureinpicture: '_onExitPiP'\n };\n }\n\n /**\n * Determine if the playback has ended.\n * @property ended\n * @type Boolean\n */\n }, {\n key: \"ended\",\n get: function get() {\n return this.el.ended;\n }\n\n /**\n * Determine if the playback is having to buffer in order for\n * playback to be smooth.\n * This is related to the PLAYBACK_BUFFERING and PLAYBACK_BUFFERFULL events\n * @property buffering\n * @type Boolean\n */\n }, {\n key: \"buffering\",\n get: function get() {\n return this._isBuffering;\n }\n }, {\n key: \"isPiPActive\",\n get: function get() {\n return this.el === document.pictureInPictureElement;\n }\n }, {\n key: \"isLive\",\n get: function get() {\n return this.getPlaybackType() === Playback.LIVE;\n }\n }, {\n key: \"dvrEnabled\",\n get: function get() {\n return this.getDuration() >= this._minDvrSize && this.isLive;\n }\n }, {\n key: \"minimumDVRSizeConfig\",\n get: function get() {\n return this.options.playback && this.options.playback.minimumDvrSize;\n }\n }, {\n key: \"isValidMinimumDVRSizeConfig\",\n get: function get() {\n return typeof this.minimumDVRSizeConfig !== 'undefined' && typeof this.minimumDVRSizeConfig === 'number';\n }\n }, {\n key: \"sourceMedia\",\n get: function get() {\n return this._src;\n }\n }, {\n key: \"configure\",\n value: function configure(options) {\n _superPropGet(HTML5Video, \"configure\", this)([options]);\n this.el.loop = !!options.loop;\n }\n\n // See Playback.attemptAutoPlay()\n }, {\n key: \"attemptAutoPlay\",\n value: function attemptAutoPlay() {\n var _this2 = this;\n this.canAutoPlay(function (result, error) {\n error && Log.warn(_this2.name, 'autoplay error.', {\n result: result,\n error: error\n });\n\n // https://github.com/clappr/clappr/issues/1076\n result && setTimeout(function () {\n return !_this2._destroyed && _this2.play();\n }, 0);\n });\n }\n\n // See Playback.canAutoPlay()\n }, {\n key: \"canAutoPlay\",\n value: function canAutoPlay(cb) {\n if (this.options.disableCanAutoPlay) {\n cb(true, null);\n return;\n }\n var opts = {\n timeout: this.options.autoPlayTimeout || 500,\n inline: this.options.playback.playInline || false,\n muted: this.options.mute || false // Known issue: mediacontrols may asynchronously mute video\n };\n\n // Use current video element if recycling feature enabled with mobile devices\n if (Browser.isMobile && DomRecycler.options.recycleVideo) {\n opts.element = this.el;\n }\n\n // Desktop browser autoplay policy may require user action\n // Mobile browser autoplay require user consent and video recycling feature enabled\n // It may returns a false positive with source-less player consent\n canAutoPlayMedia(cb, opts);\n }\n }, {\n key: \"_setupExternalTracks\",\n value: function _setupExternalTracks(tracks) {\n this._externalTracks = tracks.map(function (track) {\n return {\n kind: track.kind || 'subtitles',\n // Default is 'subtitles'\n label: track.label,\n lang: track.lang,\n src: track.src\n };\n });\n }\n\n /**\n * Sets the source url on the <video> element, and also the 'src' property.\n * @method load\n * @public\n * @param {String} srcUrl The source URL.\n */\n }, {\n key: \"load\",\n value: function load(srcUrl) {\n this._setupSrc(srcUrl);\n }\n\n /**\n * Sets the source url on the <video> element, and also the 'src' property.\n * @method setupSrc\n * @private\n * @param {String} srcUrl The source URL.\n */\n }, {\n key: \"_setupSrc\",\n value: function _setupSrc(srcUrl) {\n if (this.el.src === srcUrl) {\n return;\n }\n this._ccIsSetup = false;\n this.el.src = srcUrl;\n this._src = this.el.src;\n }\n }, {\n key: \"_onLoadedMetadata\",\n value: function _onLoadedMetadata(e) {\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_LOADEDMETADATA, {\n duration: e.target.duration,\n data: e\n });\n this._updateSettings();\n var autoSeekFromUrl = typeof this._options.autoSeekFromUrl === 'undefined' || this._options.autoSeekFromUrl;\n if (this.getPlaybackType() !== Playback.LIVE && autoSeekFromUrl) {\n this._checkInitialSeek();\n }\n }\n }, {\n key: \"_onDurationChange\",\n value: function _onDurationChange() {\n this._updateSettings();\n this._onTimeUpdate();\n // onProgress uses the duration\n this._onProgress();\n }\n }, {\n key: \"_updateSettings\",\n value: function _updateSettings() {\n // we can't figure out if hls resource is VoD or not until it is being loaded or duration has changed.\n // that's why we check it again and update media control accordingly.\n if (this.getPlaybackType() === Playback.VOD || this.getPlaybackType() === Playback.AOD) {\n this.settings.left = ['playpause', 'position', 'duration'];\n } else {\n this.settings.left = ['playstop'];\n }\n this.settings.seekEnabled = this.isSeekEnabled();\n this.trigger(Events.PLAYBACK_SETTINGSUPDATE);\n }\n }, {\n key: \"isSeekEnabled\",\n value: function isSeekEnabled() {\n return isFinite(this.getDuration());\n }\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n var onDemandType = this.tagName === 'audio' ? Playback.AOD : Playback.VOD;\n return [0, undefined, Infinity].indexOf(this.el.duration) >= 0 ? Playback.LIVE : onDemandType;\n }\n }, {\n key: \"isHighDefinitionInUse\",\n value: function isHighDefinitionInUse() {\n return false;\n }\n\n // On mobile device, HTML5 video element \"retains\" user action consent if\n // load() method is called. See Player.consent().\n }, {\n key: \"consent\",\n value: function consent(cb) {\n var _this3 = this;\n if (this.isPlaying() || this.el._consented) {\n _superPropGet(HTML5Video, \"consent\", this)([cb]);\n } else {\n var _eventHandler = function eventHandler() {\n _this3.el.removeEventListener('loadedmetadata', _eventHandler, false);\n _this3.el.removeEventListener('error', _eventHandler, false);\n _this3.el._consented = true; // Flag to call load() only once\n _superPropGet(HTML5Video, \"consent\", _this3)([cb]);\n };\n this.el.addEventListener('loadedmetadata', _eventHandler, false);\n this.el.addEventListener('error', _eventHandler, false);\n this.el.load();\n }\n }\n }, {\n key: \"play\",\n value: function play() {\n var _this4 = this;\n this.trigger(Events.PLAYBACK_PLAY_INTENT);\n this._stopped = false;\n this._setupSrc(this._src);\n this._handleBufferingEvents();\n var promise = this.el.play();\n // For more details, see https://developers.google.com/web/updates/2016/03/play-returns-promise\n if (promise && promise[\"catch\"]) {\n promise[\"catch\"](function (error) {\n return Log.warn(_this4.name, 'HTML5 play failed', error);\n });\n }\n return promise;\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.el.pause();\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this.pause();\n this._stopped = true;\n // src will be added again in play()\n this.el.removeAttribute('src');\n this.el.load(); // load with no src to stop loading of the previous source and avoid leaks\n this._stopPlayheadMovingChecks();\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_STOP);\n }\n }, {\n key: \"volume\",\n value: function volume(value) {\n if (value === 0) {\n this.$el.attr({\n muted: 'true'\n });\n this.el.muted = true;\n } else {\n this.$el.attr({\n muted: null\n });\n this.el.muted = false;\n this.el.volume = value / 100;\n }\n }\n\n /**\n * @deprecated\n * @private\n */\n }, {\n key: \"mute\",\n value: function mute() {\n this.el.muted = true;\n }\n\n /**\n * @deprecated\n * @private\n */\n }, {\n key: \"unmute\",\n value: function unmute() {\n this.el.muted = false;\n }\n }, {\n key: \"isMuted\",\n value: function isMuted() {\n return this.el.muted === true || this.el.volume === 0;\n }\n }, {\n key: \"isPlaying\",\n value: function isPlaying() {\n return !this.el.paused && !this.el.ended;\n }\n }, {\n key: \"isReady\",\n get: function get() {\n return this._isReadyState;\n }\n }, {\n key: \"_startPlayheadMovingChecks\",\n value: function _startPlayheadMovingChecks() {\n if (this._playheadMovingTimer !== null || !this._playheadMovingCheckEnabled) {\n return;\n }\n this._playheadMovingTimeOnCheck = null;\n this._determineIfPlayheadMoving();\n this._playheadMovingTimer = setInterval(this._determineIfPlayheadMoving.bind(this), this._playheadMovingCheckInterval);\n }\n }, {\n key: \"_stopPlayheadMovingChecks\",\n value: function _stopPlayheadMovingChecks() {\n if (this._playheadMovingTimer === null) {\n return;\n }\n clearInterval(this._playheadMovingTimer);\n this._playheadMovingTimer = null;\n this._playheadMoving = false;\n }\n }, {\n key: \"_determineIfPlayheadMoving\",\n value: function _determineIfPlayheadMoving() {\n var before = this._playheadMovingTimeOnCheck;\n var now = this.el.currentTime;\n this._playheadMoving = before !== now;\n this._playheadMovingTimeOnCheck = now;\n this._handleBufferingEvents();\n }\n\n // this seems to happen when the user is having to wait\n // for something to happen AFTER A USER INTERACTION\n // e.g the player might be buffering, but when `play()` is called\n // only at this point will this be called.\n // Or the user may seek somewhere but the new area requires buffering,\n // so it will fire then as well.\n // On devices where playing is blocked until requested with a user action,\n // buffering may start, but never finish until the user initiates a play,\n // but this only happens when play is actually requested\n }, {\n key: \"_onWaiting\",\n value: function _onWaiting() {\n this._loadStarted = true;\n this._handleBufferingEvents();\n }\n\n // called after the first frame has loaded\n // note this doesn't fire on ios before the user has requested play\n // ideally the \"loadstart\" event would be used instead, but this fires\n // before a user has requested play on iOS, and also this is always fired\n // even if the preload setting is \"none\". In both these cases this causes\n // infinite buffering until the user does something which isn't great.\n }, {\n key: \"_onLoadedData\",\n value: function _onLoadedData() {\n this._loadStarted = true;\n this._handleBufferingEvents();\n }\n\n // note this doesn't fire on ios before user has requested play\n }, {\n key: \"_onCanPlay\",\n value: function _onCanPlay() {\n this._handleBufferingEvents();\n }\n }, {\n key: \"_onPlaying\",\n value: function _onPlaying() {\n this._checkForClosedCaptions();\n this._startPlayheadMovingChecks();\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_PLAY);\n }\n }, {\n key: \"_onPause\",\n value: function _onPause() {\n this.dvrEnabled && this._updateDvr(true);\n this._stopPlayheadMovingChecks();\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_PAUSE);\n }\n }, {\n key: \"_onSeeking\",\n value: function _onSeeking() {\n var currentTime = this.getCurrentTime();\n // assume live if time within 3 seconds of end of stream\n this.dvrEnabled && this._updateDvr(currentTime < this.getDuration() - 3);\n this.trigger(Events.PLAYBACK_SEEK, currentTime);\n this._handleBufferingEvents();\n }\n }, {\n key: \"_onSeeked\",\n value: function _onSeeked() {\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_SEEKED);\n }\n }, {\n key: \"_onEnded\",\n value: function _onEnded() {\n this._handleBufferingEvents();\n this.trigger(Events.PLAYBACK_ENDED, this.name);\n }\n }, {\n key: \"_onEnterPiP\",\n value: function _onEnterPiP() {\n this.trigger(Events.PLAYBACK_PIP_ENTER, this.name);\n }\n }, {\n key: \"_onExitPiP\",\n value: function _onExitPiP() {\n this.trigger(Events.PLAYBACK_PIP_EXIT, this.name);\n }\n }, {\n key: \"enterPiP\",\n value: function enterPiP() {\n var _this5 = this;\n this.el.requestPictureInPicture().then(function () {\n Log.info(_this5.name, 'enter PIP success');\n })[\"catch\"](function (e) {\n Log.warn(_this5.name, 'enter PIP failed', e);\n });\n }\n }, {\n key: \"exitPiP\",\n value: function exitPiP() {\n var _this6 = this;\n document.exitPictureInPicture().then(function () {\n Log.info(_this6.name, 'exit PIP success');\n })[\"catch\"](function (e) {\n Log.warn(_this6.name, 'exit PIP failed', e);\n });\n }\n\n // The playback should be classed as buffering if the following are true:\n // - the ready state is less then HAVE_FUTURE_DATA or the playhead isn't moving and it should be\n // - the media hasn't \"ended\",\n // - the media hasn't been stopped\n // - loading has started\n }, {\n key: \"_handleBufferingEvents\",\n value: function _handleBufferingEvents() {\n var isLoading = this._loadStarted && !this.el.ended && !this._stopped;\n var isMissingMediaDataToPlay = this.el.readyState < this.el.HAVE_FUTURE_DATA;\n var playheadShouldBeMoving = !this.el.ended && !this.el.paused && !this._playheadMoving;\n var buffering = isLoading && isMissingMediaDataToPlay;\n if (this._playheadMovingCheckEnabled) {\n buffering = buffering || isLoading && playheadShouldBeMoving;\n }\n if (this._isBuffering !== buffering) {\n this._isBuffering = buffering;\n if (buffering) {\n this.trigger(Events.PLAYBACK_BUFFERING, this.name);\n } else {\n this.trigger(Events.PLAYBACK_BUFFERFULL, this.name);\n }\n }\n }\n }, {\n key: \"_onError\",\n value: function _onError() {\n var _ref = this.el.error || UNKNOWN_ERROR,\n code = _ref.code,\n message = _ref.message;\n var isUnknownError = code === UNKNOWN_ERROR.code;\n var formattedError = this.createError({\n code: code,\n description: message,\n raw: this.el.error,\n level: isUnknownError ? PlayerError.Levels.WARN : PlayerError.Levels.FATAL\n });\n if (isUnknownError) {\n Log.warn(this.name, 'HTML5 unknown error: ', formattedError);\n } else {\n this.trigger(Events.PLAYBACK_ERROR, formattedError);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._destroyed = true;\n this._stopPlayheadMovingChecks();\n this.handleTextTrackChange && this.el.textTracks.removeEventListener('change', this.handleTextTrackChange);\n this.$el.off('contextmenu');\n _superPropGet(HTML5Video, \"destroy\", this)([]);\n this.el.removeAttribute('src');\n this.el.load(); // load with no src to stop loading of the previous source and avoid leaks\n this._src = null;\n DomRecycler.garbage(this.el);\n }\n }, {\n key: \"_updateDvr\",\n value: function _updateDvr(status) {\n this.trigger(Events.PLAYBACK_DVR, status);\n this.trigger(Events.PLAYBACK_STATS_ADD, {\n dvr: status\n });\n }\n }, {\n key: \"seek\",\n value: function seek(time) {\n if (time < 0) {\n Log.warn('Attempt to seek to a negative time. Resetting to live point. Use seekToLivePoint() to seek to the live point.');\n time = this.getDuration();\n }\n time += this.el.seekable.start(0);\n this.el.currentTime = time;\n }\n }, {\n key: \"seekPercentage\",\n value: function seekPercentage(percentage) {\n var time = this.el.duration * (percentage / 100);\n this.seek(time);\n }\n }, {\n key: \"_checkInitialSeek\",\n value: function _checkInitialSeek() {\n var seekTime = seekStringToSeconds();\n if (seekTime !== 0) {\n this.seek(seekTime);\n }\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.el.currentTime;\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n if (this.isLive) {\n if (this.el.seekable.length > 0) {\n return this.el.seekable.end(0) - this.el.seekable.start(0);\n } else {\n // `seekable` is not available; this is probably OK, but make sure we're\n // updating the control bar to reflect it\n this._scheduleUpdateSettingsCheck();\n }\n }\n return this.el.duration;\n }\n }, {\n key: \"_scheduleUpdateSettingsCheck\",\n value: function _scheduleUpdateSettingsCheck() {\n var _this7 = this;\n if (this._updateSettingsCheckInFlight) return;\n this._updateSettingsCheckInFlight = setTimeout(function () {\n _this7._updateSettings();\n _this7._updateSettingsCheckInFlight = null;\n }, 1000);\n }\n }, {\n key: \"_onTimeUpdate\",\n value: function _onTimeUpdate() {\n var duration = this.isLive ? this.getDuration() : this.el.duration;\n this.trigger(Events.PLAYBACK_TIMEUPDATE, {\n current: this.el.currentTime,\n total: duration\n }, this.name);\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress() {\n if (!this.el.buffered.length) {\n return;\n }\n var buffered = [];\n var bufferedPos = 0;\n for (var i = 0; i < this.el.buffered.length; i++) {\n buffered = [].concat(_toConsumableArray(buffered), [{\n start: this.el.buffered.start(i),\n end: this.el.buffered.end(i)\n }]);\n if (this.el.currentTime >= buffered[i].start && this.el.currentTime <= buffered[i].end) {\n bufferedPos = i;\n }\n }\n var progress = {\n start: buffered[bufferedPos].start,\n current: buffered[bufferedPos].end,\n total: this.el.duration\n };\n this.trigger(Events.PLAYBACK_PROGRESS, progress, buffered);\n }\n }, {\n key: \"_typeFor\",\n value: function _typeFor(src) {\n var mimeTypes = HTML5Video._mimeTypesForUrl(src, MIMETYPES, this.options.mimeType);\n if (mimeTypes.length === 0) {\n mimeTypes = HTML5Video._mimeTypesForUrl(src, AUDIO_MIMETYPES, this.options.mimeType);\n }\n var mimeType = mimeTypes[0] || '';\n return mimeType.split(';')[0];\n }\n }, {\n key: \"_ready\",\n value: function _ready() {\n if (this._isReadyState) {\n return;\n }\n this._isReadyState = true;\n this.trigger(Events.PLAYBACK_READY, this.name);\n }\n }, {\n key: \"_checkForClosedCaptions\",\n value: function _checkForClosedCaptions() {\n // Check if CC available only if current playback is HTML5Video\n if (this.isHTML5Video && !this._ccIsSetup) {\n if (this.hasClosedCaptionsTracks) {\n this.trigger(Events.PLAYBACK_SUBTITLE_AVAILABLE);\n var trackId = this.closedCaptionsTrackId;\n this.closedCaptionsTrackId = trackId;\n this.handleTextTrackChange = this._handleTextTrackChange.bind(this);\n this.el.textTracks.addEventListener('change', this.handleTextTrackChange);\n }\n this._ccIsSetup = true;\n }\n }\n }, {\n key: \"_handleTextTrackChange\",\n value: function _handleTextTrackChange() {\n var tracks = this.closedCaptionsTracks;\n var track = tracks.find(function (track) {\n return track.track.mode === 'showing';\n }) || {\n id: -1\n };\n if (this._ccTrackId !== track.id) {\n this._ccTrackId = track.id;\n this.trigger(Events.PLAYBACK_SUBTITLE_CHANGED, {\n id: track.id\n });\n }\n }\n }, {\n key: \"isHTML5Video\",\n get: function get() {\n return this.name === HTML5Video.prototype.name;\n }\n }, {\n key: \"closedCaptionsTracks\",\n get: function get() {\n var id = 0;\n var trackId = function trackId() {\n return id++;\n };\n var textTracks = this.el.textTracks ? Array.from(this.el.textTracks) : [];\n return textTracks.filter(function (track) {\n return track.kind === 'subtitles' || track.kind === 'captions';\n }).map(function (track) {\n return {\n id: trackId(),\n name: track.label,\n track: track\n };\n });\n }\n }, {\n key: \"closedCaptionsTrackId\",\n get: function get() {\n return this._ccTrackId;\n },\n set: function set(trackId) {\n if (!isNumber(trackId)) {\n return;\n }\n var tracks = this.closedCaptionsTracks;\n var showingTrack;\n\n // Note: -1 is for hide all tracks\n if (trackId !== -1) {\n showingTrack = tracks.find(function (track) {\n return track.id === trackId;\n });\n if (!showingTrack) {\n return;\n } // Track id not found\n\n if (showingTrack.track.mode === 'showing') {\n return;\n } // Track already showing\n }\n\n // Since it is possible to display multiple tracks,\n // ensure that all tracks are hidden.\n tracks.filter(function (track) {\n return track.track.mode !== 'hidden';\n }).forEach(function (track) {\n track.track.mode = 'hidden';\n });\n showingTrack && (showingTrack.track.mode = 'showing');\n this._ccTrackId = trackId;\n this.trigger(Events.PLAYBACK_SUBTITLE_CHANGED, {\n id: trackId\n });\n }\n }, {\n key: \"template\",\n get: function get() {\n return tmpl(tracksHTML);\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this.options.playback.disableContextMenu) {\n this.$el.on('contextmenu', function () {\n return false;\n });\n }\n if (this._externalTracks && this._externalTracks.length > 0) {\n this.$el.html(this.template({\n tracks: this._externalTracks\n }));\n }\n this._ready();\n var style = Styler.getStyleFor(css_248z$2.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n return this;\n }\n }]);\n}(Playback);\nHTML5Video._mimeTypesForUrl = function () {\n var resourceUrl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var mimeTypesByExtension = arguments.length > 1 ? arguments[1] : undefined;\n var mimeType = arguments.length > 2 ? arguments[2] : undefined;\n var extension = (resourceUrl.split('?')[0].match(/.*\\.(.*)$/) || [])[1];\n var mimeTypes = mimeType || extension && mimeTypesByExtension[extension.toLowerCase()] || [];\n return mimeTypes.constructor === Array ? mimeTypes : [mimeTypes];\n};\nHTML5Video._canPlay = function (type, mimeTypesByExtension, resourceUrl, mimeType) {\n var mimeTypes = HTML5Video._mimeTypesForUrl(resourceUrl, mimeTypesByExtension, mimeType);\n var media = document.createElement(type);\n return !!mimeTypes.filter(function (mediaType) {\n return !!media.canPlayType(mediaType).replace(/no/, '');\n })[0];\n};\nHTML5Video.canPlay = function (resourceUrl, mimeType) {\n return HTML5Video._canPlay('audio', AUDIO_MIMETYPES, resourceUrl, mimeType) || HTML5Video._canPlay('video', MIMETYPES, resourceUrl, mimeType);\n};\n\n// TODO: remove this playback and change HTML5Video to HTML5Playback (breaking change, only after 0.3.0)\nvar HTML5Audio = /*#__PURE__*/function (_HTML5Video) {\n function HTML5Audio() {\n _classCallCheck(this, HTML5Audio);\n return _callSuper(this, HTML5Audio, arguments);\n }\n _inherits(HTML5Audio, _HTML5Video);\n return _createClass(HTML5Audio, [{\n key: \"name\",\n get: function get() {\n return 'html5_audio';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"tagName\",\n get: function get() {\n return 'audio';\n }\n }, {\n key: \"isAudioOnly\",\n get: function get() {\n return true;\n }\n }, {\n key: \"updateSettings\",\n value: function updateSettings() {\n this.settings.left = ['playpause', 'position', 'duration'];\n this.settings.seekEnabled = this.isSeekEnabled();\n this.trigger(Events.PLAYBACK_SETTINGSUPDATE);\n }\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n return Playback.AOD;\n }\n }]);\n}(HTML5Video);\nHTML5Audio.canPlay = function (resourceUrl, mimeType) {\n var mimetypes = {\n 'wav': ['audio/wav'],\n 'mp3': ['audio/mp3', 'audio/mpeg;codecs=\"mp3\"'],\n 'aac': ['audio/mp4;codecs=\"mp4a.40.5\"'],\n 'oga': ['audio/ogg']\n };\n return HTML5Video._canPlay('audio', mimetypes, resourceUrl, mimeType);\n};\n\nvar css_248z$1 = \"[data-html-img] {\\n max-width: 100%;\\n max-height: 100%; }\\n\";\n\nvar HTMLImg = /*#__PURE__*/function (_Playback) {\n function HTMLImg(params) {\n var _this;\n _classCallCheck(this, HTMLImg);\n _this = _callSuper(this, HTMLImg, [params]);\n _this.el.src = params.src;\n return _this;\n }\n _inherits(HTMLImg, _Playback);\n return _createClass(HTMLImg, [{\n key: \"name\",\n get: function get() {\n return 'html_img';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"tagName\",\n get: function get() {\n return 'img';\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'data-html-img': ''\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'load': '_onLoad',\n 'abort': '_onError',\n 'error': '_onError'\n };\n }\n }, {\n key: \"getPlaybackType\",\n value: function getPlaybackType() {\n return Playback.NO_OP;\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = Styler.getStyleFor(css_248z$1.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n this.trigger(Events.PLAYBACK_READY, this.name);\n return this;\n }\n }, {\n key: \"_onLoad\",\n value: function _onLoad() {\n this.trigger(Events.PLAYBACK_ENDED, this.name);\n }\n }, {\n key: \"_onError\",\n value: function _onError(evt) {\n var m = evt.type === 'error' ? 'load error' : 'loading aborted';\n this.trigger(Events.PLAYBACK_ERROR, {\n message: m\n }, this.name);\n }\n }]);\n}(Playback);\nHTMLImg.canPlay = function (resource) {\n return /\\.(png|jpg|jpeg|gif|bmp|tiff|pgm|pnm|webp)(|\\?.*)$/i.test(resource);\n};\n\nvar noOpHTML = \"<canvas data-no-op-canvas></canvas>\\n<p data-no-op-msg><%=message%></p><p>\\n</p>\";\n\nvar css_248z = \"[data-no-op] {\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n text-align: center; }\\n\\n[data-no-op] p[data-no-op-msg] {\\n position: absolute;\\n text-align: center;\\n font-size: 25px;\\n left: 0;\\n right: 0;\\n color: white;\\n padding: 10px;\\n /* center vertically */\\n top: 50%;\\n transform: translateY(-50%);\\n max-height: 100%;\\n overflow: auto; }\\n\\n[data-no-op] canvas[data-no-op-canvas] {\\n background-color: #777;\\n height: 100%;\\n width: 100%; }\\n\";\n\nvar NoOp = /*#__PURE__*/function (_Playback) {\n function NoOp() {\n var _this;\n _classCallCheck(this, NoOp);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, NoOp, [].concat(args));\n _this._noiseFrameNum = -1;\n return _this;\n }\n _inherits(NoOp, _Playback);\n return _createClass(NoOp, [{\n key: \"name\",\n get: function get() {\n return 'no_op';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return tmpl(noOpHTML);\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'data-no-op': ''\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var playbackNotSupported = this.options.playbackNotSupportedMessage || this.i18n.t('playback_not_supported');\n var style = Styler.getStyleFor(css_248z.toString(), {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n this.$el.html(this.template({\n message: playbackNotSupported\n }));\n this.trigger(Events.PLAYBACK_READY, this.name);\n var showForNoOp = !!(this.options.poster && this.options.poster.showForNoOp);\n if (this.options.autoPlay || !showForNoOp) {\n this._animate();\n }\n return this;\n }\n }, {\n key: \"_noise\",\n value: function _noise() {\n this._noiseFrameNum = (this._noiseFrameNum + 1) % 5;\n if (this._noiseFrameNum) {\n // only update noise every 5 frames to save cpu\n return;\n }\n var idata = this.context.createImageData(this.context.canvas.width, this.context.canvas.height);\n var buffer32;\n try {\n buffer32 = new Uint32Array(idata.data.buffer);\n } catch (err) {\n buffer32 = new Uint32Array(this.context.canvas.width * this.context.canvas.height * 4);\n var data = idata.data;\n for (var i = 0; i < data.length; i++) {\n buffer32[i] = data[i];\n }\n }\n var len = buffer32.length;\n var m = Math.random() * 6 + 4;\n var run = 0;\n var color = 0;\n for (var _i = 0; _i < len;) {\n if (run < 0) {\n run = m * Math.random();\n var p = Math.pow(Math.random(), 0.4);\n color = 255 * p << 24;\n }\n run -= 1;\n buffer32[_i++] = color;\n }\n this.context.putImageData(idata, 0, 0);\n }\n }, {\n key: \"_loop\",\n value: function _loop() {\n var _this2 = this;\n if (this._stop) {\n return;\n }\n this._noise();\n this._animationHandle = requestAnimationFrame(function () {\n return _this2._loop();\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n if (this._animationHandle) {\n cancelAnimationFrame(this._animationHandle);\n this._stop = true;\n }\n }\n }, {\n key: \"_animate\",\n value: function _animate() {\n this.canvas = this.$el.find('canvas[data-no-op-canvas]')[0];\n this.context = this.canvas.getContext('2d');\n this._loop();\n }\n }]);\n}(Playback);\nNoOp.canPlay = function (source) {\n // eslint-disable-line no-unused-vars\n return true;\n};\n\n/**\n * The internationalization (i18n) plugin\n * @class Strings\n * @constructor\n * @extends CorePlugin\n * @module plugins\n */\nvar Strings = /*#__PURE__*/function (_CorePlugin) {\n function Strings(core) {\n var _this;\n _classCallCheck(this, Strings);\n _this = _callSuper(this, Strings, [core]);\n _this._initializeMessages();\n return _this;\n }\n /**\n * Gets a translated string for the given key.\n * @method t\n * @param {String} key the key to all messages\n * @return {String} translated label\n */\n _inherits(Strings, _CorePlugin);\n return _createClass(Strings, [{\n key: \"name\",\n get: function get() {\n return 'strings';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"t\",\n value: function t(key) {\n var lang = this._language();\n var fallbackLang = this._messages.en;\n var i18n = lang && this._messages[lang] || fallbackLang;\n return i18n[key] || fallbackLang[key] || key;\n }\n }, {\n key: \"_language\",\n value: function _language() {\n return this.core.options.language || getBrowserLanguage();\n }\n }, {\n key: \"_initializeMessages\",\n value: function _initializeMessages() {\n var defaultMessages = {\n 'en': {\n 'live': 'live',\n 'back_to_live': 'back to live',\n 'disabled': 'Disabled',\n 'playback_not_supported': 'Your browser does not support the playback of this video. Please try using a different browser.',\n 'default_error_title': 'Could not play video.',\n 'default_error_message': 'There was a problem trying to load the video.'\n },\n 'de': {\n 'live': 'Live',\n 'back_to_live': 'Zurück zum Live-Video',\n 'disabled': 'Deaktiviert',\n 'playback_not_supported': 'Ihr Browser unterstützt das Playback Verfahren nicht. Bitte vesuchen Sie es mit einem anderen Browser.',\n 'default_error_title': 'Video kann nicht abgespielt werden',\n 'default_error_message': 'Es gab ein Problem beim Laden des Videos'\n },\n 'pt': {\n 'live': 'ao vivo',\n 'back_to_live': 'voltar para o ao vivo',\n 'disabled': 'Desativado',\n 'playback_not_supported': 'Seu navegador não suporta a reprodução deste video. Por favor, tente usar um navegador diferente.',\n 'default_error_title': 'Não foi possível reproduzir o vídeo.',\n 'default_error_message': 'Ocorreu um problema ao tentar carregar o vídeo.'\n },\n 'es_am': {\n 'live': 'vivo',\n 'back_to_live': 'volver en vivo',\n 'disabled': 'No disponible',\n 'playback_not_supported': 'Su navegador no soporta la reproducción de este video. Por favor, utilice un navegador diferente.',\n 'default_error_title': 'No se puede reproducir el video.',\n 'default_error_message': 'Se ha producido un error al cargar el video.'\n },\n 'es': {\n 'live': 'en directo',\n 'back_to_live': 'volver al directo',\n 'disabled': 'No disponible',\n 'playback_not_supported': 'Este navegador no es compatible para reproducir este vídeo. Utilice un navegador diferente.',\n 'default_error_title': 'No se puede reproducir el vídeo.',\n 'default_error_message': 'Se ha producido un problema al cargar el vídeo.'\n },\n 'ru': {\n 'live': 'прямой эфир',\n 'back_to_live': 'к прямому эфиру',\n 'disabled': 'Отключено',\n 'playback_not_supported': 'Ваш браузер не поддерживает воспроизведение этого видео. Пожалуйста, попробуйте другой браузер.'\n },\n 'bg': {\n 'live': 'на живо',\n 'back_to_live': 'Върни на живо',\n 'disabled': 'Изключено',\n 'playback_not_supported': 'Вашият браузър не поддържа възпроизвеждането на това видео. Моля, пробвайте с друг браузър.',\n 'default_error_title': 'Видеото не може да се възпроизведе.',\n 'default_error_message': 'Възникна проблем при зареждането на видеото.'\n },\n 'fr': {\n 'live': 'en direct',\n 'back_to_live': 'retour au direct',\n 'disabled': 'Désactivé',\n 'playback_not_supported': 'Votre navigateur ne supporte pas la lecture de cette vidéo. Merci de tenter sur un autre navigateur.',\n 'default_error_title': 'Impossible de lire la vidéo.',\n 'default_error_message': 'Un problème est survenu lors du chargement de la vidéo.'\n },\n 'tr': {\n 'live': 'canlı',\n 'back_to_live': 'canlı yayına dön',\n 'disabled': 'Engelli',\n 'playback_not_supported': 'Tarayıcınız bu videoyu oynatma desteğine sahip değil. Lütfen farklı bir tarayıcı ile deneyin.'\n },\n 'et': {\n 'live': 'Otseülekanne',\n 'back_to_live': 'Tagasi otseülekande juurde',\n 'disabled': 'Keelatud',\n 'playback_not_supported': 'Teie brauser ei toeta selle video taasesitust. Proovige kasutada muud brauserit.'\n },\n 'ar': {\n 'live': 'مباشر',\n 'back_to_live': 'الرجوع إلى المباشر',\n 'disabled': 'معطّل',\n 'playback_not_supported': 'المتصفح الذي تستخدمه لا يدعم تشغيل هذا الفيديو. الرجاء إستخدام متصفح آخر.',\n 'default_error_title': 'غير قادر الى التشغيل.',\n 'default_error_message': 'حدثت مشكلة أثناء تحميل الفيديو.'\n },\n 'zh': {\n 'live': '直播',\n 'back_to_live': '返回直播',\n 'disabled': '已禁用',\n 'playback_not_supported': '您的浏览器不支持该视频的播放。请尝试使用另一个浏览器。',\n 'default_error_title': '无法播放视频。',\n 'default_error_message': '在尝试加载视频时出现了问题。'\n }\n };\n this._messages = $.extend(true, defaultMessages, this.core.options.strings || {});\n this._messages['de-DE'] = this._messages.de;\n this._messages['pt-BR'] = this._messages.pt;\n this._messages['en-US'] = this._messages.en;\n this._messages['bg-BG'] = this._messages.bg;\n this._messages['es-419'] = this._messages.es_am;\n this._messages['es-ES'] = this._messages.es;\n this._messages['fr-FR'] = this._messages.fr;\n this._messages['tr-TR'] = this._messages.tr;\n this._messages['et-EE'] = this._messages.et;\n this._messages['ar-IQ'] = this._messages.ar;\n this._messages['zh-CN'] = this._messages.zh;\n }\n }]);\n}(CorePlugin);\n\nvar SourcesPlugin = /*#__PURE__*/function (_CorePlugin) {\n function SourcesPlugin() {\n _classCallCheck(this, SourcesPlugin);\n return _callSuper(this, SourcesPlugin, arguments);\n }\n _inherits(SourcesPlugin, _CorePlugin);\n return _createClass(SourcesPlugin, [{\n key: \"name\",\n get: function get() {\n return 'sources';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.core, Events.CORE_CONTAINERS_CREATED, this.onContainersCreated);\n }\n }, {\n key: \"onContainersCreated\",\n value: function onContainersCreated() {\n var firstValidSource = this.core.containers.filter(function (container) {\n return container.playback.name !== 'no_op';\n })[0] || this.core.containers[0];\n firstValidSource && this.core.containers.forEach(function (container) {\n if (container !== firstValidSource) container.destroy();\n });\n }\n }]);\n}(CorePlugin);\n\n// Copyright 2014 Globo.com Player authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n\n/** @constant\n @type {string}\n @default\n*/\nvar version = \"0.13.0\";\n\n// Built-in Plugins/Playbacks\n\nLoader.registerPlugin(Strings);\nLoader.registerPlugin(SourcesPlugin);\nLoader.registerPlayback(NoOp);\nLoader.registerPlayback(HTMLImg);\nLoader.registerPlayback(HTML5Audio);\nLoader.registerPlayback(HTML5Video);\nvar main = {\n Player: Player,\n Events: Events,\n Browser: Browser,\n ContainerPlugin: ContainerPlugin,\n UIContainerPlugin: UIContainerPlugin,\n CorePlugin: CorePlugin,\n UICorePlugin: UICorePlugin,\n Playback: Playback,\n Container: Container,\n Core: Core,\n PlayerError: PlayerError,\n Loader: Loader,\n BaseObject: BaseObject,\n UIObject: UIObject,\n Utils: Utils,\n HTML5Audio: HTML5Audio,\n HTML5Video: HTML5Video,\n HTMLImg: HTMLImg,\n Log: Log,\n Styler: Styler,\n version: version,\n template: tmpl,\n $: $\n};\n\nexport { $, BaseObject, Browser, Container, ContainerPlugin, Core, CorePlugin, Events, HTML5Audio, HTML5Video, HTMLImg, Loader, Log, Playback, Player, PlayerError, Styler, UIContainerPlugin, UICorePlugin, UIObject, Utils, main as default, tmpl as template, version };\n","import { Events, Playback, ContainerPlugin, template, Styler, UICorePlugin, CorePlugin, PlayerError, $, Utils, Browser, UIContainerPlugin } from '@clappr/core';\n\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nfunction _callSuper(t, o, e) {\n return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nfunction _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = _superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nfunction _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && _setPrototypeOf(t, e);\n}\nfunction _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function () {\n return !!t;\n })();\n}\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == typeof e || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return _assertThisInitialized(t);\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t)););\n return t;\n}\nfunction _superPropGet(t, o, e, r) {\n var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);\n return 2 & r && \"function\" == typeof p ? function (t) {\n return p.apply(e, t);\n } : p;\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\n\nvar ClickToPausePlugin = /*#__PURE__*/function (_ContainerPlugin) {\n function ClickToPausePlugin() {\n _classCallCheck(this, ClickToPausePlugin);\n return _callSuper(this, ClickToPausePlugin, arguments);\n }\n _inherits(ClickToPausePlugin, _ContainerPlugin);\n return _createClass(ClickToPausePlugin, [{\n key: \"name\",\n get: function get() {\n return 'click_to_pause';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"config\",\n get: function get() {\n return this.container.options.clickToPauseConfig || {};\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.container, Events.CONTAINER_CLICK, this.click);\n this.listenTo(this.container, Events.CONTAINER_SETTINGSUPDATE, this.settingsUpdate);\n }\n }, {\n key: \"click\",\n value: function click() {\n var onClickPayload = this.config.onClickPayload;\n if (this.container.getPlaybackType() !== Playback.LIVE || this.container.isDvrEnabled()) {\n if (this.container.isPlaying()) {\n this.container.pause(onClickPayload);\n } else {\n this.container.play(onClickPayload);\n }\n }\n }\n }, {\n key: \"settingsUpdate\",\n value: function settingsUpdate() {\n var pointerEnabled = this.container.getPlaybackType() !== Playback.LIVE || this.container.isDvrEnabled();\n if (pointerEnabled === this.pointerEnabled) return;\n var method = pointerEnabled ? 'addClass' : 'removeClass';\n this.container.$el[method]('pointer-enabled');\n this.pointerEnabled = pointerEnabled;\n }\n }]);\n}(ContainerPlugin);\n\nvar ccIcon = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\"\\n\\t viewBox=\\\"0 0 49 41.8\\\" style=\\\"enable-background:new 0 0 49 41.8;\\\" xml:space=\\\"preserve\\\">\\n<path d=\\\"M47.1,0H3.2C1.6,0,0,1.2,0,2.8v31.5C0,35.9,1.6,37,3.2,37h11.9l3.2,1.9l4.7,2.7c0.9,0.5,2-0.1,2-1.1V37h22.1\\n\\tc1.6,0,1.9-1.1,1.9-2.7V2.8C49,1.2,48.7,0,47.1,0z M7.2,18.6c0-4.8,3.5-9.3,9.9-9.3c4.8,0,7.1,2.7,7.1,2.7l-2.5,4\\n\\tc0,0-1.7-1.7-4.2-1.7c-2.8,0-4.3,2.1-4.3,4.3c0,2.1,1.5,4.4,4.5,4.4c2.5,0,4.9-2.1,4.9-2.1l2.2,4.2c0,0-2.7,2.9-7.6,2.9\\n\\tC10.8,27.9,7.2,23.5,7.2,18.6z M36.9,27.9c-6.4,0-9.9-4.4-9.9-9.3c0-4.8,3.5-9.3,9.9-9.3C41.7,9.3,44,12,44,12l-2.5,4\\n\\tc0,0-1.7-1.7-4.2-1.7c-2.8,0-4.3,2.1-4.3,4.3c0,2.1,1.5,4.4,4.5,4.4c2.5,0,4.9-2.1,4.9-2.1l2.2,4.2C44.5,25,41.9,27.9,36.9,27.9z\\\"/>\\n</svg>\";\n\nvar ccHTML = \"<button type=\\\"button\\\" class=\\\"cc-button media-control-button media-control-icon\\\" data-cc-button aria-label=\\\"<%= ariaLabel %>\\\"></button>\\n<ul>\\n <% if (title) { %>\\n <li data-title><%= title %></li>\\n <% }; %>\\n <li><a href=\\\"#\\\" data-cc-select=\\\"-1\\\"><%= disabledLabel %></a></li>\\n <% for (var i = 0; i < tracks.length; i++) { %>\\n <li><a href=\\\"#\\\" data-cc-select=\\\"<%= tracks[i].id %>\\\"><%= tracks[i].label %></a></li>\\n <% }; %>\\n</ul>\\n\";\n\nvar css_248z$7 = \".cc-controls[data-cc-controls] {\\n float: right;\\n position: relative;\\n display: none; }\\n .cc-controls[data-cc-controls].available {\\n display: block; }\\n .cc-controls[data-cc-controls] .cc-button {\\n padding: 6px !important; }\\n .cc-controls[data-cc-controls] .cc-button.enabled {\\n display: block;\\n opacity: 1.0; }\\n .cc-controls[data-cc-controls] .cc-button.enabled:hover {\\n opacity: 1.0;\\n text-shadow: none; }\\n .cc-controls[data-cc-controls] > ul {\\n list-style-type: none;\\n position: absolute;\\n bottom: 25px;\\n border: 1px solid black;\\n display: none;\\n background-color: #e6e6e6; }\\n .cc-controls[data-cc-controls] li {\\n font-size: 10px; }\\n .cc-controls[data-cc-controls] li[data-title] {\\n background-color: #c3c2c2;\\n padding: 5px; }\\n .cc-controls[data-cc-controls] li a {\\n color: #444;\\n padding: 2px 10px;\\n display: block;\\n text-decoration: none; }\\n .cc-controls[data-cc-controls] li a:hover {\\n background-color: #555;\\n color: white; }\\n .cc-controls[data-cc-controls] li a:hover a {\\n color: white;\\n text-decoration: none; }\\n .cc-controls[data-cc-controls] li.current a {\\n color: #f00; }\\n\";\n\nvar ClosedCaptions = /*#__PURE__*/function (_UICorePlugin) {\n function ClosedCaptions(core) {\n var _this;\n _classCallCheck(this, ClosedCaptions);\n _this = _callSuper(this, ClosedCaptions, [core]);\n var config = core.options.closedCaptionsConfig;\n _this._title = config && config.title ? config.title : null;\n _this._ariaLabel = config && config.ariaLabel ? config.ariaLabel : 'cc-button';\n _this._labelCb = config && config.labelCallback && typeof config.labelCallback === 'function' ? config.labelCallback : function (track) {\n return track.name;\n };\n return _this;\n }\n _inherits(ClosedCaptions, _UICorePlugin);\n return _createClass(ClosedCaptions, [{\n key: \"name\",\n get: function get() {\n return 'closed_captions';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(ccHTML);\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'click [data-cc-button]': 'toggleContextMenu',\n 'click [data-cc-select]': 'onTrackSelect'\n };\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'cc-controls',\n 'data-cc-controls': ''\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.containerChanged);\n this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_RENDERED, this.render);\n this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_HIDE, this.hideContextMenu);\n this.bindContainerEvents();\n }\n }, {\n key: \"bindContainerEvents\",\n value: function bindContainerEvents() {\n this.container = this.core.activeContainer;\n if (this.container) {\n this.listenTo(this.container, Events.CONTAINER_SUBTITLE_AVAILABLE, this.onSubtitleAvailable);\n this.listenTo(this.container, Events.CONTAINER_SUBTITLE_CHANGED, this.onSubtitleChanged);\n this.listenTo(this.container, Events.CONTAINER_STOP, this.onContainerStop);\n }\n }\n }, {\n key: \"onContainerStop\",\n value: function onContainerStop() {\n this.ccAvailable(false);\n }\n }, {\n key: \"containerChanged\",\n value: function containerChanged() {\n this.ccAvailable(false);\n this.stopListening();\n this.bindEvents();\n }\n }, {\n key: \"onSubtitleAvailable\",\n value: function onSubtitleAvailable() {\n this.renderCcButton();\n this.ccAvailable(true);\n }\n }, {\n key: \"onSubtitleChanged\",\n value: function onSubtitleChanged(track) {\n this.setCurrentContextMenuElement(track.id);\n }\n }, {\n key: \"onTrackSelect\",\n value: function onTrackSelect(event) {\n var trackId = parseInt(event.target.dataset.ccSelect, 10);\n this.container.closedCaptionsTrackId = trackId;\n this.hideContextMenu();\n event.stopPropagation();\n return false;\n }\n }, {\n key: \"ccAvailable\",\n value: function ccAvailable(hasCC) {\n var method = hasCC ? 'addClass' : 'removeClass';\n this.$el[method]('available');\n }\n }, {\n key: \"toggleContextMenu\",\n value: function toggleContextMenu() {\n this.$el.find('ul').toggle();\n }\n }, {\n key: \"hideContextMenu\",\n value: function hideContextMenu() {\n this.$el.find('ul').hide();\n }\n }, {\n key: \"contextMenuElement\",\n value: function contextMenuElement(id) {\n return this.$el.find('ul a' + (!isNaN(id) ? '[data-cc-select=\"' + id + '\"]' : '')).parent();\n }\n }, {\n key: \"setCurrentContextMenuElement\",\n value: function setCurrentContextMenuElement(trackId) {\n if (this._trackId !== trackId) {\n this.contextMenuElement().removeClass('current');\n this.contextMenuElement(trackId).addClass('current');\n var method = trackId > -1 ? 'addClass' : 'removeClass';\n this.$ccButton[method]('enabled');\n this._trackId = trackId;\n }\n }\n }, {\n key: \"renderCcButton\",\n value: function renderCcButton() {\n var tracks = this.container ? this.container.closedCaptionsTracks : [];\n for (var i = 0; i < tracks.length; i++) {\n tracks[i].label = this._labelCb(tracks[i]);\n }\n var style = Styler.getStyleFor(css_248z$7, {\n baseUrl: this.options.baseUrl\n });\n this.$el.html(this.template({\n ariaLabel: this._ariaLabel,\n disabledLabel: this.core.i18n.t('disabled'),\n title: this._title,\n tracks: tracks\n }));\n this.$ccButton = this.$el.find('button.cc-button[data-cc-button]');\n this.$ccButton.append(ccIcon);\n this.$el.append(style[0]);\n }\n }, {\n key: \"render\",\n value: function render() {\n this.renderCcButton();\n var $fullscreen = this.core.mediaControl.$el.find('button[data-fullscreen]');\n if ($fullscreen[0]) {\n this.$el.insertAfter($fullscreen);\n } else {\n this.core.mediaControl.$el.find('.media-control-right-panel[data-media-control]').prepend(this.$el);\n }\n return this;\n }\n }]);\n}(UICorePlugin);\n\nvar dvrHTML = \"<div class=\\\"live-info\\\"><%= live %></div>\\n<button type=\\\"button\\\" class=\\\"live-button\\\" aria-label=\\\"<%= backToLive %>\\\"><%= backToLive %></button>\\n\";\n\nvar css_248z$6 = \".dvr-controls[data-dvr-controls] {\\n display: inline-block;\\n float: left;\\n color: #fff;\\n line-height: 32px;\\n font-size: 10px;\\n font-weight: bold;\\n margin-left: 6px; }\\n .dvr-controls[data-dvr-controls] .live-info {\\n cursor: default;\\n font-family: \\\"Roboto\\\", \\\"Open Sans\\\", Arial, sans-serif;\\n text-transform: uppercase; }\\n .dvr-controls[data-dvr-controls] .live-info:before {\\n content: \\\"\\\";\\n display: inline-block;\\n position: relative;\\n width: 7px;\\n height: 7px;\\n border-radius: 3.5px;\\n margin-right: 3.5px;\\n background-color: #ff0101; }\\n .dvr-controls[data-dvr-controls] .live-info.disabled {\\n opacity: 0.3; }\\n .dvr-controls[data-dvr-controls] .live-info.disabled:before {\\n background-color: #fff; }\\n .dvr-controls[data-dvr-controls] .live-button {\\n cursor: pointer;\\n outline: none;\\n display: none;\\n border: 0;\\n color: #fff;\\n background-color: transparent;\\n height: 32px;\\n padding: 0;\\n opacity: 0.7;\\n font-family: \\\"Roboto\\\", \\\"Open Sans\\\", Arial, sans-serif;\\n text-transform: uppercase;\\n transition: all 0.1s ease; }\\n .dvr-controls[data-dvr-controls] .live-button:before {\\n content: \\\"\\\";\\n display: inline-block;\\n position: relative;\\n width: 7px;\\n height: 7px;\\n border-radius: 3.5px;\\n margin-right: 3.5px;\\n background-color: #fff; }\\n .dvr-controls[data-dvr-controls] .live-button:hover {\\n opacity: 1;\\n text-shadow: rgba(255, 255, 255, 0.75) 0 0 5px; }\\n\\n.dvr .dvr-controls[data-dvr-controls] .live-info {\\n display: none; }\\n\\n.dvr .dvr-controls[data-dvr-controls] .live-button {\\n display: block; }\\n\\n.dvr.media-control.live[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-2[data-seekbar] {\\n background-color: #005aff; }\\n\\n.media-control.live[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-2[data-seekbar] {\\n background-color: #ff0101; }\\n\";\n\nvar DVRControls = /*#__PURE__*/function (_UICorePlugin) {\n function DVRControls(core) {\n var _this;\n _classCallCheck(this, DVRControls);\n _this = _callSuper(this, DVRControls, [core]);\n _this.settingsUpdate();\n return _this;\n }\n _inherits(DVRControls, _UICorePlugin);\n return _createClass(DVRControls, [{\n key: \"template\",\n get: function get() {\n return template(dvrHTML);\n }\n }, {\n key: \"name\",\n get: function get() {\n return 'dvr_controls';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'click .live-button': 'click'\n };\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'dvr-controls',\n 'data-dvr-controls': ''\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.bindCoreEvents();\n this.bindContainerEvents();\n }\n }, {\n key: \"bindCoreEvents\",\n value: function bindCoreEvents() {\n var _this2 = this;\n if (this.core.mediaControl.settings) {\n this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED, this.containerChanged);\n this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_RENDERED, this.settingsUpdate);\n this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.render);\n } else {\n setTimeout(function () {\n return _this2.bindCoreEvents();\n }, 100);\n }\n }\n }, {\n key: \"bindContainerEvents\",\n value: function bindContainerEvents() {\n if (this.core.activeContainer) {\n this.listenToOnce(this.core.activeContainer, Events.CONTAINER_TIMEUPDATE, this.render);\n this.listenTo(this.core.activeContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.dvrChanged);\n }\n }\n }, {\n key: \"containerChanged\",\n value: function containerChanged() {\n this.stopListening();\n this.bindEvents();\n }\n }, {\n key: \"dvrChanged\",\n value: function dvrChanged(dvrEnabled) {\n if (this.core.getPlaybackType() !== Playback.LIVE) return;\n this.settingsUpdate();\n this.core.mediaControl.$el.addClass('live');\n if (dvrEnabled) {\n this.core.mediaControl.$el.addClass('dvr');\n this.core.mediaControl.$el.find('.media-control-indicator[data-position], .media-control-indicator[data-duration]').hide();\n } else {\n this.core.mediaControl.$el.removeClass('dvr');\n }\n }\n }, {\n key: \"click\",\n value: function click() {\n var mediaControl = this.core.mediaControl;\n var container = mediaControl.container;\n if (!container.isPlaying()) {\n container.play();\n }\n if (mediaControl.$el.hasClass('dvr')) {\n container.seek(container.getDuration());\n }\n }\n }, {\n key: \"settingsUpdate\",\n value: function settingsUpdate() {\n var _this3 = this;\n this.stopListening();\n this.core.mediaControl.$el.removeClass('live');\n if (this.shouldRender()) {\n this.render();\n this.$el.click(function () {\n return _this3.click();\n });\n }\n this.bindEvents();\n }\n }, {\n key: \"shouldRender\",\n value: function shouldRender() {\n var useDvrControls = this.core.options.useDvrControls === undefined || !!this.core.options.useDvrControls;\n return useDvrControls && this.core.getPlaybackType() === Playback.LIVE;\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = Styler.getStyleFor(css_248z$6, {\n baseUrl: this.options.baseUrl\n });\n this.$el.html(this.template({\n live: this.core.i18n.t('live'),\n backToLive: this.core.i18n.t('back_to_live')\n }));\n this.$el.append(style[0]);\n if (this.shouldRender()) {\n this.core.mediaControl.$el.addClass('live');\n this.core.mediaControl.$('.media-control-left-panel[data-media-control]').append(this.$el);\n }\n return this;\n }\n }]);\n}(UICorePlugin);\n\nvar EndVideo = /*#__PURE__*/function (_CorePlugin) {\n function EndVideo() {\n _classCallCheck(this, EndVideo);\n return _callSuper(this, EndVideo, arguments);\n }\n _inherits(EndVideo, _CorePlugin);\n return _createClass(EndVideo, [{\n key: \"name\",\n get: function get() {\n return 'end_video';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.containerChanged);\n var container = this.core.activeContainer;\n if (container) {\n this.listenTo(container, Events.CONTAINER_ENDED, this.ended);\n this.listenTo(container, Events.CONTAINER_STOP, this.ended);\n }\n }\n }, {\n key: \"containerChanged\",\n value: function containerChanged() {\n this.stopListening();\n this.bindEvents();\n }\n }, {\n key: \"ended\",\n value: function ended() {\n var exitOnEnd = typeof this.core.options.exitFullscreenOnEnd === 'undefined' || this.core.options.exitFullscreenOnEnd;\n if (exitOnEnd && this.core.isFullscreen()) {\n this.core.toggleFullscreen();\n }\n }\n }]);\n}(CorePlugin);\n\nvar reloadIcon = \"<svg fill=\\\"#FFFFFF\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\\\"/>\\n <path d=\\\"M0 0h24v24H0z\\\" fill=\\\"none\\\"/>\\n</svg>\";\n\nvar templateHtml = \"<div class=\\\"player-error-screen__content\\\" data-error-screen>\\n <% if (icon) { %>\\n <div class=\\\"player-error-screen__icon\\\" data-error-screen><%= icon %></div>\\n <% } %>\\n <div class=\\\"player-error-screen__title\\\" data-error-screen><%= title %></div>\\n <div class=\\\"player-error-screen__message\\\" data-error-screen><%= message %></div>\\n <div class=\\\"player-error-screen__code\\\" data-error-screen>Error code: <%= code %></div>\\n <div class=\\\"player-error-screen__reload\\\" data-error-screen><%= reloadIcon %></div>\\n</div>\\n\";\n\nvar css_248z$5 = \"[data-player] .player-error-screen {\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n color: #CCCACA;\\n position: absolute;\\n top: 0;\\n height: 100%;\\n width: 100%;\\n background-color: rgba(0, 0, 0, 0.7);\\n z-index: 2000;\\n display: flex;\\n flex-direction: column;\\n justify-content: center; }\\n [data-player] .player-error-screen__content[data-error-screen] {\\n font-size: 14px;\\n color: #CCCACA;\\n margin-top: 45px; }\\n [data-player] .player-error-screen__title[data-error-screen] {\\n font-weight: bold;\\n line-height: 30px;\\n font-size: 18px; }\\n [data-player] .player-error-screen__message[data-error-screen] {\\n width: 90%;\\n margin: 0 auto; }\\n [data-player] .player-error-screen__code[data-error-screen] {\\n font-size: 13px;\\n margin-top: 15px; }\\n [data-player] .player-error-screen__reload {\\n cursor: pointer;\\n width: 30px;\\n margin: 15px auto 0 !important; }\\n\";\n\nvar ErrorScreen = /*#__PURE__*/function (_UICorePlugin) {\n function ErrorScreen(core) {\n var _this;\n _classCallCheck(this, ErrorScreen);\n _this = _callSuper(this, ErrorScreen, [core]);\n if (_this.options.disableErrorScreen) return _possibleConstructorReturn(_this, _this.disable());\n return _this;\n }\n _inherits(ErrorScreen, _UICorePlugin);\n return _createClass(ErrorScreen, [{\n key: \"name\",\n get: function get() {\n return 'error_screen';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(templateHtml);\n }\n }, {\n key: \"container\",\n get: function get() {\n return this.core.getCurrentContainer();\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'player-error-screen',\n 'data-error-screen': ''\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.core, Events.ERROR, this.onError);\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.onContainerChanged);\n }\n }, {\n key: \"bindReload\",\n value: function bindReload() {\n this.reloadButton = this.$el.find('.player-error-screen__reload');\n this.reloadButton && this.reloadButton.on('click', this.reload.bind(this));\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var _this2 = this;\n this.listenToOnce(this.core, Events.CORE_READY, function () {\n return _this2.container.play();\n });\n this.core.load(this.options.sources, this.options.mimeType);\n this.unbindReload();\n }\n }, {\n key: \"unbindReload\",\n value: function unbindReload() {\n this.reloadButton && this.reloadButton.off('click');\n }\n }, {\n key: \"onContainerChanged\",\n value: function onContainerChanged() {\n this.err = null;\n this.unbindReload();\n this.hide();\n }\n }, {\n key: \"onError\",\n value: function onError() {\n var err = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (err.level === PlayerError.Levels.FATAL) {\n this.err = err;\n this.container.disableMediaControl();\n this.container.stop();\n this.show();\n }\n }\n }, {\n key: \"show\",\n value: function show() {\n this.render();\n this.$el.show();\n }\n }, {\n key: \"hide\",\n value: function hide() {\n this.$el.hide();\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!this.err) return;\n var style = Styler.getStyleFor(css_248z$5, {\n baseUrl: this.options.baseUrl\n });\n this.$el.html(this.template({\n title: this.err.UI.title,\n message: this.err.UI.message,\n code: this.err.code,\n icon: this.err.UI.icon || '',\n reloadIcon: reloadIcon\n }));\n this.$el.append(style[0]);\n this.core.$el.append(this.el);\n this.bindReload();\n return this;\n }\n }]);\n}(UICorePlugin);\n\nvar playIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill=\\\"#010101\\\" d=\\\"M1.425.35L14.575 8l-13.15 7.65V.35z\\\"/>\\n</svg>\";\n\nvar pauseIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#010101\\\" d=\\\"M1.712 14.76H6.43V1.24H1.71v13.52zm7.86-13.52v13.52h4.716V1.24H9.573z\\\"/>\\n</svg>\";\n\nvar oldIcon = $('link[rel=\"shortcut icon\"]');\nvar Favicon = /*#__PURE__*/function (_CorePlugin) {\n function Favicon(core) {\n var _this;\n _classCallCheck(this, Favicon);\n _this = _callSuper(this, Favicon, [core]);\n _this._container = null;\n _this.configure();\n return _this;\n }\n _inherits(Favicon, _CorePlugin);\n return _createClass(Favicon, [{\n key: \"name\",\n get: function get() {\n return 'favicon';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"oldIcon\",\n get: function get() {\n return oldIcon;\n }\n }, {\n key: \"configure\",\n value: function configure() {\n if (this.core.options.changeFavicon) {\n if (!this.enabled) {\n this.stopListening(this.core, Events.CORE_OPTIONS_CHANGE);\n this.enable();\n }\n } else if (this.enabled) {\n this.disable();\n this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.configure);\n }\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.configure);\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.containerChanged);\n this.core.activeContainer && this.containerChanged();\n }\n }, {\n key: \"containerChanged\",\n value: function containerChanged() {\n this._container && this.stopListening(this._container);\n this._container = this.core.activeContainer;\n this.listenTo(this._container, Events.CONTAINER_PLAY, this.setPlayIcon);\n this.listenTo(this._container, Events.CONTAINER_PAUSE, this.setPauseIcon);\n this.listenTo(this._container, Events.CONTAINER_STOP, this.resetIcon);\n this.listenTo(this._container, Events.CONTAINER_ENDED, this.resetIcon);\n this.listenTo(this._container, Events.CONTAINER_ERROR, this.resetIcon);\n this.resetIcon();\n }\n }, {\n key: \"disable\",\n value: function disable() {\n _superPropGet(Favicon, \"disable\", this, 3)([]);\n this.resetIcon();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _superPropGet(Favicon, \"destroy\", this, 3)([]);\n this.resetIcon();\n }\n }, {\n key: \"createIcon\",\n value: function createIcon(svg) {\n var canvas = $('<canvas/>');\n canvas[0].width = 16;\n canvas[0].height = 16;\n var ctx = canvas[0].getContext('2d');\n ctx.fillStyle = '#000';\n var d = $(svg).find('path').attr('d');\n var path = new Path2D(d);\n ctx.fill(path);\n var icon = $('<link rel=\"shortcut icon\" type=\"image/png\"/>');\n icon.attr('href', canvas[0].toDataURL('image/png'));\n return icon;\n }\n }, {\n key: \"setPlayIcon\",\n value: function setPlayIcon() {\n if (!this.playIcon) {\n this.playIcon = this.createIcon(playIcon);\n }\n this.changeIcon(this.playIcon);\n }\n }, {\n key: \"setPauseIcon\",\n value: function setPauseIcon() {\n if (!this.pauseIcon) {\n this.pauseIcon = this.createIcon(pauseIcon);\n }\n this.changeIcon(this.pauseIcon);\n }\n }, {\n key: \"resetIcon\",\n value: function resetIcon() {\n $('link[rel=\"shortcut icon\"]').remove();\n $('head').append(this.oldIcon);\n }\n }, {\n key: \"changeIcon\",\n value: function changeIcon(icon) {\n if (icon) {\n $('link[rel=\"shortcut icon\"]').remove();\n $('head').append(icon);\n }\n }\n }]);\n}(CorePlugin);\n\nvar GoogleAnalytics = /*#__PURE__*/function (_ContainerPlugin) {\n function GoogleAnalytics(container) {\n var _this;\n _classCallCheck(this, GoogleAnalytics);\n _this = _callSuper(this, GoogleAnalytics, [container]);\n if (_this.container.options.gaAccount) {\n _this.account = _this.container.options.gaAccount;\n _this.trackerName = _this.container.options.gaTrackerName ? _this.container.options.gaTrackerName + '.' : 'Clappr.';\n _this.domainName = _this.container.options.gaDomainName;\n _this.currentHDState = undefined;\n _this.embedScript();\n }\n return _this;\n }\n _inherits(GoogleAnalytics, _ContainerPlugin);\n return _createClass(GoogleAnalytics, [{\n key: \"name\",\n get: function get() {\n return 'google_analytics';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"embedScript\",\n value: function embedScript() {\n var _this2 = this;\n if (!window._gat) {\n var script = document.createElement('script');\n script.setAttribute('type', 'text/javascript');\n script.setAttribute('async', 'async');\n script.setAttribute('src', '//www.google-analytics.com/ga.js');\n script.onload = function () {\n return _this2.addEventListeners();\n };\n document.body.appendChild(script);\n } else {\n this.addEventListeners();\n }\n }\n }, {\n key: \"addEventListeners\",\n value: function addEventListeners() {\n var _this3 = this;\n if (this.container) {\n this.listenTo(this.container, Events.CONTAINER_READY, this.onReady);\n this.listenTo(this.container, Events.CONTAINER_PLAY, this.onPlay);\n this.listenTo(this.container, Events.CONTAINER_STOP, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_PAUSE, this.onPause);\n this.listenTo(this.container, Events.CONTAINER_ENDED, this.onEnded);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERING, this.onBuffering);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);\n this.listenTo(this.container, Events.CONTAINER_ERROR, this.onError);\n this.listenTo(this.container, Events.CONTAINER_PLAYBACKSTATE, this.onPlaybackChanged);\n this.listenTo(this.container, Events.CONTAINER_VOLUME, function (event) {\n return _this3.onVolumeChanged(event);\n });\n this.listenTo(this.container, Events.CONTAINER_SEEK, function (event) {\n return _this3.onSeek(event);\n });\n this.listenTo(this.container, Events.CONTAINER_FULL_SCREEN, this.onFullscreen);\n this.listenTo(this.container, Events.CONTAINER_HIGHDEFINITIONUPDATE, this.onHD);\n this.listenTo(this.container, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.onDVR);\n }\n _gaq.push([this.trackerName + '_setAccount', this.account]);\n if (this.domainName) {\n _gaq.push([this.trackerName + '_setDomainName', this.domainName]);\n }\n }\n }, {\n key: \"onReady\",\n value: function onReady() {\n this.push(['Video', 'Playback', this.container.playback.name]);\n }\n }, {\n key: \"onPlay\",\n value: function onPlay() {\n this.push(['Video', 'Play', this.container.playback.src]);\n }\n }, {\n key: \"onStop\",\n value: function onStop() {\n this.push(['Video', 'Stop', this.container.playback.src]);\n }\n }, {\n key: \"onEnded\",\n value: function onEnded() {\n this.push(['Video', 'Ended', this.container.playback.src]);\n }\n }, {\n key: \"onBuffering\",\n value: function onBuffering() {\n this.push(['Video', 'Buffering', this.container.playback.src]);\n }\n }, {\n key: \"onBufferFull\",\n value: function onBufferFull() {\n this.push(['Video', 'Bufferfull', this.container.playback.src]);\n }\n }, {\n key: \"onError\",\n value: function onError() {\n this.push(['Video', 'Error', this.container.playback.src]);\n }\n }, {\n key: \"onHD\",\n value: function onHD(isHD) {\n var status = isHD ? 'ON' : 'OFF';\n if (status !== this.currentHDState) {\n this.currentHDState = status;\n this.push(['Video', 'HD - ' + status, this.container.playback.src]);\n }\n }\n }, {\n key: \"onPlaybackChanged\",\n value: function onPlaybackChanged(playbackState) {\n if (playbackState.type !== null) {\n this.push(['Video', 'Playback Type - ' + playbackState.type, this.container.playback.src]);\n }\n }\n }, {\n key: \"onDVR\",\n value: function onDVR(dvrInUse) {\n var status = dvrInUse ? 'ON' : 'OFF';\n this.push(['Interaction', 'DVR - ' + status, this.container.playback.src]);\n }\n }, {\n key: \"onPause\",\n value: function onPause() {\n this.push(['Video', 'Pause', this.container.playback.src]);\n }\n }, {\n key: \"onSeek\",\n value: function onSeek() {\n this.push(['Video', 'Seek', this.container.playback.src]);\n }\n }, {\n key: \"onVolumeChanged\",\n value: function onVolumeChanged() {\n this.push(['Interaction', 'Volume', this.container.playback.src]);\n }\n }, {\n key: \"onFullscreen\",\n value: function onFullscreen() {\n this.push(['Interaction', 'Fullscreen', this.container.playback.src]);\n }\n }, {\n key: \"push\",\n value: function push(array) {\n var res = [this.trackerName + '_trackEvent'].concat(array);\n _gaq.push(res);\n }\n }]);\n}(ContainerPlugin);\n\n/* eslint-disable */\n// Kibo is released under the MIT License. Copyright (c) 2013 marquete.\n// see https://github.com/marquete/kibo\n\nvar Kibo = function Kibo(element) {\n this.element = element || window.document;\n this.initialize();\n};\nKibo.KEY_NAMES_BY_CODE = {\n 8: 'backspace',\n 9: 'tab',\n 13: 'enter',\n 16: 'shift',\n 17: 'ctrl',\n 18: 'alt',\n 20: 'caps_lock',\n 27: 'esc',\n 32: 'space',\n 37: 'left',\n 38: 'up',\n 39: 'right',\n 40: 'down',\n 48: '0',\n 49: '1',\n 50: '2',\n 51: '3',\n 52: '4',\n 53: '5',\n 54: '6',\n 55: '7',\n 56: '8',\n 57: '9',\n 65: 'a',\n 66: 'b',\n 67: 'c',\n 68: 'd',\n 69: 'e',\n 70: 'f',\n 71: 'g',\n 72: 'h',\n 73: 'i',\n 74: 'j',\n 75: 'k',\n 76: 'l',\n 77: 'm',\n 78: 'n',\n 79: 'o',\n 80: 'p',\n 81: 'q',\n 82: 'r',\n 83: 's',\n 84: 't',\n 85: 'u',\n 86: 'v',\n 87: 'w',\n 88: 'x',\n 89: 'y',\n 90: 'z',\n 112: 'f1',\n 113: 'f2',\n 114: 'f3',\n 115: 'f4',\n 116: 'f5',\n 117: 'f6',\n 118: 'f7',\n 119: 'f8',\n 120: 'f9',\n 121: 'f10',\n 122: 'f11',\n 123: 'f12'\n};\nKibo.KEY_CODES_BY_NAME = {};\n(function () {\n for (var key in Kibo.KEY_NAMES_BY_CODE) {\n if (Object.prototype.hasOwnProperty.call(Kibo.KEY_NAMES_BY_CODE, key)) {\n Kibo.KEY_CODES_BY_NAME[Kibo.KEY_NAMES_BY_CODE[key]] = +key;\n }\n }\n})();\nKibo.MODIFIERS = ['shift', 'ctrl', 'alt'];\nKibo.registerEvent = function () {\n if (document.addEventListener) {\n return function (element, eventName, func) {\n element.addEventListener(eventName, func, false);\n };\n } else if (document.attachEvent) {\n return function (element, eventName, func) {\n element.attachEvent('on' + eventName, func);\n };\n }\n}();\nKibo.unregisterEvent = function () {\n if (document.removeEventListener) {\n return function (element, eventName, func) {\n element.removeEventListener(eventName, func, false);\n };\n } else if (document.detachEvent) {\n return function (element, eventName, func) {\n element.detachEvent('on' + eventName, func);\n };\n }\n}();\nKibo.stringContains = function (string, substring) {\n return string.indexOf(substring) !== -1;\n};\nKibo.neatString = function (string) {\n return string.replace(/^\\s+|\\s+$/g, '').replace(/\\s+/g, ' ');\n};\nKibo.capitalize = function (string) {\n return string.toLowerCase().replace(/^./, function (match) {\n return match.toUpperCase();\n });\n};\nKibo.isString = function (what) {\n return Kibo.stringContains(Object.prototype.toString.call(what), 'String');\n};\nKibo.arrayIncludes = function () {\n if (Array.prototype.indexOf) {\n return function (haystack, needle) {\n return haystack.indexOf(needle) !== -1;\n };\n } else {\n return function (haystack, needle) {\n for (var i = 0; i < haystack.length; i++) {\n if (haystack[i] === needle) {\n return true;\n }\n }\n return false;\n };\n }\n}();\nKibo.extractModifiers = function (keyCombination) {\n var modifiers, i;\n modifiers = [];\n for (i = 0; i < Kibo.MODIFIERS.length; i++) {\n if (Kibo.stringContains(keyCombination, Kibo.MODIFIERS[i])) {\n modifiers.push(Kibo.MODIFIERS[i]);\n }\n }\n return modifiers;\n};\nKibo.extractKey = function (keyCombination) {\n var keys, i;\n keys = Kibo.neatString(keyCombination).split(' ');\n for (i = 0; i < keys.length; i++) {\n if (!Kibo.arrayIncludes(Kibo.MODIFIERS, keys[i])) {\n return keys[i];\n }\n }\n};\nKibo.modifiersAndKey = function (keyCombination) {\n var result, key;\n if (Kibo.stringContains(keyCombination, 'any')) {\n return Kibo.neatString(keyCombination).split(' ').slice(0, 2).join(' ');\n }\n result = Kibo.extractModifiers(keyCombination);\n key = Kibo.extractKey(keyCombination);\n if (key && !Kibo.arrayIncludes(Kibo.MODIFIERS, key)) {\n result.push(key);\n }\n return result.join(' ');\n};\nKibo.keyName = function (keyCode) {\n return Kibo.KEY_NAMES_BY_CODE[keyCode + ''];\n};\nKibo.keyCode = function (keyName) {\n return +Kibo.KEY_CODES_BY_NAME[keyName];\n};\nKibo.prototype.initialize = function () {\n var i,\n that = this;\n this.lastKeyCode = -1;\n this.lastModifiers = {};\n for (i = 0; i < Kibo.MODIFIERS.length; i++) {\n this.lastModifiers[Kibo.MODIFIERS[i]] = false;\n }\n this.keysDown = {\n any: []\n };\n this.keysUp = {\n any: []\n };\n this.downHandler = this.handler('down');\n this.upHandler = this.handler('up');\n Kibo.registerEvent(this.element, 'keydown', this.downHandler);\n Kibo.registerEvent(this.element, 'keyup', this.upHandler);\n var unloadEvent = _typeof(window.onbeforeunload) === 'object' ? 'beforeunload' : 'unload';\n Kibo.registerEvent(window, unloadEvent, function unloader() {\n Kibo.unregisterEvent(that.element, 'keydown', that.downHandler);\n Kibo.unregisterEvent(that.element, 'keyup', that.upHandler);\n Kibo.unregisterEvent(window, unloadEvent, unloader);\n });\n};\nKibo.prototype.handler = function (upOrDown) {\n var that = this;\n return function (e) {\n var i, registeredKeys, lastModifiersAndKey;\n e = e || window.event;\n that.lastKeyCode = e.keyCode;\n for (i = 0; i < Kibo.MODIFIERS.length; i++) {\n that.lastModifiers[Kibo.MODIFIERS[i]] = e[Kibo.MODIFIERS[i] + 'Key'];\n }\n if (Kibo.arrayIncludes(Kibo.MODIFIERS, Kibo.keyName(that.lastKeyCode))) {\n that.lastModifiers[Kibo.keyName(that.lastKeyCode)] = true;\n }\n registeredKeys = that['keys' + Kibo.capitalize(upOrDown)];\n for (i = 0; i < registeredKeys.any.length; i++) {\n if (registeredKeys.any[i](e) === false && e.preventDefault) {\n e.preventDefault();\n }\n }\n lastModifiersAndKey = that.lastModifiersAndKey();\n if (registeredKeys[lastModifiersAndKey]) {\n for (i = 0; i < registeredKeys[lastModifiersAndKey].length; i++) {\n if (registeredKeys[lastModifiersAndKey][i](e) === false && e.preventDefault) {\n e.preventDefault();\n }\n }\n }\n };\n};\nKibo.prototype.registerKeys = function (upOrDown, newKeys, func) {\n var i,\n keys,\n registeredKeys = this['keys' + Kibo.capitalize(upOrDown)];\n if (Kibo.isString(newKeys)) {\n newKeys = [newKeys];\n }\n for (i = 0; i < newKeys.length; i++) {\n keys = newKeys[i];\n keys = Kibo.modifiersAndKey(keys + '');\n if (registeredKeys[keys]) {\n registeredKeys[keys].push(func);\n } else {\n registeredKeys[keys] = [func];\n }\n }\n return this;\n};\n\n// jshint maxdepth:5\nKibo.prototype.unregisterKeys = function (upOrDown, newKeys, func) {\n var i,\n j,\n keys,\n registeredKeys = this['keys' + Kibo.capitalize(upOrDown)];\n if (Kibo.isString(newKeys)) {\n newKeys = [newKeys];\n }\n for (i = 0; i < newKeys.length; i++) {\n keys = newKeys[i];\n keys = Kibo.modifiersAndKey(keys + '');\n if (func === null) {\n delete registeredKeys[keys];\n } else {\n if (registeredKeys[keys]) {\n for (j = 0; j < registeredKeys[keys].length; j++) {\n if (String(registeredKeys[keys][j]) === String(func)) {\n registeredKeys[keys].splice(j, 1);\n break;\n }\n }\n }\n }\n }\n return this;\n};\nKibo.prototype.off = function (keys) {\n return this.unregisterKeys('down', keys, null);\n};\nKibo.prototype.delegate = function (upOrDown, keys, func) {\n return func !== null || func !== undefined ? this.registerKeys(upOrDown, keys, func) : this.unregisterKeys(upOrDown, keys, func);\n};\nKibo.prototype.down = function (keys, func) {\n return this.delegate('down', keys, func);\n};\nKibo.prototype.up = function (keys, func) {\n return this.delegate('up', keys, func);\n};\nKibo.prototype.lastKey = function (modifier) {\n if (!modifier) {\n return Kibo.keyName(this.lastKeyCode);\n }\n return this.lastModifiers[modifier];\n};\nKibo.prototype.lastModifiersAndKey = function () {\n var result, i;\n result = [];\n for (i = 0; i < Kibo.MODIFIERS.length; i++) {\n if (this.lastKey(Kibo.MODIFIERS[i])) {\n result.push(Kibo.MODIFIERS[i]);\n }\n }\n if (!Kibo.arrayIncludes(result, this.lastKey())) {\n result.push(this.lastKey());\n }\n return result.join(' ');\n};\n\nvar index = {\n Kibo: Kibo\n};\n\nvar css_248z$4 = \".media-control-notransition {\\n transition: none !important; }\\n\\n.media-control[data-media-control] {\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n z-index: 9999;\\n pointer-events: none; }\\n .media-control[data-media-control].dragging {\\n pointer-events: auto;\\n cursor: grabbing !important;\\n cursor: url(\\\"closed-hand.cur\\\"), move; }\\n .media-control[data-media-control].dragging * {\\n cursor: grabbing !important;\\n cursor: url(\\\"closed-hand.cur\\\"), move; }\\n .media-control[data-media-control] .media-control-background[data-background] {\\n position: absolute;\\n height: 40%;\\n width: 100%;\\n bottom: 0;\\n background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));\\n will-change: transform, opacity;\\n transition: opacity 0.6s ease-out; }\\n .media-control[data-media-control] .media-control-icon {\\n line-height: 0;\\n letter-spacing: 0;\\n speak: none;\\n color: #fff;\\n opacity: 0.5;\\n vertical-align: middle;\\n text-align: left;\\n transition: all 0.1s ease; }\\n .media-control[data-media-control] .media-control-icon:hover {\\n color: white;\\n opacity: 0.75;\\n text-shadow: rgba(255, 255, 255, 0.8) 0 0 5px; }\\n .media-control[data-media-control].media-control-hide .media-control-background[data-background] {\\n opacity: 0; }\\n .media-control[data-media-control].media-control-hide .media-control-layer[data-controls] {\\n transform: translateY(50px); }\\n .media-control[data-media-control].media-control-hide .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-scrubber[data-seekbar] {\\n opacity: 0; }\\n .media-control[data-media-control] .media-control-layer[data-controls] {\\n position: absolute;\\n transform: translateY(-7px);\\n bottom: 0;\\n width: 100%;\\n height: 32px;\\n font-size: 0;\\n vertical-align: middle;\\n pointer-events: auto;\\n transition: bottom 0.4s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-left-panel[data-media-control] {\\n position: absolute;\\n top: 0;\\n left: 4px;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-center-panel[data-media-control] {\\n height: 100%;\\n text-align: center;\\n line-height: 32px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-right-panel[data-media-control] {\\n position: absolute;\\n top: 0;\\n right: 4px;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button {\\n background-color: transparent;\\n border: 0;\\n margin: 0 6px;\\n padding: 0;\\n cursor: pointer;\\n display: inline-block;\\n width: 32px;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button svg {\\n width: 100%;\\n height: 22px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button svg path {\\n fill: white; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button:focus {\\n outline: none; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-play] {\\n float: left;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-pause] {\\n float: left;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-stop] {\\n float: left;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-fullscreen] {\\n float: right;\\n background-color: transparent;\\n border: 0;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-hd-indicator] {\\n background-color: transparent;\\n border: 0;\\n cursor: default;\\n display: none;\\n float: right;\\n height: 100%; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-hd-indicator].enabled {\\n display: block;\\n opacity: 1.0; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-hd-indicator].enabled:hover {\\n opacity: 1.0;\\n text-shadow: none; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-playpause] {\\n float: left; }\\n .media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-playstop] {\\n float: left; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-position], .media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-duration] {\\n display: inline-block;\\n font-size: 10px;\\n color: white;\\n cursor: default;\\n line-height: 32px;\\n position: relative; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-position] {\\n margin: 0 6px 0 7px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-duration] {\\n color: rgba(255, 255, 255, 0.5);\\n margin-right: 6px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-duration]:before {\\n content: \\\"|\\\";\\n margin-right: 7px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] {\\n position: absolute;\\n top: -20px;\\n left: 0;\\n display: inline-block;\\n vertical-align: middle;\\n width: 100%;\\n height: 25px;\\n cursor: pointer; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] {\\n width: 100%;\\n height: 1px;\\n position: relative;\\n top: 12px;\\n background-color: #666666; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-1[data-seekbar] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 0;\\n height: 100%;\\n background-color: #c2c2c2;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-2[data-seekbar] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 0;\\n height: 100%;\\n background-color: #005aff;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-hover[data-seekbar] {\\n opacity: 0;\\n position: absolute;\\n top: -3px;\\n width: 5px;\\n height: 7px;\\n background-color: rgba(255, 255, 255, 0.5);\\n transition: opacity 0.1s ease; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar]:hover .bar-background[data-seekbar] .bar-hover[data-seekbar] {\\n opacity: 1; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar].seek-disabled {\\n cursor: default; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar].seek-disabled:hover .bar-background[data-seekbar] .bar-hover[data-seekbar] {\\n opacity: 0; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-scrubber[data-seekbar] {\\n position: absolute;\\n transform: translateX(-50%);\\n top: 2px;\\n left: 0;\\n width: 20px;\\n height: 20px;\\n opacity: 1;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-scrubber[data-seekbar] .bar-scrubber-icon[data-seekbar] {\\n position: absolute;\\n left: 6px;\\n top: 6px;\\n width: 8px;\\n height: 8px;\\n border-radius: 10px;\\n box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.2);\\n background-color: white; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] {\\n float: right;\\n display: inline-block;\\n height: 32px;\\n cursor: pointer;\\n margin: 0 6px;\\n box-sizing: border-box; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] {\\n float: left;\\n bottom: 0; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume] {\\n background-color: transparent;\\n border: 0;\\n box-sizing: content-box;\\n width: 32px;\\n height: 32px;\\n opacity: 0.5; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume]:hover {\\n opacity: 0.75; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume] svg {\\n height: 24px;\\n position: relative;\\n top: 3px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume] svg path {\\n fill: white; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume].muted svg {\\n margin-left: 2px; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] {\\n float: left;\\n position: relative;\\n overflow: hidden;\\n top: 6px;\\n width: 42px;\\n height: 18px;\\n padding: 3px 0;\\n transition: width .2s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume] {\\n height: 1px;\\n position: relative;\\n top: 7px;\\n margin: 0 3px;\\n background-color: #666666; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume] .bar-fill-1[data-volume] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 0;\\n height: 100%;\\n background-color: #c2c2c2;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume] .bar-fill-2[data-volume] {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 0;\\n height: 100%;\\n background-color: #005aff;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume] .bar-hover[data-volume] {\\n opacity: 0;\\n position: absolute;\\n top: -3px;\\n width: 5px;\\n height: 7px;\\n background-color: rgba(255, 255, 255, 0.5);\\n transition: opacity 0.1s ease; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-scrubber[data-volume] {\\n position: absolute;\\n transform: translateX(-50%);\\n top: 0px;\\n left: 0;\\n width: 20px;\\n height: 20px;\\n opacity: 1;\\n transition: all 0.1s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-scrubber[data-volume] .bar-scrubber-icon[data-volume] {\\n position: absolute;\\n left: 6px;\\n top: 6px;\\n width: 8px;\\n height: 8px;\\n border-radius: 10px;\\n box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.2);\\n background-color: white; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume] {\\n float: left;\\n width: 4px;\\n padding-left: 2px;\\n height: 12px;\\n opacity: 0.5;\\n box-shadow: inset 2px 0 0 white;\\n transition: transform .2s ease-out; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume].fill {\\n box-shadow: inset 2px 0 0 #fff;\\n opacity: 1; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume]:nth-of-type(1) {\\n padding-left: 0; }\\n .media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume]:hover {\\n transform: scaleY(1.5); }\\n .media-control[data-media-control].w320 .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume].volume-bar-hide {\\n width: 0;\\n height: 12px;\\n top: 9px;\\n padding: 0; }\\n\";\n\nvar mediaControlHTML = \"<div class=\\\"media-control-background\\\" data-background></div>\\n<div class=\\\"media-control-layer\\\" data-controls>\\n <% var renderBar = function(name) { %>\\n <div class=\\\"bar-container\\\" data-<%= name %>>\\n <div class=\\\"bar-background\\\" data-<%= name %>>\\n <div class=\\\"bar-fill-1\\\" data-<%= name %>></div>\\n <div class=\\\"bar-fill-2\\\" data-<%= name %>></div>\\n <div class=\\\"bar-hover\\\" data-<%= name %>></div>\\n </div>\\n <div class=\\\"bar-scrubber\\\" data-<%= name %>>\\n <div class=\\\"bar-scrubber-icon\\\" data-<%= name %>></div>\\n </div>\\n </div>\\n <% }; %>\\n <% var renderSegmentedBar = function(name, segments) {\\n segments = segments || 10; %>\\n <div class=\\\"bar-container\\\" data-<%= name %>>\\n <% for (var i = 0; i < segments; i++) { %>\\n <div class=\\\"segmented-bar-element\\\" data-<%= name %>></div>\\n <% } %>\\n </div>\\n <% }; %>\\n <% var renderDrawer = function(name, renderContent) { %>\\n <div class=\\\"drawer-container\\\" data-<%= name %>>\\n <div class=\\\"drawer-icon-container\\\" data-<%= name %>>\\n <div class=\\\"drawer-icon media-control-icon\\\" data-<%= name %>></div>\\n <span class=\\\"drawer-text\\\" data-<%= name %>></span>\\n </div>\\n <% renderContent(name); %>\\n </div>\\n <% }; %>\\n <% var renderIndicator = function(name) { %>\\n <div class=\\\"media-control-indicator\\\" data-<%= name %>></div>\\n <% }; %>\\n <% var renderButton = function(name) { %>\\n <button type=\\\"button\\\" class=\\\"media-control-button media-control-icon\\\" data-<%= name %> aria-label=\\\"<%= name %>\\\"></button>\\n <% }; %>\\n <% var templates = {\\n bar: renderBar,\\n segmentedBar: renderSegmentedBar,\\n };\\n var render = function(settingsList) {\\n settingsList.forEach(function(setting) {\\n if(setting === \\\"seekbar\\\") {\\n renderBar(setting);\\n } else if (setting === \\\"volume\\\") {\\n renderDrawer(setting, settings.volumeBarTemplate ? templates[settings.volumeBarTemplate] : function(name) { return renderSegmentedBar(name); });\\n } else if (setting === \\\"duration\\\" || setting === \\\"position\\\") {\\n renderIndicator(setting);\\n } else {\\n renderButton(setting);\\n }\\n });\\n }; %>\\n <% if (settings.default && settings.default.length) { %>\\n <div class=\\\"media-control-center-panel\\\" data-media-control>\\n <% render(settings.default); %>\\n </div>\\n <% } %>\\n <% if (settings.left && settings.left.length) { %>\\n <div class=\\\"media-control-left-panel\\\" data-media-control>\\n <% render(settings.left); %>\\n </div>\\n <% } %>\\n <% if (settings.right && settings.right.length) { %>\\n <div class=\\\"media-control-right-panel\\\" data-media-control>\\n <% render(settings.right); %>\\n </div>\\n <% } %>\\n</div>\\n\";\n\nvar stopIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#010101\\\" d=\\\"M1.712 1.24h12.6v13.52h-12.6z\\\"/>\\n</svg>\";\n\nvar volumeIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#010101\\\" d=\\\"M11.5 11h-.002v1.502L7.798 10H4.5V6h3.297l3.7-2.502V4.5h.003V11zM11 4.49L7.953 6.5H5v3h2.953L11 11.51V4.49z\\\"/>\\n</svg>\";\n\nvar volumeMuteIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#010101\\\" d=\\\"M9.75 11.51L6.7 9.5H3.75v-3H6.7L9.75 4.49v.664l.497.498V3.498L6.547 6H3.248v4h3.296l3.7 2.502v-2.154l-.497.5v.662zm3-5.165L12.404 6l-1.655 1.653L9.093 6l-.346.345L10.402 8 8.747 9.654l.346.347 1.655-1.653L12.403 10l.348-.346L11.097 8l1.655-1.655z\\\"/>\\n</svg>\";\n\nvar fullscreenIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill=\\\"#010101\\\" d=\\\"M7.156 8L4 11.156V8.5H3V13h4.5v-1H4.844L8 8.844 7.156 8zM8.5 3v1h2.657L8 7.157 8.846 8 12 4.844V7.5h1V3H8.5z\\\"/>\\n</svg>\";\n\nvar exitFullscreenIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill=\\\"#010101\\\" d=\\\"M13.5 3.344l-.844-.844L9.5 5.656V3h-1v4.5H13v-1h-2.656L13.5 3.344zM3 9.5h2.656L2.5 12.656l.844.844L6.5 10.344V13h1V8.5H3v1z\\\"/>\\n</svg>\";\n\nvar hdIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\">\\n <path fill=\\\"#010101\\\" d=\\\"M5.375 7.062H2.637V4.26H.502v7.488h2.135V8.9h2.738v2.848h2.133V4.26H5.375v2.802zm5.97-2.81h-2.84v7.496h2.798c2.65 0 4.195-1.607 4.195-3.77v-.022c0-2.162-1.523-3.704-4.154-3.704zm2.06 3.758c0 1.21-.81 1.896-2.03 1.896h-.83V6.093h.83c1.22 0 2.03.696 2.03 1.896v.02z\\\"/>\\n</svg>\";\n\nvar Config = Utils.Config,\n Fullscreen = Utils.Fullscreen,\n formatTime$1 = Utils.formatTime,\n extend = Utils.extend,\n removeArrayItem = Utils.removeArrayItem;\nvar MediaControl = /*#__PURE__*/function (_UICorePlugin) {\n function MediaControl(core) {\n var _this;\n _classCallCheck(this, MediaControl);\n _this = _callSuper(this, MediaControl, [core]);\n _this.persistConfig = _this.options.persistConfig;\n _this.currentPositionValue = null;\n _this.currentDurationValue = null;\n _this.keepVisible = false;\n _this.fullScreenOnVideoTagSupported = null; // unknown\n _this.setInitialVolume();\n _this.settings = {\n left: ['play', 'stop', 'pause'],\n right: ['volume'],\n \"default\": ['position', 'seekbar', 'duration']\n };\n _this.kibo = new Kibo(_this.options.focusElement);\n _this.bindKeyEvents();\n if (_this.container) {\n if (!$.isEmptyObject(_this.container.settings)) {\n _this.settings = $.extend({}, _this.container.settings);\n }\n } else {\n _this.settings = {};\n }\n _this.userDisabled = false;\n if (_this.container && _this.container.mediaControlDisabled || _this.options.chromeless) {\n _this.disable();\n }\n _this.stopDragHandler = function (event) {\n return _this.stopDrag(event);\n };\n _this.updateDragHandler = function (event) {\n return _this.updateDrag(event);\n };\n $(document).bind('mouseup', _this.stopDragHandler);\n $(document).bind('mousemove', _this.updateDragHandler);\n return _this;\n }\n _inherits(MediaControl, _UICorePlugin);\n return _createClass(MediaControl, [{\n key: \"name\",\n get: function get() {\n return 'media_control';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"disabled\",\n get: function get() {\n var playbackIsNOOP = this.container && this.container.getPlaybackType() === Playback.NO_OP;\n return this.userDisabled || playbackIsNOOP;\n }\n }, {\n key: \"container\",\n get: function get() {\n return this.core && this.core.activeContainer;\n }\n }, {\n key: \"playback\",\n get: function get() {\n return this.core && this.core.activePlayback;\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'media-control',\n 'data-media-control': ''\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'click [data-play]': 'play',\n 'click [data-pause]': 'pause',\n 'click [data-playpause]': 'togglePlayPause',\n 'click [data-stop]': 'stop',\n 'click [data-playstop]': 'togglePlayStop',\n 'click [data-fullscreen]': 'toggleFullscreen',\n 'click .bar-container[data-seekbar]': 'seek',\n 'click .bar-container[data-volume]': 'onVolumeClick',\n 'click .drawer-icon[data-volume]': 'toggleMute',\n 'mouseenter .drawer-container[data-volume]': 'showVolumeBar',\n 'mouseleave .drawer-container[data-volume]': 'hideVolumeBar',\n 'mousedown .bar-container[data-volume]': 'startVolumeDrag',\n 'mousemove .bar-container[data-volume]': 'mousemoveOnVolumeBar',\n 'mousedown .bar-scrubber[data-seekbar]': 'startSeekDrag',\n 'mousemove .bar-container[data-seekbar]': 'mousemoveOnSeekBar',\n 'mouseleave .bar-container[data-seekbar]': 'mouseleaveOnSeekBar',\n 'mouseenter .media-control-layer[data-controls]': 'setUserKeepVisible',\n 'mouseleave .media-control-layer[data-controls]': 'resetUserKeepVisible'\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(mediaControlHTML);\n }\n }, {\n key: \"volume\",\n get: function get() {\n return this.container && this.container.isReady ? this.container.volume : this.intendedVolume;\n }\n }, {\n key: \"muted\",\n get: function get() {\n return this.volume === 0;\n }\n }, {\n key: \"getExternalInterface\",\n value: function getExternalInterface() {\n var _this2 = this;\n return {\n setVolume: this.setVolume,\n getVolume: function getVolume() {\n return _this2.volume;\n }\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n var _this3 = this;\n this.stopListening();\n this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);\n this.listenTo(this.core, Events.CORE_MOUSE_MOVE, this.show);\n this.listenTo(this.core, Events.CORE_MOUSE_LEAVE, function () {\n return _this3.hide(_this3.options.hideMediaControlDelay);\n });\n this.listenTo(this.core, Events.CORE_FULLSCREEN, this.show);\n this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.configure);\n this.listenTo(this.core, Events.CORE_RESIZE, this.playerResize);\n this.bindContainerEvents();\n }\n }, {\n key: \"bindContainerEvents\",\n value: function bindContainerEvents() {\n if (!this.container) return;\n this.listenTo(this.container, Events.CONTAINER_PLAY, this.changeTogglePlay);\n this.listenTo(this.container, Events.CONTAINER_PAUSE, this.changeTogglePlay);\n this.listenTo(this.container, Events.CONTAINER_STOP, this.changeTogglePlay);\n this.listenTo(this.container, Events.CONTAINER_DBLCLICK, this.toggleFullscreen);\n this.listenTo(this.container, Events.CONTAINER_TIMEUPDATE, this.onTimeUpdate);\n this.listenTo(this.container, Events.CONTAINER_PROGRESS, this.updateProgressBar);\n this.listenTo(this.container, Events.CONTAINER_SETTINGSUPDATE, this.settingsUpdate);\n this.listenTo(this.container, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.settingsUpdate);\n this.listenTo(this.container, Events.CONTAINER_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);\n this.listenTo(this.container, Events.CONTAINER_MEDIACONTROL_DISABLE, this.disable);\n this.listenTo(this.container, Events.CONTAINER_MEDIACONTROL_ENABLE, this.enable);\n this.listenTo(this.container, Events.CONTAINER_ENDED, this.ended);\n this.listenTo(this.container, Events.CONTAINER_VOLUME, this.onVolumeChanged);\n this.listenTo(this.container, Events.CONTAINER_OPTIONS_CHANGE, this.setInitialVolume);\n if (this.container.playback.el.nodeName.toLowerCase() === 'video') {\n // wait until the metadata has loaded and then check if fullscreen on video tag is supported\n this.listenToOnce(this.container, Events.CONTAINER_LOADEDMETADATA, this.onLoadedMetadataOnVideoTag);\n }\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.userDisabled = true;\n this.hide();\n this.unbindKeyEvents();\n this.$el.hide();\n }\n }, {\n key: \"enable\",\n value: function enable() {\n if (this.options.chromeless) return;\n this.userDisabled = false;\n this.bindKeyEvents();\n this.show();\n }\n }, {\n key: \"play\",\n value: function play() {\n this.container && this.container.play();\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.container && this.container.pause();\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this.container && this.container.stop();\n }\n }, {\n key: \"setInitialVolume\",\n value: function setInitialVolume() {\n var initialVolume = this.persistConfig ? Config.restore('volume') : 100;\n var options = this.container && this.container.options || this.options;\n this.setVolume(options.mute ? 0 : initialVolume, true);\n }\n }, {\n key: \"onVolumeChanged\",\n value: function onVolumeChanged() {\n this.updateVolumeUI();\n }\n }, {\n key: \"onLoadedMetadataOnVideoTag\",\n value: function onLoadedMetadataOnVideoTag() {\n var video = this.playback && this.playback.el;\n // video.webkitSupportsFullscreen is deprecated but iOS appears to only use this\n // see https://github.com/clappr/clappr/issues/1127\n if (!Fullscreen.fullscreenEnabled() && video.webkitSupportsFullscreen) {\n this.fullScreenOnVideoTagSupported = true;\n this.settingsUpdate();\n }\n }\n }, {\n key: \"updateVolumeUI\",\n value: function updateVolumeUI() {\n // this will be called after a render\n if (!this.rendered) return;\n\n // update volume bar scrubber/fill on bar mode\n this.$volumeBarContainer.find('.bar-fill-2').css({});\n var containerWidth = this.$volumeBarContainer.width();\n var barWidth = this.$volumeBarBackground.width();\n var offset = (containerWidth - barWidth) / 2.0;\n var pos = barWidth * this.volume / 100.0 + offset;\n this.$volumeBarFill.css({\n width: \"\".concat(this.volume, \"%\")\n });\n this.$volumeBarScrubber.css({\n left: pos\n });\n\n // update volume bar segments on segmented bar mode\n this.$volumeBarContainer.find('.segmented-bar-element').removeClass('fill');\n var item = Math.ceil(this.volume / 10.0);\n this.$volumeBarContainer.find('.segmented-bar-element').slice(0, item).addClass('fill');\n this.$volumeIcon.html('');\n this.$volumeIcon.removeClass('muted');\n if (!this.muted) {\n this.$volumeIcon.append(volumeIcon);\n } else {\n this.$volumeIcon.append(volumeMuteIcon);\n this.$volumeIcon.addClass('muted');\n }\n this.applyButtonStyle(this.$volumeIcon);\n }\n }, {\n key: \"changeTogglePlay\",\n value: function changeTogglePlay() {\n this.$playPauseToggle.html('');\n this.$playStopToggle.html('');\n if (this.container && this.container.isPlaying()) {\n this.$playPauseToggle.append(pauseIcon);\n this.$playStopToggle.append(stopIcon);\n this.trigger(Events.MEDIACONTROL_PLAYING);\n } else {\n this.$playPauseToggle.append(playIcon);\n this.$playStopToggle.append(playIcon);\n this.trigger(Events.MEDIACONTROL_NOTPLAYING);\n Browser.isMobile && this.show();\n }\n this.applyButtonStyle(this.$playPauseToggle);\n this.applyButtonStyle(this.$playStopToggle);\n }\n }, {\n key: \"mousemoveOnSeekBar\",\n value: function mousemoveOnSeekBar(event) {\n if (this.settings.seekEnabled) {\n var offsetX = event.pageX - this.$seekBarContainer.offset().left - this.$seekBarHover.width() / 2;\n this.$seekBarHover.css({\n left: offsetX\n });\n }\n this.trigger(Events.MEDIACONTROL_MOUSEMOVE_SEEKBAR, event);\n }\n }, {\n key: \"mouseleaveOnSeekBar\",\n value: function mouseleaveOnSeekBar(event) {\n this.trigger(Events.MEDIACONTROL_MOUSELEAVE_SEEKBAR, event);\n }\n }, {\n key: \"onVolumeClick\",\n value: function onVolumeClick(event) {\n this.setVolume(this.getVolumeFromUIEvent(event));\n }\n }, {\n key: \"mousemoveOnVolumeBar\",\n value: function mousemoveOnVolumeBar(event) {\n this.draggingVolumeBar && this.setVolume(this.getVolumeFromUIEvent(event));\n }\n }, {\n key: \"playerResize\",\n value: function playerResize(size) {\n this.$fullscreenToggle.html('');\n var icon = this.core.isFullscreen() ? exitFullscreenIcon : fullscreenIcon;\n this.$fullscreenToggle.append(icon);\n this.applyButtonStyle(this.$fullscreenToggle);\n this.$el.find('.media-control').length !== 0 && this.$el.removeClass('w320');\n if (size.width <= 320 || this.options.hideVolumeBar) this.$el.addClass('w320');\n }\n }, {\n key: \"togglePlayPause\",\n value: function togglePlayPause() {\n this.container.isPlaying() ? this.container.pause() : this.container.play();\n return false;\n }\n }, {\n key: \"togglePlayStop\",\n value: function togglePlayStop() {\n this.container.isPlaying() ? this.container.stop() : this.container.play();\n }\n }, {\n key: \"startSeekDrag\",\n value: function startSeekDrag(event) {\n if (!this.settings.seekEnabled) return;\n this.draggingSeekBar = true;\n this.$el.addClass('dragging');\n this.$seekBarLoaded.addClass('media-control-notransition');\n this.$seekBarPosition.addClass('media-control-notransition');\n this.$seekBarScrubber.addClass('media-control-notransition');\n event && event.preventDefault();\n }\n }, {\n key: \"startVolumeDrag\",\n value: function startVolumeDrag(event) {\n this.draggingVolumeBar = true;\n this.$el.addClass('dragging');\n event && event.preventDefault();\n }\n }, {\n key: \"stopDrag\",\n value: function stopDrag(event) {\n this.draggingSeekBar && this.seek(event);\n this.$el.removeClass('dragging');\n this.$seekBarLoaded.removeClass('media-control-notransition');\n this.$seekBarPosition.removeClass('media-control-notransition');\n this.$seekBarScrubber.removeClass('media-control-notransition dragging');\n this.draggingSeekBar = false;\n this.draggingVolumeBar = false;\n }\n }, {\n key: \"updateDrag\",\n value: function updateDrag(event) {\n if (this.draggingSeekBar) {\n event.preventDefault();\n var offsetX = event.pageX - this.$seekBarContainer.offset().left;\n var pos = offsetX / this.$seekBarContainer.width() * 100;\n pos = Math.min(100, Math.max(pos, 0));\n this.setSeekPercentage(pos);\n } else if (this.draggingVolumeBar) {\n event.preventDefault();\n this.setVolume(this.getVolumeFromUIEvent(event));\n }\n }\n }, {\n key: \"getVolumeFromUIEvent\",\n value: function getVolumeFromUIEvent(event) {\n var offsetY = event.pageX - this.$volumeBarContainer.offset().left;\n var volumeFromUI = offsetY / this.$volumeBarContainer.width() * 100;\n return volumeFromUI;\n }\n }, {\n key: \"toggleMute\",\n value: function toggleMute() {\n this.setVolume(this.muted ? 100 : 0);\n }\n }, {\n key: \"setVolume\",\n value: function setVolume(value) {\n var _this4 = this;\n var isInitialVolume = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n value = Math.min(100, Math.max(value, 0));\n // this will hold the intended volume\n // it may not actually get set to this straight away\n // if the container is not ready etc\n this.intendedVolume = value;\n this.persistConfig && !isInitialVolume && Config.persist('volume', value);\n var setWhenContainerReady = function setWhenContainerReady() {\n if (_this4.container && _this4.container.isReady) {\n _this4.container.setVolume(value);\n } else {\n _this4.listenToOnce(_this4.container, Events.CONTAINER_READY, function () {\n _this4.container.setVolume(value);\n });\n }\n };\n if (!this.container) {\n this.listenToOnce(this, Events.MEDIACONTROL_CONTAINERCHANGED, function () {\n return setWhenContainerReady();\n });\n } else {\n setWhenContainerReady();\n }\n }\n }, {\n key: \"toggleFullscreen\",\n value: function toggleFullscreen() {\n this.trigger(Events.MEDIACONTROL_FULLSCREEN, this.name);\n this.container.fullscreen();\n this.core.toggleFullscreen();\n this.resetUserKeepVisible();\n }\n }, {\n key: \"onActiveContainerChanged\",\n value: function onActiveContainerChanged() {\n this.fullScreenOnVideoTagSupported = null;\n this.bindEvents();\n // set the new container to match the volume of the last one\n this.setInitialVolume();\n this.changeTogglePlay();\n this.bindContainerEvents();\n this.settingsUpdate();\n this.container && this.container.trigger(Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.container.isDvrInUse());\n this.container && this.container.mediaControlDisabled && this.disable();\n this.trigger(Events.MEDIACONTROL_CONTAINERCHANGED);\n }\n }, {\n key: \"showVolumeBar\",\n value: function showVolumeBar() {\n this.hideVolumeId && clearTimeout(this.hideVolumeId);\n this.$volumeBarContainer.removeClass('volume-bar-hide');\n }\n }, {\n key: \"hideVolumeBar\",\n value: function hideVolumeBar() {\n var _this5 = this;\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 400;\n if (!this.$volumeBarContainer) return;\n if (this.draggingVolumeBar) {\n this.hideVolumeId = setTimeout(function () {\n return _this5.hideVolumeBar();\n }, timeout);\n } else {\n this.hideVolumeId && clearTimeout(this.hideVolumeId);\n this.hideVolumeId = setTimeout(function () {\n return _this5.$volumeBarContainer.addClass('volume-bar-hide');\n }, timeout);\n }\n }\n }, {\n key: \"ended\",\n value: function ended() {\n this.changeTogglePlay();\n }\n }, {\n key: \"updateProgressBar\",\n value: function updateProgressBar(progress) {\n var loadedStart = progress.start / progress.total * 100;\n var loadedEnd = progress.current / progress.total * 100;\n this.$seekBarLoaded.css({\n left: \"\".concat(loadedStart, \"%\"),\n width: \"\".concat(loadedEnd - loadedStart, \"%\")\n });\n }\n }, {\n key: \"onTimeUpdate\",\n value: function onTimeUpdate(timeProgress) {\n if (this.draggingSeekBar) return;\n // TODO why should current time ever be negative?\n var position = timeProgress.current < 0 ? timeProgress.total : timeProgress.current;\n this.currentPositionValue = position;\n this.currentDurationValue = timeProgress.total;\n this.renderSeekBar();\n }\n }, {\n key: \"renderSeekBar\",\n value: function renderSeekBar() {\n // this will be triggered as soon as these become available\n if (this.currentPositionValue === null || this.currentDurationValue === null) return;\n\n // default to 100%\n this.currentSeekBarPercentage = 100;\n if (this.container && (this.container.getPlaybackType() !== Playback.LIVE || this.container.isDvrInUse())) {\n this.currentSeekBarPercentage = this.currentPositionValue / this.currentDurationValue * 100;\n }\n this.setSeekPercentage(this.currentSeekBarPercentage);\n var newPosition = formatTime$1(this.currentPositionValue);\n var newDuration = formatTime$1(this.currentDurationValue);\n if (newPosition !== this.displayedPosition) {\n this.$position.text(newPosition);\n this.displayedPosition = newPosition;\n }\n if (newDuration !== this.displayedDuration) {\n this.$duration.text(newDuration);\n this.displayedDuration = newDuration;\n }\n }\n }, {\n key: \"seek\",\n value: function seek(event) {\n if (!this.settings.seekEnabled) return;\n var offsetX = event.pageX - this.$seekBarContainer.offset().left;\n var pos = offsetX / this.$seekBarContainer.width() * 100;\n pos = Math.min(100, Math.max(pos, 0));\n this.container && this.container.seekPercentage(pos);\n this.setSeekPercentage(pos);\n return false;\n }\n }, {\n key: \"setKeepVisible\",\n value: function setKeepVisible() {\n this.keepVisible = true;\n }\n }, {\n key: \"resetKeepVisible\",\n value: function resetKeepVisible() {\n this.keepVisible = false;\n }\n }, {\n key: \"setUserKeepVisible\",\n value: function setUserKeepVisible() {\n this.userKeepVisible = true;\n }\n }, {\n key: \"resetUserKeepVisible\",\n value: function resetUserKeepVisible() {\n this.userKeepVisible = false;\n }\n }, {\n key: \"isVisible\",\n value: function isVisible() {\n return !this.$el.hasClass('media-control-hide');\n }\n }, {\n key: \"show\",\n value: function show(event) {\n var _this6 = this;\n if (this.disabled) return;\n var timeout = 2000;\n var mousePointerMoved = event && event.clientX !== this.lastMouseX && event.clientY !== this.lastMouseY;\n if (!event || mousePointerMoved || navigator.userAgent.match(/firefox/i)) {\n clearTimeout(this.hideId);\n this.$el.show();\n this.trigger(Events.MEDIACONTROL_SHOW, this.name);\n this.container && this.container.trigger(Events.CONTAINER_MEDIACONTROL_SHOW, this.name);\n this.$el.removeClass('media-control-hide');\n this.hideId = setTimeout(function () {\n return _this6.hide();\n }, timeout);\n if (event) {\n this.lastMouseX = event.clientX;\n this.lastMouseY = event.clientY;\n }\n }\n var showing = true;\n this.updateCursorStyle(showing);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this7 = this;\n var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n if (!this.isVisible()) return;\n var timeout = delay || 2000;\n clearTimeout(this.hideId);\n if (!this.disabled && this.options.hideMediaControl === false) return;\n var hasKeepVisibleRequested = this.userKeepVisible || this.keepVisible;\n var hasDraggingAction = this.draggingSeekBar || this.draggingVolumeBar;\n if (!this.disabled && (delay || hasKeepVisibleRequested || hasDraggingAction)) {\n this.hideId = setTimeout(function () {\n return _this7.hide();\n }, timeout);\n } else {\n this.trigger(Events.MEDIACONTROL_HIDE, this.name);\n this.container && this.container.trigger(Events.CONTAINER_MEDIACONTROL_HIDE, this.name);\n this.$el.addClass('media-control-hide');\n this.hideVolumeBar(0);\n var showing = false;\n this.updateCursorStyle(showing);\n }\n }\n }, {\n key: \"updateCursorStyle\",\n value: function updateCursorStyle(showing) {\n if (showing) {\n this.core.$el.removeClass('nocursor');\n } else if (this.core.isFullscreen()) {\n this.core.$el.addClass('nocursor');\n }\n }\n }, {\n key: \"settingsUpdate\",\n value: function settingsUpdate() {\n var newSettings = this.getSettings();\n if (newSettings && !this.fullScreenOnVideoTagSupported && !Fullscreen.fullscreenEnabled()) {\n // remove fullscreen from settings if it is present\n newSettings[\"default\"] && removeArrayItem(newSettings[\"default\"], 'fullscreen');\n newSettings.left && removeArrayItem(newSettings.left, 'fullscreen');\n newSettings.right && removeArrayItem(newSettings.right, 'fullscreen');\n }\n var settingsChanged = JSON.stringify(this.settings) !== JSON.stringify(newSettings);\n if (settingsChanged) {\n this.settings = newSettings;\n this.render();\n }\n }\n }, {\n key: \"getSettings\",\n value: function getSettings() {\n return $.extend(true, {}, this.container && this.container.settings);\n }\n }, {\n key: \"highDefinitionUpdate\",\n value: function highDefinitionUpdate(isHD) {\n this.isHD = isHD;\n var method = isHD ? 'addClass' : 'removeClass';\n this.$hdIndicator[method]('enabled');\n }\n }, {\n key: \"createCachedElements\",\n value: function createCachedElements() {\n var $layer = this.$el.find('.media-control-layer');\n this.$duration = $layer.find('.media-control-indicator[data-duration]');\n this.$fullscreenToggle = $layer.find('button.media-control-button[data-fullscreen]');\n this.$playPauseToggle = $layer.find('button.media-control-button[data-playpause]');\n this.$playStopToggle = $layer.find('button.media-control-button[data-playstop]');\n this.$position = $layer.find('.media-control-indicator[data-position]');\n this.$seekBarContainer = $layer.find('.bar-container[data-seekbar]');\n this.$seekBarHover = $layer.find('.bar-hover[data-seekbar]');\n this.$seekBarLoaded = $layer.find('.bar-fill-1[data-seekbar]');\n this.$seekBarPosition = $layer.find('.bar-fill-2[data-seekbar]');\n this.$seekBarScrubber = $layer.find('.bar-scrubber[data-seekbar]');\n this.$volumeBarContainer = $layer.find('.bar-container[data-volume]');\n this.$volumeContainer = $layer.find('.drawer-container[data-volume]');\n this.$volumeIcon = $layer.find('.drawer-icon[data-volume]');\n this.$volumeBarBackground = this.$el.find('.bar-background[data-volume]');\n this.$volumeBarFill = this.$el.find('.bar-fill-1[data-volume]');\n this.$volumeBarScrubber = this.$el.find('.bar-scrubber[data-volume]');\n this.$hdIndicator = this.$el.find('button.media-control-button[data-hd-indicator]');\n this.resetIndicators();\n this.initializeIcons();\n }\n }, {\n key: \"resetIndicators\",\n value: function resetIndicators() {\n this.displayedPosition = this.$position.text();\n this.displayedDuration = this.$duration.text();\n }\n }, {\n key: \"initializeIcons\",\n value: function initializeIcons() {\n var $layer = this.$el.find('.media-control-layer');\n $layer.find('button.media-control-button[data-play]').append(playIcon);\n $layer.find('button.media-control-button[data-pause]').append(pauseIcon);\n $layer.find('button.media-control-button[data-stop]').append(stopIcon);\n this.$playPauseToggle.append(playIcon);\n this.$playStopToggle.append(playIcon);\n this.$volumeIcon.append(volumeIcon);\n this.$fullscreenToggle.append(fullscreenIcon);\n this.$hdIndicator.append(hdIcon);\n }\n }, {\n key: \"setSeekPercentage\",\n value: function setSeekPercentage(value) {\n value = Math.max(Math.min(value, 100.0), 0);\n // not changed since last update\n if (this.displayedSeekBarPercentage === value) return;\n this.displayedSeekBarPercentage = value;\n this.$seekBarPosition.removeClass('media-control-notransition');\n this.$seekBarScrubber.removeClass('media-control-notransition');\n this.$seekBarPosition.css({\n width: \"\".concat(value, \"%\")\n });\n this.$seekBarScrubber.css({\n left: \"\".concat(value, \"%\")\n });\n }\n }, {\n key: \"seekRelative\",\n value: function seekRelative(delta) {\n if (!this.settings.seekEnabled) return;\n var currentTime = this.container.getCurrentTime();\n var duration = this.container.getDuration();\n var position = Math.min(Math.max(currentTime + delta, 0), duration);\n position = Math.min(position * 100 / duration, 100);\n this.container.seekPercentage(position);\n }\n }, {\n key: \"bindKeyAndShow\",\n value: function bindKeyAndShow(key, callback) {\n var _this8 = this;\n this.kibo.down(key, function () {\n _this8.show();\n return callback();\n });\n }\n }, {\n key: \"bindKeyEvents\",\n value: function bindKeyEvents() {\n var _this9 = this;\n if (Browser.isMobile || this.options.disableKeyboardShortcuts) return;\n this.unbindKeyEvents();\n this.kibo = new Kibo(this.options.focusElement || this.options.parentElement);\n this.bindKeyAndShow('space', function () {\n return _this9.togglePlayPause();\n });\n this.bindKeyAndShow('left', function () {\n return _this9.seekRelative(-5);\n });\n this.bindKeyAndShow('right', function () {\n return _this9.seekRelative(5);\n });\n this.bindKeyAndShow('shift left', function () {\n return _this9.seekRelative(-10);\n });\n this.bindKeyAndShow('shift right', function () {\n return _this9.seekRelative(10);\n });\n this.bindKeyAndShow('shift ctrl left', function () {\n return _this9.seekRelative(-15);\n });\n this.bindKeyAndShow('shift ctrl right', function () {\n return _this9.seekRelative(15);\n });\n var keys = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];\n keys.forEach(function (i) {\n _this9.bindKeyAndShow(i, function () {\n _this9.settings.seekEnabled && _this9.container && _this9.container.seekPercentage(i * 10);\n });\n });\n }\n }, {\n key: \"unbindKeyEvents\",\n value: function unbindKeyEvents() {\n if (this.kibo) {\n this.kibo.off('space');\n this.kibo.off('left');\n this.kibo.off('right');\n this.kibo.off('shift left');\n this.kibo.off('shift right');\n this.kibo.off('shift ctrl left');\n this.kibo.off('shift ctrl right');\n this.kibo.off(['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']);\n }\n }\n }, {\n key: \"parseColors\",\n value: function parseColors() {\n if (this.options.mediacontrol) {\n this.buttonsColor = this.options.mediacontrol.buttons;\n var seekbarColor = this.options.mediacontrol.seekbar;\n this.$el.find('.bar-fill-2[data-seekbar]').css('background-color', seekbarColor);\n this.$el.find('.media-control-icon svg path').css('fill', this.buttonsColor);\n this.$el.find('.segmented-bar-element[data-volume]').css('boxShadow', 'inset 2px 0 0 ' + this.buttonsColor);\n }\n }\n }, {\n key: \"applyButtonStyle\",\n value: function applyButtonStyle(element) {\n this.buttonsColor && element && $(element).find('svg path').css('fill', this.buttonsColor);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n $(document).unbind('mouseup', this.stopDragHandler);\n $(document).unbind('mousemove', this.updateDragHandler);\n this.unbindKeyEvents();\n this.stopListening();\n _superPropGet(MediaControl, \"destroy\", this, 3)([]);\n }\n\n /**\n * enables to configure the media control after its creation\n * @method configure\n * @param {Object} options all the options to change in form of a javascript object\n */\n }, {\n key: \"configure\",\n value: function configure(options) {\n // Check if chromeless mode or if configure is called with new source(s)\n if (this.options.chromeless || options.source || options.sources) {\n this.disable();\n } else {\n this.enable();\n }\n this.trigger(Events.MEDIACONTROL_OPTIONS_CHANGE);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this10 = this;\n var timeout = this.options.hideMediaControlDelay || 2000;\n this.settings && this.$el.html(this.template({\n settings: this.settings\n }));\n var style = Styler.getStyleFor(css_248z$4, {\n baseUrl: this.options.baseUrl\n });\n this.$el.append(style[0]);\n this.createCachedElements();\n this.$playPauseToggle.addClass('paused');\n this.$playStopToggle.addClass('stopped');\n this.changeTogglePlay();\n if (this.container) {\n this.hideId = setTimeout(function () {\n return _this10.hide();\n }, timeout);\n this.disabled && this.hide();\n }\n\n // Video volume cannot be changed with Safari on mobile devices\n // Display mute/unmute icon only if Safari version >= 10\n if (Browser.isSafari && Browser.isMobile) {\n if (Browser.version < 10) {\n this.$volumeContainer.css('display', 'none');\n } else {\n this.$volumeBarContainer.css('display', 'none');\n }\n }\n this.$seekBarPosition.addClass('media-control-notransition');\n this.$seekBarScrubber.addClass('media-control-notransition');\n var previousSeekPercentage = 0;\n if (this.displayedSeekBarPercentage) {\n previousSeekPercentage = this.displayedSeekBarPercentage;\n }\n this.displayedSeekBarPercentage = null;\n this.setSeekPercentage(previousSeekPercentage);\n setTimeout(function () {\n !_this10.settings.seekEnabled && _this10.$seekBarContainer.addClass('seek-disabled');\n !Browser.isMobile && !_this10.options.disableKeyboardShortcuts && _this10.bindKeyEvents();\n _this10.playerResize({\n width: _this10.options.width,\n height: _this10.options.height\n });\n _this10.hideVolumeBar(0);\n }, 0);\n this.parseColors();\n this.highDefinitionUpdate(this.isHD);\n this.core.$el.append(this.el);\n this.rendered = true;\n this.updateVolumeUI();\n this.trigger(Events.MEDIACONTROL_RENDERED);\n return this;\n }\n }]);\n}(UICorePlugin);\nMediaControl.extend = function (properties) {\n return extend(MediaControl, properties);\n};\n\nvar posterHTML = \"<div class=\\\"play-wrapper\\\" data-poster></div>\\n\";\n\nvar css_248z$3 = \".player-poster[data-poster] {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n z-index: 998;\\n top: 0;\\n left: 0;\\n background-color: transparent;\\n background-size: cover;\\n background-repeat: no-repeat;\\n background-position: 50% 50%; }\\n .player-poster[data-poster].clickable {\\n cursor: pointer; }\\n .player-poster[data-poster]:hover .play-wrapper[data-poster] {\\n opacity: 1; }\\n .player-poster[data-poster] .play-wrapper[data-poster] {\\n width: 100%;\\n height: 25%;\\n margin: 0 auto;\\n opacity: 0.75;\\n transition: opacity 0.1s ease; }\\n .player-poster[data-poster] .play-wrapper[data-poster] svg {\\n height: 100%; }\\n .player-poster[data-poster] .play-wrapper[data-poster] svg path {\\n fill: #fff; }\\n\";\n\nvar PosterPlugin = /*#__PURE__*/function (_UIContainerPlugin) {\n function PosterPlugin(container) {\n var _this;\n _classCallCheck(this, PosterPlugin);\n _this = _callSuper(this, PosterPlugin, [container]);\n _this.hasStartedPlaying = false;\n _this.playRequested = false;\n _this.render();\n setTimeout(function () {\n return _this.update();\n }, 0);\n return _this;\n }\n _inherits(PosterPlugin, _UIContainerPlugin);\n return _createClass(PosterPlugin, [{\n key: \"name\",\n get: function get() {\n return 'poster';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(posterHTML);\n }\n }, {\n key: \"shouldRender\",\n get: function get() {\n var showForNoOp = !!(this.options.poster && this.options.poster.showForNoOp);\n return this.container.playback.name !== 'html_img' && (this.container.playback.getPlaybackType() !== Playback.NO_OP || showForNoOp);\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'player-poster',\n 'data-poster': ''\n };\n }\n }, {\n key: \"events\",\n get: function get() {\n return {\n 'click': 'clicked'\n };\n }\n }, {\n key: \"showOnVideoEnd\",\n get: function get() {\n return !this.options.poster || this.options.poster.showOnVideoEnd || this.options.poster.showOnVideoEnd === undefined;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.container, Events.CONTAINER_STOP, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_PLAY, this.onPlay);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERING, this.update);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERFULL, this.update);\n this.listenTo(this.container, Events.CONTAINER_OPTIONS_CHANGE, this.render);\n this.listenTo(this.container, Events.CONTAINER_ERROR, this.onError);\n this.showOnVideoEnd && this.listenTo(this.container, Events.CONTAINER_ENDED, this.onStop);\n }\n }, {\n key: \"onError\",\n value: function onError(error) {\n this.hasFatalError = error.level === PlayerError.Levels.FATAL;\n if (this.hasFatalError) {\n this.hasStartedPlaying = false;\n this.playRequested = false;\n this.showPlayButton();\n }\n }\n }, {\n key: \"onPlay\",\n value: function onPlay() {\n this.hasStartedPlaying = true;\n this.update();\n }\n }, {\n key: \"onStop\",\n value: function onStop() {\n this.hasStartedPlaying = false;\n this.playRequested = false;\n this.update();\n }\n }, {\n key: \"updatePlayButton\",\n value: function updatePlayButton(show) {\n if (show && (!this.options.chromeless || this.options.allowUserInteraction)) {\n this.showPlayButton();\n } else {\n this.hidePlayButton();\n }\n }\n }, {\n key: \"showPlayButton\",\n value: function showPlayButton() {\n if (this.hasFatalError && !this.options.disableErrorScreen) return;\n this.$playButton.show();\n this.$el.addClass('clickable');\n }\n }, {\n key: \"hidePlayButton\",\n value: function hidePlayButton() {\n this.$playButton.hide();\n this.$el.removeClass('clickable');\n }\n }, {\n key: \"clicked\",\n value: function clicked() {\n // Let \"click_to_pause\" plugin handle click event if media has started playing\n if (!this.hasStartedPlaying) {\n if (!this.options.chromeless || this.options.allowUserInteraction) {\n this.playRequested = true;\n this.update();\n this.container.playback && (this.container.playback._consented = true);\n this.container.play();\n }\n return false;\n }\n }\n }, {\n key: \"shouldHideOnPlay\",\n value: function shouldHideOnPlay() {\n // Audio broadcasts should keep the poster up; video should hide poster while playing.\n return !this.container.playback.isAudioOnly;\n }\n }, {\n key: \"update\",\n value: function update() {\n if (!this.shouldRender) {\n return;\n }\n var showPlayButton = !this.playRequested && !this.hasStartedPlaying && !this.container.buffering;\n this.updatePlayButton(showPlayButton);\n this.updatePoster();\n }\n }, {\n key: \"updatePoster\",\n value: function updatePoster() {\n if (!this.hasStartedPlaying) this.showPoster();else this.hidePoster();\n }\n }, {\n key: \"showPoster\",\n value: function showPoster() {\n this.container.disableMediaControl();\n this.$el.show();\n }\n }, {\n key: \"hidePoster\",\n value: function hidePoster() {\n this.container.enableMediaControl();\n if (this.shouldHideOnPlay()) {\n this.$el.hide();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!this.shouldRender) {\n return;\n }\n var style = Styler.getStyleFor(css_248z$3, {\n baseUrl: this.options.baseUrl\n });\n this.$el.html(this.template());\n this.$el.append(style[0]);\n var isRegularPoster = this.options.poster && this.options.poster.custom === undefined;\n if (isRegularPoster) {\n var posterUrl = this.options.poster.url || this.options.poster;\n this.$el.css({\n 'background-image': 'url(' + posterUrl + ')'\n });\n this.removeVideoElementPoster();\n } else if (this.options.poster) {\n this.$el.css({\n 'background': this.options.poster.custom\n });\n this.removeVideoElementPoster();\n }\n this.container.$el.append(this.el);\n this.$playWrapper = this.$el.find('.play-wrapper');\n this.$playWrapper.append(playIcon);\n this.$playButton = this.$playWrapper.find('svg');\n this.$playButton.addClass('poster-icon');\n this.$playButton.attr('data-poster', '');\n var buttonsColor = this.options.mediacontrol && this.options.mediacontrol.buttons;\n if (buttonsColor) {\n this.$el.find('svg path').css('fill', buttonsColor);\n }\n if (this.options.mediacontrol && this.options.mediacontrol.buttons) {\n buttonsColor = this.options.mediacontrol.buttons;\n this.$playButton.css('color', buttonsColor);\n }\n this.update();\n return this;\n }\n }, {\n key: \"removeVideoElementPoster\",\n value: function removeVideoElementPoster() {\n this.container.playback && this.container.playback.$el && this.container.playback.$el[0] && this.container.playback.$el[0].removeAttribute && this.container.playback.$el[0].removeAttribute('poster');\n }\n }]);\n}(UIContainerPlugin);\n\nvar seekTimeHTML = \"<span data-seek-time></span>\\n<span data-duration></span>\\n\";\n\nvar css_248z$2 = \".seek-time[data-seek-time] {\\n position: absolute;\\n white-space: nowrap;\\n height: 20px;\\n line-height: 20px;\\n font-size: 0;\\n left: -100%;\\n bottom: 55px;\\n background-color: rgba(2, 2, 2, 0.5);\\n z-index: 9999;\\n transition: opacity 0.1s ease; }\\n .seek-time[data-seek-time].hidden[data-seek-time] {\\n opacity: 0; }\\n .seek-time[data-seek-time] [data-seek-time] {\\n display: inline-block;\\n color: white;\\n font-size: 10px;\\n padding-left: 7px;\\n padding-right: 7px;\\n vertical-align: top; }\\n .seek-time[data-seek-time] [data-duration] {\\n display: inline-block;\\n color: rgba(255, 255, 255, 0.5);\\n font-size: 10px;\\n padding-right: 7px;\\n vertical-align: top; }\\n .seek-time[data-seek-time] [data-duration]:before {\\n content: \\\"|\\\";\\n margin-right: 7px; }\\n\";\n\nvar formatTime = Utils.formatTime;\nvar SeekTime = /*#__PURE__*/function (_UICorePlugin) {\n function SeekTime(core) {\n var _this;\n _classCallCheck(this, SeekTime);\n _this = _callSuper(this, SeekTime, [core]);\n _this.hoveringOverSeekBar = false;\n _this.hoverPosition = null;\n _this.duration = null;\n _this.firstFragDateTime = null;\n _this.actualLiveTime = !!_this.mediaControl.options.actualLiveTime;\n if (_this.actualLiveTime) {\n if (_this.mediaControl.options.actualLiveServerTime) {\n _this.actualLiveServerTimeDiff = new Date().getTime() - new Date(_this.mediaControl.options.actualLiveServerTime).getTime();\n } else {\n _this.actualLiveServerTimeDiff = 0;\n }\n }\n return _this;\n }\n _inherits(SeekTime, _UICorePlugin);\n return _createClass(SeekTime, [{\n key: \"name\",\n get: function get() {\n return 'seek_time';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(seekTimeHTML);\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'class': 'seek-time',\n 'data-seek-time': ''\n };\n }\n }, {\n key: \"mediaControl\",\n get: function get() {\n return this.core.mediaControl;\n }\n }, {\n key: \"mediaControlContainer\",\n get: function get() {\n return this.mediaControl.container;\n }\n }, {\n key: \"isLiveStreamWithDvr\",\n get: function get() {\n return this.mediaControlContainer && this.mediaControlContainer.getPlaybackType() === Playback.LIVE && this.mediaControlContainer.isDvrEnabled();\n }\n }, {\n key: \"durationShown\",\n get: function get() {\n return this.isLiveStreamWithDvr && !this.actualLiveTime;\n }\n }, {\n key: \"useActualLiveTime\",\n get: function get() {\n return this.actualLiveTime && this.isLiveStreamWithDvr;\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.mediaControl, Events.MEDIACONTROL_RENDERED, this.render);\n this.listenTo(this.mediaControl, Events.MEDIACONTROL_MOUSEMOVE_SEEKBAR, this.showTime);\n this.listenTo(this.mediaControl, Events.MEDIACONTROL_MOUSELEAVE_SEEKBAR, this.hideTime);\n this.listenTo(this.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED, this.onContainerChanged);\n if (this.mediaControlContainer) {\n this.listenTo(this.mediaControlContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.update);\n this.listenTo(this.mediaControlContainer, Events.CONTAINER_TIMEUPDATE, this.updateDuration);\n }\n }\n }, {\n key: \"onContainerChanged\",\n value: function onContainerChanged() {\n this.stopListening();\n this.bindEvents();\n }\n }, {\n key: \"updateDuration\",\n value: function updateDuration(timeProgress) {\n this.duration = timeProgress.total;\n this.firstFragDateTime = timeProgress.firstFragDateTime;\n this.update();\n }\n }, {\n key: \"showTime\",\n value: function showTime(event) {\n this.hoveringOverSeekBar = true;\n this.calculateHoverPosition(event);\n this.update();\n }\n }, {\n key: \"hideTime\",\n value: function hideTime() {\n this.hoveringOverSeekBar = false;\n this.update();\n }\n }, {\n key: \"calculateHoverPosition\",\n value: function calculateHoverPosition(event) {\n var offset = event.pageX - this.mediaControl.$seekBarContainer.offset().left;\n // proportion into the seek bar that the mouse is hovered over 0-1\n this.hoverPosition = Math.min(1, Math.max(offset / this.mediaControl.$seekBarContainer.width(), 0));\n }\n }, {\n key: \"getSeekTime\",\n value: function getSeekTime() {\n var seekTime, secondsSinceMidnight, d, e;\n if (this.useActualLiveTime) {\n if (this.firstFragDateTime) {\n e = new Date(this.firstFragDateTime);\n d = new Date(this.firstFragDateTime);\n d.setHours(0, 0, 0, 0);\n secondsSinceMidnight = (e.getTime() - d.getTime()) / 1000 + this.duration;\n } else {\n d = new Date(new Date().getTime() - this.actualLiveServerTimeDiff);\n e = new Date(d);\n secondsSinceMidnight = (e - d.setHours(0, 0, 0, 0)) / 1000;\n }\n seekTime = secondsSinceMidnight - this.duration + this.hoverPosition * this.duration;\n if (seekTime < 0) {\n seekTime += 86400;\n }\n } else {\n seekTime = this.hoverPosition * this.duration;\n }\n return {\n seekTime: seekTime,\n secondsSinceMidnight: secondsSinceMidnight\n };\n }\n }, {\n key: \"update\",\n value: function update() {\n if (!this.rendered) {\n // update() is always called after a render\n return;\n }\n if (!this.shouldBeVisible()) {\n this.$el.hide();\n this.$el.css('left', '-100%');\n } else {\n var seekTime = this.getSeekTime();\n var currentSeekTime = formatTime(seekTime.seekTime, this.useActualLiveTime);\n // only update dom if necessary, ie time actually changed\n if (currentSeekTime !== this.displayedSeekTime) {\n this.$seekTimeEl.text(currentSeekTime);\n this.displayedSeekTime = currentSeekTime;\n }\n if (this.durationShown) {\n this.$durationEl.show();\n var currentDuration = formatTime(this.actualLiveTime ? seekTime.secondsSinceMidnight : this.duration, this.actualLiveTime);\n if (currentDuration !== this.displayedDuration) {\n this.$durationEl.text(currentDuration);\n this.displayedDuration = currentDuration;\n }\n } else {\n this.$durationEl.hide();\n }\n\n // the element must be unhidden before its width is requested, otherwise it's width will be reported as 0\n this.$el.show();\n var containerWidth = this.mediaControl.$seekBarContainer.width();\n var elWidth = this.$el.width();\n var elLeftPos = this.hoverPosition * containerWidth;\n elLeftPos -= elWidth / 2;\n elLeftPos = Math.max(0, Math.min(elLeftPos, containerWidth - elWidth));\n this.$el.css('left', elLeftPos);\n }\n }\n }, {\n key: \"shouldBeVisible\",\n value: function shouldBeVisible() {\n return this.mediaControlContainer && this.mediaControlContainer.settings.seekEnabled && this.hoveringOverSeekBar && this.hoverPosition !== null && this.duration !== null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = Styler.getStyleFor(css_248z$2, {\n baseUrl: this.options.baseUrl\n });\n this.rendered = true;\n this.displayedDuration = null;\n this.displayedSeekTime = null;\n this.$el.html(this.template());\n this.$el.append(style[0]);\n this.$el.hide();\n this.mediaControl.$el.append(this.el);\n this.$seekTimeEl = this.$el.find('[data-seek-time]');\n this.$durationEl = this.$el.find('[data-duration]');\n this.$durationEl.hide();\n this.update();\n }\n }]);\n}(UICorePlugin);\n\nvar spinnerHTML = \"<div data-bounce1></div><div data-bounce2></div><div data-bounce3></div>\\n\";\n\nvar css_248z$1 = \".spinner-three-bounce[data-spinner] {\\n position: absolute;\\n margin: 0 auto;\\n width: 70px;\\n text-align: center;\\n z-index: 999;\\n left: 0;\\n right: 0;\\n margin-left: auto;\\n margin-right: auto;\\n /* center vertically */\\n top: 50%;\\n transform: translateY(-50%); }\\n .spinner-three-bounce[data-spinner] > div {\\n width: 18px;\\n height: 18px;\\n background-color: #FFFFFF;\\n border-radius: 100%;\\n display: inline-block;\\n animation: bouncedelay 1.4s infinite ease-in-out;\\n /* Prevent first frame from flickering when animation starts */\\n animation-fill-mode: both; }\\n .spinner-three-bounce[data-spinner] [data-bounce1] {\\n animation-delay: -0.32s; }\\n .spinner-three-bounce[data-spinner] [data-bounce2] {\\n animation-delay: -0.16s; }\\n\\n@keyframes bouncedelay {\\n 0%, 80%, 100% {\\n transform: scale(0); }\\n 40% {\\n transform: scale(1); } }\\n\";\n\nvar SpinnerThreeBouncePlugin = /*#__PURE__*/function (_UIContainerPlugin) {\n function SpinnerThreeBouncePlugin(container) {\n var _this;\n _classCallCheck(this, SpinnerThreeBouncePlugin);\n _this = _callSuper(this, SpinnerThreeBouncePlugin, [container]);\n _this.template = template(spinnerHTML);\n _this.showTimeout = null;\n _this.listenTo(_this.container, Events.CONTAINER_STATE_BUFFERING, _this.onBuffering);\n _this.listenTo(_this.container, Events.CONTAINER_STATE_BUFFERFULL, _this.onBufferFull);\n _this.listenTo(_this.container, Events.CONTAINER_STOP, _this.onStop);\n _this.listenTo(_this.container, Events.CONTAINER_ENDED, _this.onStop);\n _this.listenTo(_this.container, Events.CONTAINER_ERROR, _this.onStop);\n _this.render();\n return _this;\n }\n _inherits(SpinnerThreeBouncePlugin, _UIContainerPlugin);\n return _createClass(SpinnerThreeBouncePlugin, [{\n key: \"name\",\n get: function get() {\n return 'spinner';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"attributes\",\n get: function get() {\n return {\n 'data-spinner': '',\n 'class': 'spinner-three-bounce'\n };\n }\n }, {\n key: \"onBuffering\",\n value: function onBuffering() {\n this.show();\n }\n }, {\n key: \"onBufferFull\",\n value: function onBufferFull() {\n this.hide();\n }\n }, {\n key: \"onStop\",\n value: function onStop() {\n this.hide();\n }\n }, {\n key: \"show\",\n value: function show() {\n var _this2 = this;\n if (this.showTimeout === null) {\n this.showTimeout = setTimeout(function () {\n return _this2.$el.show();\n }, 300);\n }\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (this.showTimeout !== null) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n this.$el.hide();\n }\n }, {\n key: \"render\",\n value: function render() {\n var style = Styler.getStyleFor(css_248z$1, {\n baseUrl: this.options.baseUrl\n });\n this.$el.html(this.template());\n this.$el.append(style[0]);\n this.container.$el.append(this.$el);\n this.$el.hide();\n if (this.container.buffering) {\n this.onBuffering();\n }\n return this;\n }\n }]);\n}(UIContainerPlugin);\n\nvar StatsPlugin = /*#__PURE__*/function (_ContainerPlugin) {\n function StatsPlugin(container) {\n var _this;\n _classCallCheck(this, StatsPlugin);\n _this = _callSuper(this, StatsPlugin, [container]);\n _this.setInitialAttrs();\n _this.reportInterval = _this.options.reportInterval || 5000;\n _this.state = 'IDLE';\n return _this;\n }\n _inherits(StatsPlugin, _ContainerPlugin);\n return _createClass(StatsPlugin, [{\n key: \"name\",\n get: function get() {\n return 'stats';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.container.playback, Events.PLAYBACK_PLAY, this.onPlay);\n this.listenTo(this.container, Events.CONTAINER_STOP, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_ENDED, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_DESTROYED, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERING, this.onBuffering);\n this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);\n this.listenTo(this.container, Events.CONTAINER_STATS_ADD, this.onStatsAdd);\n this.listenTo(this.container, Events.CONTAINER_BITRATE, this.onStatsAdd);\n this.listenTo(this.container.playback, Events.PLAYBACK_STATS_ADD, this.onStatsAdd);\n }\n }, {\n key: \"setInitialAttrs\",\n value: function setInitialAttrs() {\n this.firstPlay = true;\n this.startupTime = 0;\n this.rebufferingTime = 0;\n this.watchingTime = 0;\n this.rebuffers = 0;\n this.externalMetrics = {};\n }\n }, {\n key: \"onPlay\",\n value: function onPlay() {\n this.state = 'PLAYING';\n this.watchingTimeInit = Date.now();\n if (!this.intervalId) {\n this.intervalId = setInterval(this.report.bind(this), this.reportInterval);\n }\n }\n }, {\n key: \"onStop\",\n value: function onStop() {\n clearInterval(this.intervalId);\n this.report();\n this.intervalId = undefined;\n this.state = 'STOPPED';\n }\n }, {\n key: \"onBuffering\",\n value: function onBuffering() {\n if (this.firstPlay) {\n this.startupTimeInit = Date.now();\n } else {\n this.rebufferingTimeInit = Date.now();\n }\n this.state = 'BUFFERING';\n this.rebuffers++;\n }\n }, {\n key: \"onBufferFull\",\n value: function onBufferFull() {\n if (this.firstPlay && this.startupTimeInit) {\n this.firstPlay = false;\n this.startupTime = Date.now() - this.startupTimeInit;\n this.watchingTimeInit = Date.now();\n } else if (this.rebufferingTimeInit) {\n this.rebufferingTime += this.getRebufferingTime();\n }\n this.rebufferingTimeInit = undefined;\n this.state = 'PLAYING';\n }\n }, {\n key: \"getRebufferingTime\",\n value: function getRebufferingTime() {\n return Date.now() - this.rebufferingTimeInit;\n }\n }, {\n key: \"getWatchingTime\",\n value: function getWatchingTime() {\n var totalTime = Date.now() - this.watchingTimeInit;\n return totalTime - this.rebufferingTime;\n }\n }, {\n key: \"isRebuffering\",\n value: function isRebuffering() {\n return !!this.rebufferingTimeInit;\n }\n }, {\n key: \"onStatsAdd\",\n value: function onStatsAdd(metric) {\n $.extend(this.externalMetrics, metric);\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n var metrics = {\n startupTime: this.startupTime,\n rebuffers: this.rebuffers,\n rebufferingTime: this.isRebuffering() ? this.rebufferingTime + this.getRebufferingTime() : this.rebufferingTime,\n watchingTime: this.isRebuffering() ? this.getWatchingTime() - this.getRebufferingTime() : this.getWatchingTime()\n };\n $.extend(metrics, this.externalMetrics);\n return metrics;\n }\n }, {\n key: \"report\",\n value: function report() {\n this.container.statsReport(this.getStats());\n }\n }]);\n}(ContainerPlugin);\n\nvar watermarkHTML = \"<div class=\\\"clappr-watermark\\\" data-watermark data-watermark-<%=position %>>\\n<% if(typeof imageLink !== 'undefined') { %>\\n<a target=\\\"_blank\\\" href=\\\"<%= imageLink %>\\\">\\n<% } %>\\n<img src=\\\"<%= imageUrl %>\\\">\\n<% if(typeof imageLink !== 'undefined') { %>\\n</a>\\n<% } %>\\n</div>\\n\";\n\nvar css_248z = \".clappr-watermark[data-watermark] {\\n position: absolute;\\n min-width: 70px;\\n max-width: 200px;\\n width: 12%;\\n text-align: center;\\n z-index: 10; }\\n\\n.clappr-watermark[data-watermark] a {\\n outline: none;\\n cursor: pointer; }\\n\\n.clappr-watermark[data-watermark] img {\\n max-width: 100%; }\\n\\n.clappr-watermark[data-watermark-bottom-left] {\\n bottom: 10px;\\n left: 10px; }\\n\\n.clappr-watermark[data-watermark-bottom-right] {\\n bottom: 10px;\\n right: 42px; }\\n\\n.clappr-watermark[data-watermark-top-left] {\\n top: 10px;\\n left: 10px; }\\n\\n.clappr-watermark[data-watermark-top-right] {\\n top: 10px;\\n right: 37px; }\\n\";\n\nvar WaterMarkPlugin = /*#__PURE__*/function (_UIContainerPlugin) {\n function WaterMarkPlugin(container) {\n var _this;\n _classCallCheck(this, WaterMarkPlugin);\n _this = _callSuper(this, WaterMarkPlugin, [container]);\n _this.configure();\n return _this;\n }\n _inherits(WaterMarkPlugin, _UIContainerPlugin);\n return _createClass(WaterMarkPlugin, [{\n key: \"name\",\n get: function get() {\n return 'watermark';\n }\n }, {\n key: \"supportedVersion\",\n get: function get() {\n return {\n min: \"0.13.0\"\n };\n }\n }, {\n key: \"template\",\n get: function get() {\n return template(watermarkHTML);\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n this.listenTo(this.container, Events.CONTAINER_PLAY, this.onPlay);\n this.listenTo(this.container, Events.CONTAINER_STOP, this.onStop);\n this.listenTo(this.container, Events.CONTAINER_OPTIONS_CHANGE, this.configure);\n }\n }, {\n key: \"configure\",\n value: function configure() {\n this.position = this.options.position || 'bottom-right';\n if (this.options.watermark) {\n this.imageUrl = this.options.watermark;\n this.imageLink = this.options.watermarkLink;\n this.render();\n } else {\n this.$el.remove();\n }\n }\n }, {\n key: \"onPlay\",\n value: function onPlay() {\n if (!this.hidden) {\n this.$el.show();\n }\n }\n }, {\n key: \"onStop\",\n value: function onStop() {\n this.$el.hide();\n }\n }, {\n key: \"render\",\n value: function render() {\n this.$el.hide();\n var style = Styler.getStyleFor(css_248z, {\n baseUrl: this.options.baseUrl\n });\n var templateOptions = {\n position: this.position,\n imageUrl: this.imageUrl,\n imageLink: this.imageLink\n };\n this.$el.html(this.template(templateOptions));\n this.$el.append(style[0]);\n this.container.$el.append(this.$el);\n return this;\n }\n }]);\n}(UIContainerPlugin);\n\n// Copyright 2014 Globo.com Player authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nvar version = \"0.8.9\";\nvar Plugins = {\n ClickToPause: ClickToPausePlugin,\n ClosedCaptions: ClosedCaptions,\n DVRControls: DVRControls,\n EndVideo: EndVideo,\n ErrorScreen: ErrorScreen,\n Favicon: Favicon,\n GoogleAnalytics: GoogleAnalytics,\n MediaControl: MediaControl,\n Poster: PosterPlugin,\n SeekTime: SeekTime,\n SpinnerThreeBounce: SpinnerThreeBouncePlugin,\n Stats: StatsPlugin,\n WaterMark: WaterMarkPlugin\n};\n\nexport { ClickToPausePlugin as ClickToPause, ClosedCaptions, DVRControls, EndVideo, ErrorScreen, Favicon, GoogleAnalytics, MediaControl, Plugins, PosterPlugin as Poster, SeekTime, SpinnerThreeBouncePlugin as SpinnerThreeBounce, StatsPlugin as Stats, index as Vendor, WaterMarkPlugin as WaterMark, version };\n","// Copyright 2014 Globo.com Player authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\nimport ClapprCore, { Loader } from '@clappr/core'\nimport { Plugins, Vendor } from '@clappr/plugins'\n\nconst version = CLAPPR_VERSION\n\nfor (const plugin of Object.values(Plugins)) { Loader.registerPlugin(plugin) }\n\n// TODO: remove on 0.5.x (backward-compatibility only)\nconst {\n ClickToPause,\n ClosedCaptions,\n DVRControls,\n EndVideo,\n ErrorScreen,\n Favicon,\n GoogleAnalytics,\n MediaControl,\n Poster,\n SeekTime,\n SpinnerThreeBounce,\n Stats,\n WaterMark\n} = Plugins\n\nexport default {\n ...ClapprCore,\n ClickToPause,\n ClosedCaptions,\n DVRControls,\n EndVideo,\n ErrorScreen,\n Favicon,\n GoogleAnalytics,\n MediaControl,\n Poster,\n SeekTime,\n SpinnerThreeBounce,\n Stats,\n WaterMark,\n Vendor,\n Plugins,\n version\n}\n"],"names":["_arrayLikeToArray","r","a","length","e","n","Array","_arrayWithHoles","isArray","_arrayWithoutHoles","_assertThisInitialized","ReferenceError","_callSuper","t","o","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","_classCallCheck","TypeError","_defineProperties","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","_createForOfIteratorHelper","Symbol","iterator","_unsupportedIterableToArray","F","s","done","value","f","u","call","next","return","_defineProperty","_get","get","bind","p","_superPropBase","getOwnPropertyDescriptor","arguments","setPrototypeOf","getPrototypeOf","__proto__","_inherits","create","_setPrototypeOf","Boolean","valueOf","_iterableToArray","from","_iterableToArrayLimit","l","i","push","_nonIterableRest","_nonIterableSpread","ownKeys","keys","getOwnPropertySymbols","filter","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","_slicedToArray","hasOwnProperty","_superPropGet","_toConsumableArray","_toPrimitive","toPrimitive","String","_typeof","toString","slice","name","test","getDefaultExportFromCjs","x","__esModule","Zepto","undefined$1","$","classList","emptyArray","concat","document","window","elementDisplay","classCache","cssNumber","fragmentRE","singleTagRE","tagExpanderRE","rootNodeRE","capitalRE","methodAttributes","adjacencyOperators","table","createElement","tableRow","containers","readyRE","simpleSelectorRE","class2type","zepto","camelize","uniq","tempParent","propMap","object","matches","element","selector","nodeType","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","match","parent","parentNode","temp","appendChild","qsa","indexOf","removeChild","type","obj","isFunction","isWindow","isDocument","DOCUMENT_NODE","isObject","isPlainObject","likeArray","compact","array","item","flatten","fn","str","replace","chr","toUpperCase","dasherize","toLowerCase","idx","classRE","RegExp","maybeAddPx","defaultDisplay","nodeName","display","body","getComputedStyle","getPropertyValue","children","map","childNodes","node","Z","dom","len","fragment","html","properties","nodes","container","$1","innerHTML","each","attr","isZ","init","context","trim","find","ready","extend","target","source","deep","args","shift","arg","found","maybeID","maybeClass","nameOnly","isSimple","getElementById","getElementsByClassName","getElementsByTagName","querySelectorAll","filtered","contains","documentElement","funcArg","payload","setAttribute","removeAttribute","className","klass","svg","baseVal","deserializeValue","parseJSON","isEmptyObject","isNumeric","val","num","Number","isNaN","isFinite","inArray","elem","camelCase","uuid","support","expr","noop","elements","callback","values","grep","JSON","parse","split","reduce","sort","splice","toArray","el","readyState","addEventListener","size","remove","every","not","add","is","excludes","has","eq","first","last","result","$this","some","closest","collection","_","parents","ancestors","pluck","contents","contentDocument","siblings","child","empty","property","show","style","replaceWith","newContent","before","wrap","structure","func","clone","index","wrapAll","cloneNode","append","wrapInner","self","unwrap","hide","css","toggle","setting","prev","originHtml","text","newText","textContent","join","getAttribute","removeAttr","attribute","prop","removeProp","data","attrName","multiple","selected","offset","coordinates","coords","parentOffset","offsetParent","props","top","left","getBoundingClientRect","pageXOffset","pageYOffset","width","Math","round","height","computedStyle","removeProperty","cssText","hasClass","addClass","cls","newName","removeClass","toggleClass","when","names","scrollTop","hasScrollTop","scrollTo","scrollX","scrollLeft","hasScrollLeft","scrollY","position","parseFloat","detach","dimension","dimensionProperty","m","traverseNode","fun","operator","operatorIndex","inside","argType","arr","copyByClone","nextSibling","firstChild","parentInDocument","insertBefore","src","ownerDocument","defaultView","undefined","jsonpID","Date","rscript","scriptTypeRE","xmlTypeRE","jsonType","htmlType","blankRE","originAnchor","href","location","triggerAndReturn","eventName","event","Event","trigger","isDefaultPrevented","triggerGlobal","settings","global","active","ajaxStart","ajaxStop","ajaxBeforeSend","xhr","beforeSend","ajaxSuccess","deferred","status","success","resolveWith","ajaxComplete","ajaxError","error","rejectWith","complete","ajaxDataFilter","dataFilter","ajaxJSONP","options","ajax","_callbackName","jsonpCallback","callbackName","script","originalCallback","responseData","abort","errorType","triggerHandler","abortTimeout","promise","on","clearTimeout","off","url","head","timeout","setTimeout","ajaxSettings","XMLHttpRequest","accepts","json","xml","crossDomain","processData","cache","mimeToDataType","mime","appendQuery","query","serializeData","param","traditional","dataType","Deferred","urlAnchor","hashIndex","protocol","host","hasPlaceholder","now","jsonp","headers","setHeader","nativeSetHeader","setRequestHeader","mimeType","overrideMimeType","contentType","onreadystatechange","getResponseHeader","responseType","response","responseText","eval","responseXML","statusText","async","open","username","password","xhrFields","send","parseArguments","post","getJSON","load","parts","escape","encodeURIComponent","serialize","params","scope","hash","Callbacks","memory","fired","firing","firingStart","firingLength","firingIndex","list","stack","once","fire","stopOnFalse","disable","start","unique","disabled","lock","locked","fireWith","tuples","state","always","fail","then","fns","defer","tuple","returned","resolve","reject","progress","notify","stateString","sub","resolveValues","remain","progressValues","progressContexts","resolveContexts","updateFn","ctx","notifyWith","_zid","isString","handlers","specialEvents","focusinSupported","focus","blur","hover","mouseenter","mouseleave","click","mousedown","mouseup","mousemove","zid","findHandlers","ns","matcher","matcherFor","handler","sel","eventCapture","captureSetting","del","realEvent","events","delegator","capture","id","set","related","relatedTarget","proxy","compatible","isImmediatePropagationStopped","_args","preventDefault","stopPropagation","removeEventListener","proxyFn","unshift","unbind","one","returnTrue","returnFalse","ignoreProperties","eventMethods","stopImmediatePropagation","predicate","sourceMethod","timeStamp","defaultPrevented","returnValue","getPreventDefault","createProxy","originalEvent","delegate","undelegate","live","die","autoRemove","evt","currentTarget","liveFired","dispatchEvent","createEvent","bubbles","initEvent","nativeGetComputedStyle","pseudoElement","oldQsa","oldMatches","visible","filters","hidden","checked","filterRe","childRe","classTag","process","exec","taggedParent","console","thisArg","k","kValue","entries","ownProps","resArray","assign","varArgs","to","nextSource","nextKey","findIndex","mp4","Media","BROWSER_DATA","group","identifier","versionIdentifier","OS_DATA","version","versionSeparator","Browser","hasLocalstorage","localStorage","setItem","removeItem","hasFlash","fo","ActiveXObject","navigator","mimeTypes","enabledPlugin","getBrowserInfo","ua","extra","parseInt","appName","appVersion","getBrowserData","browserObject","userAgent","_iterator","_step","browser","browserRegExp","browserRegExpResult","versionRegExp","versionRegExpResult","setBrowserVersion","err","splitVersion","fullVersion","majorVersion","minorVersion","getOsData","osObject","_iterator2","_step2","os","osRegExp","osRegExpResult","setOsVersion","separator","finalSeparator","substr","getViewportSize","viewportObject","setViewportOrientation","orientation","viewport","getDevice","platformRegExp","device","browserInfo","isEdge","isChrome","isSafari","isFirefox","isLegacyIE","isIE","isIE11","isChromecast","isMobile","isiOS","isAndroid","isWindowsPhone","isWin8App","isWiiU","isPS4","isWindows","isMacOS","isLinux","idsCounter","videoStack","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","propDescriptor","Surrogate","_parent","_this","_len","_key","initialize","formatTime","time","paddedHours","seconds","minutes","hours","days","out","Fullscreen","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen","querySelector","webkitEnterFullScreen","cancelFullscreen","exitFullscreen","webkitCancelFullScreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","Config","_defaultConfig","volume","_defaultValueFor","_createKeyspace","domain","restore","persist","QueryString","search","substring","_urlParams","_hashParams","paramsString","pl","decode","decodeURIComponent","seekStringToSeconds","paramName","seekString","hashParams","factor","suffix","uniqueId","prefix","isNumber","currentScriptUrl","scripts","getBrowserLanguage","language","performance","removeArrayItem","listContainsIgnoreCase","items","itemEach","canAutoPlayMedia","cb","inline","muted","play","timeoutId","setResult","Error","DomRecycler","configure","recycleVideo","garbage","tagName","attributes","DoubleEventHandler","delay","lastTime","handle","prevented","currentTime","getTime","diffTime","Utils","BOLD","INFO","DEBUG","WARN","ERROR","LEVEL_DEBUG","LEVEL_INFO","LEVEL_WARN","LEVEL_ERROR","LEVEL_DISABLED","COLORS","DESCRIPTIONS","Log","level","offLevel","EXCLUDE_LIST","previousLevel","_level","newLevel","debug","log","info","warn","onOff","message","color","klassDescription","getInstance","_instance","setLevel","eventSplitter","eventsApi","action","rest","triggerEvents","ev","a1","a2","a3","run","exception","Events","_events","_once","_callback","retain","j","allEvents","all","stopListening","listeningTo","_listeningTo","_listenId","register","Custom","listAvailableCustomEvents","listenTo","listenToOnce","PLAYER_READY","PLAYER_RESIZE","PLAYER_FULLSCREEN","PLAYER_PLAY","PLAYER_PAUSE","PLAYER_STOP","PLAYER_ENDED","PLAYER_SEEK","PLAYER_ERROR","PLAYER_TIMEUPDATE","PLAYER_VOLUMEUPDATE","PLAYER_SUBTITLE_AVAILABLE","PLAYBACK_PIP_ENTER","PLAYBACK_PIP_EXIT","PLAYBACK_PROGRESS","PLAYBACK_TIMEUPDATE","PLAYBACK_READY","PLAYBACK_BUFFERING","PLAYBACK_BUFFERFULL","PLAYBACK_SETTINGSUPDATE","PLAYBACK_LOADEDMETADATA","PLAYBACK_HIGHDEFINITIONUPDATE","PLAYBACK_BITRATE","PLAYBACK_LEVELS_AVAILABLE","PLAYBACK_LEVEL_SWITCH_START","PLAYBACK_LEVEL_SWITCH_END","PLAYBACK_PLAYBACKSTATE","PLAYBACK_DVR","PLAYBACK_MEDIACONTROL_DISABLE","PLAYBACK_MEDIACONTROL_ENABLE","PLAYBACK_ENDED","PLAYBACK_PLAY_INTENT","PLAYBACK_PLAY","PLAYBACK_PAUSE","PLAYBACK_SEEK","PLAYBACK_SEEKED","PLAYBACK_STOP","PLAYBACK_ERROR","PLAYBACK_STATS_ADD","PLAYBACK_FRAGMENT_LOADED","PLAYBACK_FRAGMENT_BUFFERED","PLAYBACK_LEVEL_SWITCH","PLAYBACK_SUBTITLE_AVAILABLE","PLAYBACK_SUBTITLE_CHANGED","PLAYBACK_AUDIO_AVAILABLE","PLAYBACK_AUDIO_CHANGED","PLAYBACK_RESIZE","CORE_CONTAINERS_CREATED","CORE_ACTIVE_CONTAINER_CHANGED","CORE_OPTIONS_WILL_CHANGE","CORE_OPTIONS_CHANGE","CORE_READY","CORE_FULLSCREEN","CORE_RESIZE","CORE_SCREEN_ORIENTATION_CHANGED","CORE_MOUSE_MOVE","CORE_MOUSE_LEAVE","CONTAINER_PLAYBACKSTATE","CONTAINER_PLAYBACKDVRSTATECHANGED","CONTAINER_BITRATE","CONTAINER_STATS_REPORT","CONTAINER_DESTROYED","CONTAINER_READY","CONTAINER_RESIZE","CONTAINER_ERROR","CONTAINER_LOADEDMETADATA","CONTAINER_SUBTITLE_AVAILABLE","CONTAINER_SUBTITLE_CHANGED","CONTAINER_AUDIO_AVAILABLE","CONTAINER_AUDIO_CHANGED","CONTAINER_TIMEUPDATE","CONTAINER_PROGRESS","CONTAINER_PLAY","CONTAINER_STOP","CONTAINER_PAUSE","CONTAINER_ENDED","CONTAINER_CLICK","CONTAINER_DBLCLICK","CONTAINER_CONTEXTMENU","CONTAINER_MOUSE_ENTER","CONTAINER_MOUSE_LEAVE","CONTAINER_MOUSE_UP","CONTAINER_MOUSE_DOWN","CONTAINER_PIP_ENTER","CONTAINER_PIP_EXIT","CONTAINER_SEEK","CONTAINER_SEEKED","CONTAINER_VOLUME","CONTAINER_FULLSCREEN","CONTAINER_STATE_BUFFERING","CONTAINER_STATE_BUFFERFULL","CONTAINER_SETTINGSUPDATE","CONTAINER_HIGHDEFINITIONUPDATE","CONTAINER_MEDIACONTROL_SHOW","CONTAINER_MEDIACONTROL_HIDE","CONTAINER_MEDIACONTROL_DISABLE","CONTAINER_MEDIACONTROL_ENABLE","CONTAINER_STATS_ADD","CONTAINER_OPTIONS_WILL_CHANGE","CONTAINER_OPTIONS_CHANGE","MEDIACONTROL_RENDERED","MEDIACONTROL_FULLSCREEN","MEDIACONTROL_SHOW","MEDIACONTROL_HIDE","MEDIACONTROL_MOUSEMOVE_SEEKBAR","MEDIACONTROL_MOUSELEAVE_SEEKBAR","MEDIACONTROL_PLAYING","MEDIACONTROL_NOTPLAYING","MEDIACONTROL_CONTAINERCHANGED","MEDIACONTROL_OPTIONS_CHANGE","BaseObject","_Events","_options","evaluate","interpolate","noMatch","escapes","escaper","htmlEntities","entityRe","escapeExpr","string","counter","tmpl","render","variable","Function","template","Styler","getStyleFor","baseUrl","delegateEventSplitter","UIObject","_BaseObject","cid","_ensureElement","delegateEvents","$el","destroy","undelegateEvents","setElement","method","attrs","onResize","resize","newWidth","newHeight","PlayerError","core","createError","FATAL","ErrorMixin","useCodePrefix","origin","i18n","prefixedCode","code","defaultError","description","Levels","raw","errorData","UI","defaultUI","title","playerError","UICorePlugin","_UIObject","enabled","bindEvents","getExternalInterface","enable","css_248z$5","Container","_i18n","playback","isReady","mediaControlDisabled","plugins","dblTapHandler","clickTimer","clickDelay","actionsMetadata","ended","buffering","hasClosedCaptionsTracks","closedCaptionsTracks","closedCaptionsTrackId","trackId","audioTracks","currentAudioTrack","isPiPActive","onProgress","timeUpdated","onBuffering","bufferfull","settingsUpdate","loadedMetadata","highDefinitionUpdate","updateBitrate","playbackStateChanged","playbackDvrStateChanged","disableMediaControl","enableMediaControl","onSeek","onSeeked","onEnded","playing","paused","stopped","subtitleAvailable","subtitleChanged","audioAvailable","audioChanged","onEnterPiP","onExitPiP","track","tracks","dvrInUse","newBitrate","statsReport","metrics","getPlaybackType","isDvrEnabled","dvrEnabled","isDvrInUse","disableResizeObserver","plugin","setStyle","isPlaying","getStartTimeOffset","getCurrentTime","getDuration","_error","metadata","timeProgress","current","playEvent","pauseEvent","stopEvent","customData","stop","switchAudioTrack","pause","clicked","_this2","chromeless","allowUserInteraction","cancelClicked","dblClicked","dblTap","_this3","onContextMenu","seek","seekPercentage","percentage","duration","setVolume","fullscreen","addPlugin","hasPlugin","getPlugin","mouseEnter","mouseLeave","mouseUp","mouseDown","enterPiP","exitPiP","isHD","isHighDefinitionInUse","updateStyle","enableResizeObserver","_this4","resizeObserverInterval","setInterval","checkResize","clearInterval","newSize","clientWidth","clientHeight","_ref","currentSize","isResize","oldOptions","Playback","_consented","consent","getFrameRate","NO_OP","mute","unmute","attemptAutoPlay","canAutoPlay","canPlay","VOD","AOD","LIVE","ContainerFactory","loader","createContainers","sources","createContainer","findPlaybackPlugin","playbackPlugins","resolvedSource","playbackPlugin","addContainerPlugins","containerPlugins","Plugin","css_248z$4","css_248z$3","Core","configureDomRecycler","firstResize","styleRendered","_boundFullscreenHandler","handleFullscreenChange","_boundHandleWindowResize","handleWindowResize","tabindex","_mediaControl","dummyMediaControl","_dummyMediaControl","_activeContainer","activeContainer","activePlayback","containerFactory","prepareContainers","setupContainers","resolveOnContainersReady","updateSize","isFullscreen","setFullscreen","setPlayerSize","previousSize","triggerResize","checkSizeCallback","_this3$el$clientWidth","_this3$el$clientHeigh","thereWasChange","oldHeight","oldWidth","computedSize","_this$el$clientWidth","_this$el$clientHeight","innerWidth","innerHeight","_screenOrientation","removeContainer","c","setupContainer","renderContainers","appendToParent","_this5","getCurrentContainer","getCurrentPlayback","activePlaybackEl","webkitDisplayingFullscreen","toggleFullscreen","_this6","fullscreenEl","_fullscreenEl","onMouseMove","onMouseLeave","_this7","hasCoreParent","appendTo","parentElement","appendStyles","includeResetStyle","resetStyle","CoreFactory","player","addCorePlugins","corePlugins","setupExternalInterface","externalFunctions","VERSION_REGEX","Version","major","minor","patch","compare","other","diff","inc","satisfies","min","max","_matches","filterPluginsByType","_ref2","_ref3","_ref4","Loader","registry","playbacks","currentVersion","externalPlugins","playerId","_Loader$registeredPlu","registeredPlugins","validateExternalPluginsType","addExternalPlugins","groupPluginsByType","memo","removeDups","useReversePrecedence","groupUp","pluginsMap","reduceRight","loadExternalPluginsFirst","loadExternalPlaybacksFirst","checkVersionSupport","pluginTypes","pluginsByType","errorMessage","entry","_entry$prototype","supportedVersion","maxVersion","minVersion","registerPlugin","pluginEntry","pluginRegistry","previousEntry","registerPlayback","playbackEntry","previousEntryIdx","unregisterPlugin","unregisterPlayback","clearPlugins","clearPlaybacks","Player","playbackDefaultOptions","defaultOptions","persistConfig","_normalizeSources","disableKeyboardShortcuts","_registerOptionEventListeners","_coreFactory","_getParentElement","attachTo","_loader","_ready","onReady","onPlay","onPause","onStop","onError","onTimeUpdate","onVolumeUpdate","onSubtitleAvailable","parentId","_addEventListeners","_onReady","_containerChanged","_onFullscreenChange","_onResize","_addContainerEventListeners","_onPlay","_onPause","_onStop","_onEnded","_onSeek","_onError","_onTimeUpdate","_onVolumeUpdate","_onSubtitleAvailable","newEvents","hasNewEvents","userEvent","eventType","eventsMapping","eventFunction","eventMetadata","autoPlay","ContainerPlugin","CorePlugin","UIContainerPlugin","tracksHTML","css_248z$2","MIMETYPES","codec","ogg","webm","mkv","m3u8","ogv","AUDIO_MIMETYPES","wav","mp3","aac","oga","KNOWN_AUDIO_MIMETYPES","acc","UNKNOWN_ERROR","HTML5Video","_Playback","_destroyed","_loadStarted","_isBuffering","_playheadMoving","_playheadMovingTimer","_stopped","_ccTrackId","_playheadMovingCheckEnabled","disablePlayheadMovingCheck","_setupSrc","_playheadMovingCheckInterval","playheadMovingCheckInterval","disableContextMenu","disableVideoTagContextMenu","_minDvrSize","isValidMinimumDVRSizeConfig","minimumDVRSizeConfig","playbackConfig","preload","posterUrl","poster","defaultMuted","loop","crossOrigin","playInline","controls","useVideoTagDefaultControls","playsinline","crossorigin","right","externalTracks","_setupExternalTracks","isAudioOnly","resourceUrl","_mimeTypesForUrl","audioOnly","canplay","canplaythrough","durationchange","loadeddata","loadedmetadata","seeking","seeked","stalled","timeupdate","waiting","enterpictureinpicture","leavepictureinpicture","pictureInPictureElement","isLive","minimumDvrSize","_src","disableCanAutoPlay","opts","autoPlayTimeout","_externalTracks","kind","label","lang","srcUrl","_ccIsSetup","_onLoadedMetadata","_handleBufferingEvents","_updateSettings","autoSeekFromUrl","_checkInitialSeek","_onDurationChange","_onProgress","seekEnabled","isSeekEnabled","onDemandType","Infinity","_eventHandler","eventHandler","_stopPlayheadMovingChecks","isMuted","_isReadyState","_startPlayheadMovingChecks","_playheadMovingTimeOnCheck","_determineIfPlayheadMoving","_onWaiting","_onLoadedData","_onCanPlay","_onPlaying","_checkForClosedCaptions","_updateDvr","_onSeeking","_onSeeked","_onEnterPiP","_onExitPiP","requestPictureInPicture","exitPictureInPicture","isLoading","isMissingMediaDataToPlay","HAVE_FUTURE_DATA","playheadShouldBeMoving","isUnknownError","formattedError","handleTextTrackChange","textTracks","dvr","seekable","seekTime","end","_scheduleUpdateSettingsCheck","_updateSettingsCheckInFlight","total","buffered","bufferedPos","_typeFor","isHTML5Video","_handleTextTrackChange","mode","showingTrack","mimeTypesByExtension","extension","_canPlay","media","mediaType","canPlayType","HTML5Audio","_HTML5Video","updateSettings","mimetypes","css_248z$1","HTMLImg","_onLoad","resource","noOpHTML","css_248z","NoOp","_noiseFrameNum","playbackNotSupported","playbackNotSupportedMessage","showForNoOp","_animate","_noise","idata","createImageData","canvas","buffer32","Uint32Array","buffer","random","_i","pow","putImageData","_loop","_stop","_animationHandle","getContext","Strings","_CorePlugin","_initializeMessages","_language","fallbackLang","_messages","en","defaultMessages","strings","de","pt","bg","es_am","es","fr","tr","et","ar","zh","SourcesPlugin","onContainersCreated","firstValidSource","main","ClickToPausePlugin","_ContainerPlugin","clickToPauseConfig","onClickPayload","config","pointerEnabled","ccIcon","ccHTML","css_248z$7","ClosedCaptions","_UICorePlugin","closedCaptionsConfig","_title","_ariaLabel","ariaLabel","_labelCb","labelCallback","containerChanged","mediaControl","hideContextMenu","bindContainerEvents","onSubtitleChanged","onContainerStop","ccAvailable","renderCcButton","setCurrentContextMenuElement","onTrackSelect","dataset","ccSelect","hasCC","toggleContextMenu","contextMenuElement","_trackId","$ccButton","disabledLabel","$fullscreen","insertAfter","prepend","dvrHTML","css_248z$6","DVRControls","bindCoreEvents","dvrChanged","shouldRender","useDvrControls","backToLive","EndVideo","exitOnEnd","exitFullscreenOnEnd","reloadIcon","templateHtml","ErrorScreen","disableErrorScreen","onContainerChanged","bindReload","reloadButton","reload","unbindReload","icon","playIcon","pauseIcon","oldIcon","Favicon","_container","changeFavicon","setPlayIcon","setPauseIcon","resetIcon","createIcon","fillStyle","d","path","Path2D","fill","toDataURL","changeIcon","GoogleAnalytics","gaAccount","account","trackerName","gaTrackerName","domainName","gaDomainName","currentHDState","embedScript","_gat","onload","addEventListeners","onBufferFull","onPlaybackChanged","onVolumeChanged","CONTAINER_FULL_SCREEN","onFullscreen","onHD","onDVR","_gaq","playbackState","res","Kibo","KEY_NAMES_BY_CODE","KEY_CODES_BY_NAME","MODIFIERS","registerEvent","attachEvent","unregisterEvent","detachEvent","stringContains","neatString","capitalize","what","arrayIncludes","haystack","needle","extractModifiers","keyCombination","modifiers","extractKey","modifiersAndKey","keyName","keyCode","that","lastKeyCode","lastModifiers","keysDown","any","keysUp","downHandler","upHandler","unloadEvent","onbeforeunload","unloader","upOrDown","registeredKeys","lastModifiersAndKey","registerKeys","newKeys","unregisterKeys","down","up","lastKey","modifier","mediaControlHTML","stopIcon","volumeIcon","volumeMuteIcon","fullscreenIcon","exitFullscreenIcon","hdIcon","formatTime$1","MediaControl","currentPositionValue","currentDurationValue","keepVisible","fullScreenOnVideoTagSupported","setInitialVolume","kibo","focusElement","bindKeyEvents","userDisabled","stopDragHandler","stopDrag","updateDragHandler","updateDrag","playbackIsNOOP","intendedVolume","getVolume","onActiveContainerChanged","hideMediaControlDelay","playerResize","changeTogglePlay","updateProgressBar","onLoadedMetadataOnVideoTag","unbindKeyEvents","initialVolume","updateVolumeUI","video","webkitSupportsFullscreen","rendered","$volumeBarContainer","containerWidth","barWidth","$volumeBarBackground","pos","$volumeBarFill","$volumeBarScrubber","ceil","$volumeIcon","applyButtonStyle","$playPauseToggle","$playStopToggle","mousemoveOnSeekBar","offsetX","pageX","$seekBarContainer","$seekBarHover","mouseleaveOnSeekBar","onVolumeClick","getVolumeFromUIEvent","mousemoveOnVolumeBar","draggingVolumeBar","$fullscreenToggle","hideVolumeBar","togglePlayPause","togglePlayStop","startSeekDrag","draggingSeekBar","$seekBarLoaded","$seekBarPosition","$seekBarScrubber","startVolumeDrag","setSeekPercentage","offsetY","volumeFromUI","toggleMute","isInitialVolume","setWhenContainerReady","resetUserKeepVisible","showVolumeBar","hideVolumeId","loadedStart","loadedEnd","renderSeekBar","currentSeekBarPercentage","newPosition","newDuration","displayedPosition","$position","displayedDuration","$duration","setKeepVisible","resetKeepVisible","setUserKeepVisible","userKeepVisible","isVisible","mousePointerMoved","clientX","lastMouseX","clientY","lastMouseY","hideId","showing","updateCursorStyle","hideMediaControl","hasKeepVisibleRequested","hasDraggingAction","newSettings","getSettings","settingsChanged","stringify","$hdIndicator","createCachedElements","$layer","$volumeContainer","resetIndicators","initializeIcons","displayedSeekBarPercentage","seekRelative","delta","bindKeyAndShow","_this8","_this9","parseColors","mediacontrol","buttonsColor","buttons","seekbarColor","seekbar","_this10","previousSeekPercentage","posterHTML","PosterPlugin","_UIContainerPlugin","hasStartedPlaying","playRequested","update","showOnVideoEnd","hasFatalError","showPlayButton","updatePlayButton","hidePlayButton","$playButton","shouldHideOnPlay","updatePoster","showPoster","hidePoster","isRegularPoster","custom","removeVideoElementPoster","$playWrapper","seekTimeHTML","SeekTime","hoveringOverSeekBar","hoverPosition","firstFragDateTime","actualLiveTime","actualLiveServerTime","actualLiveServerTimeDiff","mediaControlContainer","isLiveStreamWithDvr","showTime","hideTime","updateDuration","calculateHoverPosition","getSeekTime","secondsSinceMidnight","useActualLiveTime","setHours","shouldBeVisible","currentSeekTime","displayedSeekTime","$seekTimeEl","durationShown","$durationEl","currentDuration","elWidth","elLeftPos","spinnerHTML","SpinnerThreeBouncePlugin","showTimeout","StatsPlugin","setInitialAttrs","reportInterval","onStatsAdd","firstPlay","startupTime","rebufferingTime","watchingTime","rebuffers","externalMetrics","watchingTimeInit","intervalId","report","startupTimeInit","rebufferingTimeInit","getRebufferingTime","getWatchingTime","totalTime","isRebuffering","metric","getStats","watermarkHTML","WaterMarkPlugin","watermark","imageUrl","imageLink","watermarkLink","templateOptions","Plugins","ClickToPause","Poster","SpinnerThreeBounce","Stats","WaterMark","_Object$values","_objectSpread","ClapprCore","Vendor"],"mappings":"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MAAM,CAACrC,KAAK,GAAG,OAAO,CAAA;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAqC,MAAM,CAAC0B,iBAAiB,GAAG,YAAY,CAAA;EACvC;EACA;EACA;EACA;EACA;EACA;EACA1B,MAAM,CAAC2B,mBAAmB,GAAG,cAAc,CAAA;;EAE3C;EACA;EACA;EACA;EACA;EACA3B,MAAM,CAAC4B,yBAAyB,GAAG,mBAAmB,CAAA;;EAEtD;EACA;EACA;EACA;EACA;EACA5B,MAAM,CAAC6B,kBAAkB,GAAG,mCAAmC,CAAA;EAC/D;EACA;EACA;EACA;EACA7B,MAAM,CAAC8B,iBAAiB,GAAG,kCAAkC,CAAA;EAC7D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA9B,MAAM,CAAC+B,iBAAiB,GAAG,mBAAmB,CAAA;EAC9C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA/B,MAAM,CAACgC,mBAAmB,GAAG,qBAAqB,CAAA;EAClD;EACA;EACA;EACA;EACA;EACAhC,MAAM,CAACiC,cAAc,GAAG,gBAAgB,CAAA;EACxC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAjC,MAAM,CAACkC,kBAAkB,GAAG,oBAAoB,CAAA;EAChD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAlC,MAAM,CAACmC,mBAAmB,GAAG,qBAAqB,CAAA;EAClD;EACA;EACA;EACA;EACA;EACAnC,MAAM,CAACoC,uBAAuB,GAAG,yBAAyB,CAAA;EAC1D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACApC,MAAM,CAACqC,uBAAuB,GAAG,yBAAyB,CAAA;EAC1D;EACA;EACA;EACA;EACA;EACA;EACA;EACArC,MAAM,CAACsC,6BAA6B,GAAG,+BAA+B,CAAA;EACtE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAtC,MAAM,CAACuC,gBAAgB,GAAG,kBAAkB,CAAA;EAC5C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAvC,MAAM,CAACwC,yBAAyB,GAAG,2BAA2B,CAAA;EAC9D;EACA;EACA;EACA;EACA;EACA;EACAxC,MAAM,CAACyC,2BAA2B,GAAG,8BAA8B,CAAA;EACnE;EACA;EACA;EACA;EACA;EACA;EACAzC,MAAM,CAAC0C,yBAAyB,GAAG,4BAA4B,CAAA;;EAE/D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA1C,MAAM,CAAC2C,sBAAsB,GAAG,wBAAwB,CAAA;EACxD;EACA;EACA;EACA;EACA;EACA;EACA3C,MAAM,CAAC4C,YAAY,GAAG,cAAc,CAAA;EACpC;EACA5C,MAAM,CAAC6C,6BAA6B,GAAG,+BAA+B,CAAA;EACtE;EACA7C,MAAM,CAAC8C,4BAA4B,GAAG,8BAA8B,CAAA;EACpE;EACA;EACA;EACA;EACA;EACA;EACA9C,MAAM,CAAC+C,cAAc,GAAG,gBAAgB,CAAA;EACxC;EACA;EACA;EACA;EACA;EACA/C,MAAM,CAACgD,oBAAoB,GAAG,sBAAsB,CAAA;EACpD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAhD,MAAM,CAACiD,aAAa,GAAG,eAAe,CAAA;EACtC;EACA;EACA;EACA;EACA;EACAjD,MAAM,CAACkD,cAAc,GAAG,gBAAgB,CAAA;EACxC;EACA;EACA;EACA;EACA;EACAlD,MAAM,CAACmD,aAAa,GAAG,eAAe,CAAA;EACtC;EACA;EACA;EACA;EACA;EACAnD,MAAM,CAACoD,eAAe,GAAG,iBAAiB,CAAA;EAC1C;EACA;EACA;EACA;EACA;EACApD,MAAM,CAACqD,aAAa,GAAG,eAAe,CAAA;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;EACArD,MAAM,CAACsD,cAAc,GAAG,gBAAgB,CAAA;EACxC;EACAtD,MAAM,CAACuD,kBAAkB,GAAG,oBAAoB,CAAA;EAChD;EACAvD,MAAM,CAACwD,wBAAwB,GAAG,0BAA0B,CAAA;EAC5D;EACA;EACA;EACA;EACA;EACA;EACA;EACAxD,MAAM,CAACyD,0BAA0B,GAAG,4BAA4B,CAAA;EAChE;EACAzD,MAAM,CAAC0D,qBAAqB,GAAG,uBAAuB,CAAA;EACtD;EACA;EACA;EACA;EACA;EACA1D,MAAM,CAAC2D,2BAA2B,GAAG,6BAA6B,CAAA;EAClE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA3D,MAAM,CAAC4D,yBAAyB,GAAG,2BAA2B,CAAA;;EAE9D;EACA;EACA;EACA;EACA;EACA5D,MAAM,CAAC6D,wBAAwB,GAAG,0BAA0B,CAAA;;EAE5D;EACA;EACA;EACA;EACA;EACA7D,MAAM,CAAC8D,sBAAsB,GAAG,wBAAwB,CAAA;;EAExD;EACA;EACA;EACA;EACA;EACA9D,MAAM,CAAC+D,eAAe,GAAG,iBAAiB,CAAA;;EAE1C;EACA;EACA;EACA;EACA;EACA;EACA/D,MAAM,CAACgE,uBAAuB,GAAG,yBAAyB,CAAA;EAC1D;EACA;EACA;EACA;EACA;EACAhE,MAAM,CAACiE,6BAA6B,GAAG,+BAA+B,CAAA;;EAEtE;EACA;EACA;EACA;EACA;EACA;EACAjE,MAAM,CAACkE,wBAAwB,GAAG,0BAA0B,CAAA;;EAE5D;EACA;EACA;EACA;EACA;EACA;EACAlE,MAAM,CAACmE,mBAAmB,GAAG,qBAAqB,CAAA;EAClD;EACA;EACA;EACA;EACA;EACAnE,MAAM,CAACoE,UAAU,GAAG,YAAY,CAAA;EAChC;EACA;EACA;EACA;EACA;EACA;EACApE,MAAM,CAACqE,eAAe,GAAG,iBAAiB,CAAA;EAC1C;EACA;EACA;EACA;EACA;EACA;EACArE,MAAM,CAACsE,WAAW,GAAG,aAAa,CAAA;EAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAtE,MAAM,CAACuE,+BAA+B,GAAG,iCAAiC,CAAA;EAC1E;EACA;EACA;EACA;EACA;EACA;EACAvE,MAAM,CAACwE,eAAe,GAAG,gBAAgB,CAAA;EACzC;EACA;EACA;EACA;EACA;EACA;EACAxE,MAAM,CAACyE,gBAAgB,GAAG,iBAAiB,CAAA;;EAE3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAzE,MAAM,CAAC0E,uBAAuB,GAAG,yBAAyB,CAAA;EAC1D1E,MAAM,CAAC2E,iCAAiC,GAAG,eAAe,CAAA;EAC1D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA3E,MAAM,CAAC4E,iBAAiB,GAAG,mBAAmB,CAAA;EAC9C5E,MAAM,CAAC6E,sBAAsB,GAAG,wBAAwB,CAAA;EACxD7E,MAAM,CAAC8E,mBAAmB,GAAG,qBAAqB,CAAA;EAClD;EACA;EACA;EACA;EACA;EACA9E,MAAM,CAAC+E,eAAe,GAAG,iBAAiB,CAAA;;EAE1C;EACA;EACA;EACA;EACA;EACA;EACA;EACA/E,MAAM,CAACgF,gBAAgB,GAAG,kBAAkB,CAAA;EAC5ChF,MAAM,CAACiF,eAAe,GAAG,iBAAiB,CAAA;EAC1C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAjF,MAAM,CAACkF,wBAAwB,GAAG,0BAA0B,CAAA;;EAE5D;EACA;EACA;EACA;EACA;EACAlF,MAAM,CAACmF,4BAA4B,GAAG,8BAA8B,CAAA;EACpE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAnF,MAAM,CAACoF,0BAA0B,GAAG,4BAA4B,CAAA;;EAEhE;EACA;EACA;EACA;EACA;EACApF,MAAM,CAACqF,yBAAyB,GAAG,2BAA2B,CAAA;;EAE9D;EACA;EACA;EACA;EACA;EACArF,MAAM,CAACsF,uBAAuB,GAAG,yBAAyB,CAAA;;EAE1D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAtF,MAAM,CAACuF,oBAAoB,GAAG,sBAAsB,CAAA;EACpD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAvF,MAAM,CAACwF,kBAAkB,GAAG,oBAAoB,CAAA;EAChDxF,MAAM,CAA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;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI+mC,MAAM,gBAAgB,UAAU5S,WAAW,EAAE;EAC/C;EACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEE;EACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;IAEE,SAAS4S,MAAMA,CAACt3B,OAAO,EAAE;EACvB,IAAA,IAAIgT,KAAK,CAAA;EACT/qB,IAAAA,iBAAe,CAAC,IAAI,EAAEqvC,MAAM,CAAC,CAAA;MAC7BtkB,KAAK,GAAGzrB,YAAU,CAAC,IAAI,EAAE+vC,MAAM,EAAE,CAACt3B,OAAO,CAAC,CAAC,CAAA;EAC3C,IAAA,IAAIu3B,sBAAsB,GAAG;EAC3Bzf,MAAAA,YAAY,EAAE,IAAA;OACf,CAAA;EACD,IAAA,IAAI0f,cAAc,GAAG;EACnBpC,MAAAA,QAAQ,EAAE5e,QAAQ,CAAC,EAAE,CAAC;EACtBihB,MAAAA,aAAa,EAAE,IAAI;EACnB58B,MAAAA,KAAK,EAAE,GAAG;EACVG,MAAAA,MAAM,EAAE,GAAG;EACXupB,MAAAA,OAAO,EAAEA,OAAO;QAChBqH,oBAAoB,EAAE9d,OAAO,CAAC6D,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"}
|