274 lines
271 KiB
JavaScript
274 lines
271 KiB
JavaScript
/*
|
|
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
* This devtool is neither made for production nor for readable output files.
|
|
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
* or disable the default devtool with "devtool: false".
|
|
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
*/
|
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
module.exports = factory();
|
|
else if(typeof define === 'function' && define.amd)
|
|
define([], factory);
|
|
else {
|
|
var a = factory();
|
|
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
|
|
}
|
|
})(self, function() {
|
|
return /******/ (function() { // webpackBootstrap
|
|
/******/ "use strict";
|
|
/******/ var __webpack_modules__ = ({
|
|
|
|
/***/ "./js/template-customizer.js":
|
|
/*!***********************************!*\
|
|
!*** ./js/template-customizer.js ***!
|
|
\***********************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"TemplateCustomizer\": function() { return /* binding */ TemplateCustomizer; }\n/* harmony export */ });\n/* harmony import */ var _template_customizer_template_customizer_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_template-customizer/_template-customizer.scss */ \"./js/_template-customizer/_template-customizer.scss\");\n/* harmony import */ var _template_customizer_template_customizer_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_template-customizer/_template-customizer.html */ \"./js/_template-customizer/_template-customizer.html\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\n\nvar CSS_FILENAME_PATTERN = '%name%.css';\nvar CONTROLS = ['rtl', 'style', 'layoutType', 'layoutMenuFlipped', 'showDropdownOnHover', 'layoutNavbarFixed', 'layoutFooterFixed', 'themes'];\nvar STYLES = ['light', 'dark'];\nvar cl = document.documentElement.classList;\nvar DISPLAY_CUSTOMIZER = true;\nvar DEFAULT_THEME = document.getElementsByTagName('HTML')[0].getAttribute('data-theme') || 0;\nvar DEFAULT_STYLE = cl.contains('dark-style') ? 'dark' : 'light';\nvar DEFAULT_TEXT_DIR = document.documentElement.getAttribute('dir') === 'rtl';\nvar DEFAULT_MENU_COLLAPSED = !!cl.contains('layout-menu-collapsed');\nvar DEFAULT_MENU_FLIPPED = !!cl.contains('layout-menu-flipped');\nvar DEFAULT_SHOW_DROPDOWN_ON_HOVER = undefined;\nvar DEFAULT_NAVBAR_FIXED = !!cl.contains('layout-navbar-fixed');\nvar DEFAULT_FOOTER_FIXED = !!cl.contains('layout-footer-fixed');\nvar layoutType;\nif (cl.contains('layout-menu-offcanvas')) {\n layoutType = 'static-offcanvas';\n} else if (cl.contains('layout-menu-fixed')) {\n layoutType = 'fixed';\n} else if (cl.contains('layout-menu-fixed-offcanvas')) {\n layoutType = 'fixed-offcanvas';\n} else {\n layoutType = 'static';\n}\nvar DEFAULT_LAYOUT_TYPE = layoutType;\nvar TemplateCustomizer = /*#__PURE__*/function () {\n function TemplateCustomizer(_ref) {\n var cssPath = _ref.cssPath,\n themesPath = _ref.themesPath,\n cssFilenamePattern = _ref.cssFilenamePattern,\n displayCustomizer = _ref.displayCustomizer,\n controls = _ref.controls,\n defaultTextDir = _ref.defaultTextDir,\n defaultLayoutType = _ref.defaultLayoutType,\n defaultMenuCollapsed = _ref.defaultMenuCollapsed,\n defaultMenuFlipped = _ref.defaultMenuFlipped,\n defaultShowDropdownOnHover = _ref.defaultShowDropdownOnHover,\n defaultNavbarFixed = _ref.defaultNavbarFixed,\n defaultFooterFixed = _ref.defaultFooterFixed,\n styles = _ref.styles,\n defaultStyle = _ref.defaultStyle,\n availableThemes = _ref.availableThemes,\n defaultTheme = _ref.defaultTheme,\n pathResolver = _ref.pathResolver,\n onSettingsChange = _ref.onSettingsChange,\n lang = _ref.lang;\n _classCallCheck(this, TemplateCustomizer);\n if (this._ssr) return;\n if (!window.Helpers) throw new Error('window.Helpers required.');\n this.settings = {};\n this.settings.cssPath = cssPath;\n this.settings.themesPath = themesPath;\n this.settings.cssFilenamePattern = cssFilenamePattern || CSS_FILENAME_PATTERN;\n this.settings.displayCustomizer = typeof displayCustomizer !== 'undefined' ? displayCustomizer : DISPLAY_CUSTOMIZER;\n this.settings.controls = controls || CONTROLS;\n this.settings.defaultTextDir = defaultTextDir === 'rtl' ? true : false || DEFAULT_TEXT_DIR;\n this.settings.defaultLayoutType = defaultLayoutType || DEFAULT_LAYOUT_TYPE;\n this.settings.defaultMenuCollapsed = typeof defaultMenuCollapsed !== 'undefined' ? defaultMenuCollapsed : DEFAULT_MENU_COLLAPSED;\n this.settings.defaultMenuFlipped = typeof defaultMenuFlipped !== 'undefined' ? defaultMenuFlipped : DEFAULT_MENU_FLIPPED;\n this.settings.defaultShowDropdownOnHover = typeof defaultShowDropdownOnHover !== 'undefined' ? defaultShowDropdownOnHover : DEFAULT_SHOW_DROPDOWN_ON_HOVER;\n this.settings.defaultNavbarFixed = typeof defaultNavbarFixed !== 'undefined' ? defaultNavbarFixed : DEFAULT_NAVBAR_FIXED;\n this.settings.defaultFooterFixed = typeof defaultFooterFixed !== 'undefined' ? defaultFooterFixed : DEFAULT_FOOTER_FIXED;\n this.settings.availableThemes = availableThemes || TemplateCustomizer.THEMES;\n this.settings.defaultTheme = this._getDefaultTheme(typeof defaultTheme !== 'undefined' ? defaultTheme : DEFAULT_THEME);\n this.settings.styles = styles || STYLES;\n this.settings.defaultStyle = defaultStyle || DEFAULT_STYLE;\n this.settings.lang = lang || 'en';\n this.pathResolver = pathResolver || function (p) {\n return p;\n };\n if (this.settings.styles.length < 2) {\n var i = this.settings.controls.indexOf('style');\n if (i !== -1) {\n this.settings.controls = this.settings.controls.slice(0, i).concat(this.settings.controls.slice(i + 1));\n }\n }\n this.settings.onSettingsChange = typeof onSettingsChange === 'function' ? onSettingsChange : function () {};\n this._loadSettings();\n this._listeners = [];\n this._controls = {};\n this._initDirection();\n this._initStyle();\n this._initTheme();\n this.setLayoutType(this.settings.layoutType, false);\n this.setLayoutMenuFlipped(this.settings.layoutMenuFlipped, false);\n this.setDropdownOnHover(this.settings.showDropdownOnHover, false);\n this.setLayoutNavbarFixed(this.settings.layoutNavbarFixed, false);\n this.setLayoutFooterFixed(this.settings.layoutFooterFixed, false);\n this._setup();\n }\n _createClass(TemplateCustomizer, [{\n key: \"setRtl\",\n value: function setRtl(rtl) {\n if (!this._hasControls('rtl')) return;\n this._setSetting('Rtl', String(rtl));\n window.location.reload();\n }\n }, {\n key: \"setStyle\",\n value: function setStyle(style) {\n if (!this._hasControls('style')) return;\n this._setSetting('Style', ['dark'].indexOf(style) === -1 ? 'light' : style);\n window.location.reload();\n }\n }, {\n key: \"setTheme\",\n value: function setTheme(themeName) {\n var updateStorage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var cb = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n if (!this._hasControls('themes')) return;\n var theme = this._getThemeByName(themeName);\n if (!theme) return;\n this.settings.theme = theme;\n if (updateStorage) this._setSetting('Theme', themeName);\n var themeUrl = this.pathResolver(this.settings.themesPath + this.settings.cssFilenamePattern.replace('%name%', themeName + (this.settings.style !== 'light' ? \"-\".concat(this.settings.style) : '')));\n this._loadStylesheets(_defineProperty({}, themeUrl, document.querySelector('.template-customizer-theme-css')), cb || function () {});\n if (updateStorage) this.settings.onSettingsChange.call(this, this.settings);\n }\n }, {\n key: \"setLayoutType\",\n value: function setLayoutType(pos) {\n var updateStorage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (!this._hasControls('layoutType')) return;\n if (pos !== 'static' && pos !== 'static-offcanvas' && pos !== 'fixed' && pos !== 'fixed-offcanvas') return;\n this.settings.layoutType = pos;\n if (updateStorage) this._setSetting('LayoutType', pos);\n window.Helpers.setPosition(pos === 'fixed' || pos === 'fixed-offcanvas', pos === 'static-offcanvas' || pos === 'fixed-offcanvas');\n if (updateStorage) this.settings.onSettingsChange.call(this, this.settings);\n\n // Perfectscrollbar change on Layout change\n var menuScroll = window.Helpers.menuPsScroll;\n var PerfectScrollbarLib = window.PerfectScrollbar;\n if (this.settings.layoutType === 'fixed' || this.settings.layoutType === 'fixed-offcanvas') {\n // Set perfectscrollbar wheelPropagation false for fixed layout\n if (PerfectScrollbarLib && menuScroll) {\n window.Helpers.menuPsScroll.destroy();\n menuScroll = new PerfectScrollbarLib(document.querySelector('.menu-inner'), {\n suppressScrollX: true,\n wheelPropagation: false\n });\n window.Helpers.menuPsScroll = menuScroll;\n }\n } else if (menuScroll) {\n // Destroy perfectscrollbar for static layout\n window.Helpers.menuPsScroll.destroy();\n }\n }\n }, {\n key: \"setLayoutMenuFlipped\",\n value: function setLayoutMenuFlipped(flipped) {\n var updateStorage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (!this._hasControls('layoutMenuFlipped')) return;\n this.settings.layoutMenuFlipped = flipped;\n if (updateStorage) this._setSetting('MenuFlipped', flipped);\n window.Helpers.setFlipped(flipped);\n if (updateStorage) this.settings.onSettingsChange.call(this, this.settings);\n }\n }, {\n key: \"setDropdownOnHover\",\n value: function setDropdownOnHover(open) {\n var updateStorage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (!this._hasControls('showDropdownOnHover')) return;\n this.settings.showDropdownOnHover = open;\n if (updateStorage) this._setSetting('ShowDropdownOnHover', open);\n if (window.Helpers.mainMenu) {\n window.Helpers.mainMenu.destroy();\n config.showDropdownOnHover = open;\n var _window = window,\n Menu = _window.Menu;\n window.Helpers.mainMenu = new Menu(document.getElementById('layout-menu'), {\n orientation: 'horizontal',\n closeChildren: true,\n showDropdownOnHover: config.showDropdownOnHover\n });\n }\n if (updateStorage) this.settings.onSettingsChange.call(this, this.settings);\n }\n }, {\n key: \"setLayoutNavbarFixed\",\n value: function setLayoutNavbarFixed(fixed) {\n var updateStorage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (!this._hasControls('layoutNavbarFixed')) return;\n this.settings.layoutNavbarFixed = fixed;\n if (updateStorage) this._setSetting('FixedNavbar', fixed);\n window.Helpers.setNavbarFixed(fixed);\n if (updateStorage) this.settings.onSettingsChange.call(this, this.settings);\n }\n }, {\n key: \"setLayoutFooterFixed\",\n value: function setLayoutFooterFixed(fixed) {\n var updateStorage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (!this._hasControls('layoutFooterFixed')) return;\n this.settings.layoutFooterFixed = fixed;\n if (updateStorage) this._setSetting('FixedFooter', fixed);\n window.Helpers.setFooterFixed(fixed);\n if (updateStorage) this.settings.onSettingsChange.call(this, this.settings);\n }\n }, {\n key: \"setLang\",\n value: function setLang(lang) {\n var _this = this;\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (lang === this.settings.lang && !force) return;\n if (!TemplateCustomizer.LANGUAGES[lang]) throw new Error(\"Language \\\"\".concat(lang, \"\\\" not found!\"));\n var t = TemplateCustomizer.LANGUAGES[lang];\n ['panel_header', 'panel_sub_header', 'theming_header', 'theme_header', 'style_label', 'style_switch_light', 'style_switch_dark', 'layout_header', 'layout_label', 'layout_static', 'layout_offcanvas', 'layout_fixed', 'layout_fixed_offcanvas', 'layout_flipped_label', 'layout_dd_open_label', 'layout_navbar_label', 'layout_footer_label', 'misc_header', 'theme_label', 'rtl_label'].forEach(function (key) {\n var el = _this.container.querySelector(\".template-customizer-t-\".concat(key));\n // eslint-disable-next-line no-unused-expressions\n el && (el.textContent = t[key]);\n });\n var tt = t.themes || {};\n var themes = this.container.querySelectorAll('.template-customizer-theme-item') || [];\n for (var i = 0, l = themes.length; i < l; i++) {\n var themeName = themes[i].querySelector('input[type=\"radio\"]').value;\n themes[i].querySelector('.template-customizer-theme-name').textContent = tt[themeName] || this._getThemeByName(themeName).title;\n }\n this.settings.lang = lang;\n }\n\n // Update theme settings control\n }, {\n key: \"update\",\n value: function update() {\n if (this._ssr) return;\n var hasNavbar = !!document.querySelector('.layout-navbar');\n var hasMenu = !!document.querySelector('.layout-menu');\n var hasHorizontalMenu = !!document.querySelector('.layout-menu-horizontal.menu, .layout-menu-horizontal .menu');\n var isLayout1 = !!document.querySelector('.layout-wrapper.layout-navbar-full');\n var hasFooter = !!document.querySelector('.content-footer');\n if (this._controls.layoutMenuFlipped) {\n if (!hasMenu) {\n this._controls.layoutMenuFlipped.setAttribute('disabled', 'disabled');\n this._controls.layoutMenuFlipped.classList.add('disabled');\n } else {\n this._controls.layoutMenuFlipped.removeAttribute('disabled');\n this._controls.layoutMenuFlipped.classList.remove('disabled');\n }\n }\n if (this._controls.showDropdownOnHover) {\n if (hasMenu) {\n this._controls.showDropdownOnHover.setAttribute('disabled', 'disabled');\n this._controls.showDropdownOnHover.classList.add('disabled');\n } else {\n this._controls.showDropdownOnHover.removeAttribute('disabled');\n this._controls.showDropdownOnHover.classList.remove('disabled');\n }\n }\n if (this._controls.layoutNavbarFixed) {\n if (!hasNavbar) {\n this._controls.layoutNavbarFixed.setAttribute('disabled', 'disabled');\n this._controls.layoutNavbarFixedW.classList.add('disabled');\n } else {\n this._controls.layoutNavbarFixed.removeAttribute('disabled');\n this._controls.layoutNavbarFixedW.classList.remove('disabled');\n }\n\n // Horizontal menu fixed layout - disabled fixed navbar switch\n if (hasHorizontalMenu && hasNavbar && this.settings.layoutType == 'fixed') {\n this._controls.layoutNavbarFixed.setAttribute('disabled', 'disabled');\n this._controls.layoutNavbarFixedW.classList.add('disabled');\n }\n }\n if (this._controls.layoutFooterFixed) {\n if (!hasFooter) {\n this._controls.layoutFooterFixed.setAttribute('disabled', 'disabled');\n this._controls.layoutFooterFixedW.classList.add('disabled');\n } else {\n this._controls.layoutFooterFixed.removeAttribute('disabled');\n this._controls.layoutFooterFixedW.classList.remove('disabled');\n }\n }\n\n // Horizontal menu fixed layout - disabled fixed navbar switch\n if (!hasMenu && this.settings.layoutType == 'fixed' && this._hasControls('layoutNavbarFixed')) {\n this._controls.layoutNavbarFixed.setAttribute('disabled', 'disabled');\n this._controls.layoutNavbarFixedW.classList.add('disabled');\n }\n if (this._controls.layoutType) {\n // ? Uncomment If using offcanvas layout\n /*\r\n if (!hasMenu) {\r\n this._controls.layoutType.querySelector('[value=\"static-offcanvas\"]').setAttribute('disabled', 'disabled')\r\n this._controls.layoutType.querySelector('[value=\"fixed-offcanvas\"]').setAttribute('disabled', 'disabled')\r\n } else {\r\n this._controls.layoutType.querySelector('[value=\"static-offcanvas\"]').removeAttribute('disabled')\r\n this._controls.layoutType.querySelector('[value=\"fixed-offcanvas\"]').removeAttribute('disabled')\r\n }\r\n */\n\n // Disable menu layouts options if menu (vertical or horizontal) is not there\n // if ((!hasNavbar && !hasMenu) || (!hasMenu && !isLayout1)) {\n if (hasMenu || hasHorizontalMenu) {\n // (Updated condition)\n this._controls.layoutType.removeAttribute('disabled');\n } else {\n this._controls.layoutType.setAttribute('disabled', 'disabled');\n }\n }\n }\n\n // Clear local storage\n }, {\n key: \"clearLocalStorage\",\n value: function clearLocalStorage() {\n if (this._ssr) return;\n this._setSetting('Theme', '');\n this._setSetting('Rtl', '');\n this._setSetting('Style', '');\n this._setSetting('MenuFlipped', '');\n this._setSetting('FixedNavbar', '');\n this._setSetting('FixedFooter', '');\n this._setSetting('LayoutType', '');\n }\n\n // Clear local storage\n }, {\n key: \"destroy\",\n value: function destroy() {\n if (this._ssr) return;\n this._cleanup();\n this.settings = null;\n this.container.parentNode.removeChild(this.container);\n this.container = null;\n }\n }, {\n key: \"_loadSettings\",\n value: function _loadSettings() {\n // Get settings\n\n // const cl = document.documentElement.classList;\n var rtl = this._getSetting('Rtl');\n var style = this._getSetting('Style');\n var collapsedMenu = this._getSetting('LayoutCollapsed'); // Value will be set from main.js\n var flippedMenu = this._getSetting('LayoutMenuFlipped');\n var dropdownOnHover = this._getSetting('ShowDropdownOnHover'); // Value will be set from main.js\n var fixedNavbar = this._getSetting('FixedNavbar');\n var fixedFooter = this._getSetting('FixedFooter');\n var lType = this._getSetting('LayoutType');\n var type;\n if (lType !== '' && ['static', 'static-offcanvas', 'fixed', 'fixed-offcanvas'].indexOf(lType) !== -1) {\n type = lType;\n } else {\n type = this.settings.defaultLayoutType;\n }\n this.settings.layoutType = type;\n\n // ! Set settings by following priority: Local Storage, Theme Config, HTML Classes\n this.settings.rtl = rtl !== '' ? rtl === 'true' : this.settings.defaultTextDir;\n this.settings.style = this.settings.styles.indexOf(style) !== -1 ? style : this.settings.defaultStyle;\n if (this.settings.styles.indexOf(this.settings.style) === -1) {\n // eslint-disable-next-line prefer-destructuring\n this.settings.style = this.settings.styles[0];\n }\n this.settings.layoutMenu = collapsedMenu !== '' ? collapsedMenu === 'true' : this.settings.defaultMenuCollapsed;\n this.settings.layoutMenuFlipped = flippedMenu !== '' ? flippedMenu === 'true' : this.settings.defaultMenuFlipped;\n this.settings.showDropdownOnHover = dropdownOnHover !== '' ? dropdownOnHover === 'true' : this.settings.defaultShowDropdownOnHover;\n this.settings.layoutNavbarFixed = fixedNavbar !== '' ? fixedNavbar === 'true' : this.settings.defaultNavbarFixed;\n this.settings.layoutFooterFixed = fixedFooter !== '' ? fixedFooter === 'true' : this.settings.defaultFooterFixed;\n this.settings.theme = this._getThemeByName(this._getSetting('Theme'), true);\n\n // Filter options depending on available controls\n if (!this._hasControls('rtl')) this.settings.rtl = document.documentElement.getAttribute('dir') === 'rtl';\n if (!this._hasControls('style')) this.settings.style = cl.contains('dark-style') ? 'dark' : 'light';\n if (!this._hasControls('layoutType')) this.settings.layoutType = null;\n if (!this._hasControls('layoutMenuFlipped')) this.settings.layoutMenuFlipped = null;\n if (!this._hasControls('showDropdownOnHover')) this.settings.showDropdownOnHover = null;\n if (!this._hasControls('layoutNavbarFixed')) this.settings.layoutNavbarFixed = null;\n if (!this._hasControls('layoutFooterFixed')) this.settings.layoutFooterFixed = null;\n if (!this._hasControls('themes')) this.settings.theme = null;\n }\n\n // Setup theme settings controls and events\n }, {\n key: \"_setup\",\n value: function _setup() {\n var _this2 = this;\n var _container = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n this._cleanup();\n this.container = this._getElementFromString(_template_customizer_template_customizer_html__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n // Customizer visibility condition\n //\n var customizerW = this.container;\n if (this.settings.displayCustomizer) customizerW.setAttribute('style', 'visibility: visible');else customizerW.setAttribute('style', 'visibility: hidden');\n\n // Open btn\n //\n var openBtn = this.container.querySelector('.template-customizer-open-btn');\n var openBtnCb = function openBtnCb() {\n _this2.container.classList.add('template-customizer-open');\n _this2.update();\n if (_this2._updateInterval) clearInterval(_this2._updateInterval);\n _this2._updateInterval = setInterval(function () {\n _this2.update();\n }, 500);\n };\n openBtn.addEventListener('click', openBtnCb);\n this._listeners.push([openBtn, 'click', openBtnCb]);\n\n // Close btn\n //\n\n var closeBtn = this.container.querySelector('.template-customizer-close-btn');\n var closeBtnCb = function closeBtnCb() {\n _this2.container.classList.remove('template-customizer-open');\n if (_this2._updateInterval) {\n clearInterval(_this2._updateInterval);\n _this2._updateInterval = null;\n }\n };\n closeBtn.addEventListener('click', closeBtnCb);\n this._listeners.push([closeBtn, 'click', closeBtnCb]);\n\n // RTL\n //\n\n var rtlW = this.container.querySelector('.template-customizer-misc');\n // ? Hide RTL control in following 2 case\n if (!this._hasControls('rtl') || !rtlSupport) {\n rtlW.parentNode.removeChild(rtlW);\n } else {\n var rtl = rtlW.querySelector('input');\n if (this.settings.rtl) rtl.setAttribute('checked', 'checked');\n var rtlCb = function rtlCb(e) {\n _this2._loadingState(true);\n _this2.setRtl(e.target.checked);\n };\n rtl.addEventListener('change', rtlCb);\n this._listeners.push([rtl, 'change', rtlCb]);\n }\n\n // Style\n\n //\n\n var styleW = this.container.querySelector('.template-customizer-style');\n if (!this._hasControls('style')) {\n styleW.parentNode.removeChild(styleW);\n } else {\n var style = styleW.querySelector('input');\n if (this.settings.style === 'dark') style.setAttribute('checked', 'checked');\n var styleCb = function styleCb(e) {\n _this2._loadingState(true);\n if (e.target.checked) {\n _this2.setStyle('dark');\n } else {\n _this2.setStyle('light');\n }\n };\n style.addEventListener('change', styleCb);\n this._listeners.push([style, 'change', styleCb]);\n }\n\n // Theme\n\n var themesW = this.container.querySelector('.template-customizer-themes');\n if (!this._hasControls('themes')) {\n themesW.parentNode.removeChild(themesW);\n } else {\n var themesWInner = themesW.querySelector('.template-customizer-themes-options');\n this.settings.availableThemes.forEach(function (theme) {\n var themeEl = _this2._getElementFromString(\"<div class=\\\"col-12\\\"><div class=\\\"form-check\\\"><input class=\\\"form-check-input\\\" type=\\\"radio\\\" name=\\\"themeRadios\\\" id=\\\"themeRadios\".concat(theme.name, \"\\\" value=\\\"\").concat(theme.name, \"\\\"><label class=\\\"form-check-label\\\" for=\\\"themeRadios\").concat(theme.name, \"\\\">\").concat(theme.title, \"</label></div></div>\"));\n themesWInner.appendChild(themeEl);\n });\n themesWInner.querySelector(\"input[value=\\\"\".concat(this.settings.theme.name, \"\\\"]\")).setAttribute('checked', 'checked');\n var themeCb = function themeCb(e) {\n if (_this2._loading) return;\n _this2._loading = true;\n _this2._loadingState(true, true);\n _this2.setTheme(e.target.value, true, function () {\n _this2._loading = false;\n _this2._loadingState(false, true);\n });\n };\n themesWInner.addEventListener('change', themeCb);\n this._listeners.push([themesWInner, 'change', themeCb]);\n }\n var themingW = this.container.querySelector('.template-customizer-theming');\n if (!this._hasControls('style') && !this._hasControls('themes')) {\n themingW.parentNode.removeChild(themingW);\n }\n\n // Layout wrapper\n //\n\n var layoutW = this.container.querySelector('.template-customizer-layout');\n if (!this._hasControls('layoutType layoutNavbarFixed layoutFooterFixed layoutMenuFlipped showDropdownOnHover', true)) {\n layoutW.parentNode.removeChild(layoutW);\n } else {\n // Position\n //\n\n var layoutTypeW = this.container.querySelector('.template-customizer-layoutType');\n if (!this._hasControls('layoutType')) {\n layoutTypeW.parentNode.removeChild(layoutTypeW);\n } else {\n this._controls.layoutType = layoutTypeW.querySelector('.template-customizer-layouts-options');\n\n // this._controls.layoutType.value = this.settings.layoutType\n this._controls.layoutType.querySelector(\"input[value=\\\"\".concat(this.settings.layoutType, \"\\\"]\")).setAttribute('checked', 'checked');\n var layoutTypeCb = function layoutTypeCb(e) {\n return _this2.setLayoutType(e.target.value);\n };\n this._controls.layoutType.addEventListener('change', layoutTypeCb);\n this._listeners.push([this._controls.layoutType, 'change', layoutTypeCb]);\n }\n\n // Menu flipped\n // ? Uncomment If needed\n\n /* this._controls.layoutMenuFlipped = this.container.querySelector('.template-customizer-layoutMenuFlipped')\r\n if (!this._hasControls('layoutMenuFlipped')) {\r\n this._controls.layoutMenuFlipped.parentNode.removeChild(this._controls.layoutMenuFlipped)\r\n } else {\r\n this._controls.layoutMenuFlipped = this._controls.layoutMenuFlipped.querySelector('input')\r\n if (this.settings.layoutMenuFlipped) this._controls.layoutMenuFlipped.setAttribute('checked', 'checked')\r\n const layoutMenuFlipped = e => this.setLayoutMenuFlipped(e.target.checked)\r\n this._controls.layoutMenuFlipped.addEventListener('change', layoutMenuFlipped)\r\n this._listeners.push([this._controls.layoutMenuFlipped, 'change', layoutMenuFlipped])\r\n } */\n\n // Menu open\n //\n\n this._controls.showDropdownOnHover = this.container.querySelector('.template-customizer-showDropdownOnHover');\n if (!this._hasControls('showDropdownOnHover')) {\n this._controls.showDropdownOnHover.parentNode.removeChild(this._controls.showDropdownOnHover);\n } else {\n this._controls.showDropdownOnHover = this._controls.showDropdownOnHover.querySelector('input');\n if (this.settings.showDropdownOnHover) this._controls.showDropdownOnHover.setAttribute('checked', 'checked');\n var showDropdownOnHover = function showDropdownOnHover(e) {\n return _this2.setDropdownOnHover(e.target.checked);\n };\n this._controls.showDropdownOnHover.addEventListener('change', showDropdownOnHover);\n this._listeners.push([this._controls.showDropdownOnHover, 'change', showDropdownOnHover]);\n }\n\n // Navbar\n //\n\n this._controls.layoutNavbarFixedW = this.container.querySelector('.template-customizer-layoutNavbarFixed');\n if (!this._hasControls('layoutNavbarFixed')) {\n this._controls.layoutNavbarFixedW.parentNode.removeChild(this._controls.layoutNavbarFixedW);\n } else {\n this._controls.layoutNavbarFixed = this._controls.layoutNavbarFixedW.querySelector('input');\n if (this.settings.layoutNavbarFixed) this._controls.layoutNavbarFixed.setAttribute('checked', 'checked');\n var layoutNavbarFixedCb = function layoutNavbarFixedCb(e) {\n return _this2.setLayoutNavbarFixed(e.target.checked);\n };\n this._controls.layoutNavbarFixed.addEventListener('change', layoutNavbarFixedCb);\n this._listeners.push([this._controls.layoutNavbarFixed, 'change', layoutNavbarFixedCb]);\n }\n\n // Footer\n //\n\n this._controls.layoutFooterFixedW = this.container.querySelector('.template-customizer-layoutFooterFixed');\n if (!this._hasControls('layoutFooterFixed')) {\n this._controls.layoutFooterFixedW.parentNode.removeChild(this._controls.layoutFooterFixedW);\n } else {\n this._controls.layoutFooterFixed = this._controls.layoutFooterFixedW.querySelector('input');\n if (this.settings.layoutFooterFixed) this._controls.layoutFooterFixed.setAttribute('checked', 'checked');\n var layoutFooterFixedCb = function layoutFooterFixedCb(e) {\n return _this2.setLayoutFooterFixed(e.target.checked);\n };\n this._controls.layoutFooterFixed.addEventListener('change', layoutFooterFixedCb);\n this._listeners.push([this._controls.layoutFooterFixed, 'change', layoutFooterFixedCb]);\n }\n }\n\n // Set language\n this.setLang(this.settings.lang, true);\n\n // Append container\n if (_container === document) {\n if (_container.body) {\n _container.body.appendChild(this.container);\n } else {\n window.addEventListener('DOMContentLoaded', function () {\n return _container.body.appendChild(_this2.container);\n });\n }\n } else {\n _container.appendChild(this.container);\n }\n }\n }, {\n key: \"_initDirection\",\n value: function _initDirection() {\n if (this._hasControls('rtl')) document.documentElement.setAttribute('dir', this.settings.rtl ? 'rtl' : 'ltr');\n }\n\n // Init template styles\n }, {\n key: \"_initStyle\",\n value: function _initStyle() {\n if (!this._hasControls('style')) return;\n var style = this.settings.style;\n this._insertStylesheet('template-customizer-core-css', this.pathResolver(this.settings.cssPath + this.settings.cssFilenamePattern.replace('%name%', \"core\".concat(style !== 'light' ? \"-\".concat(style) : ''))));\n // ? Uncomment if needed\n /*\r\n this._insertStylesheet(\r\n 'template-customizer-bootstrap-css',\r\n this.pathResolver(\r\n this.settings.cssPath +\r\n this.settings.cssFilenamePattern.replace('%name%', `bootstrap${style !== 'light' ? `-${style}` : ''}`)\r\n )\r\n )\r\n this._insertStylesheet(\r\n 'template-customizer-bsextended-css',\r\n this.pathResolver(\r\n this.settings.cssPath +\r\n this.settings.cssFilenamePattern.replace(\r\n '%name%',\r\n `bootstrap-extended${style !== 'light' ? `-${style}` : ''}`\r\n )\r\n )\r\n )\r\n this._insertStylesheet(\r\n 'template-customizer-components-css',\r\n this.pathResolver(\r\n this.settings.cssPath +\r\n this.settings.cssFilenamePattern.replace('%name%', `components${style !== 'light' ? `-${style}` : ''}`)\r\n )\r\n )\r\n this._insertStylesheet(\r\n 'template-customizer-colors-css',\r\n this.pathResolver(\r\n this.settings.cssPath +\r\n this.settings.cssFilenamePattern.replace('%name%', `colors${style !== 'light' ? `-${style}` : ''}`)\r\n )\r\n )\r\n */\n\n var classesToRemove = style === 'light' ? ['dark-style'] : ['light-style'];\n classesToRemove.forEach(function (cls) {\n document.documentElement.classList.remove(cls);\n });\n document.documentElement.classList.add(\"\".concat(style, \"-style\"));\n }\n\n // Init theme style\n }, {\n key: \"_initTheme\",\n value: function _initTheme() {\n if (this._hasControls('themes')) {\n this._insertStylesheet('template-customizer-theme-css', this.pathResolver(this.settings.themesPath + this.settings.cssFilenamePattern.replace('%name%', this.settings.theme.name + (this.settings.style !== 'light' ? \"-\".concat(this.settings.style) : ''))));\n } else {\n // If theme control is not enabled, get the current theme from localstorage else display default theme\n var theme = this._getSetting('Theme');\n this._insertStylesheet('template-customizer-theme-css', this.pathResolver(this.settings.themesPath + this.settings.cssFilenamePattern.replace('%name%', theme ? theme : 'theme-default' + (this.settings.style !== 'light' ? \"-\".concat(this.settings.style) : ''))));\n }\n }\n }, {\n key: \"_insertStylesheet\",\n value: function _insertStylesheet(className, href) {\n var curLink = document.querySelector(\".\".concat(className));\n if (typeof document.documentMode === 'number' && document.documentMode < 11) {\n if (!curLink) return;\n if (href === curLink.getAttribute('href')) return;\n var link = document.createElement('link');\n link.setAttribute('rel', 'stylesheet');\n link.setAttribute('type', 'text/css');\n link.className = className;\n link.setAttribute('href', href);\n curLink.parentNode.insertBefore(link, curLink.nextSibling);\n } else {\n document.write(\"<link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"\".concat(href, \"\\\" class=\\\"\").concat(className, \"\\\">\"));\n }\n curLink.parentNode.removeChild(curLink);\n }\n }, {\n key: \"_loadStylesheets\",\n value: function _loadStylesheets(stylesheets, cb) {\n var paths = Object.keys(stylesheets);\n var count = paths.length;\n var loaded = 0;\n function loadStylesheet(path, curLink, _cb) {\n var link = document.createElement('link');\n link.setAttribute('href', path);\n link.setAttribute('rel', 'stylesheet');\n link.setAttribute('type', 'text/css');\n link.className = curLink.className;\n var sheet = 'sheet' in link ? 'sheet' : 'styleSheet';\n var cssRules = 'sheet' in link ? 'cssRules' : 'rules';\n var intervalId;\n var timeoutId = setTimeout(function () {\n clearInterval(intervalId);\n clearTimeout(timeoutId);\n curLink.parentNode.removeChild(link);\n _cb(false, path);\n }, 15000);\n intervalId = setInterval(function () {\n try {\n if (link[sheet] && link[sheet][cssRules].length) {\n clearInterval(intervalId);\n clearTimeout(timeoutId);\n curLink.parentNode.removeChild(curLink);\n _cb(true);\n }\n } catch (e) {\n // Catch error\n }\n }, 10);\n curLink.parentNode.insertBefore(link, curLink.nextSibling);\n }\n function stylesheetCallBack() {\n if ((loaded += 1) >= count) {\n cb();\n }\n }\n for (var i = 0; i < paths.length; i++) {\n loadStylesheet(paths[i], stylesheets[paths[i]], stylesheetCallBack());\n }\n }\n }, {\n key: \"_loadingState\",\n value: function _loadingState(enable, themes) {\n this.container.classList[enable ? 'add' : 'remove'](\"template-customizer-loading\".concat(themes ? '-theme' : ''));\n }\n }, {\n key: \"_getElementFromString\",\n value: function _getElementFromString(str) {\n var wrapper = document.createElement('div');\n wrapper.innerHTML = str;\n return wrapper.firstChild;\n }\n\n // Set settings in LocalStorage with layout & key\n }, {\n key: \"_getSetting\",\n value: function _getSetting(key) {\n var result = null;\n var layoutName = this._getLayoutName();\n try {\n result = localStorage.getItem(\"templateCustomizer-\".concat(layoutName, \"--\").concat(key));\n } catch (e) {\n // Catch error\n }\n return String(result || '');\n }\n\n // Set settings in LocalStorage with layout & key\n }, {\n key: \"_setSetting\",\n value: function _setSetting(key, val) {\n var layoutName = this._getLayoutName();\n try {\n localStorage.setItem(\"templateCustomizer-\".concat(layoutName, \"--\").concat(key), String(val));\n } catch (e) {\n // Catch Error\n }\n }\n\n // Get layout name to set unique\n }, {\n key: \"_getLayoutName\",\n value: function _getLayoutName() {\n return document.getElementsByTagName('HTML')[0].getAttribute('data-template');\n }\n }, {\n key: \"_removeListeners\",\n value: function _removeListeners() {\n for (var i = 0, l = this._listeners.length; i < l; i++) {\n this._listeners[i][0].removeEventListener(this._listeners[i][1], this._listeners[i][2]);\n }\n }\n }, {\n key: \"_cleanup\",\n value: function _cleanup() {\n this._removeListeners();\n this._listeners = [];\n this._controls = {};\n if (this._updateInterval) {\n clearInterval(this._updateInterval);\n this._updateInterval = null;\n }\n }\n }, {\n key: \"_ssr\",\n get: function get() {\n return typeof window === 'undefined';\n }\n\n // Check controls availability\n }, {\n key: \"_hasControls\",\n value: function _hasControls(controls) {\n var _this3 = this;\n var oneOf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return controls.split(' ').reduce(function (result, control) {\n if (_this3.settings.controls.indexOf(control) !== -1) {\n if (oneOf || result !== false) result = true;\n } else if (!oneOf || result !== true) result = false;\n return result;\n }, null);\n }\n\n // Get the default theme\n }, {\n key: \"_getDefaultTheme\",\n value: function _getDefaultTheme(themeId) {\n var theme;\n if (typeof themeId === 'string') {\n theme = this._getThemeByName(themeId, false);\n } else {\n theme = this.settings.availableThemes[themeId];\n }\n if (!theme) {\n throw new Error(\"Theme ID \\\"\".concat(themeId, \"\\\" not found!\"));\n }\n return theme;\n }\n\n // Get theme by themeId/themeName\n }, {\n key: \"_getThemeByName\",\n value: function _getThemeByName(themeName) {\n var returnDefault = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var themes = this.settings.availableThemes;\n for (var i = 0, l = themes.length; i < l; i++) {\n if (themes[i].name === themeName) return themes[i];\n }\n return returnDefault ? this.settings.defaultTheme : null;\n }\n }]);\n return TemplateCustomizer;\n}(); // Themes\nTemplateCustomizer.THEMES = [{\n name: 'theme-default',\n title: 'Default'\n}, {\n name: 'theme-semi-dark',\n title: 'Semi Dark'\n}, {\n name: 'theme-bordered',\n title: 'Bordered'\n}];\n\n// Theme setting language\nTemplateCustomizer.LANGUAGES = {\n en: {\n panel_header: 'TEMPLATE CUSTOMIZER',\n panel_sub_header: 'Customize and preview in real time',\n theming_header: 'THEMING',\n theme_header: 'THEME',\n theme_label: 'Themes',\n style_label: 'Style (Mode)',\n style_switch_light: 'Light',\n style_switch_dark: 'Dark',\n layout_header: 'LAYOUT',\n layout_label: 'Layout (Menu)',\n layout_static: 'Static',\n layout_offcanvas: 'Offcanvas',\n layout_fixed: 'Fixed',\n layout_fixed_offcanvas: 'Fixed offcanvas',\n layout_flipped_label: 'Menu flipped',\n layout_dd_open_label: 'Dropdown on hover',\n layout_navbar_label: 'Fixed navbar',\n layout_footer_label: 'Fixed footer',\n misc_header: 'MISC',\n rtl_label: 'RTL direction'\n },\n fr: {\n panel_header: 'MODÈLE DE PERSONNALISATION',\n panel_sub_header: 'Personnalisez et prévisualisez en temps réel',\n theming_header: 'THÉMATISATION',\n theme_header: 'THÈME',\n theme_label: 'Thèmes',\n style_label: 'Style (Mode)',\n style_switch_light: 'Léger',\n style_switch_dark: 'Sombre',\n layout_header: 'DISPOSITION',\n layout_label: 'Mise en page (Menu)',\n layout_static: 'Statique',\n layout_offcanvas: 'Hors toile',\n layout_fixed: 'Fixé',\n layout_fixed_offcanvas: 'Fixe hors toile',\n layout_flipped_label: 'Menu inversé',\n layout_dd_open_label: 'Liste déroulante au survol',\n layout_navbar_label: 'Barre de navigation fixe',\n layout_footer_label: 'Pied de page fixe',\n misc_header: 'DIVERS',\n rtl_label: 'Sens RTL'\n },\n de: {\n panel_header: 'VORLAGEN-ANPASSER',\n panel_sub_header: 'Anpassen und Vorschau in Echtzeit',\n theming_header: 'THEMEN',\n theme_header: 'THEMA',\n theme_label: 'Themen',\n style_label: 'Stil (Modus)',\n style_switch_light: 'Hell',\n style_switch_dark: 'Dunkel',\n layout_header: 'LAYOUT',\n layout_label: 'Layout (Speisekarte)',\n layout_static: 'Statisch',\n layout_offcanvas: 'Leinwand',\n layout_fixed: 'Fest',\n layout_fixed_offcanvas: 'Außerhalb der Leinwand behoben',\n layout_flipped_label: 'Menü umgedreht',\n layout_dd_open_label: 'Dropdown beim Hover',\n layout_navbar_label: 'Navigationsleiste behoben',\n layout_footer_label: 'Feste Fußzeile',\n misc_header: 'VERSCHIEDENES',\n rtl_label: 'RTL-Regie'\n },\n pt: {\n panel_header: 'PERSONALIZADOR DE MODELO',\n panel_sub_header: 'Personalize e visualize em tempo real',\n theming_header: 'TEMAS',\n theme_header: 'TEMA',\n theme_label: 'Temas',\n style_label: 'Estilo (Modo)',\n style_switch_light: 'Luz',\n style_switch_dark: 'Escuro',\n layout_header: 'ESQUEMA',\n layout_label: 'Esquema (Cardápio)',\n layout_static: 'Estático',\n layout_offcanvas: 'Offcanvas',\n layout_fixed: 'Fixo',\n layout_fixed_offcanvas: 'Offscreen fixo',\n layout_flipped_label: 'Menu invertido',\n layout_dd_open_label: 'Suspensão ao passar o mouse',\n layout_navbar_label: 'Barra de navegação fixa',\n layout_footer_label: 'Rodapé fixo',\n misc_header: 'DIVERSOS',\n rtl_label: 'Direção RTL'\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QjtJQUNyQ0MsV0FBVyxFQUFFLGVBQWU7SUFDNUJDLFNBQVMsRUFBRTtFQUNiLENBQUM7RUFDREcsRUFBRSxFQUFFO0lBQ0Z0QixZQUFZLEVBQUUsMEJBQTBCO0lBQ3hDQyxnQkFBZ0IsRUFBRSx1Q0FBdUM7SUFDekRDLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCQyxZQUFZLEVBQUUsTUFBTTtJQUNwQkMsV0FBVyxFQUFFLE9BQU87SUFDcEJDLFdBQVcsRUFBRSxlQUFlO0lBQzVCQyxrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCQyxpQkFBaUIsRUFBRSxRQUFRO0lBQzNCQyxhQUFhLEVBQUUsU0FBUztJQUN4QkMsWUFBWSxFQUFFLG9CQUFvQjtJQUNsQ0MsYUFBYSxFQUFFLFVBQVU7SUFDekJDLGdCQUFnQixFQUFFLFdBQVc7SUFDN0JDLFlBQVksRUFBRSxNQUFNO0lBQ3BCQyxzQkFBc0IsRUFBRSxnQkFBZ0I7SUFDeENDLG9CQUFvQixFQUFFLGdCQUFnQjtJQUN0Q0Msb0JBQW9CLEVBQUUsNkJBQTZCO0lBQ25EQyxtQkFBbUIsRUFBRSx5QkFBeUI7SUFDOUNDLG1CQUFtQixFQUFFLGFBQWE7SUFDbENDLFdBQVcsRUFBRSxVQUFVO0lBQ3ZCQyxTQUFTLEVBQUU7RUFDYjtBQUNGLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9WdWV4eS8uL2pzL3RlbXBsYXRlLWN1c3RvbWl6ZXIuanM/YTk0NiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3VzdG9taXplclN0eWxlIGZyb20gJy4vX3RlbXBsYXRlLWN1c3RvbWl6ZXIvX3RlbXBsYXRlLWN1c3RvbWl6ZXIuc2NzcydcclxuaW1wb3J0IGN1c3RvbWl6ZXJNYXJrdXAgZnJvbSAnLi9fdGVtcGxhdGUtY3VzdG9taXplci9fdGVtcGxhdGUtY3VzdG9taXplci5odG1sJ1xyXG5cclxuY29uc3QgQ1NTX0ZJTEVOQU1FX1BBVFRFUk4gPSAnJW5hbWUlLmNzcydcclxuY29uc3QgQ09OVFJPTFMgPSBbXHJcbiAgJ3J0bCcsXHJcbiAgJ3N0eWxlJyxcclxuICAnbGF5b3V0VHlwZScsXHJcbiAgJ2xheW91dE1lbnVGbGlwcGVkJyxcclxuICAnc2hvd0Ryb3Bkb3duT25Ib3ZlcicsXHJcbiAgJ2xheW91dE5hdmJhckZpeGVkJyxcclxuICAnbGF5b3V0Rm9vdGVyRml4ZWQnLFxyXG4gICd0aGVtZXMnXHJcbl1cclxuY29uc3QgU1RZTEVTID0gWydsaWdodCcsICdkYXJrJ11cclxuXHJcbmNvbnN0IGNsID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdFxyXG5cclxuY29uc3QgRElTUExBWV9DVVNUT01JWkVSID0gdHJ1ZVxyXG5jb25zdCBERUZBVUxUX1RIRU1FID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0hUTUwnKVswXS5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGhlbWUnKSB8fCAwXHJcbmNvbnN0IERFRkFVTFRfU1RZTEUgPSBjbC5jb250YWlucygnZGFyay1zdHlsZScpID8gJ2RhcmsnIDogJ2xpZ2h0J1xyXG5jb25zdCBERUZBVUxUX1RFWFRfRElSID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGlyJykgPT09ICdydGwnXHJcbmNvbnN0IERFRkFVTFRfTUVOVV9DT0xMQVBTRUQgPSAhIWNsLmNvbnRhaW5zKCdsYXlvdXQtbWVudS1jb2xsYXBzZWQnKVxyXG5jb25zdCBERUZBVUxUX01FTlVfRkxJUFBFRCA9ICEhY2wuY29udGFpbnMoJ2xheW91dC1tZW51LWZsaXBwZWQnKVxyXG5jb25zdCBERUZBVUxUX1NIT1dfRFJPUERPV05fT05fSE9WRVIgPSB1bmRlZmluZWRcclxuY29uc3QgREVGQVVMVF9OQVZCQVJfRklYRUQgPSAhIWNsLmNvbnRhaW5zKCdsYXlvdXQtbmF2YmFyLWZpeGVkJylcclxuY29uc3QgREVGQVVMVF9GT09URVJfRklYRUQgPSAhIWNsLmNvbnRhaW5zKCdsYXlvdXQtZm9vdGVyLWZpeGVkJylcclxuXHJcbmxldCBsYXlvdXRUeXBlXHJcbmlmIChjbC5jb250YWlucygnbGF5b3V0LW1lbnUtb2ZmY2FudmFzJykpIHtcclxuICBsYXlvdXRUeXBlID0gJ3N0YXRpYy1vZmZjYW52YXMnXHJcbn0gZWxzZSBpZiAoY2wuY29udGFpbnMoJ2xheW91dC1tZW51LWZpeGVkJykpIHtcclxuICBsYXlvdXRUeXBlID0gJ2ZpeGVkJ1xyXG59IGVsc2UgaWYgKGNsLmNvbnRhaW5zKCdsYXlvdXQtbWVudS1maXhlZC1vZmZjYW52YXMnKSkge1xyXG4gIGxheW91dFR5cGUgPSAnZml4ZWQtb2ZmY2FudmFzJ1xyXG59IGVsc2Uge1xyXG4gIGxheW91dFR5cGUgPSAnc3RhdGljJ1xyXG59XHJcbmNvbnN0IERFRkFVTFRfTEFZT1VUX1RZUEUgPSBsYXlvdXRUeXBlXHJcblxyXG5jbGFzcyBUZW1wbGF0ZUN1c3RvbWl6ZXIge1xyXG4gIGNvbnN0cnVjdG9yKHtcclxuICAgIGNzc1BhdGgsXHJcbiAgICB0aGVtZXNQYXRoLFxyXG4gICAgY3NzRmlsZW5hbWVQYXR0ZXJuLFxyXG4gICAgZGlzcGxheUN1c3RvbWl6ZXIsXHJcbiAgICBjb250cm9scyxcclxuICAgIGRlZmF1bHRUZXh0RGlyLFxyXG4gICAgZGVmYXVsdExheW91dFR5cGUsXHJcbiAgICBkZWZhdWx0TWVudUNvbGxhcHNlZCxcclxuICAgIGRlZmF1bHRNZW51RmxpcHBlZCxcclxuICAgIGRlZmF1bHRTaG93RHJvcGRvd25PbkhvdmVyLFxyXG4gICAgZGVmYXVsdE5hdmJhckZpeGVkLFxyXG4gICAgZGVmYXVsdEZvb3RlckZpeGVkLFxyXG4gICAgc3R5bGVzLFxyXG4gICAgZGVmYXVsdFN0eWxlLFxyXG4gICAgYXZhaWxhYmxlVGhlbWVzLFxyXG4gICAgZGVmYXVsdFRoZW1lLFxyXG4gICAgcGF0aFJlc29sdmVyLFxyXG4gICAgb25TZXR0aW5nc0NoYW5nZSxcclxuICAgIGxhbmdcclxuICB9KSB7XHJcbiAgICBpZiAodGhpcy5fc3NyKSByZXR1cm5cclxuICAgIGlmICghd2luZG93LkhlbHBlcnMpIHRocm93IG5ldyBFcnJvcignd2luZG93LkhlbHBlcnMgcmVxdWlyZWQuJylcclxuXHJcbiAgICB0aGlzLnNldHRpbmdzID0ge31cclxuICAgIHRoaXMuc2V0dGluZ3MuY3NzUGF0aCA9IGNzc1BhdGhcclxuICAgIHRoaXMuc2V0dGluZ3MudGhlbWVzUGF0aCA9IHRoZW1lc1BhdGhcclxuICAgIHRoaXMuc2V0dGluZ3MuY3NzRmlsZW5hbWVQYXR0ZXJuID0gY3NzRmlsZW5hbWVQYXR0ZXJuIHx8IENTU19GSUxFTkFNRV9QQVRURVJOXHJcbiAgICB0aGlzLnNldHRpbmdzLmRpc3BsYXlDdXN0b21pemVyID0gdHlwZW9mIGRpc3BsYXlDdXN0b21pemVyICE9PSAndW5kZWZpbmVkJyA/IGRpc3BsYXlDdXN0b21pemVyIDogRElTUExBWV9DVVNUT01JWkVSXHJcblxyXG4gICAgdGhpcy5zZXR0aW5ncy5jb250cm9scyA9IGNvbnRyb2xzIHx8IENPTlRST0xTXHJcbiAgICB0aGlzLnNldHRpbmdzLmRlZmF1bHRUZXh0RGlyID0gZGVmYXVsdFRleHREaXIgPT09ICdydGwnID8gdHJ1ZSA6IGZhbHNlIHx8IERFRkFVTFRfVEVYVF9ESVJcclxuICAgIHRoaXMuc2V0dGluZ3MuZGVmYXVsdExheW91dFR5cGUgPSBkZWZhdWx0TGF5b3V0VHlwZSB8fCBERUZBVUxUX0xBWU9VVF9UWVBFXHJcbiAgICB0aGlzLnNldHRpbmdzLmRlZmF1bHRNZW51Q29sbGFwc2VkID1cclxuICAgICAgdHlwZW9mIGRlZmF1bHRNZW51Q29sbGFwc2VkICE9PSAndW5kZWZpbmVkJyA/IGRlZmF1bHRNZW51Q29sbGFwc2VkIDogREVGQVVMVF9NRU5VX0NPTExBUFNFRFxyXG4gICAgdGhpcy5zZXR0aW5ncy5kZWZhdWx0TWVudUZsaXBwZWQgPVxyXG4gICAgICB0eXBlb2YgZGVmYXVsdE1lbnVGbGlwcGVkICE9PSAndW5kZWZpbmVkJyA/IGRlZmF1bHRNZW51RmxpcHBlZCA6IERFRkFVTFRfTUVOVV9GTElQUEVEXHJcbiAgICB0aGlzLnNldHRpbmdzLmRlZmF1bHRTaG93RHJvcGRvd25PbkhvdmVyID1cclxuICAgICAgdHlwZW9mIGRlZmF1bHRTaG93RHJvcGRvd25PbkhvdmVyICE9PSAndW5kZWZpbmVkJyA/IGRlZmF1bHRTaG93RHJvcGRvd25PbkhvdmVyIDogREVGQVVMVF9TSE9XX0RST1BET1dOX09OX0hPVkVSXHJcbiAgICB0aGlzLnNldHRpbmdzLmRlZmF1bHROYXZiYXJGaXhlZCA9XHJcbiAgICAgIHR5cGVvZiBkZWZhdWx0TmF2YmFyRml4ZWQgIT09ICd1bmRlZmluZWQnID8gZGVmYXVsdE5hdmJhckZpeGVkIDogREVGQVVMVF9OQVZCQVJfRklYRURcclxuICAgIHRoaXMuc2V0dGluZ3MuZGVmYXVsdEZvb3RlckZpeGVkID1cclxuICAgICAgdHlwZW9mIGRlZmF1bHRGb290ZXJGaXhlZCAhPT0gJ3VuZGVmaW5lZCcgPyBkZWZhdWx0Rm9vdGVyRml4ZWQgOiBERUZBVUxUX0ZPT1RFUl9GSVhFRFxyXG5cclxuICAgIHRoaXMuc2V0dGluZ3MuYXZhaWxhYmxlVGhlbWVzID0gYXZhaWxhYmxlVGhlbWVzIHx8IFRlbXBsYXRlQ3VzdG9taXplci5USEVNRVNcclxuICAgIHRoaXMuc2V0dGluZ3MuZGVmYXVsdFRoZW1lID0gdGhpcy5fZ2V0RGVmYXVsdFRoZW1lKFxyXG4gICAgICB0eXBlb2YgZGVmYXVsdFRoZW1lICE9PSAndW5kZWZpbmVkJyA/IGRlZmF1bHRUaGVtZSA6IERFRkFVTFRfVEhFTUVcclxuICAgIClcclxuXHJcbiAgICB0aGlzLnNldHRpbmdzLnN0eWxlcyA9IHN0eWxlcyB8fCBTVFlMRVNcclxuICAgIHRoaXMuc2V0dGluZ3MuZGVmYXVsdFN0eWxlID0gZGVmYXVsdFN0eWxlIHx8IERFRkFVTFRfU1RZTEVcclxuICAgIHRoaXMuc2V0dGluZ3MubGFuZyA9IGxhbmcgfHwgJ2VuJ1xyXG4gICAgdGhpcy5wYXRoUmVzb2x2ZXIgPSBwYXRoUmVzb2x2ZXIgfHwgKHAgPT4gcClcclxuXHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5zdHlsZXMubGVuZ3RoIDwgMikge1xyXG4gICAgICBjb25zdCBpID0gdGhpcy5zZXR0aW5ncy5jb250cm9scy5pbmRleE9mKCdzdHlsZScpXHJcbiAgICAgIGlmIChpICE9PSAtMSkge1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MuY29udHJvbHMgPSB0aGlzLnNldHRpbmdzLmNvbnRyb2xzLnNsaWNlKDAsIGkpLmNvbmNhdCh0aGlzLnNldHRpbmdzLmNvbnRyb2xzLnNsaWNlKGkgKyAxKSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0dGluZ3Mub25TZXR0aW5nc0NoYW5nZSA9IHR5cGVvZiBvblNldHRpbmdzQ2hhbmdlID09PSAnZnVuY3Rpb24nID8gb25TZXR0aW5nc0NoYW5nZSA6ICgpID0+IHt9XHJcblxyXG4gICAgdGhpcy5fbG9hZFNldHRpbmdzKClcclxuXHJcbiAgICB0aGlzLl9saXN0ZW5lcnMgPSBbXVxyXG4gICAgdGhpcy5fY29udHJvbHMgPSB7fVxyXG5cclxuICAgIHRoaXMuX2luaXREaXJlY3Rpb24oKVxyXG4gICAgdGhpcy5faW5pdFN0eWxlKClcclxuICAgIHRoaXMuX2luaXRUaGVtZSgpXHJcbiAgICB0aGlzLnNldExheW91dFR5cGUodGhpcy5zZXR0aW5ncy5sYXlvdXRUeXBlLCBmYWxzZSlcclxuICAgIHRoaXMuc2V0TGF5b3V0TWVudUZsaXBwZWQodGhpcy5zZXR0aW5ncy5sYXlvdXRNZW51RmxpcHBlZCwgZmFsc2UpXHJcbiAgICB0aGlzLnNldERyb3Bkb3duT25Ib3Zlcih0aGlzLnNldHRpbmdzLnNob3dEcm9wZG93bk9uSG92ZXIsIGZhbHNlKVxyXG4gICAgdGhpcy5zZXRMYXlvdXROYXZiYXJGaXhlZCh0aGlzLnNldHRpbmdzLmxheW91dE5hdmJhckZpeGVkLCBmYWxzZSlcclxuICAgIHRoaXMuc2V0TGF5b3V0Rm9vdGVyRml4ZWQodGhpcy5zZXR0aW5ncy5sYXlvdXRGb290ZXJGaXhlZCwgZmFsc2UpXHJcbiAgICB0aGlzLl9zZXR1cCgpXHJcbiAgfVxyXG5cclxuICBzZXRSdGwocnRsKSB7XHJcbiAgICBpZiAoIXRoaXMuX2hhc0NvbnRyb2xzKCdydGwnKSkgcmV0dXJuXHJcbiAgICB0aGlzLl9zZXRTZXR0aW5nKCdSdGwnLCBTdHJpbmcocnRsKSlcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKVxyXG4gIH1cclxuXHJcbiAgc2V0U3R5bGUoc3R5bGUpIHtcclxuICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ3N0eWxlJykpIHJldHVyblxyXG4gICAgdGhpcy5fc2V0U2V0dGluZygnU3R5bGUnLCBbJ2RhcmsnXS5pbmRleE9mKHN0eWxlKSA9PT0gLTEgPyAnbGlnaHQnIDogc3R5bGUpXHJcblxyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpXHJcbiAgfVxyXG5cclxuICBzZXRUaGVtZSh0aGVtZU5hbWUsIHVwZGF0ZVN0b3JhZ2UgPSB0cnVlLCBjYiA9IG51bGwpIHtcclxuICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ3RoZW1lcycpKSByZXR1cm5cclxuXHJcbiAgICBjb25zdCB0aGVtZSA9IHRoaXMuX2dldFRoZW1lQnlOYW1lKHRoZW1lTmFtZSlcclxuXHJcbiAgICBpZiAoIXRoZW1lKSByZXR1cm5cclxuXHJcbiAgICB0aGlzLnNldHRpbmdzLnRoZW1lID0gdGhlbWVcclxuICAgIGlmICh1cGRhdGVTdG9yYWdlKSB0aGlzLl9zZXRTZXR0aW5nKCdUaGVtZScsIHRoZW1lTmFtZSlcclxuXHJcbiAgICBjb25zdCB0aGVtZVVybCA9IHRoaXMucGF0aFJlc29sdmVyKFxyXG4gICAgICB0aGlzLnNldHRpbmdzLnRoZW1lc1BhdGggK1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MuY3NzRmlsZW5hbWVQYXR0ZXJuLnJlcGxhY2UoXHJcbiAgICAgICAgICAnJW5hbWUlJyxcclxuICAgICAgICAgIHRoZW1lTmFtZSArICh0aGlzLnNldHRpbmdzLnN0eWxlICE9PSAnbGlnaHQnID8gYC0ke3RoaXMuc2V0dGluZ3Muc3R5bGV9YCA6ICcnKVxyXG4gICAgICAgIClcclxuICAgIClcclxuXHJcbiAgICB0aGlzLl9sb2FkU3R5bGVzaGVldHMoeyBbdGhlbWVVcmxdOiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcudGVtcGxhdGUtY3VzdG9taXplci10aGVtZS1jc3MnKSB9LCBjYiB8fCAoKCkgPT4ge30pKVxyXG5cclxuICAgIGlmICh1cGRhdGVTdG9yYWdlKSB0aGlzLnNldHRpbmdzLm9uU2V0dGluZ3NDaGFuZ2UuY2FsbCh0aGlzLCB0aGlzLnNldHRpbmdzKVxyXG4gIH1cclxuXHJcbiAgc2V0TGF5b3V0VHlwZShwb3MsIHVwZGF0ZVN0b3JhZ2UgPSB0cnVlKSB7XHJcbiAgICBpZiAoIXRoaXMuX2hhc0NvbnRyb2xzKCdsYXlvdXRUeXBlJykpIHJldHVyblxyXG4gICAgaWYgKHBvcyAhPT0gJ3N0YXRpYycgJiYgcG9zICE9PSAnc3RhdGljLW9mZmNhbnZhcycgJiYgcG9zICE9PSAnZml4ZWQnICYmIHBvcyAhPT0gJ2ZpeGVkLW9mZmNhbnZhcycpIHJldHVyblxyXG5cclxuICAgIHRoaXMuc2V0dGluZ3MubGF5b3V0VHlwZSA9IHBvc1xyXG4gICAgaWYgKHVwZGF0ZVN0b3JhZ2UpIHRoaXMuX3NldFNldHRpbmcoJ0xheW91dFR5cGUnLCBwb3MpXHJcblxyXG4gICAgd2luZG93LkhlbHBlcnMuc2V0UG9zaXRpb24oXHJcbiAgICAgIHBvcyA9PT0gJ2ZpeGVkJyB8fCBwb3MgPT09ICdmaXhlZC1vZmZjYW52YXMnLFxyXG4gICAgICBwb3MgPT09ICdzdGF0aWMtb2ZmY2FudmFzJyB8fCBwb3MgPT09ICdmaXhlZC1vZmZjYW52YXMnXHJcbiAgICApXHJcblxyXG4gICAgaWYgKHVwZGF0ZVN0b3JhZ2UpIHRoaXMuc2V0dGluZ3Mub25TZXR0aW5nc0NoYW5nZS5jYWxsKHRoaXMsIHRoaXMuc2V0dGluZ3MpXHJcblxyXG4gICAgLy8gUGVyZmVjdHNjcm9sbGJhciBjaGFuZ2Ugb24gTGF5b3V0IGNoYW5nZVxyXG4gICAgbGV0IG1lbnVTY3JvbGwgPSB3aW5kb3cuSGVscGVycy5tZW51UHNTY3JvbGxcclxuICAgIGNvbnN0IFBlcmZlY3RTY3JvbGxiYXJMaWIgPSB3aW5kb3cuUGVyZmVjdFNjcm9sbGJhclxyXG5cclxuICAgIGlmICh0aGlzLnNldHRpbmdzLmxheW91dFR5cGUgPT09ICdmaXhlZCcgfHwgdGhpcy5zZXR0aW5ncy5sYXlvdXRUeXBlID09PSAnZml4ZWQtb2ZmY2FudmFzJykge1xyXG4gICAgICAvLyBTZXQgcGVyZmVjdHNjcm9sbGJhciB3aGVlbFByb3BhZ2F0aW9uIGZhbHNlIGZvciBmaXhlZCBsYXlvdXRcclxuICAgICAgaWYgKFBlcmZlY3RTY3JvbGxiYXJMaWIgJiYgbWVudVNjcm9sbCkge1xyXG4gICAgICAgIHdpbmRvdy5IZWxwZXJzLm1lbnVQc1Njcm9sbC5kZXN0cm95KClcclxuICAgICAgICBtZW51U2Nyb2xsID0gbmV3IFBlcmZlY3RTY3JvbGxiYXJMaWIoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm1lbnUtaW5uZXInKSwge1xyXG4gICAgICAgICAgc3VwcHJlc3NTY3JvbGxYOiB0cnVlLFxyXG4gICAgICAgICAgd2hlZWxQcm9wYWdhdGlvbjogZmFsc2VcclxuICAgICAgICB9KVxyXG4gICAgICAgIHdpbmRvdy5IZWxwZXJzLm1lbnVQc1Njcm9sbCA9IG1lbnVTY3JvbGxcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChtZW51U2Nyb2xsKSB7XHJcbiAgICAgIC8vIERlc3Ryb3kgcGVyZmVjdHNjcm9sbGJhciBmb3Igc3RhdGljIGxheW91dFxyXG4gICAgICB3aW5kb3cuSGVscGVycy5tZW51UHNTY3JvbGwuZGVzdHJveSgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRMYXlvdXRNZW51RmxpcHBlZChmbGlwcGVkLCB1cGRhdGVTdG9yYWdlID0gdHJ1ZSkge1xyXG4gICAgaWYgKCF0aGlzLl9oYXNDb250cm9scygnbGF5b3V0TWVudUZsaXBwZWQnKSkgcmV0dXJuXHJcbiAgICB0aGlzLnNldHRpbmdzLmxheW91dE1lbnVGbGlwcGVkID0gZmxpcHBlZFxyXG4gICAgaWYgKHVwZGF0ZVN0b3JhZ2UpIHRoaXMuX3NldFNldHRpbmcoJ01lbnVGbGlwcGVkJywgZmxpcHBlZClcclxuXHJcbiAgICB3aW5kb3cuSGVscGVycy5zZXRGbGlwcGVkKGZsaXBwZWQpXHJcblxyXG4gICAgaWYgKHVwZGF0ZVN0b3JhZ2UpIHRoaXMuc2V0dGluZ3Mub25TZXR0aW5nc0NoYW5nZS5jYWxsKHRoaXMsIHRoaXMuc2V0dGluZ3MpXHJcbiAgfVxyXG5cclxuICBzZXREcm9wZG93bk9uSG92ZXIob3BlbiwgdXBkYXRlU3RvcmFnZSA9IHRydWUpIHtcclxuICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ3Nob3dEcm9wZG93bk9uSG92ZXInKSkgcmV0dXJuXHJcbiAgICB0aGlzLnNldHRpbmdzLnNob3dEcm9wZG93bk9uSG92ZXIgPSBvcGVuXHJcbiAgICBpZiAodXBkYXRlU3RvcmFnZSkgdGhpcy5fc2V0U2V0dGluZygnU2hvd0Ryb3Bkb3duT25Ib3ZlcicsIG9wZW4pXHJcblxyXG4gICAgaWYgKHdpbmRvdy5IZWxwZXJzLm1haW5NZW51KSB7XHJcbiAgICAgIHdpbmRvdy5IZWxwZXJzLm1haW5NZW51LmRlc3Ryb3koKVxyXG4gICAgICBjb25maWcuc2hvd0Ryb3Bkb3duT25Ib3ZlciA9IG9wZW5cclxuXHJcbiAgICAgIGNvbnN0IHsgTWVudSB9ID0gd2luZG93XHJcblxyXG4gICAgICB3aW5kb3cuSGVscGVycy5tYWluTWVudSA9IG5ldyBNZW51KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXlvdXQtbWVudScpLCB7XHJcbiAgICAgICAgb3JpZW50YXRpb246ICdob3Jpem9udGFsJyxcclxuICAgICAgICBjbG9zZUNoaWxkcmVuOiB0cnVlLFxyXG4gICAgICAgIHNob3dEcm9wZG93bk9uSG92ZXI6IGNvbmZpZy5zaG93RHJvcGRvd25PbkhvdmVyXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHVwZGF0ZVN0b3JhZ2UpIHRoaXMuc2V0dGluZ3Mub25TZXR0aW5nc0NoYW5nZS5jYWxsKHRoaXMsIHRoaXMuc2V0dGluZ3MpXHJcbiAgfVxyXG5cclxuICBzZXRMYXlvdXROYXZiYXJGaXhlZChmaXhlZCwgdXBkYXRlU3RvcmFnZSA9IHRydWUpIHtcclxuICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ2xheW91dE5hdmJhckZpeGVkJykpIHJldHVyblxyXG4gICAgdGhpcy5zZXR0aW5ncy5sYXlvdXROYXZiYXJGaXhlZCA9IGZpeGVkXHJcbiAgICBpZiAodXBkYXRlU3RvcmFnZSkgdGhpcy5fc2V0U2V0dGluZygnRml4ZWROYXZiYXInLCBmaXhlZClcclxuXHJcbiAgICB3aW5kb3cuSGVscGVycy5zZXROYXZiYXJGaXhlZChmaXhlZClcclxuXHJcbiAgICBpZiAodXBkYXRlU3RvcmFnZSkgdGhpcy5zZXR0aW5ncy5vblNldHRpbmdzQ2hhbmdlLmNhbGwodGhpcywgdGhpcy5zZXR0aW5ncylcclxuICB9XHJcblxyXG4gIHNldExheW91dEZvb3RlckZpeGVkKGZpeGVkLCB1cGRhdGVTdG9yYWdlID0gdHJ1ZSkge1xyXG4gICAgaWYgKCF0aGlzLl9oYXNDb250cm9scygnbGF5b3V0Rm9vdGVyRml4ZWQnKSkgcmV0dXJuXHJcbiAgICB0aGlzLnNldHRpbmdzLmxheW91dEZvb3RlckZpeGVkID0gZml4ZWRcclxuICAgIGlmICh1cGRhdGVTdG9yYWdlKSB0aGlzLl9zZXRTZXR0aW5nKCdGaXhlZEZvb3RlcicsIGZpeGVkKVxyXG5cclxuICAgIHdpbmRvdy5IZWxwZXJzLnNldEZvb3RlckZpeGVkKGZpeGVkKVxyXG5cclxuICAgIGlmICh1cGRhdGVTdG9yYWdlKSB0aGlzLnNldHRpbmdzLm9uU2V0dGluZ3NDaGFuZ2UuY2FsbCh0aGlzLCB0aGlzLnNldHRpbmdzKVxyXG4gIH1cclxuXHJcbiAgc2V0TGFuZyhsYW5nLCBmb3JjZSA9IGZhbHNlKSB7XHJcbiAgICBpZiAobGFuZyA9PT0gdGhpcy5zZXR0aW5ncy5sYW5nICYmICFmb3JjZSkgcmV0dXJuXHJcbiAgICBpZiAoIVRlbXBsYXRlQ3VzdG9taXplci5MQU5HVUFHRVNbbGFuZ10pIHRocm93IG5ldyBFcnJvcihgTGFuZ3VhZ2UgXCIke2xhbmd9XCIgbm90IGZvdW5kIWApXHJcblxyXG4gICAgY29uc3QgdCA9IFRlbXBsYXRlQ3VzdG9taXplci5MQU5HVUFHRVNbbGFuZ11cclxuXHJcbiAgICA7W1xyXG4gICAgICAncGFuZWxfaGVhZGVyJyxcclxuICAgICAgJ3BhbmVsX3N1Yl9oZWFkZXInLFxyXG4gICAgICAndGhlbWluZ19oZWFkZXInLFxyXG4gICAgICAndGhlbWVfaGVhZGVyJyxcclxuICAgICAgJ3N0eWxlX2xhYmVsJyxcclxuICAgICAgJ3N0eWxlX3N3aXRjaF9saWdodCcsXHJcbiAgICAgICdzdHlsZV9zd2l0Y2hfZGFyaycsXHJcbiAgICAgICdsYXlvdXRfaGVhZGVyJyxcclxuICAgICAgJ2xheW91dF9sYWJlbCcsXHJcbiAgICAgICdsYXlvdXRfc3RhdGljJyxcclxuICAgICAgJ2xheW91dF9vZmZjYW52YXMnLFxyXG4gICAgICAnbGF5b3V0X2ZpeGVkJyxcclxuICAgICAgJ2xheW91dF9maXhlZF9vZmZjYW52YXMnLFxyXG4gICAgICAnbGF5b3V0X2ZsaXBwZWRfbGFiZWwnLFxyXG4gICAgICAnbGF5b3V0X2RkX29wZW5fbGFiZWwnLFxyXG4gICAgICAnbGF5b3V0X25hdmJhcl9sYWJlbCcsXHJcbiAgICAgICdsYXlvdXRfZm9vdGVyX2xhYmVsJyxcclxuICAgICAgJ21pc2NfaGVhZGVyJyxcclxuICAgICAgJ3RoZW1lX2xhYmVsJyxcclxuICAgICAgJ3J0bF9sYWJlbCdcclxuICAgIF0uZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICBjb25zdCBlbCA9IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoYC50ZW1wbGF0ZS1jdXN0b21pemVyLXQtJHtrZXl9YClcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC1leHByZXNzaW9uc1xyXG4gICAgICBlbCAmJiAoZWwudGV4dENvbnRlbnQgPSB0W2tleV0pXHJcbiAgICB9KVxyXG5cclxuICAgIGNvbnN0IHR0ID0gdC50aGVtZXMgfHwge31cclxuICAgIGNvbnN0IHRoZW1lcyA9IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy50ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lLWl0ZW0nKSB8fCBbXVxyXG5cclxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gdGhlbWVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICBjb25zdCB0aGVtZU5hbWUgPSB0aGVtZXNbaV0ucXVlcnlTZWxlY3RvcignaW5wdXRbdHlwZT1cInJhZGlvXCJdJykudmFsdWVcclxuICAgICAgdGhlbWVzW2ldLnF1ZXJ5U2VsZWN0b3IoJy50ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lLW5hbWUnKS50ZXh0Q29udGVudCA9XHJcbiAgICAgICAgdHRbdGhlbWVOYW1lXSB8fCB0aGlzLl9nZXRUaGVtZUJ5TmFtZSh0aGVtZU5hbWUpLnRpdGxlXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXR0aW5ncy5sYW5nID0gbGFuZ1xyXG4gIH1cclxuXHJcbiAgLy8gVXBkYXRlIHRoZW1lIHNldHRpbmdzIGNvbnRyb2xcclxuICB1cGRhdGUoKSB7XHJcbiAgICBpZiAodGhpcy5fc3NyKSByZXR1cm5cclxuXHJcbiAgICBjb25zdCBoYXNOYXZiYXIgPSAhIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5sYXlvdXQtbmF2YmFyJylcclxuICAgIGNvbnN0IGhhc01lbnUgPSAhIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5sYXlvdXQtbWVudScpXHJcbiAgICBjb25zdCBoYXNIb3Jpem9udGFsTWVudSA9ICEhZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmxheW91dC1tZW51LWhvcml6b250YWwubWVudSwgLmxheW91dC1tZW51LWhvcml6b250YWwgLm1lbnUnKVxyXG4gICAgY29uc3QgaXNMYXlvdXQxID0gISFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubGF5b3V0LXdyYXBwZXIubGF5b3V0LW5hdmJhci1mdWxsJylcclxuICAgIGNvbnN0IGhhc0Zvb3RlciA9ICEhZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRlbnQtZm9vdGVyJylcclxuXHJcbiAgICBpZiAodGhpcy5fY29udHJvbHMubGF5b3V0TWVudUZsaXBwZWQpIHtcclxuICAgICAgaWYgKCFoYXNNZW51KSB7XHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0TWVudUZsaXBwZWQuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpXHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0TWVudUZsaXBwZWQuY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dE1lbnVGbGlwcGVkLnJlbW92ZUF0dHJpYnV0ZSgnZGlzYWJsZWQnKVxyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dE1lbnVGbGlwcGVkLmNsYXNzTGlzdC5yZW1vdmUoJ2Rpc2FibGVkJylcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9jb250cm9scy5zaG93RHJvcGRvd25PbkhvdmVyKSB7XHJcbiAgICAgIGlmIChoYXNNZW51KSB7XHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMuc2hvd0Ryb3Bkb3duT25Ib3Zlci5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJylcclxuICAgICAgICB0aGlzLl9jb250cm9scy5zaG93RHJvcGRvd25PbkhvdmVyLmNsYXNzTGlzdC5hZGQoJ2Rpc2FibGVkJylcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9jb250cm9scy5zaG93RHJvcGRvd25PbkhvdmVyLnJlbW92ZUF0dHJpYnV0ZSgnZGlzYWJsZWQnKVxyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLnNob3dEcm9wZG93bk9uSG92ZXIuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2NvbnRyb2xzLmxheW91dE5hdmJhckZpeGVkKSB7XHJcbiAgICAgIGlmICghaGFzTmF2YmFyKSB7XHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0TmF2YmFyRml4ZWQuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpXHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0TmF2YmFyRml4ZWRXLmNsYXNzTGlzdC5hZGQoJ2Rpc2FibGVkJylcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9jb250cm9scy5sYXlvdXROYXZiYXJGaXhlZC5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJylcclxuICAgICAgICB0aGlzLl9jb250cm9scy5sYXlvdXROYXZiYXJGaXhlZFcuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyAgSG9yaXpvbnRhbCBtZW51IGZpeGVkIGxheW91dCAtIGRpc2FibGVkIGZpeGVkIG5hdmJhciBzd2l0Y2hcclxuICAgICAgaWYgKGhhc0hvcml6b250YWxNZW51ICYmIGhhc05hdmJhciAmJiB0aGlzLnNldHRpbmdzLmxheW91dFR5cGUgPT0gJ2ZpeGVkJykge1xyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dE5hdmJhckZpeGVkLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKVxyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dE5hdmJhckZpeGVkVy5jbGFzc0xpc3QuYWRkKCdkaXNhYmxlZCcpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5fY29udHJvbHMubGF5b3V0Rm9vdGVyRml4ZWQpIHtcclxuICAgICAgaWYgKCFoYXNGb290ZXIpIHtcclxuICAgICAgICB0aGlzLl9jb250cm9scy5sYXlvdXRGb290ZXJGaXhlZC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJylcclxuICAgICAgICB0aGlzLl9jb250cm9scy5sYXlvdXRGb290ZXJGaXhlZFcuY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dEZvb3RlckZpeGVkLnJlbW92ZUF0dHJpYnV0ZSgnZGlzYWJsZWQnKVxyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dEZvb3RlckZpeGVkVy5jbGFzc0xpc3QucmVtb3ZlKCdkaXNhYmxlZCcpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAgSG9yaXpvbnRhbCBtZW51IGZpeGVkIGxheW91dCAtIGRpc2FibGVkIGZpeGVkIG5hdmJhciBzd2l0Y2hcclxuICAgIGlmICghaGFzTWVudSAmJiB0aGlzLnNldHRpbmdzLmxheW91dFR5cGUgPT0gJ2ZpeGVkJyAmJiB0aGlzLl9oYXNDb250cm9scygnbGF5b3V0TmF2YmFyRml4ZWQnKSkge1xyXG4gICAgICB0aGlzLl9jb250cm9scy5sYXlvdXROYXZiYXJGaXhlZC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJylcclxuICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0TmF2YmFyRml4ZWRXLmNsYXNzTGlzdC5hZGQoJ2Rpc2FibGVkJylcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5fY29udHJvbHMubGF5b3V0VHlwZSkge1xyXG4gICAgICAvLyA/IFVuY29tbWVudCBJZiB1c2luZyBvZmZjYW52YXMgbGF5b3V0XHJcbiAgICAgIC8qXHJcbiAgICAgIGlmICghaGFzTWVudSkge1xyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dFR5cGUucXVlcnlTZWxlY3RvcignW3ZhbHVlPVwic3RhdGljLW9mZmNhbnZhc1wiXScpLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKVxyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dFR5cGUucXVlcnlTZWxlY3RvcignW3ZhbHVlPVwiZml4ZWQtb2ZmY2FudmFzXCJdJykuc2V0QXR0cmlidXRlKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0VHlwZS5xdWVyeVNlbGVjdG9yKCdbdmFsdWU9XCJzdGF0aWMtb2ZmY2FudmFzXCJdJykucmVtb3ZlQXR0cmlidXRlKCdkaXNhYmxlZCcpXHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0VHlwZS5xdWVyeVNlbGVjdG9yKCdbdmFsdWU9XCJmaXhlZC1vZmZjYW52YXNcIl0nKS5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJylcclxuICAgICAgfVxyXG4gICAgICAqL1xyXG5cclxuICAgICAgLy8gRGlzYWJsZSBtZW51IGxheW91dHMgb3B0aW9ucyBpZiBtZW51ICh2ZXJ0aWNhbCBvciBob3Jpem9udGFsKSBpcyBub3QgdGhlcmVcclxuICAgICAgLy8gaWYgKCghaGFzTmF2YmFyICYmICFoYXNNZW51KSB8fCAoIWhhc01lbnUgJiYgIWlzTGF5b3V0MSkpIHtcclxuICAgICAgaWYgKGhhc01lbnUgfHwgaGFzSG9yaXpvbnRhbE1lbnUpIHtcclxuICAgICAgICAvLyAoVXBkYXRlZCBjb25kaXRpb24pXHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0VHlwZS5yZW1vdmVBdHRyaWJ1dGUoJ2Rpc2FibGVkJylcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9jb250cm9scy5sYXlvdXRUeXBlLnNldEF0dHJpYnV0ZSgnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDbGVhciBsb2NhbCBzdG9yYWdlXHJcbiAgY2xlYXJMb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5fc3NyKSByZXR1cm5cclxuXHJcbiAgICB0aGlzLl9zZXRTZXR0aW5nKCdUaGVtZScsICcnKVxyXG4gICAgdGhpcy5fc2V0U2V0dGluZygnUnRsJywgJycpXHJcbiAgICB0aGlzLl9zZXRTZXR0aW5nKCdTdHlsZScsICcnKVxyXG4gICAgdGhpcy5fc2V0U2V0dGluZygnTWVudUZsaXBwZWQnLCAnJylcclxuICAgIHRoaXMuX3NldFNldHRpbmcoJ0ZpeGVkTmF2YmFyJywgJycpXHJcbiAgICB0aGlzLl9zZXRTZXR0aW5nKCdGaXhlZEZvb3RlcicsICcnKVxyXG4gICAgdGhpcy5fc2V0U2V0dGluZygnTGF5b3V0VHlwZScsICcnKVxyXG4gIH1cclxuXHJcbiAgLy8gQ2xlYXIgbG9jYWwgc3RvcmFnZVxyXG4gIGRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5fc3NyKSByZXR1cm5cclxuXHJcbiAgICB0aGlzLl9jbGVhbnVwKClcclxuXHJcbiAgICB0aGlzLnNldHRpbmdzID0gbnVsbFxyXG4gICAgdGhpcy5jb250YWluZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lcilcclxuICAgIHRoaXMuY29udGFpbmVyID0gbnVsbFxyXG4gIH1cclxuXHJcbiAgX2xvYWRTZXR0aW5ncygpIHtcclxuICAgIC8vIEdldCBzZXR0aW5nc1xyXG5cclxuICAgIC8vIGNvbnN0IGNsID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtcclxuICAgIGNvbnN0IHJ0bCA9IHRoaXMuX2dldFNldHRpbmcoJ1J0bCcpXHJcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuX2dldFNldHRpbmcoJ1N0eWxlJylcclxuICAgIGNvbnN0IGNvbGxhcHNlZE1lbnUgPSB0aGlzLl9nZXRTZXR0aW5nKCdMYXlvdXRDb2xsYXBzZWQnKSAvLyBWYWx1ZSB3aWxsIGJlIHNldCBmcm9tIG1haW4uanNcclxuICAgIGNvbnN0IGZsaXBwZWRNZW51ID0gdGhpcy5fZ2V0U2V0dGluZygnTGF5b3V0TWVudUZsaXBwZWQnKVxyXG4gICAgY29uc3QgZHJvcGRvd25PbkhvdmVyID0gdGhpcy5fZ2V0U2V0dGluZygnU2hvd0Ryb3Bkb3duT25Ib3ZlcicpIC8vIFZhbHVlIHdpbGwgYmUgc2V0IGZyb20gbWFpbi5qc1xyXG4gICAgY29uc3QgZml4ZWROYXZiYXIgPSB0aGlzLl9nZXRTZXR0aW5nKCdGaXhlZE5hdmJhcicpXHJcbiAgICBjb25zdCBmaXhlZEZvb3RlciA9IHRoaXMuX2dldFNldHRpbmcoJ0ZpeGVkRm9vdGVyJylcclxuICAgIGNvbnN0IGxUeXBlID0gdGhpcy5fZ2V0U2V0dGluZygnTGF5b3V0VHlwZScpXHJcbiAgICBsZXQgdHlwZVxyXG5cclxuICAgIGlmIChsVHlwZSAhPT0gJycgJiYgWydzdGF0aWMnLCAnc3RhdGljLW9mZmNhbnZhcycsICdmaXhlZCcsICdmaXhlZC1vZmZjYW52YXMnXS5pbmRleE9mKGxUeXBlKSAhPT0gLTEpIHtcclxuICAgICAgdHlwZSA9IGxUeXBlXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0eXBlID0gdGhpcy5zZXR0aW5ncy5kZWZhdWx0TGF5b3V0VHlwZVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXR0aW5ncy5sYXlvdXRUeXBlID0gdHlwZVxyXG5cclxuICAgIC8vICEgU2V0IHNldHRpbmdzIGJ5IGZvbGxvd2luZyBwcmlvcml0eTogTG9jYWwgU3RvcmFnZSwgVGhlbWUgQ29uZmlnLCBIVE1MIENsYXNzZXNcclxuICAgIHRoaXMuc2V0dGluZ3MucnRsID0gcnRsICE9PSAnJyA/IHJ0bCA9PT0gJ3RydWUnIDogdGhpcy5zZXR0aW5ncy5kZWZhdWx0VGV4dERpclxyXG5cclxuICAgIHRoaXMuc2V0dGluZ3Muc3R5bGUgPSB0aGlzLnNldHRpbmdzLnN0eWxlcy5pbmRleE9mKHN0eWxlKSAhPT0gLTEgPyBzdHlsZSA6IHRoaXMuc2V0dGluZ3MuZGVmYXVsdFN0eWxlXHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5zdHlsZXMuaW5kZXhPZih0aGlzLnNldHRpbmdzLnN0eWxlKSA9PT0gLTEpIHtcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1kZXN0cnVjdHVyaW5nXHJcbiAgICAgIHRoaXMuc2V0dGluZ3Muc3R5bGUgPSB0aGlzLnNldHRpbmdzLnN0eWxlc1swXVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0dGluZ3MubGF5b3V0TWVudSA9IGNvbGxhcHNlZE1lbnUgIT09ICcnID8gY29sbGFwc2VkTWVudSA9PT0gJ3RydWUnIDogdGhpcy5zZXR0aW5ncy5kZWZhdWx0TWVudUNvbGxhcHNlZFxyXG4gICAgdGhpcy5zZXR0aW5ncy5sYXlvdXRNZW51RmxpcHBlZCA9IGZsaXBwZWRNZW51ICE9PSAnJyA/IGZsaXBwZWRNZW51ID09PSAndHJ1ZScgOiB0aGlzLnNldHRpbmdzLmRlZmF1bHRNZW51RmxpcHBlZFxyXG4gICAgdGhpcy5zZXR0aW5ncy5zaG93RHJvcGRvd25PbkhvdmVyID1cclxuICAgICAgZHJvcGRvd25PbkhvdmVyICE9PSAnJyA/IGRyb3Bkb3duT25Ib3ZlciA9PT0gJ3RydWUnIDogdGhpcy5zZXR0aW5ncy5kZWZhdWx0U2hvd0Ryb3Bkb3duT25Ib3ZlclxyXG4gICAgdGhpcy5zZXR0aW5ncy5sYXlvdXROYXZiYXJGaXhlZCA9IGZpeGVkTmF2YmFyICE9PSAnJyA/IGZpeGVkTmF2YmFyID09PSAndHJ1ZScgOiB0aGlzLnNldHRpbmdzLmRlZmF1bHROYXZiYXJGaXhlZFxyXG4gICAgdGhpcy5zZXR0aW5ncy5sYXlvdXRGb290ZXJGaXhlZCA9IGZpeGVkRm9vdGVyICE9PSAnJyA/IGZpeGVkRm9vdGVyID09PSAndHJ1ZScgOiB0aGlzLnNldHRpbmdzLmRlZmF1bHRGb290ZXJGaXhlZFxyXG5cclxuICAgIHRoaXMuc2V0dGluZ3MudGhlbWUgPSB0aGlzLl9nZXRUaGVtZUJ5TmFtZSh0aGlzLl9nZXRTZXR0aW5nKCdUaGVtZScpLCB0cnVlKVxyXG5cclxuICAgIC8vIEZpbHRlciBvcHRpb25zIGRlcGVuZGluZyBvbiBhdmFpbGFibGUgY29udHJvbHNcclxuICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ3J0bCcpKSB0aGlzLnNldHRpbmdzLnJ0bCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RpcicpID09PSAncnRsJ1xyXG4gICAgaWYgKCF0aGlzLl9oYXNDb250cm9scygnc3R5bGUnKSkgdGhpcy5zZXR0aW5ncy5zdHlsZSA9IGNsLmNvbnRhaW5zKCdkYXJrLXN0eWxlJykgPyAnZGFyaycgOiAnbGlnaHQnXHJcbiAgICBpZiAoIXRoaXMuX2hhc0NvbnRyb2xzKCdsYXlvdXRUeXBlJykpIHRoaXMuc2V0dGluZ3MubGF5b3V0VHlwZSA9IG51bGxcclxuICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ2xheW91dE1lbnVGbGlwcGVkJykpIHRoaXMuc2V0dGluZ3MubGF5b3V0TWVudUZsaXBwZWQgPSBudWxsXHJcbiAgICBpZiAoIXRoaXMuX2hhc0NvbnRyb2xzKCdzaG93RHJvcGRvd25PbkhvdmVyJykpIHRoaXMuc2V0dGluZ3Muc2hvd0Ryb3Bkb3duT25Ib3ZlciA9IG51bGxcclxuICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ2xheW91dE5hdmJhckZpeGVkJykpIHRoaXMuc2V0dGluZ3MubGF5b3V0TmF2YmFyRml4ZWQgPSBudWxsXHJcbiAgICBpZiAoIXRoaXMuX2hhc0NvbnRyb2xzKCdsYXlvdXRGb290ZXJGaXhlZCcpKSB0aGlzLnNldHRpbmdzLmxheW91dEZvb3RlckZpeGVkID0gbnVsbFxyXG4gICAgaWYgKCF0aGlzLl9oYXNDb250cm9scygndGhlbWVzJykpIHRoaXMuc2V0dGluZ3MudGhlbWUgPSBudWxsXHJcbiAgfVxyXG5cclxuICAvLyBTZXR1cCB0aGVtZSBzZXR0aW5ncyBjb250cm9scyBhbmQgZXZlbnRzXHJcbiAgX3NldHVwKF9jb250YWluZXIgPSBkb2N1bWVudCkge1xyXG4gICAgdGhpcy5fY2xlYW51cCgpXHJcbiAgICB0aGlzLmNvbnRhaW5lciA9IHRoaXMuX2dldEVsZW1lbnRGcm9tU3RyaW5nKGN1c3RvbWl6ZXJNYXJrdXApXHJcblxyXG4gICAgLy8gQ3VzdG9taXplciB2aXNpYmlsaXR5IGNvbmRpdGlvblxyXG4gICAgLy9cclxuICAgIGNvbnN0IGN1c3RvbWl6ZXJXID0gdGhpcy5jb250YWluZXJcclxuICAgIGlmICh0aGlzLnNldHRpbmdzLmRpc3BsYXlDdXN0b21pemVyKSBjdXN0b21pemVyVy5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ3Zpc2liaWxpdHk6IHZpc2libGUnKVxyXG4gICAgZWxzZSBjdXN0b21pemVyVy5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ3Zpc2liaWxpdHk6IGhpZGRlbicpXHJcblxyXG4gICAgLy8gT3BlbiBidG5cclxuICAgIC8vXHJcbiAgICBjb25zdCBvcGVuQnRuID0gdGhpcy5jb250YWluZXIucXVlcnlTZWxlY3RvcignLnRlbXBsYXRlLWN1c3RvbWl6ZXItb3Blbi1idG4nKVxyXG4gICAgY29uc3Qgb3BlbkJ0bkNiID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCd0ZW1wbGF0ZS1jdXN0b21pemVyLW9wZW4nKVxyXG4gICAgICB0aGlzLnVwZGF0ZSgpXHJcblxyXG4gICAgICBpZiAodGhpcy5fdXBkYXRlSW50ZXJ2YWwpIGNsZWFySW50ZXJ2YWwodGhpcy5fdXBkYXRlSW50ZXJ2YWwpXHJcbiAgICAgIHRoaXMuX3VwZGF0ZUludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlKClcclxuICAgICAgfSwgNTAwKVxyXG4gICAgfVxyXG4gICAgb3BlbkJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIG9wZW5CdG5DYilcclxuICAgIHRoaXMuX2xpc3RlbmVycy5wdXNoKFtvcGVuQnRuLCAnY2xpY2snLCBvcGVuQnRuQ2JdKVxyXG5cclxuICAgIC8vIENsb3NlIGJ0blxyXG4gICAgLy9cclxuXHJcbiAgICBjb25zdCBjbG9zZUJ0biA9IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy50ZW1wbGF0ZS1jdXN0b21pemVyLWNsb3NlLWJ0bicpXHJcbiAgICBjb25zdCBjbG9zZUJ0bkNiID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKCd0ZW1wbGF0ZS1jdXN0b21pemVyLW9wZW4nKVxyXG5cclxuICAgICAgaWYgKHRoaXMuX3VwZGF0ZUludGVydmFsKSB7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl91cGRhdGVJbnRlcnZhbClcclxuICAgICAgICB0aGlzLl91cGRhdGVJbnRlcnZhbCA9IG51bGxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY2xvc2VCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbG9zZUJ0bkNiKVxyXG4gICAgdGhpcy5fbGlzdGVuZXJzLnB1c2goW2Nsb3NlQnRuLCAnY2xpY2snLCBjbG9zZUJ0bkNiXSlcclxuXHJcbiAgICAvLyBSVExcclxuICAgIC8vXHJcblxyXG4gICAgY29uc3QgcnRsVyA9IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy50ZW1wbGF0ZS1jdXN0b21pemVyLW1pc2MnKVxyXG4gICAgLy8gPyBIaWRlIFJUTCBjb250cm9sIGluIGZvbGxvd2luZyAyIGNhc2VcclxuICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ3J0bCcpIHx8ICFydGxTdXBwb3J0KSB7XHJcbiAgICAgIHJ0bFcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChydGxXKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcnRsID0gcnRsVy5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpXHJcblxyXG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5ydGwpIHJ0bC5zZXRBdHRyaWJ1dGUoJ2NoZWNrZWQnLCAnY2hlY2tlZCcpXHJcblxyXG4gICAgICBjb25zdCBydGxDYiA9IGUgPT4ge1xyXG4gICAgICAgIHRoaXMuX2xvYWRpbmdTdGF0ZSh0cnVlKVxyXG4gICAgICAgIHRoaXMuc2V0UnRsKGUudGFyZ2V0LmNoZWNrZWQpXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJ0bC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBydGxDYilcclxuICAgICAgdGhpcy5fbGlzdGVuZXJzLnB1c2goW3J0bCwgJ2NoYW5nZScsIHJ0bENiXSlcclxuICAgIH1cclxuXHJcbiAgICAvLyBTdHlsZVxyXG5cclxuICAgIC8vXHJcblxyXG4gICAgY29uc3Qgc3R5bGVXID0gdGhpcy5jb250YWluZXIucXVlcnlTZWxlY3RvcignLnRlbXBsYXRlLWN1c3RvbWl6ZXItc3R5bGUnKVxyXG5cclxuICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ3N0eWxlJykpIHtcclxuICAgICAgc3R5bGVXLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVXKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3Qgc3R5bGUgPSBzdHlsZVcucXVlcnlTZWxlY3RvcignaW5wdXQnKVxyXG5cclxuICAgICAgaWYgKHRoaXMuc2V0dGluZ3Muc3R5bGUgPT09ICdkYXJrJykgc3R5bGUuc2V0QXR0cmlidXRlKCdjaGVja2VkJywgJ2NoZWNrZWQnKVxyXG5cclxuICAgICAgY29uc3Qgc3R5bGVDYiA9IGUgPT4ge1xyXG4gICAgICAgIHRoaXMuX2xvYWRpbmdTdGF0ZSh0cnVlKVxyXG4gICAgICAgIGlmIChlLnRhcmdldC5jaGVja2VkKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0eWxlKCdkYXJrJylcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdHlsZSgnbGlnaHQnKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgc3R5bGUuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgc3R5bGVDYilcclxuICAgICAgdGhpcy5fbGlzdGVuZXJzLnB1c2goW3N0eWxlLCAnY2hhbmdlJywgc3R5bGVDYl0pXHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhlbWVcclxuXHJcbiAgICBjb25zdCB0aGVtZXNXID0gdGhpcy5jb250YWluZXIucXVlcnlTZWxlY3RvcignLnRlbXBsYXRlLWN1c3RvbWl6ZXItdGhlbWVzJylcclxuXHJcbiAgICBpZiAoIXRoaXMuX2hhc0NvbnRyb2xzKCd0aGVtZXMnKSkge1xyXG4gICAgICB0aGVtZXNXLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhlbWVzVylcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHRoZW1lc1dJbm5lciA9IHRoZW1lc1cucXVlcnlTZWxlY3RvcignLnRlbXBsYXRlLWN1c3RvbWl6ZXItdGhlbWVzLW9wdGlvbnMnKVxyXG4gICAgICB0aGlzLnNldHRpbmdzLmF2YWlsYWJsZVRoZW1lcy5mb3JFYWNoKHRoZW1lID0+IHtcclxuICAgICAgICBjb25zdCB0aGVtZUVsID0gdGhpcy5fZ2V0RWxlbWVudEZyb21TdHJpbmcoXHJcbiAgICAgICAgICBgPGRpdiBjbGFzcz1cImNvbC0xMlwiPjxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCI+PGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJ0aGVtZVJhZGlvc1wiIGlkPVwidGhlbWVSYWRpb3Mke3RoZW1lLm5hbWV9XCIgdmFsdWU9XCIke3RoZW1lLm5hbWV9XCI+PGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cInRoZW1lUmFkaW9zJHt0aGVtZS5uYW1lfVwiPiR7dGhlbWUudGl0bGV9PC9sYWJlbD48L2Rpdj48L2Rpdj5gXHJcbiAgICAgICAgKVxyXG4gICAgICAgIHRoZW1lc1dJbm5lci5hcHBlbmRDaGlsZCh0aGVtZUVsKVxyXG4gICAgICB9KVxyXG5cclxuICAgICAgdGhlbWVzV0lubmVyLnF1ZXJ5U2VsZWN0b3IoYGlucHV0W3ZhbHVlPVwiJHt0aGlzLnNldHRpbmdzLnRoZW1lLm5hbWV9XCJdYCkuc2V0QXR0cmlidXRlKCdjaGVja2VkJywgJ2NoZWNrZWQnKVxyXG5cclxuICAgICAgY29uc3QgdGhlbWVDYiA9IGUgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9sb2FkaW5nKSByZXR1cm5cclxuXHJcbiAgICAgICAgdGhpcy5fbG9hZGluZyA9IHRydWVcclxuICAgICAgICB0aGlzLl9sb2FkaW5nU3RhdGUodHJ1ZSwgdHJ1ZSlcclxuXHJcbiAgICAgICAgdGhpcy5zZXRUaGVtZShlLnRhcmdldC52YWx1ZSwgdHJ1ZSwgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fbG9hZGluZyA9IGZhbHNlXHJcbiAgICAgICAgICB0aGlzLl9sb2FkaW5nU3RhdGUoZmFsc2UsIHRydWUpXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhlbWVzV0lubmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoZW1lQ2IpXHJcbiAgICAgIHRoaXMuX2xpc3RlbmVycy5wdXNoKFt0aGVtZXNXSW5uZXIsICdjaGFuZ2UnLCB0aGVtZUNiXSlcclxuICAgIH1cclxuICAgIGNvbnN0IHRoZW1pbmdXID0gdGhpcy5jb250YWluZXIucXVlcnlTZWxlY3RvcignLnRlbXBsYXRlLWN1c3RvbWl6ZXItdGhlbWluZycpXHJcblxyXG4gICAgaWYgKCF0aGlzLl9oYXNDb250cm9scygnc3R5bGUnKSAmJiAhdGhpcy5faGFzQ29udHJvbHMoJ3RoZW1lcycpKSB7XHJcbiAgICAgIHRoZW1pbmdXLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhlbWluZ1cpXHJcbiAgICB9XHJcblxyXG4gICAgLy8gTGF5b3V0IHdyYXBwZXJcclxuICAgIC8vXHJcblxyXG4gICAgY29uc3QgbGF5b3V0VyA9IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy50ZW1wbGF0ZS1jdXN0b21pemVyLWxheW91dCcpXHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhdGhpcy5faGFzQ29udHJvbHMoJ2xheW91dFR5cGUgbGF5b3V0TmF2YmFyRml4ZWQgbGF5b3V0Rm9vdGVyRml4ZWQgbGF5b3V0TWVudUZsaXBwZWQgc2hvd0Ryb3Bkb3duT25Ib3ZlcicsIHRydWUpXHJcbiAgICApIHtcclxuICAgICAgbGF5b3V0Vy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGxheW91dFcpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBQb3NpdGlvblxyXG4gICAgICAvL1xyXG5cclxuICAgICAgY29uc3QgbGF5b3V0VHlwZVcgPSB0aGlzLmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcudGVtcGxhdGUtY3VzdG9taXplci1sYXlvdXRUeXBlJylcclxuXHJcbiAgICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ2xheW91dFR5cGUnKSkge1xyXG4gICAgICAgIGxheW91dFR5cGVXLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobGF5b3V0VHlwZVcpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0VHlwZSA9IGxheW91dFR5cGVXLnF1ZXJ5U2VsZWN0b3IoJy50ZW1wbGF0ZS1jdXN0b21pemVyLWxheW91dHMtb3B0aW9ucycpXHJcblxyXG4gICAgICAgIC8vIHRoaXMuX2NvbnRyb2xzLmxheW91dFR5cGUudmFsdWUgPSB0aGlzLnNldHRpbmdzLmxheW91dFR5cGVcclxuICAgICAgICB0aGlzLl9jb250cm9scy5sYXlvdXRUeXBlXHJcbiAgICAgICAgICAucXVlcnlTZWxlY3RvcihgaW5wdXRbdmFsdWU9XCIke3RoaXMuc2V0dGluZ3MubGF5b3V0VHlwZX1cIl1gKVxyXG4gICAgICAgICAgLnNldEF0dHJpYnV0ZSgnY2hlY2tlZCcsICdjaGVja2VkJylcclxuXHJcbiAgICAgICAgY29uc3QgbGF5b3V0VHlwZUNiID0gZSA9PiB0aGlzLnNldExheW91dFR5cGUoZS50YXJnZXQudmFsdWUpXHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0VHlwZS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBsYXlvdXRUeXBlQ2IpXHJcbiAgICAgICAgdGhpcy5fbGlzdGVuZXJzLnB1c2goW3RoaXMuX2NvbnRyb2xzLmxheW91dFR5cGUsICdjaGFuZ2UnLCBsYXlvdXRUeXBlQ2JdKVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBNZW51IGZsaXBwZWRcclxuICAgICAgLy8gPyBVbmNvbW1lbnQgSWYgbmVlZGVkXHJcblxyXG4gICAgICAvKiB0aGlzLl9jb250cm9scy5sYXlvdXRNZW51RmxpcHBlZCA9IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy50ZW1wbGF0ZS1jdXN0b21pemVyLWxheW91dE1lbnVGbGlwcGVkJylcclxuXHJcbiAgICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ2xheW91dE1lbnVGbGlwcGVkJykpIHtcclxuICAgICAgICB0aGlzLl9jb250cm9scy5sYXlvdXRNZW51RmxpcHBlZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX2NvbnRyb2xzLmxheW91dE1lbnVGbGlwcGVkKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dE1lbnVGbGlwcGVkID0gdGhpcy5fY29udHJvbHMubGF5b3V0TWVudUZsaXBwZWQucXVlcnlTZWxlY3RvcignaW5wdXQnKVxyXG5cclxuICAgICAgICBpZiAodGhpcy5zZXR0aW5ncy5sYXlvdXRNZW51RmxpcHBlZCkgdGhpcy5fY29udHJvbHMubGF5b3V0TWVudUZsaXBwZWQuc2V0QXR0cmlidXRlKCdjaGVja2VkJywgJ2NoZWNrZWQnKVxyXG5cclxuICAgICAgICBjb25zdCBsYXlvdXRNZW51RmxpcHBlZCA9IGUgPT4gdGhpcy5zZXRMYXlvdXRNZW51RmxpcHBlZChlLnRhcmdldC5jaGVja2VkKVxyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dE1lbnVGbGlwcGVkLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGxheW91dE1lbnVGbGlwcGVkKVxyXG4gICAgICAgIHRoaXMuX2xpc3RlbmVycy5wdXNoKFt0aGlzLl9jb250cm9scy5sYXlvdXRNZW51RmxpcHBlZCwgJ2NoYW5nZScsIGxheW91dE1lbnVGbGlwcGVkXSlcclxuICAgICAgfSAqL1xyXG5cclxuICAgICAgLy8gTWVudSBvcGVuXHJcbiAgICAgIC8vXHJcblxyXG4gICAgICB0aGlzLl9jb250cm9scy5zaG93RHJvcGRvd25PbkhvdmVyID0gdGhpcy5jb250YWluZXIucXVlcnlTZWxlY3RvcignLnRlbXBsYXRlLWN1c3RvbWl6ZXItc2hvd0Ryb3Bkb3duT25Ib3ZlcicpXHJcblxyXG4gICAgICBpZiAoIXRoaXMuX2hhc0NvbnRyb2xzKCdzaG93RHJvcGRvd25PbkhvdmVyJykpIHtcclxuICAgICAgICB0aGlzLl9jb250cm9scy5zaG93RHJvcGRvd25PbkhvdmVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fY29udHJvbHMuc2hvd0Ryb3Bkb3duT25Ib3ZlcilcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9jb250cm9scy5zaG93RHJvcGRvd25PbkhvdmVyID0gdGhpcy5fY29udHJvbHMuc2hvd0Ryb3Bkb3duT25Ib3Zlci5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpXHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzLnNob3dEcm9wZG93bk9uSG92ZXIpIHRoaXMuX2NvbnRyb2xzLnNob3dEcm9wZG93bk9uSG92ZXIuc2V0QXR0cmlidXRlKCdjaGVja2VkJywgJ2NoZWNrZWQnKVxyXG5cclxuICAgICAgICBjb25zdCBzaG93RHJvcGRvd25PbkhvdmVyID0gZSA9PiB0aGlzLnNldERyb3Bkb3duT25Ib3ZlcihlLnRhcmdldC5jaGVja2VkKVxyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLnNob3dEcm9wZG93bk9uSG92ZXIuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgc2hvd0Ryb3Bkb3duT25Ib3ZlcilcclxuICAgICAgICB0aGlzLl9saXN0ZW5lcnMucHVzaChbdGhpcy5fY29udHJvbHMuc2hvd0Ryb3Bkb3duT25Ib3ZlciwgJ2NoYW5nZScsIHNob3dEcm9wZG93bk9uSG92ZXJdKVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBOYXZiYXJcclxuICAgICAgLy9cclxuXHJcbiAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dE5hdmJhckZpeGVkVyA9IHRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy50ZW1wbGF0ZS1jdXN0b21pemVyLWxheW91dE5hdmJhckZpeGVkJylcclxuXHJcbiAgICAgIGlmICghdGhpcy5faGFzQ29udHJvbHMoJ2xheW91dE5hdmJhckZpeGVkJykpIHtcclxuICAgICAgICB0aGlzLl9jb250cm9scy5sYXlvdXROYXZiYXJGaXhlZFcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLl9jb250cm9scy5sYXlvdXROYXZiYXJGaXhlZFcpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0TmF2YmFyRml4ZWQgPSB0aGlzLl9jb250cm9scy5sYXlvdXROYXZiYXJGaXhlZFcucXVlcnlTZWxlY3RvcignaW5wdXQnKVxyXG5cclxuICAgICAgICBpZiAodGhpcy5zZXR0aW5ncy5sYXlvdXROYXZiYXJGaXhlZCkgdGhpcy5fY29udHJvbHMubGF5b3V0TmF2YmFyRml4ZWQuc2V0QXR0cmlidXRlKCdjaGVja2VkJywgJ2NoZWNrZWQnKVxyXG5cclxuICAgICAgICBjb25zdCBsYXlvdXROYXZiYXJGaXhlZENiID0gZSA9PiB0aGlzLnNldExheW91dE5hdmJhckZpeGVkKGUudGFyZ2V0LmNoZWNrZWQpXHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0TmF2YmFyRml4ZWQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgbGF5b3V0TmF2YmFyRml4ZWRDYilcclxuICAgICAgICB0aGlzLl9saXN0ZW5lcnMucHVzaChbdGhpcy5fY29udHJvbHMubGF5b3V0TmF2YmFyRml4ZWQsICdjaGFuZ2UnLCBsYXlvdXROYXZiYXJGaXhlZENiXSlcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gRm9vdGVyXHJcbiAgICAgIC8vXHJcblxyXG4gICAgICB0aGlzLl9jb250cm9scy5sYXlvdXRGb290ZXJGaXhlZFcgPSB0aGlzLmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcudGVtcGxhdGUtY3VzdG9taXplci1sYXlvdXRGb290ZXJGaXhlZCcpXHJcblxyXG4gICAgICBpZiAoIXRoaXMuX2hhc0NvbnRyb2xzKCdsYXlvdXRGb290ZXJGaXhlZCcpKSB7XHJcbiAgICAgICAgdGhpcy5fY29udHJvbHMubGF5b3V0Rm9vdGVyRml4ZWRXLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fY29udHJvbHMubGF5b3V0Rm9vdGVyRml4ZWRXKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dEZvb3RlckZpeGVkID0gdGhpcy5fY29udHJvbHMubGF5b3V0Rm9vdGVyRml4ZWRXLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JylcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3MubGF5b3V0Rm9vdGVyRml4ZWQpIHRoaXMuX2NvbnRyb2xzLmxheW91dEZvb3RlckZpeGVkLnNldEF0dHJpYnV0ZSgnY2hlY2tlZCcsICdjaGVja2VkJylcclxuXHJcbiAgICAgICAgY29uc3QgbGF5b3V0Rm9vdGVyRml4ZWRDYiA9IGUgPT4gdGhpcy5zZXRMYXlvdXRGb290ZXJGaXhlZChlLnRhcmdldC5jaGVja2VkKVxyXG4gICAgICAgIHRoaXMuX2NvbnRyb2xzLmxheW91dEZvb3RlckZpeGVkLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGxheW91dEZvb3RlckZpeGVkQ2IpXHJcbiAgICAgICAgdGhpcy5fbGlzdGVuZXJzLnB1c2goW3RoaXMuX2NvbnRyb2xzLmxheW91dEZvb3RlckZpeGVkLCAnY2hhbmdlJywgbGF5b3V0Rm9vdGVyRml4ZWRDYl0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXQgbGFuZ3VhZ2VcclxuICAgIHRoaXMuc2V0TGFuZyh0aGlzLnNldHRpbmdzLmxhbmcsIHRydWUpXHJcblxyXG4gICAgLy8gQXBwZW5kIGNvbnRhaW5lclxyXG4gICAgaWYgKF9jb250YWluZXIgPT09IGRvY3VtZW50KSB7XHJcbiAgICAgIGlmIChfY29udGFpbmVyLmJvZHkpIHtcclxuICAgICAgICBfY29udGFpbmVyLmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXIpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiBfY29udGFpbmVyLmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXIpKVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2luaXREaXJlY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5faGFzQ29udHJvbHMoJ3J0bCcpKSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkaXInLCB0aGlzLnNldHRpbmdzLnJ0bCA/ICdydGwnIDogJ2x0cicpXHJcbiAgfVxyXG5cclxuICAvLyBJbml0IHRlbXBsYXRlIHN0eWxlc1xyXG4gIF9pbml0U3R5bGUoKSB7XHJcbiAgICBpZiAoIXRoaXMuX2hhc0NvbnRyb2xzKCdzdHlsZScpKSByZXR1cm5cclxuXHJcbiAgICBjb25zdCB7IHN0eWxlIH0gPSB0aGlzLnNldHRpbmdzXHJcblxyXG4gICAgdGhpcy5faW5zZXJ0U3R5bGVzaGVldChcclxuICAgICAgJ3RlbXBsYXRlLWN1c3RvbWl6ZXItY29yZS1jc3MnLFxyXG4gICAgICB0aGlzLnBhdGhSZXNvbHZlcihcclxuICAgICAgICB0aGlzLnNldHRpbmdzLmNzc1BhdGggK1xyXG4gICAgICAgICAgdGhpcy5zZXR0aW5ncy5jc3NGaWxlbmFtZVBhdHRlcm4ucmVwbGFjZSgnJW5hbWUlJywgYGNvcmUke3N0eWxlICE9PSAnbGlnaHQnID8gYC0ke3N0eWxlfWAgOiAnJ31gKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgICAvLyA/IFVuY29tbWVudCBpZiBuZWVkZWRcclxuICAgIC8qXHJcbiAgICB0aGlzLl9pbnNlcnRTdHlsZXNoZWV0KFxyXG4gICAgICAndGVtcGxhdGUtY3VzdG9taXplci1ib290c3RyYXAtY3NzJyxcclxuICAgICAgdGhpcy5wYXRoUmVzb2x2ZXIoXHJcbiAgICAgICAgdGhpcy5zZXR0aW5ncy5jc3NQYXRoICtcclxuICAgICAgICAgIHRoaXMuc2V0dGluZ3MuY3NzRmlsZW5hbWVQYXR0ZXJuLnJlcGxhY2UoJyVuYW1lJScsIGBib290c3RyYXAke3N0eWxlICE9PSAnbGlnaHQnID8gYC0ke3N0eWxlfWAgOiAnJ31gKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgICB0aGlzLl9pbnNlcnRTdHlsZXNoZWV0KFxyXG4gICAgICAndGVtcGxhdGUtY3VzdG9taXplci1ic2V4dGVuZGVkLWNzcycsXHJcbiAgICAgIHRoaXMucGF0aFJlc29sdmVyKFxyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MuY3NzUGF0aCArXHJcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLmNzc0ZpbGVuYW1lUGF0dGVybi5yZXBsYWNlKFxyXG4gICAgICAgICAgICAnJW5hbWUlJyxcclxuICAgICAgICAgICAgYGJvb3RzdHJhcC1leHRlbmRlZCR7c3R5bGUgIT09ICdsaWdodCcgPyBgLSR7c3R5bGV9YCA6ICcnfWBcclxuICAgICAgICAgIClcclxuICAgICAgKVxyXG4gICAgKVxyXG4gICAgdGhpcy5faW5zZXJ0U3R5bGVzaGVldChcclxuICAgICAgJ3RlbXBsYXRlLWN1c3RvbWl6ZXItY29tcG9uZW50cy1jc3MnLFxyXG4gICAgICB0aGlzLnBhdGhSZXNvbHZlcihcclxuICAgICAgICB0aGlzLnNldHRpbmdzLmNzc1BhdGggK1xyXG4gICAgICAgICAgdGhpcy5zZXR0aW5ncy5jc3NGaWxlbmFtZVBhdHRlcm4ucmVwbGFjZSgnJW5hbWUlJywgYGNvbXBvbmVudHMke3N0eWxlICE9PSAnbGlnaHQnID8gYC0ke3N0eWxlfWAgOiAnJ31gKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgICB0aGlzLl9pbnNlcnRTdHlsZXNoZWV0KFxyXG4gICAgICAndGVtcGxhdGUtY3VzdG9taXplci1jb2xvcnMtY3NzJyxcclxuICAgICAgdGhpcy5wYXRoUmVzb2x2ZXIoXHJcbiAgICAgICAgdGhpcy5zZXR0aW5ncy5jc3NQYXRoICtcclxuICAgICAgICAgIHRoaXMuc2V0dGluZ3MuY3NzRmlsZW5hbWVQYXR0ZXJuLnJlcGxhY2UoJyVuYW1lJScsIGBjb2xvcnMke3N0eWxlICE9PSAnbGlnaHQnID8gYC0ke3N0eWxlfWAgOiAnJ31gKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgICAqL1xyXG5cclxuICAgIGNvbnN0IGNsYXNzZXNUb1JlbW92ZSA9IHN0eWxlID09PSAnbGlnaHQnID8gWydkYXJrLXN0eWxlJ10gOiBbJ2xpZ2h0LXN0eWxlJ11cclxuICAgIGNsYXNzZXNUb1JlbW92ZS5mb3JFYWNoKGNscyA9PiB7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNscylcclxuICAgIH0pXHJcblxyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoYCR7c3R5bGV9LXN0eWxlYClcclxuICB9XHJcblxyXG4gIC8vIEluaXQgdGhlbWUgc3R5bGVcclxuICBfaW5pdFRoZW1lKCkge1xyXG4gICAgaWYgKHRoaXMuX2hhc0NvbnRyb2xzKCd0aGVtZXMnKSkge1xyXG4gICAgICB0aGlzLl9pbnNlcnRTdHlsZXNoZWV0KFxyXG4gICAgICAgICd0ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lLWNzcycsXHJcbiAgICAgICAgdGhpcy5wYXRoUmVzb2x2ZXIoXHJcbiAgICAgICAgICB0aGlzLnNldHRpbmdzLnRoZW1lc1BhdGggK1xyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzLmNzc0ZpbGVuYW1lUGF0dGVybi5yZXBsYWNlKFxyXG4gICAgICAgICAgICAgICclbmFtZSUnLFxyXG4gICAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MudGhlbWUubmFtZSArICh0aGlzLnNldHRpbmdzLnN0eWxlICE9PSAnbGlnaHQnID8gYC0ke3RoaXMuc2V0dGluZ3Muc3R5bGV9YCA6ICcnKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBJZiB0aGVtZSBjb250cm9sIGlzIG5vdCBlbmFibGVkLCBnZXQgdGhlIGN1cnJlbnQgdGhlbWUgZnJvbSBsb2NhbHN0b3JhZ2UgZWxzZSBkaXNwbGF5IGRlZmF1bHQgdGhlbWVcclxuICAgICAgY29uc3QgdGhlbWUgPSB0aGlzLl9nZXRTZXR0aW5nKCdUaGVtZScpXHJcbiAgICAgIHRoaXMuX2luc2VydFN0eWxlc2hlZXQoXHJcbiAgICAgICAgJ3RlbXBsYXRlLWN1c3RvbWl6ZXItdGhlbWUtY3NzJyxcclxuICAgICAgICB0aGlzLnBhdGhSZXNvbHZlcihcclxuICAgICAgICAgIHRoaXMuc2V0dGluZ3MudGhlbWVzUGF0aCArXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MuY3NzRmlsZW5hbWVQYXR0ZXJuLnJlcGxhY2UoXHJcbiAgICAgICAgICAgICAgJyVuYW1lJScsXHJcbiAgICAgICAgICAgICAgdGhlbWUgPyB0aGVtZSA6ICd0aGVtZS1kZWZhdWx0JyArICh0aGlzLnNldHRpbmdzLnN0eWxlICE9PSAnbGlnaHQnID8gYC0ke3RoaXMuc2V0dGluZ3Muc3R5bGV9YCA6ICcnKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfaW5zZXJ0U3R5bGVzaGVldChjbGFzc05hbWUsIGhyZWYpIHtcclxuICAgIGNvbnN0IGN1ckxpbmsgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAuJHtjbGFzc05hbWV9YClcclxuXHJcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50LmRvY3VtZW50TW9kZSA9PT0gJ251bWJlcicgJiYgZG9jdW1lbnQuZG9jdW1lbnRNb2RlIDwgMTEpIHtcclxuICAgICAgaWYgKCFjdXJMaW5rKSByZXR1cm5cclxuICAgICAgaWYgKGhyZWYgPT09IGN1ckxpbmsuZ2V0QXR0cmlidXRlKCdocmVmJykpIHJldHVyblxyXG5cclxuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKVxyXG5cclxuICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdzdHlsZXNoZWV0JylcclxuICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9jc3MnKVxyXG4gICAgICBsaW5rLmNsYXNzTmFtZSA9IGNsYXNzTmFtZVxyXG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIGhyZWYpXHJcblxyXG4gICAgICBjdXJMaW5rLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGxpbmssIGN1ckxpbmsubmV4dFNpYmxpbmcpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkb2N1bWVudC53cml0ZShgPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIHR5cGU9XCJ0ZXh0L2Nzc1wiIGhyZWY9XCIke2hyZWZ9XCIgY2xhc3M9XCIke2NsYXNzTmFtZX1cIj5gKVxyXG4gICAgfVxyXG5cclxuICAgIGN1ckxpbmsucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjdXJMaW5rKVxyXG4gIH1cclxuXHJcbiAgX2xvYWRTdHlsZXNoZWV0cyhzdHlsZXNoZWV0cywgY2IpIHtcclxuICAgIGNvbnN0IHBhdGhzID0gT2JqZWN0LmtleXMoc3R5bGVzaGVldHMpXHJcbiAgICBjb25zdCBjb3VudCA9IHBhdGhzLmxlbmd0aFxyXG4gICAgbGV0IGxvYWRlZCA9IDBcclxuXHJcbiAgICBmdW5jdGlvbiBsb2FkU3R5bGVzaGVldChwYXRoLCBjdXJMaW5rLCBfY2IpIHtcclxuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKVxyXG5cclxuICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBwYXRoKVxyXG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZSgncmVsJywgJ3N0eWxlc2hlZXQnKVxyXG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZSgndHlwZScsICd0ZXh0L2NzcycpXHJcbiAgICAgIGxpbmsuY2xhc3NOYW1lID0gY3VyTGluay5jbGFzc05hbWVcclxuXHJcbiAgICAgIGNvbnN0IHNoZWV0ID0gJ3NoZWV0JyBpbiBsaW5rID8gJ3NoZWV0JyA6ICdzdHlsZVNoZWV0J1xyXG4gICAgICBjb25zdCBjc3NSdWxlcyA9ICdzaGVldCcgaW4gbGluayA/ICdjc3NSdWxlcycgOiAncnVsZXMnXHJcblxyXG4gICAgICBsZXQgaW50ZXJ2YWxJZFxyXG5cclxuICAgICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKVxyXG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXHJcbiAgICAgICAgY3VyTGluay5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGxpbmspXHJcbiAgICAgICAgX2NiKGZhbHNlLCBwYXRoKVxyXG4gICAgICB9LCAxNTAwMClcclxuXHJcbiAgICAgIGludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGlmIChsaW5rW3NoZWV0XSAmJiBsaW5rW3NoZWV0XVtjc3NSdWxlc10ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZClcclxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZClcclxuICAgICAgICAgICAgY3VyTGluay5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGN1ckxpbmspXHJcbiAgICAgICAgICAgIF9jYih0cnVlKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgIC8vIENhdGNoIGVycm9yXHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAxMClcclxuXHJcbiAgICAgIGN1ckxpbmsucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobGluaywgY3VyTGluay5uZXh0U2libGluZylcclxuICAgIH1cclxuXHJcbiAgICBmdW5jdGlvbiBzdHlsZXNoZWV0Q2FsbEJhY2soKSB7XHJcbiAgICAgIGlmICgobG9hZGVkICs9IDEpID49IGNvdW50KSB7XHJcbiAgICAgICAgY2IoKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGhzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxvYWRTdHlsZXNoZWV0KHBhdGhzW2ldLCBzdHlsZXNoZWV0c1twYXRoc1tpXV0sIHN0eWxlc2hlZXRDYWxsQmFjaygpKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2xvYWRpbmdTdGF0ZShlbmFibGUsIHRoZW1lcykge1xyXG4gICAgdGhpcy5jb250YWluZXIuY2xhc3NMaXN0W2VuYWJsZSA/ICdhZGQnIDogJ3JlbW92ZSddKGB0ZW1wbGF0ZS1jdXN0b21pemVyLWxvYWRpbmcke3RoZW1lcyA/ICctdGhlbWUnIDogJyd9YClcclxuICB9XHJcblxyXG4gIF9nZXRFbGVtZW50RnJvbVN0cmluZyhzdHIpIHtcclxuICAgIGNvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxyXG4gICAgd3JhcHBlci5pbm5lckhUTUwgPSBzdHJcclxuICAgIHJldHVybiB3cmFwcGVyLmZpcnN0Q2hpbGRcclxuICB9XHJcblxyXG4gIC8vIFNldCBzZXR0aW5ncyBpbiBMb2NhbFN0b3JhZ2Ugd2l0aCBsYXlvdXQgJiBrZXlcclxuICBfZ2V0U2V0dGluZyhrZXkpIHtcclxuICAgIGxldCByZXN1bHQgPSBudWxsXHJcbiAgICBjb25zdCBsYXlvdXROYW1lID0gdGhpcy5fZ2V0TGF5b3V0TmFtZSgpXHJcbiAgICB0cnkge1xyXG4gICAgICByZXN1bHQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShgdGVtcGxhdGVDdXN0b21pemVyLSR7bGF5b3V0TmFtZX0tLSR7a2V5fWApXHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIC8vIENhdGNoIGVycm9yXHJcbiAgICB9XHJcbiAgICByZXR1cm4gU3RyaW5nKHJlc3VsdCB8fCAnJylcclxuICB9XHJcblxyXG4gIC8vIFNldCBzZXR0aW5ncyBpbiBMb2NhbFN0b3JhZ2Ugd2l0aCBsYXlvdXQgJiBrZXlcclxuICBfc2V0U2V0dGluZyhrZXksIHZhbCkge1xyXG4gICAgY29uc3QgbGF5b3V0TmFtZSA9IHRoaXMuX2dldExheW91dE5hbWUoKVxyXG4gICAgdHJ5IHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oYHRlbXBsYXRlQ3VzdG9taXplci0ke2xheW91dE5hbWV9LS0ke2tleX1gLCBTdHJpbmcodmFsKSlcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgLy8gQ2F0Y2ggRXJyb3JcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEdldCBsYXlvdXQgbmFtZSB0byBzZXQgdW5pcXVlXHJcbiAgX2dldExheW91dE5hbWUoKSB7XHJcbiAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0hUTUwnKVswXS5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGVtcGxhdGUnKVxyXG4gIH1cclxuXHJcbiAgX3JlbW92ZUxpc3RlbmVycygpIHtcclxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gdGhpcy5fbGlzdGVuZXJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICB0aGlzLl9saXN0ZW5lcnNbaV1bMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLl9saXN0ZW5lcnNbaV1bMV0sIHRoaXMuX2xpc3RlbmVyc1tpXVsyXSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9jbGVhbnVwKCkge1xyXG4gICAgdGhpcy5fcmVtb3ZlTGlzdGVuZXJzKClcclxuICAgIHRoaXMuX2xpc3RlbmVycyA9IFtdXHJcbiAgICB0aGlzLl9jb250cm9scyA9IHt9XHJcblxyXG4gICAgaWYgKHRoaXMuX3VwZGF0ZUludGVydmFsKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fdXBkYXRlSW50ZXJ2YWwpXHJcbiAgICAgIHRoaXMuX3VwZGF0ZUludGVydmFsID0gbnVsbFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IF9zc3IoKSB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCdcclxuICB9XHJcblxyXG4gIC8vIENoZWNrIGNvbnRyb2xzIGF2YWlsYWJpbGl0eVxyXG4gIF9oYXNDb250cm9scyhjb250cm9scywgb25lT2YgPSBmYWxzZSkge1xyXG4gICAgcmV0dXJuIGNvbnRyb2xzLnNwbGl0KCcgJykucmVkdWNlKChyZXN1bHQsIGNvbnRyb2wpID0+IHtcclxuICAgICAgaWYgKHRoaXMuc2V0dGluZ3MuY29udHJvbHMuaW5kZXhPZihjb250cm9sKSAhPT0gLTEpIHtcclxuICAgICAgICBpZiAob25lT2YgfHwgcmVzdWx0ICE9PSBmYWxzZSkgcmVzdWx0ID0gdHJ1ZVxyXG4gICAgICB9IGVsc2UgaWYgKCFvbmVPZiB8fCByZXN1bHQgIT09IHRydWUpIHJlc3VsdCA9IGZhbHNlXHJcbiAgICAgIHJldHVybiByZXN1bHRcclxuICAgIH0sIG51bGwpXHJcbiAgfVxyXG5cclxuICAvLyBHZXQgdGhlIGRlZmF1bHQgdGhlbWVcclxuICBfZ2V0RGVmYXVsdFRoZW1lKHRoZW1lSWQpIHtcclxuICAgIGxldCB0aGVtZVxyXG4gICAgaWYgKHR5cGVvZiB0aGVtZUlkID09PSAnc3RyaW5nJykge1xyXG4gICAgICB0aGVtZSA9IHRoaXMuX2dldFRoZW1lQnlOYW1lKHRoZW1lSWQsIGZhbHNlKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhlbWUgPSB0aGlzLnNldHRpbmdzLmF2YWlsYWJsZVRoZW1lc1t0aGVtZUlkXVxyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhlbWUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVtZSBJRCBcIiR7dGhlbWVJZH1cIiBub3QgZm91bmQhYClcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhlbWVcclxuICB9XHJcblxyXG4gIC8vIEdldCB0aGVtZSBieSB0aGVtZUlkL3RoZW1lTmFtZVxyXG4gIF9nZXRUaGVtZUJ5TmFtZSh0aGVtZU5hbWUsIHJldHVybkRlZmF1bHQgPSBmYWxzZSkge1xyXG4gICAgY29uc3QgdGhlbWVzID0gdGhpcy5zZXR0aW5ncy5hdmFpbGFibGVUaGVtZXNcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoZW1lcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcclxuICAgICAgaWYgKHRoZW1lc1tpXS5uYW1lID09PSB0aGVtZU5hbWUpIHJldHVybiB0aGVtZXNbaV1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmV0dXJuRGVmYXVsdCA/IHRoaXMuc2V0dGluZ3MuZGVmYXVsdFRoZW1lIDogbnVsbFxyXG4gIH1cclxufVxyXG5cclxuLy8gVGhlbWVzXHJcblRlbXBsYXRlQ3VzdG9taXplci5USEVNRVMgPSBbXHJcbiAge1xyXG4gICAgbmFtZTogJ3RoZW1lLWRlZmF1bHQnLFxyXG4gICAgdGl0bGU6ICdEZWZhdWx0J1xyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ3RoZW1lLXNlbWktZGFyaycsXHJcbiAgICB0aXRsZTogJ1NlbWkgRGFyaydcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICd0aGVtZS1ib3JkZXJlZCcsXHJcbiAgICB0aXRsZTogJ0JvcmRlcmVkJ1xyXG4gIH1cclxuXVxyXG5cclxuLy8gVGhlbWUgc2V0dGluZyBsYW5ndWFnZVxyXG5UZW1wbGF0ZUN1c3RvbWl6ZXIuTEFOR1VBR0VTID0ge1xyXG4gIGVuOiB7XHJcbiAgICBwYW5lbF9oZWFkZXI6ICdURU1QTEFURSBDVVNUT01JWkVSJyxcclxuICAgIHBhbmVsX3N1Yl9oZWFkZXI6ICdDdXN0b21pemUgYW5kIHByZXZpZXcgaW4gcmVhbCB0aW1lJyxcclxuICAgIHRoZW1pbmdfaGVhZGVyOiAnVEhFTUlORycsXHJcbiAgICB0aGVtZV9oZWFkZXI6ICdUSEVNRScsXHJcbiAgICB0aGVtZV9sYWJlbDogJ1RoZW1lcycsXHJcbiAgICBzdHlsZV9sYWJlbDogJ1N0eWxlIChNb2RlKScsXHJcbiAgICBzdHlsZV9zd2l0Y2hfbGlnaHQ6ICdMaWdodCcsXHJcbiAgICBzdHlsZV9zd2l0Y2hfZGFyazogJ0RhcmsnLFxyXG4gICAgbGF5b3V0X2hlYWRlcjogJ0xBWU9VVCcsXHJcbiAgICBsYXlvdXRfbGFiZWw6ICdMYXlvdXQgKE1lbnUpJyxcclxuICAgIGxheW91dF9zdGF0aWM6ICdTdGF0aWMnLFxyXG4gICAgbGF5b3V0X29mZmNhbnZhczogJ09mZmNhbnZhcycsXHJcbiAgICBsYXlvdXRfZml4ZWQ6ICdGaXhlZCcsXHJcbiAgICBsYXlvdXRfZml4ZWRfb2ZmY2FudmFzOiAnRml4ZWQgb2ZmY2FudmFzJyxcclxuICAgIGxheW91dF9mbGlwcGVkX2xhYmVsOiAnTWVudSBmbGlwcGVkJyxcclxuICAgIGxheW91dF9kZF9vcGVuX2xhYmVsOiAnRHJvcGRvd24gb24gaG92ZXInLFxyXG4gICAgbGF5b3V0X25hdmJhcl9sYWJlbDogJ0ZpeGVkIG5hdmJhcicsXHJcbiAgICBsYXlvdXRfZm9vdGVyX2xhYmVsOiAnRml4ZWQgZm9vdGVyJyxcclxuICAgIG1pc2NfaGVhZGVyOiAnTUlTQycsXHJcbiAgICBydGxfbGFiZWw6ICdSVEwgZGlyZWN0aW9uJ1xyXG4gIH0sXHJcbiAgZnI6IHtcclxuICAgIHBhbmVsX2hlYWRlcjogJ01PRMOITEUgREUgUEVSU09OTkFMSVNBVElPTicsXHJcbiAgICBwYW5lbF9zdWJfaGVhZGVyOiAnUGVyc29ubmFsaXNleiBldCBwcsOpdmlzdWFsaXNleiBlbiB0ZW1wcyByw6llbCcsXHJcbiAgICB0aGVtaW5nX2hlYWRlcjogJ1RIw4lNQVRJU0FUSU9OJyxcclxuICAgIHRoZW1lX2hlYWRlcjogJ1RIw4hNRScsXHJcbiAgICB0aGVtZV9sYWJlbDogJ1Row6htZXMnLFxyXG4gICAgc3R5bGVfbGFiZWw6ICdTdHlsZSAoTW9kZSknLFxyXG4gICAgc3R5bGVfc3dpdGNoX2xpZ2h0OiAnTMOpZ2VyJyxcclxuICAgIHN0eWxlX3N3aXRjaF9kYXJrOiAnU29tYnJlJyxcclxuICAgIGxheW91dF9oZWFkZXI6ICdESVNQT1NJVElPTicsXHJcbiAgICBsYXlvdXRfbGFiZWw6ICdNaXNlIGVuIHBhZ2UgKE1lbnUpJyxcclxuICAgIGxheW91dF9zdGF0aWM6ICdTdGF0aXF1ZScsXHJcbiAgICBsYXlvdXRfb2ZmY2FudmFzOiAnSG9ycyB0b2lsZScsXHJcbiAgICBsYXlvdXRfZml4ZWQ6ICdGaXjDqScsXHJcbiAgICBsYXlvdXRfZml4ZWRfb2ZmY2FudmFzOiAnRml4ZSBob3JzIHRvaWxlJyxcclxuICAgIGxheW91dF9mbGlwcGVkX2xhYmVsOiAnTWVudSBpbnZlcnPDqScsXHJcbiAgICBsYXlvdXRfZGRfb3Blbl9sYWJlbDogJ0xpc3RlIGTDqXJvdWxhbnRlIGF1IHN1cnZvbCcsXHJcbiAgICBsYXlvdXRfbmF2YmFyX2xhYmVsOiAnQmFycmUgZGUgbmF2aWdhdGlvbiBmaXhlJyxcclxuICAgIGxheW91dF9mb290ZXJfbGFiZWw6ICdQaWVkIGRlIHBhZ2UgZml4ZScsXHJcbiAgICBtaXNjX2hlYWRlcjogJ0RJVkVSUycsXHJcbiAgICBydGxfbGFiZWw6ICdTZW5zIFJUTCdcclxuICB9LFxyXG4gIGRlOiB7XHJcbiAgICBwYW5lbF9oZWFkZXI6ICdWT1JMQUdFTi1BTlBBU1NFUicsXHJcbiAgICBwYW5lbF9zdWJfaGVhZGVyOiAnQW5wYXNzZW4gdW5kIFZvcnNjaGF1IGluIEVjaHR6ZWl0JyxcclxuICAgIHRoZW1pbmdfaGVhZGVyOiAnVEhFTUVOJyxcclxuICAgIHRoZW1lX2hlYWRlcjogJ1RIRU1BJyxcclxuICAgIHRoZW1lX2xhYmVsOiAnVGhlbWVuJyxcclxuICAgIHN0eWxlX2xhYmVsOiAnU3RpbCAoTW9kdXMpJyxcclxuICAgIHN0eWxlX3N3aXRjaF9saWdodDogJ0hlbGwnLFxyXG4gICAgc3R5bGVfc3dpdGNoX2Rhcms6ICdEdW5rZWwnLFxyXG4gICAgbGF5b3V0X2hlYWRlcjogJ0xBWU9VVCcsXHJcbiAgICBsYXlvdXRfbGFiZWw6ICdMYXlvdXQgKFNwZWlzZWthcnRlKScsXHJcbiAgICBsYXlvdXRfc3RhdGljOiAnU3RhdGlzY2gnLFxyXG4gICAgbGF5b3V0X29mZmNhbnZhczogJ0xlaW53YW5kJyxcclxuICAgIGxheW91dF9maXhlZDogJ0Zlc3QnLFxyXG4gICAgbGF5b3V0X2ZpeGVkX29mZmNhbnZhczogJ0F1w59lcmhhbGIgZGVyIExlaW53YW5kIGJlaG9iZW4nLFxyXG4gICAgbGF5b3V0X2ZsaXBwZWRfbGFiZWw6ICdNZW7DvCB1bWdlZHJlaHQnLFxyXG4gICAgbGF5b3V0X2RkX29wZW5fbGFiZWw6ICdEcm9wZG93biBiZWltIEhvdmVyJyxcclxuICAgIGxheW91dF9uYXZiYXJfbGFiZWw6ICdOYXZpZ2F0aW9uc2xlaXN0ZSBiZWhvYmVuJyxcclxuICAgIGxheW91dF9mb290ZXJfbGFiZWw6ICdGZXN0ZSBGdcOfemVpbGUnLFxyXG4gICAgbWlzY19oZWFkZXI6ICdWRVJTQ0hJRURFTkVTJyxcclxuICAgIHJ0bF9sYWJlbDogJ1JUTC1SZWdpZSdcclxuICB9LFxyXG4gIHB0OiB7XHJcbiAgICBwYW5lbF9oZWFkZXI6ICdQRVJTT05BTElaQURPUiBERSBNT0RFTE8nLFxyXG4gICAgcGFuZWxfc3ViX2hlYWRlcjogJ1BlcnNvbmFsaXplIGUgdmlzdWFsaXplIGVtIHRlbXBvIHJlYWwnLFxyXG4gICAgdGhlbWluZ19oZWFkZXI6ICdURU1BUycsXHJcbiAgICB0aGVtZV9oZWFkZXI6ICdURU1BJyxcclxuICAgIHRoZW1lX2xhYmVsOiAnVGVtYXMnLFxyXG4gICAgc3R5bGVfbGFiZWw6ICdFc3RpbG8gKE1vZG8pJyxcclxuICAgIHN0eWxlX3N3aXRjaF9saWdodDogJ0x1eicsXHJcbiAgICBzdHlsZV9zd2l0Y2hfZGFyazogJ0VzY3VybycsXHJcbiAgICBsYXlvdXRfaGVhZGVyOiAnRVNRVUVNQScsXHJcbiAgICBsYXlvdXRfbGFiZWw6ICdFc3F1ZW1hIChDYXJkw6FwaW8pJyxcclxuICAgIGxheW91dF9zdGF0aWM6ICdFc3TDoXRpY28nLFxyXG4gICAgbGF5b3V0X29mZmNhbnZhczogJ09mZmNhbnZhcycsXHJcbiAgICBsYXlvdXRfZml4ZWQ6ICdGaXhvJyxcclxuICAgIGxheW91dF9maXhlZF9vZmZjYW52YXM6ICdPZmZzY3JlZW4gZml4bycsXHJcbiAgICBsYXlvdXRfZmxpcHBlZF9sYWJlbDogJ01lbnUgaW52ZXJ0aWRvJyxcclxuICAgIGxheW91dF9kZF9vcGVuX2xhYmVsOiAnU3VzcGVuc8OjbyBhbyBwYXNzYXIgbyBtb3VzZScsXHJcbiAgICBsYXlvdXRfbmF2YmFyX2xhYmVsOiAnQmFycmEgZGUgbmF2ZWdhw6fDo28gZml4YScsXHJcbiAgICBsYXlvdXRfZm9vdGVyX2xhYmVsOiAnUm9kYXDDqSBmaXhvJyxcclxuICAgIG1pc2NfaGVhZGVyOiAnRElWRVJTT1MnLFxyXG4gICAgcnRsX2xhYmVsOiAnRGlyZcOnw6NvIFJUTCdcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB7IFRlbXBsYXRlQ3VzdG9taXplciB9XHJcbiJdLCJuYW1lcyI6WyJjdXN0b21pemVyU3R5bGUiLCJjdXN0b21pemVyTWFya3VwIiwiQ1NTX0ZJTEVOQU1FX1BBVFRFUk4iLCJDT05UUk9MUyIsIlNUWUxFUyIsImNsIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGFzc0xpc3QiLCJESVNQTEFZX0NVU1RPTUlaRVIiLCJERUZBVUxUX1RIRU1FIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJnZXRBdHRyaWJ1dGUiLCJERUZBVUxUX1NUWUxFIiwiY29udGFpbnMiLCJERUZBVUxUX1RFWFRfRElSIiwiREVGQVVMVF9NRU5VX0NPTExBUFNFRCIsIkRFRkFVTFRfTUVOVV9GTElQUEVEIiwiREVGQVVMVF9TSE9XX0RST1BET1dOX09OX0hPVkVSIiwidW5kZWZpbmVkIiwiREVGQVVMVF9OQVZCQVJfRklYRUQiLCJERUZBVUxUX0ZPT1RFUl9GSVhFRCIsImxheW91dFR5cGUiLCJERUZBVUxUX0xBWU9VVF9UWVBFIiwiVGVtcGxhdGVDdXN0b21pemVyIiwiY3NzUGF0aCIsInRoZW1lc1BhdGgiLCJjc3NGaWxlbmFtZVBhdHRlcm4iLCJkaXNwbGF5Q3VzdG9taXplciIsImNvbnRyb2xzIiwiZGVmYXVsdFRleHREaXIiLCJkZWZhdWx0TGF5b3V0VHlwZSIsImRlZmF1bHRNZW51Q29sbGFwc2VkIiwiZGVmYXVsdE1lbnVGbGlwcGVkIiwiZGVmYXVsdFNob3dEcm9wZG93bk9uSG92ZXIiLCJkZWZhdWx0TmF2YmFyRml4ZWQiLCJkZWZhdWx0Rm9vdGVyRml4ZWQiLCJzdHlsZXMiLCJkZWZhdWx0U3R5bGUiLCJhdmFpbGFibGVUaGVtZXMiLCJkZWZhdWx0VGhlbWUiLCJwYXRoUmVzb2x2ZXIiLCJvblNldHRpbmdzQ2hhbmdlIiwibGFuZyIsIl9zc3IiLCJ3aW5kb3ciLCJIZWxwZXJzIiwiRXJyb3IiLCJzZXR0aW5ncyIsIlRIRU1FUyIsIl9nZXREZWZhdWx0VGhlbWUiLCJwIiwibGVuZ3RoIiwiaSIsImluZGV4T2YiLCJzbGljZSIsImNvbmNhdCIsIl9sb2FkU2V0dGluZ3MiLCJfbGlzdGVuZXJzIiwiX2NvbnRyb2xzIiwiX2luaXREaXJlY3Rpb24iLCJfaW5pdFN0eWxlIiwiX2luaXRUaGVtZSIsInNldExheW91dFR5cGUiLCJzZXRMYXlvdXRNZW51RmxpcHBlZCIsImxheW91dE1lbnVGbGlwcGVkIiwic2V0RHJvcGRvd25PbkhvdmVyIiwic2hvd0Ryb3Bkb3duT25Ib3ZlciIsInNldExheW91dE5hdmJhckZpeGVkIiwibGF5b3V0TmF2YmFyRml4ZWQiLCJzZXRMYXlvdXRGb290ZXJGaXhlZCIsImxheW91dEZvb3RlckZpeGVkIiwiX3NldHVwIiwicnRsIiwiX2hhc0NvbnRyb2xzIiwiX3NldFNldHRpbmciLCJTdHJpbmciLCJsb2NhdGlvbiIsInJlbG9hZCIsInN0eWxlIiwidGhlbWVOYW1lIiwidXBkYXRlU3RvcmFnZSIsImNiIiwidGhlbWUiLCJfZ2V0VGhlbWVCeU5hbWUiLCJ0aGVtZVVybCIsInJlcGxhY2UiLCJfbG9hZFN0eWxlc2hlZXRzIiwicXVlcnlTZWxlY3RvciIsImNhbGwiLCJwb3MiLCJzZXRQb3NpdGlvbiIsIm1lbnVTY3JvbGwiLCJtZW51UHNTY3JvbGwiLCJQZXJmZWN0U2Nyb2xsYmFyTGliIiwiUGVyZmVjdFNjcm9sbGJhciIsImRlc3Ryb3kiLCJzdXBwcmVzc1Njcm9sbFgiLCJ3aGVlbFByb3BhZ2F0aW9uIiwiZmxpcHBlZCIsInNldEZsaXBwZWQiLCJvcGVuIiwibWFpbk1lbnUiLCJjb25maWciLCJNZW51IiwiZ2V0RWxlbWVudEJ5SWQiLCJvcmllbnRhdGlvbiIsImNsb3NlQ2hpbGRyZW4iLCJmaXhlZCIsInNldE5hdmJhckZpeGVkIiwic2V0Rm9vdGVyRml4ZWQiLCJmb3JjZSIsIkxBTkdVQUdFUyIsInQiLCJmb3JFYWNoIiwia2V5IiwiZWwiLCJjb250YWluZXIiLCJ0ZXh0Q29udGVudCIsInR0IiwidGhlbWVzIiwicXVlcnlTZWxlY3RvckFsbCIsImwiLCJ2YWx1ZSIsInRpdGxlIiwiaGFzTmF2YmFyIiwiaGFzTWVudSIsImhhc0hvcml6b250YWxNZW51IiwiaXNMYXlvdXQxIiwiaGFzRm9vdGVyIiwic2V0QXR0cmlidXRlIiwiYWRkIiwicmVtb3ZlQXR0cmlidXRlIiwicmVtb3ZlIiwibGF5b3V0TmF2YmFyRml4ZWRXIiwibGF5b3V0Rm9vdGVyRml4ZWRXIiwiX2NsZWFudXAiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJfZ2V0U2V0dGluZyIsImNvbGxhcHNlZE1lbnUiLCJmbGlwcGVkTWVudSIsImRyb3Bkb3duT25Ib3ZlciIsImZpeGVkTmF2YmFyIiwiZml4ZWRGb290ZXIiLCJsVHlwZSIsInR5cGUiLCJsYXlvdXRNZW51IiwiX2NvbnRhaW5lciIsIl9nZXRFbGVtZW50RnJvbVN0cmluZyIsImN1c3RvbWl6ZXJXIiwib3BlbkJ0biIsIm9wZW5CdG5DYiIsInVwZGF0ZSIsIl91cGRhdGVJbnRlcnZhbCIsImNsZWFySW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsImFkZEV2ZW50TGlzdGVuZXIiLCJwdXNoIiwiY2xvc2VCdG4iLCJjbG9zZUJ0bkNiIiwicnRsVyIsInJ0bFN1cHBvcnQiLCJydGxDYiIsImUiLCJfbG9hZGluZ1N0YXRlIiwic2V0UnRsIiwidGFyZ2V0IiwiY2hlY2tlZCIsInN0eWxlVyIsInN0eWxlQ2IiLCJzZXRTdHlsZSIsInRoZW1lc1ciLCJ0aGVtZXNXSW5uZXIiLCJ0aGVtZUVsIiwibmFtZSIsImFwcGVuZENoaWxkIiwidGhlbWVDYiIsIl9sb2FkaW5nIiwic2V0VGhlbWUiLCJ0aGVtaW5nVyIsImxheW91dFciLCJsYXlvdXRUeXBlVyIsImxheW91dFR5cGVDYiIsImxheW91dE5hdmJhckZpeGVkQ2IiLCJsYXlvdXRGb290ZXJGaXhlZENiIiwic2V0TGFuZyIsImJvZHkiLCJfaW5zZXJ0U3R5bGVzaGVldCIsImNsYXNzZXNUb1JlbW92ZSIsImNscyIsImNsYXNzTmFtZSIsImhyZWYiLCJjdXJMaW5rIiwiZG9jdW1lbnRNb2RlIiwibGluayIsImNyZWF0ZUVsZW1lbnQiLCJpbnNlcnRCZWZvcmUiLCJuZXh0U2libGluZyIsIndyaXRlIiwic3R5bGVzaGVldHMiLCJwYXRocyIsIk9iamVjdCIsImtleXMiLCJjb3VudCIsImxvYWRlZCIsImxvYWRTdHlsZXNoZWV0IiwicGF0aCIsIl9jYiIsInNoZWV0IiwiY3NzUnVsZXMiLCJpbnRlcnZhbElkIiwidGltZW91dElkIiwic2V0VGltZW91dCIsImNsZWFyVGltZW91dCIsInN0eWxlc2hlZXRDYWxsQmFjayIsImVuYWJsZSIsInN0ciIsIndyYXBwZXIiLCJpbm5lckhUTUwiLCJmaXJzdENoaWxkIiwicmVzdWx0IiwibGF5b3V0TmFtZSIsIl9nZXRMYXlvdXROYW1lIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInZhbCIsInNldEl0ZW0iLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX3JlbW92ZUxpc3RlbmVycyIsIm9uZU9mIiwic3BsaXQiLCJyZWR1Y2UiLCJjb250cm9sIiwidGhlbWVJZCIsInJldHVybkRlZmF1bHQiLCJlbiIsInBhbmVsX2hlYWRlciIsInBhbmVsX3N1Yl9oZWFkZXIiLCJ0aGVtaW5nX2hlYWRlciIsInRoZW1lX2hlYWRlciIsInRoZW1lX2xhYmVsIiwic3R5bGVfbGFiZWwiLCJzdHlsZV9zd2l0Y2hfbGlnaHQiLCJzdHlsZV9zd2l0Y2hfZGFyayIsImxheW91dF9oZWFkZXIiLCJsYXlvdXRfbGFiZWwiLCJsYXlvdXRfc3RhdGljIiwibGF5b3V0X29mZmNhbnZhcyIsImxheW91dF9maXhlZCIsImxheW91dF9maXhlZF9vZmZjYW52YXMiLCJsYXlvdXRfZmxpcHBlZF9sYWJlbCIsImxheW91dF9kZF9vcGVuX2xhYmVsIiwibGF5b3V0X25hdmJhcl9sYWJlbCIsImxheW91dF9mb290ZXJfbGFiZWwiLCJtaXNjX2hlYWRlciIsInJ0bF9sYWJlbCIsImZyIiwiZGUiLCJwdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./js/template-customizer.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./js/_template-customizer/_template-customizer.scss":
|
|
/*!****************************************************************************************************************************************!*\
|
|
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./js/_template-customizer/_template-customizer.scss ***!
|
|
\****************************************************************************************************************************************/
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n// Imports\n\n\n\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABClJREFUaEPtmY1RFEEQhbsjUCIQIhAiUCNQIxAiECIQIxAiECIAIpAMhAiECIQI2vquZqnZvp6fhb3SK5mqq6Ju92b69bzXf6is+dI1t1+eAfztG5z1BsxsU0S+ici2iPB3vm5E5EpEDlSVv2dZswFIxv8UkZcNy+5EZGcuEHMCOBeR951uvVDVD53vVl+bE8DvDu8Pxtyo6ta/BsByg1R15Bwzqz5/LJgn34CZwfnPInI4BUB6/1hV0cSjVxcAM4PbcBZjL0XklIPN7Is3fLCkdQPpPYw/VNXj5IhPIvJWRIhSl6p60ULWBGBm30Vk123EwRxCuIzWkkjNrCZywith10ewE1Xdq4GoAjCz/RTXW44Ynt+LyBEfT43kYfbj86J3w5Q32DNcRQDpwF+dkQXDMey8xem0L3TEqB4g3PZWad8agBMRgZPeu96D1/C2Zbh3X0p80Op1xxloztN48bMQQNoc7+eLEuAoPSPiIDY4Ooo+E6ixeNXM+D3GERz2U3CIqMstLJUgJQDe+7eq6mub0NYEkLAKwEHkiBQDCZtddZCZ8d6r7JDwFkoARklHRPZUFVDVZWbwGuNrC4EfdOzFrRABh3Wnqhv+d70AEBLGFROPmeHlnM81G69UdSd6IUuM0GgUVn1uqWmg5EmMfBeEyB7Pe3txBkY+rGT8j0J+WXq/BgDkUCaqLgEAnwcRog0veMIqFAAwCy2wnw+bI2GaGboBgF9k5N0o0rUSGUb4eO0BeO9j/GYhkSHMHMTIqwGARX6p6a+nlPBl8kZuXMD9j6pKfF9aZuaFOdJCEL5D4eYb9wCYVCanrBmGyii/tIq+SLj/HQBCaM5bLzwfPqdQ6FpVHyra4IbuVbXaY7dETC2ESPNNWiIOi69CcdgSMXsh4tNSUiklMgwmC0aNd08Y5WAES6HHehM4gu97wyhBgWpgqXsrASglprDy7CwhehMZOSbK6JMSma+Fio1KltCmlBIj7gfZOGx8ppQSXrhzFnOhJ/31BDkjFHRvOd09x0mRBA9SFgxUgHpQg0q0t5ymPMlL+EnldFTfDA0NAmf+OTQ0X0sRouf7NNkYGhrOYNrxtIaGg83MNzVDSe3LXLhP7O/yrCsCz1zlWTpjWkuZAOBpX3yVnLqI1yLCOKU6qMrmP7SSrUEw54XF4WBIK5FxCMOr3lVsfGqNSmPzBXUnJTIX1jyVBq9wO6UObOpgC5GjO98vFKnTdQMZXxEsWZlDiCZMIxAbNxQOqlpVZtobejBaZNoBnRDzMFpkxvTQOD36BlrcySZuI6p1ACB6LU3wWuf5581+oHfD1vi89bz3nFUC8Nm7ZlP3nKkFbM4bWPt/MSFwklprYItwt6cmvpWJ2IVcQBCz6bLysSCv3SaANCiTsnaNRrNRqMXVVT1/BrAqz/buu/Y38Ad3KC5PARej0QAAAABJRU5ErkJggg== */ \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABClJREFUaEPtmY1RFEEQhbsjUCIQIhAiUCNQIxAiECIQIxAiECIAIpAMhAiECIQI2vquZqnZvp6fhb3SK5mqq6Ju92b69bzXf6is+dI1t1+eAfztG5z1BsxsU0S+ici2iPB3vm5E5EpEDlSVv2dZswFIxv8UkZcNy+5EZGcuEHMCOBeR951uvVDVD53vVl+bE8DvDu8Pxtyo6ta/BsByg1R15Bwzqz5/LJgn34CZwfnPInI4BUB6/1hV0cSjVxcAM4PbcBZjL0XklIPN7Is3fLCkdQPpPYw/VNXj5IhPIvJWRIhSl6p60ULWBGBm30Vk123EwRxCuIzWkkjNrCZywith10ewE1Xdq4GoAjCz/RTXW44Ynt+LyBEfT43kYfbj86J3w5Q32DNcRQDpwF+dkQXDMey8xem0L3TEqB4g3PZWad8agBMRgZPeu96D1/C2Zbh3X0p80Op1xxloztN48bMQQNoc7+eLEuAoPSPiIDY4Ooo+E6ixeNXM+D3GERz2U3CIqMstLJUgJQDe+7eq6mub0NYEkLAKwEHkiBQDCZtddZCZ8d6r7JDwFkoARklHRPZUFVDVZWbwGuNrC4EfdOzFrRABh3Wnqhv+d70AEBLGFROPmeHlnM81G69UdSd6IUuM0GgUVn1uqWmg5EmMfBeEyB7Pe3txBkY+rGT8j0J+WXq/BgDkUCaqLgEAnwcRog0veMIqFAAwCy2wnw+bI2GaGboBgF9k5N0o0rUSGUb4eO0BeO9j/GYhkSHMHMTIqwGARX6p6a+nlPBl8kZuXMD9j6pKfF9aZuaFOdJCEL5D4eYb9wCYVCanrBmGyii/tIq+SLj/HQBCaM5bLzwfPqdQ6FpVHyra4IbuVbXaY7dETC2ESPNNWiIOi69CcdgSMXsh4tNSUiklMgwmC0aNd08Y5WAES6HHehM4gu97wyhBgWpgqXsrASglprDy7CwhehMZOSbK6JMSma+Fio1KltCmlBIj7gfZOGx8ppQSXrhzFnOhJ/31BDkjFHRvOd09x0mRBA9SFgxUgHpQg0q0t5ymPMlL+EnldFTfDA0NAmf+OTQ0X0sRouf7NNkYGhrOYNrxtIaGg83MNzVDSe3LXLhP7O/yrCsCz1zlWTpjWkuZAOBpX3yVnLqI1yLCOKU6qMrmP7SSrUEw54XF4WBIK5FxCMOr3lVsfGqNSmPzBXUnJTIX1jyVBq9wO6UObOpgC5GjO98vFKnTdQMZXxEsWZlDiCZMIxAbNxQOqlpVZtobejBaZNoBnRDzMFpkxvTQOD36BlrcySZuI6p1ACB6LU3wWuf5581+oHfD1vi89bz3nFUC8Nm7ZlP3nKkFbM4bWPt/MSFwklprYItwt6cmvpWJ2IVcQBCz6bLysSCv3SaANCiTsnaNRrNRqMXVVT1/BrAqz/buu/Y38Ad3KC5PARej0QAAAABJRU5ErkJggg==\"), __webpack_require__.b);\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*\\n* Template Customizer Style\\n**/\\n#template-customizer {\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\" !important;\\n font-size: inherit !important;\\n position: fixed;\\n top: 0;\\n right: 0;\\n height: 100%;\\n z-index: 99999999;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n width: 360px;\\n background: #fff;\\n -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);\\n box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);\\n -webkit-transition: all 0.2s ease-in;\\n -o-transition: all 0.2s ease-in;\\n transition: all 0.2s ease-in;\\n -webkit-transform: translateX(380px);\\n -ms-transform: translateX(380px);\\n transform: translateX(380px);\\n}\\n#template-customizer h5 {\\n position: relative;\\n font-size: 11px;\\n font-weight: 600;\\n}\\n#template-customizer > h5 {\\n flex: 0 0 auto;\\n}\\n#template-customizer .disabled {\\n color: #d1d2d3 !important;\\n}\\n#template-customizer.template-customizer-open {\\n -webkit-transition-delay: 0.1s;\\n -o-transition-delay: 0.1s;\\n transition-delay: 0.1s;\\n -webkit-transform: none !important;\\n -ms-transform: none !important;\\n transform: none !important;\\n}\\n#template-customizer .template-customizer-open-btn {\\n position: absolute;\\n top: 180px;\\n left: 0;\\n z-index: -1;\\n display: block;\\n width: 42px;\\n height: 42px;\\n border-top-left-radius: 15%;\\n border-bottom-left-radius: 15%;\\n background: #333;\\n color: #fff !important;\\n text-align: center;\\n font-size: 18px !important;\\n line-height: 42px;\\n opacity: 1;\\n -webkit-transition: all 0.1s linear 0.2s;\\n -o-transition: all 0.1s linear 0.2s;\\n transition: all 0.1s linear 0.2s;\\n -webkit-transform: translateX(-62px);\\n -ms-transform: translateX(-62px);\\n transform: translateX(-62px);\\n}\\n@media (max-width: 991.98px) {\\n #template-customizer .template-customizer-open-btn {\\n top: 145px;\\n }\\n}\\n.dark-style #template-customizer .template-customizer-open-btn {\\n background: #555;\\n}\\n#template-customizer .template-customizer-open-btn::before {\\n content: \\\"\\\";\\n width: 22px;\\n height: 22px;\\n display: block;\\n background-size: 100% 100%;\\n position: absolute;\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n margin: 10px;\\n}\\n.customizer-hide #template-customizer .template-customizer-open-btn {\\n display: none;\\n}\\n[dir=rtl] #template-customizer .template-customizer-open-btn {\\n border-radius: 0;\\n border-top-right-radius: 15%;\\n border-bottom-right-radius: 15%;\\n}\\n[dir=rtl] #template-customizer .template-customizer-open-btn::before {\\n margin-left: -2px;\\n}\\n#template-customizer.template-customizer-open .template-customizer-open-btn {\\n opacity: 0;\\n -webkit-transition-delay: 0s;\\n -o-transition-delay: 0s;\\n transition-delay: 0s;\\n -webkit-transform: none !important;\\n -ms-transform: none !important;\\n transform: none !important;\\n}\\n#template-customizer .template-customizer-close-btn {\\n position: absolute;\\n top: 32px;\\n right: 0;\\n display: block;\\n font-size: 20px;\\n -webkit-transform: translateY(-50%);\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%);\\n}\\n#template-customizer .template-customizer-inner {\\n position: relative;\\n overflow: auto;\\n -webkit-box-flex: 0;\\n -ms-flex: 0 1 auto;\\n flex: 0 1 auto;\\n opacity: 1;\\n -webkit-transition: opacity 0.2s;\\n -o-transition: opacity 0.2s;\\n transition: opacity 0.2s;\\n}\\n#template-customizer .template-customizer-inner > div:first-child > hr:first-of-type {\\n display: none !important;\\n}\\n#template-customizer .template-customizer-inner > div:first-child > h5:first-of-type {\\n padding-top: 0 !important;\\n}\\n#template-customizer .template-customizer-themes-inner {\\n position: relative;\\n opacity: 1;\\n -webkit-transition: opacity 0.2s;\\n -o-transition: opacity 0.2s;\\n transition: opacity 0.2s;\\n}\\n#template-customizer .template-customizer-theme-item {\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n align-items: center;\\n -ms-flex-align: center;\\n -webkit-box-flex: 1;\\n -ms-flex: 1 1 100%;\\n flex: 1 1 100%;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n margin-bottom: 10px;\\n padding: 0 24px;\\n width: 100%;\\n cursor: pointer;\\n}\\n#template-customizer .template-customizer-theme-item input {\\n position: absolute;\\n z-index: -1;\\n opacity: 0;\\n}\\n#template-customizer .template-customizer-theme-item input ~ span {\\n opacity: 0.25;\\n -webkit-transition: all 0.2s;\\n -o-transition: all 0.2s;\\n transition: all 0.2s;\\n}\\n#template-customizer .template-customizer-theme-item .template-customizer-theme-checkmark {\\n display: inline-block;\\n width: 6px;\\n height: 12px;\\n border-right: 1px solid;\\n border-bottom: 1px solid;\\n opacity: 0;\\n -webkit-transition: all 0.2s;\\n -o-transition: all 0.2s;\\n transition: all 0.2s;\\n -webkit-transform: rotate(45deg);\\n -ms-transform: rotate(45deg);\\n transform: rotate(45deg);\\n}\\n[dir=rtl] #template-customizer .template-customizer-theme-item .template-customizer-theme-checkmark {\\n border-right: none;\\n border-left: 1px solid;\\n -webkit-transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n}\\n#template-customizer .template-customizer-theme-item input:checked:not([disabled]) ~ span, #template-customizer .template-customizer-theme-item:hover input:not([disabled]) ~ span {\\n opacity: 1;\\n}\\n#template-customizer .template-customizer-theme-item input:checked:not([disabled]) ~ span .template-customizer-theme-checkmark {\\n opacity: 1;\\n}\\n#template-customizer .template-customizer-theme-colors span {\\n display: block;\\n margin: 0 1px;\\n width: 10px;\\n height: 10px;\\n border-radius: 50%;\\n -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;\\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;\\n}\\n#template-customizer.template-customizer-loading .template-customizer-inner, #template-customizer.template-customizer-loading-theme .template-customizer-themes-inner {\\n opacity: 0.2;\\n}\\n#template-customizer.template-customizer-loading .template-customizer-inner::after, #template-customizer.template-customizer-loading-theme .template-customizer-themes-inner::after {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 999;\\n display: block;\\n}\\n\\n.layout-menu-100vh #template-customizer {\\n height: 100vh;\\n}\\n\\n[dir=rtl] #template-customizer {\\n right: auto;\\n left: 0;\\n -webkit-transform: translateX(-380px);\\n -ms-transform: translateX(-380px);\\n transform: translateX(-380px);\\n}\\n[dir=rtl] #template-customizer .template-customizer-open-btn {\\n right: 0;\\n left: auto;\\n -webkit-transform: translateX(62px);\\n -ms-transform: translateX(62px);\\n transform: translateX(62px);\\n}\\n[dir=rtl] #template-customizer .template-customizer-close-btn {\\n right: auto;\\n left: 0;\\n}\\n\\n#template-customizer .template-customizer-layouts-options[disabled] {\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n\\n[dir=rtl] .template-customizer-t-style_switch_light {\\n padding-right: 0 !important;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./js/_template-customizer/_template-customizer.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*\\r\\n* Template Customizer Style\\r\\n**/\\r\\n\\r\\n$customizer-width: 360px;\\r\\n$customizer-spacer: 20px;\\r\\n$customizer-font-size: inherit;\\r\\n\\r\\n$open-btn-size: 42px;\\r\\n$open-btn-spacer: 0;\\r\\n$open-btn-font-size: 18px;\\r\\n$open-btn-top: 180px;\\r\\n$open-btn-top-md: 145px;\\r\\n\\r\\n$open-btn-bg: #333;\\r\\n$open-btn-bg-dark: #555;\\r\\n$open-btn-color: #fff;\\r\\n$open-btn-border-radius: 15%;\\r\\n\\r\\n#template-customizer {\\r\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif,\\r\\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol' !important;\\r\\n font-size: $customizer-font-size !important;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n right: 0;\\r\\n height: 100%;\\r\\n z-index: 99999999;\\r\\n display: -webkit-box;\\r\\n display: -ms-flexbox;\\r\\n display: flex;\\r\\n -webkit-box-orient: vertical;\\r\\n -webkit-box-direction: normal;\\r\\n -ms-flex-direction: column;\\r\\n flex-direction: column;\\r\\n width: $customizer-width;\\r\\n background: #fff;\\r\\n -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);\\r\\n box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);\\r\\n -webkit-transition: all 0.2s ease-in;\\r\\n -o-transition: all 0.2s ease-in;\\r\\n transition: all 0.2s ease-in;\\r\\n -webkit-transform: translateX($customizer-width + $customizer-spacer);\\r\\n -ms-transform: translateX($customizer-width + $customizer-spacer);\\r\\n transform: translateX($customizer-width + $customizer-spacer);\\r\\n\\r\\n h5 {\\r\\n position: relative;\\r\\n font-size: 11px;\\r\\n font-weight: 600;\\r\\n }\\r\\n\\r\\n > h5 {\\r\\n flex: 0 0 auto;\\r\\n }\\r\\n\\r\\n .disabled {\\r\\n color: #d1d2d3 !important;\\r\\n }\\r\\n\\r\\n &.template-customizer-open {\\r\\n -webkit-transition-delay: 0.1s;\\r\\n -o-transition-delay: 0.1s;\\r\\n transition-delay: 0.1s;\\r\\n -webkit-transform: none !important;\\r\\n -ms-transform: none !important;\\r\\n transform: none !important;\\r\\n }\\r\\n\\r\\n // Customizer button\\r\\n\\r\\n .template-customizer-open-btn {\\r\\n position: absolute;\\r\\n top: $open-btn-top;\\r\\n\\r\\n @media (max-width: 991.98px) {\\r\\n top: $open-btn-top-md;\\r\\n }\\r\\n left: 0;\\r\\n z-index: -1;\\r\\n display: block;\\r\\n width: $open-btn-size;\\r\\n height: $open-btn-size;\\r\\n border-top-left-radius: $open-btn-border-radius;\\r\\n border-bottom-left-radius: $open-btn-border-radius;\\r\\n background: $open-btn-bg;\\r\\n color: $open-btn-color !important;\\r\\n text-align: center;\\r\\n font-size: $open-btn-font-size !important;\\r\\n line-height: $open-btn-size;\\r\\n opacity: 1;\\r\\n -webkit-transition: all 0.1s linear 0.2s;\\r\\n -o-transition: all 0.1s linear 0.2s;\\r\\n transition: all 0.1s linear 0.2s;\\r\\n -webkit-transform: translateX(-($open-btn-size + $customizer-spacer + $open-btn-spacer));\\r\\n -ms-transform: translateX(-($open-btn-size + $customizer-spacer + $open-btn-spacer));\\r\\n transform: translateX(-($open-btn-size + $customizer-spacer + $open-btn-spacer));\\r\\n\\r\\n .dark-style & {\\r\\n background: $open-btn-bg-dark;\\r\\n }\\r\\n &::before {\\r\\n content: '';\\r\\n width: 22px;\\r\\n height: 22px;\\r\\n display: block;\\r\\n background-size: 100% 100%;\\r\\n position: absolute;\\r\\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABClJREFUaEPtmY1RFEEQhbsjUCIQIhAiUCNQIxAiECIQIxAiECIAIpAMhAiECIQI2vquZqnZvp6fhb3SK5mqq6Ju92b69bzXf6is+dI1t1+eAfztG5z1BsxsU0S+ici2iPB3vm5E5EpEDlSVv2dZswFIxv8UkZcNy+5EZGcuEHMCOBeR951uvVDVD53vVl+bE8DvDu8Pxtyo6ta/BsByg1R15Bwzqz5/LJgn34CZwfnPInI4BUB6/1hV0cSjVxcAM4PbcBZjL0XklIPN7Is3fLCkdQPpPYw/VNXj5IhPIvJWRIhSl6p60ULWBGBm30Vk123EwRxCuIzWkkjNrCZywith10ewE1Xdq4GoAjCz/RTXW44Ynt+LyBEfT43kYfbj86J3w5Q32DNcRQDpwF+dkQXDMey8xem0L3TEqB4g3PZWad8agBMRgZPeu96D1/C2Zbh3X0p80Op1xxloztN48bMQQNoc7+eLEuAoPSPiIDY4Ooo+E6ixeNXM+D3GERz2U3CIqMstLJUgJQDe+7eq6mub0NYEkLAKwEHkiBQDCZtddZCZ8d6r7JDwFkoARklHRPZUFVDVZWbwGuNrC4EfdOzFrRABh3Wnqhv+d70AEBLGFROPmeHlnM81G69UdSd6IUuM0GgUVn1uqWmg5EmMfBeEyB7Pe3txBkY+rGT8j0J+WXq/BgDkUCaqLgEAnwcRog0veMIqFAAwCy2wnw+bI2GaGboBgF9k5N0o0rUSGUb4eO0BeO9j/GYhkSHMHMTIqwGARX6p6a+nlPBl8kZuXMD9j6pKfF9aZuaFOdJCEL5D4eYb9wCYVCanrBmGyii/tIq+SLj/HQBCaM5bLzwfPqdQ6FpVHyra4IbuVbXaY7dETC2ESPNNWiIOi69CcdgSMXsh4tNSUiklMgwmC0aNd08Y5WAES6HHehM4gu97wyhBgWpgqXsrASglprDy7CwhehMZOSbK6JMSma+Fio1KltCmlBIj7gfZOGx8ppQSXrhzFnOhJ/31BDkjFHRvOd09x0mRBA9SFgxUgHpQg0q0t5ymPMlL+EnldFTfDA0NAmf+OTQ0X0sRouf7NNkYGhrOYNrxtIaGg83MNzVDSe3LXLhP7O/yrCsCz1zlWTpjWkuZAOBpX3yVnLqI1yLCOKU6qMrmP7SSrUEw54XF4WBIK5FxCMOr3lVsfGqNSmPzBXUnJTIX1jyVBq9wO6UObOpgC5GjO98vFKnTdQMZXxEsWZlDiCZMIxAbNxQOqlpVZtobejBaZNoBnRDzMFpkxvTQOD36BlrcySZuI6p1ACB6LU3wWuf5581+oHfD1vi89bz3nFUC8Nm7ZlP3nKkFbM4bWPt/MSFwklprYItwt6cmvpWJ2IVcQBCz6bLysSCv3SaANCiTsnaNRrNRqMXVVT1/BrAqz/buu/Y38Ad3KC5PARej0QAAAABJRU5ErkJggg==');\\r\\n margin: 10px;\\r\\n }\\r\\n\\r\\n // Customizer Hidden\\r\\n .customizer-hide & {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n [dir='rtl'] & {\\r\\n border-radius: 0;\\r\\n border-top-right-radius: $open-btn-border-radius;\\r\\n border-bottom-right-radius: $open-btn-border-radius;\\r\\n\\r\\n &::before {\\r\\n margin-left: -2px;\\r\\n }\\r\\n }\\r\\n }\\r\\n\\r\\n &.template-customizer-open .template-customizer-open-btn {\\r\\n opacity: 0;\\r\\n -webkit-transition-delay: 0s;\\r\\n -o-transition-delay: 0s;\\r\\n transition-delay: 0s;\\r\\n -webkit-transform: none !important;\\r\\n -ms-transform: none !important;\\r\\n transform: none !important;\\r\\n }\\r\\n\\r\\n .template-customizer-close-btn {\\r\\n position: absolute;\\r\\n top: 32px;\\r\\n right: 0;\\r\\n display: block;\\r\\n font-size: 20px;\\r\\n -webkit-transform: translateY(-50%);\\r\\n -ms-transform: translateY(-50%);\\r\\n transform: translateY(-50%);\\r\\n }\\r\\n\\r\\n // Customizer inner\\r\\n .template-customizer-inner {\\r\\n position: relative;\\r\\n overflow: auto;\\r\\n -webkit-box-flex: 0;\\r\\n -ms-flex: 0 1 auto;\\r\\n flex: 0 1 auto;\\r\\n opacity: 1;\\r\\n -webkit-transition: opacity 0.2s;\\r\\n -o-transition: opacity 0.2s;\\r\\n transition: opacity 0.2s;\\r\\n\\r\\n > div:first-child {\\r\\n > hr:first-of-type {\\r\\n display: none !important;\\r\\n }\\r\\n > h5:first-of-type {\\r\\n padding-top: 0 !important;\\r\\n }\\r\\n }\\r\\n }\\r\\n\\r\\n // Theme\\r\\n .template-customizer-themes-inner {\\r\\n position: relative;\\r\\n opacity: 1;\\r\\n -webkit-transition: opacity 0.2s;\\r\\n -o-transition: opacity 0.2s;\\r\\n transition: opacity 0.2s;\\r\\n }\\r\\n\\r\\n .template-customizer-theme-item {\\r\\n display: -webkit-box;\\r\\n display: -ms-flexbox;\\r\\n display: flex;\\r\\n -webkit-box-align: center;\\r\\n align-items: center;\\r\\n -ms-flex-align: center;\\r\\n -webkit-box-flex: 1;\\r\\n -ms-flex: 1 1 100%;\\r\\n flex: 1 1 100%;\\r\\n -webkit-box-pack: justify;\\r\\n -ms-flex-pack: justify;\\r\\n justify-content: space-between;\\r\\n margin-bottom: 10px;\\r\\n padding: 0 24px;\\r\\n width: 100%;\\r\\n cursor: pointer;\\r\\n\\r\\n input {\\r\\n position: absolute;\\r\\n z-index: -1; // Put the input behind the label so it doesn't overlay text\\r\\n opacity: 0;\\r\\n }\\r\\n\\r\\n input ~ span {\\r\\n opacity: 0.25;\\r\\n -webkit-transition: all 0.2s;\\r\\n -o-transition: all 0.2s;\\r\\n transition: all 0.2s;\\r\\n }\\r\\n\\r\\n .template-customizer-theme-checkmark {\\r\\n display: inline-block;\\r\\n width: 6px;\\r\\n height: 12px;\\r\\n border-right: 1px solid;\\r\\n border-bottom: 1px solid;\\r\\n opacity: 0;\\r\\n -webkit-transition: all 0.2s;\\r\\n -o-transition: all 0.2s;\\r\\n transition: all 0.2s;\\r\\n -webkit-transform: rotate(45deg);\\r\\n -ms-transform: rotate(45deg);\\r\\n transform: rotate(45deg);\\r\\n\\r\\n [dir='rtl'] & {\\r\\n border-right: none;\\r\\n border-left: 1px solid;\\r\\n -webkit-transform: rotate(-45deg);\\r\\n -ms-transform: rotate(-45deg);\\r\\n transform: rotate(-45deg);\\r\\n }\\r\\n }\\r\\n\\r\\n input:checked:not([disabled]) ~ span,\\r\\n &:hover input:not([disabled]) ~ span {\\r\\n opacity: 1;\\r\\n }\\r\\n\\r\\n input:checked:not([disabled]) ~ span .template-customizer-theme-checkmark {\\r\\n opacity: 1;\\r\\n }\\r\\n }\\r\\n\\r\\n .template-customizer-theme-colors {\\r\\n span {\\r\\n display: block;\\r\\n margin: 0 1px;\\r\\n width: 10px;\\r\\n height: 10px;\\r\\n border-radius: 50%;\\r\\n -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;\\r\\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;\\r\\n }\\r\\n }\\r\\n\\r\\n &.template-customizer-loading .template-customizer-inner,\\r\\n &.template-customizer-loading-theme .template-customizer-themes-inner {\\r\\n opacity: 0.2;\\r\\n\\r\\n &::after {\\r\\n content: '';\\r\\n position: absolute;\\r\\n top: 0;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n z-index: 999;\\r\\n display: block;\\r\\n }\\r\\n }\\r\\n}\\r\\n\\r\\n.layout-menu-100vh #template-customizer {\\r\\n height: 100vh;\\r\\n}\\r\\n\\r\\n// RTL\\r\\n//\\r\\n\\r\\n[dir='rtl'] {\\r\\n #template-customizer {\\r\\n right: auto;\\r\\n left: 0;\\r\\n -webkit-transform: translateX(-($customizer-width + $customizer-spacer));\\r\\n -ms-transform: translateX(-($customizer-width + $customizer-spacer));\\r\\n transform: translateX(-($customizer-width + $customizer-spacer));\\r\\n }\\r\\n\\r\\n #template-customizer .template-customizer-open-btn {\\r\\n right: 0;\\r\\n left: auto;\\r\\n -webkit-transform: translateX($open-btn-size + $customizer-spacer + $open-btn-spacer);\\r\\n -ms-transform: translateX($open-btn-size + $customizer-spacer + $open-btn-spacer);\\r\\n transform: translateX($open-btn-size + $customizer-spacer + $open-btn-spacer);\\r\\n }\\r\\n\\r\\n #template-customizer .template-customizer-close-btn {\\r\\n right: auto;\\r\\n left: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n#template-customizer .template-customizer-layouts-options[disabled] {\\r\\n opacity: 0.5;\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n// ! FIX: mode switch position in RTL\\r\\n[dir='rtl'] {\\r\\n .template-customizer-t-style_switch_light {\\r\\n padding-right: 0 !important;\\r\\n }\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL2pzL190ZW1wbGF0ZS1jdXN0b21pemVyL190ZW1wbGF0ZS1jdXN0b21pemVyLnNjc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQzZHO0FBQ2pCO0FBQ087QUFDbkcsNENBQTRDLDZrR0FBcWhEO0FBQ2prRCw4QkFBOEIsbUZBQTJCLENBQUMsNEZBQXFDO0FBQy9GLHlDQUF5QyxzRkFBK0I7QUFDeEU7QUFDQSxzR0FBc0csMkxBQTJMLGtDQUFrQyxvQkFBb0IsV0FBVyxhQUFhLGlCQUFpQixzQkFBc0IseUJBQXlCLHlCQUF5QixrQkFBa0IsaUNBQWlDLGtDQUFrQywrQkFBK0IsMkJBQTJCLGlCQUFpQixxQkFBcUIsc0RBQXNELDhDQUE4Qyx5Q0FBeUMsb0NBQW9DLGlDQUFpQyx5Q0FBeUMscUNBQXFDLGlDQUFpQyxHQUFHLDJCQUEyQix1QkFBdUIsb0JBQW9CLHFCQUFxQixHQUFHLDZCQUE2QixtQkFBbUIsR0FBRyxrQ0FBa0MsOEJBQThCLEdBQUcsaURBQWlELG1DQUFtQyw4QkFBOEIsMkJBQTJCLHVDQUF1QyxtQ0FBbUMsK0JBQStCLEdBQUcsc0RBQXNELHVCQUF1QixlQUFlLFlBQVksZ0JBQWdCLG1CQUFtQixnQkFBZ0IsaUJBQWlCLGdDQUFnQyxtQ0FBbUMscUJBQXFCLDJCQUEyQix1QkFBdUIsK0JBQStCLHNCQUFzQixlQUFlLDZDQUE2Qyx3Q0FBd0MscUNBQXFDLHlDQUF5QyxxQ0FBcUMsaUNBQWlDLEdBQUcsZ0NBQWdDLHdEQUF3RCxpQkFBaUIsS0FBSyxHQUFHLGtFQUFrRSxxQkFBcUIsR0FBRyw4REFBOEQsa0JBQWtCLGdCQUFnQixpQkFBaUIsbUJBQW1CLCtCQUErQix1QkFBdUIsc0VBQXNFLGlCQUFpQixHQUFHLHVFQUF1RSxrQkFBa0IsR0FBRyxnRUFBZ0UscUJBQXFCLGlDQUFpQyxvQ0FBb0MsR0FBRyx3RUFBd0Usc0JBQXNCLEdBQUcsK0VBQStFLGVBQWUsaUNBQWlDLDRCQUE0Qix5QkFBeUIsdUNBQXVDLG1DQUFtQywrQkFBK0IsR0FBRyx1REFBdUQsdUJBQXVCLGNBQWMsYUFBYSxtQkFBbUIsb0JBQW9CLHdDQUF3QyxvQ0FBb0MsZ0NBQWdDLEdBQUcsbURBQW1ELHVCQUF1QixtQkFBbUIsd0JBQXdCLHVCQUF1QixtQkFBbUIsZUFBZSxxQ0FBcUMsZ0NBQWdDLDZCQUE2QixHQUFHLHdGQUF3Riw2QkFBNkIsR0FBRyx3RkFBd0YsOEJBQThCLEdBQUcsMERBQTBELHVCQUF1QixlQUFlLHFDQUFxQyxnQ0FBZ0MsNkJBQTZCLEdBQUcsd0RBQXdELHlCQUF5Qix5QkFBeUIsa0JBQWtCLDhCQUE4Qix3QkFBd0IsMkJBQTJCLHdCQUF3Qix1QkFBdUIsbUJBQW1CLDhCQUE4QiwyQkFBMkIsbUNBQW1DLHdCQUF3QixvQkFBb0IsZ0JBQWdCLG9CQUFvQixHQUFHLDhEQUE4RCx1QkFBdUIsZ0JBQWdCLGVBQWUsR0FBRyxxRUFBcUUsa0JBQWtCLGlDQUFpQyw0QkFBNEIseUJBQXlCLEdBQUcsNkZBQTZGLDBCQUEwQixlQUFlLGlCQUFpQiw0QkFBNEIsNkJBQTZCLGVBQWUsaUNBQWlDLDRCQUE0Qix5QkFBeUIscUNBQXFDLGlDQUFpQyw2QkFBNkIsR0FBRyx1R0FBdUcsdUJBQXVCLDJCQUEyQixzQ0FBc0Msa0NBQWtDLDhCQUE4QixHQUFHLHNMQUFzTCxlQUFlLEdBQUcsa0lBQWtJLGVBQWUsR0FBRywrREFBK0QsbUJBQW1CLGtCQUFrQixnQkFBZ0IsaUJBQWlCLHVCQUF1QiwyREFBMkQsbURBQW1ELEdBQUcseUtBQXlLLGlCQUFpQixHQUFHLHVMQUF1TCxrQkFBa0IsdUJBQXVCLFdBQVcsYUFBYSxjQUFjLFlBQVksaUJBQWlCLG1CQUFtQixHQUFHLDZDQUE2QyxrQkFBa0IsR0FBRyxvQ0FBb0MsZ0JBQWdCLFlBQVksMENBQTBDLHNDQUFzQyxrQ0FBa0MsR0FBRyxnRUFBZ0UsYUFBYSxlQUFlLHdDQUF3QyxvQ0FBb0MsZ0NBQWdDLEdBQUcsaUVBQWlFLGdCQUFnQixZQUFZLEdBQUcseUVBQXlFLGlCQUFpQix5QkFBeUIsR0FBRyx5REFBeUQsZ0NBQWdDLEdBQUcsT0FBTyxxSEFBcUgsS0FBSyxNQUFNLFdBQVcsV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxZQUFZLGFBQWEsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLE1BQU0sTUFBTSxXQUFXLFVBQVUsV0FBVyxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsTUFBTSxNQUFNLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxXQUFXLFlBQVksY0FBYyxlQUFlLGNBQWMsWUFBWSxXQUFXLFdBQVcsWUFBWSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLE1BQU0sS0FBSyxLQUFLLFdBQVcsT0FBTyxLQUFLLE1BQU0sWUFBWSxPQUFPLE1BQU0sVUFBVSxVQUFVLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxVQUFVLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxXQUFXLGFBQWEsZUFBZSxPQUFPLE1BQU0sV0FBVyxNQUFNLE1BQU0sVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxNQUFNLE1BQU0sV0FBVyxVQUFVLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxXQUFXLE1BQU0sTUFBTSxXQUFXLFVBQVUsV0FBVyxXQUFXLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLE1BQU0sTUFBTSxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLE1BQU0sTUFBTSxX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QixTQUFTLHVGQUF1RixxQkFBcUIsU0FBUyxPQUFPLDZDQUE2QyxjQUFjLHlCQUF5Qix3QkFBd0Isc0JBQXNCLHVCQUF1Qiw2QkFBNkIsaUVBQWlFLHlEQUF5RCxTQUFTLE9BQU8sZ0pBQWdKLHFCQUFxQixzQkFBc0Isc0JBQXNCLDZCQUE2QixpQkFBaUIsbUJBQW1CLG9CQUFvQixrQkFBa0IsdUJBQXVCLHlCQUF5QixTQUFTLE9BQU8sS0FBSyxpREFBaUQsb0JBQW9CLEtBQUsseUNBQXlDLDRCQUE0QixvQkFBb0IsZ0JBQWdCLGlGQUFpRiw2RUFBNkUseUVBQXlFLE9BQU8sOERBQThELGlCQUFpQixtQkFBbUIsOEZBQThGLDBGQUEwRixzRkFBc0YsT0FBTywrREFBK0Qsb0JBQW9CLGdCQUFnQixPQUFPLEtBQUssNkVBQTZFLG1CQUFtQiwyQkFBMkIsS0FBSyw4REFBOEQsaURBQWlELG9DQUFvQyxPQUFPLEtBQUssdUJBQXVCO0FBQ3ZsbkI7QUFDQSwrREFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL1Z1ZXh5Ly4vanMvX3RlbXBsYXRlLWN1c3RvbWl6ZXIvX3RlbXBsYXRlLWN1c3RvbWl6ZXIuc2Nzcz9iMjQ1Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9nZXRVcmwuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMF9fXyA9IG5ldyBVUkwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQXdDQVlBQUFCWEF2bUhBQUFBQVhOU1IwSUFyczRjNlFBQUJDbEpSRUZVYUVQdG1ZMVJGRUVRaGJzalVDSVFJaEFpVUNOUUl4QWlFQ0lRSXhBaUVDSUFJcEFNaEFpRUNJUUkydnF1WnFuWnZwNmZoYjNTSzVtcXE2SnU5MmI2OWJ6WGY2aXMrZEkxdDErZUFmenRHNXoxQnN4c1UwUytpY2kyaVBCM3ZtNUU1RXBFRGxTVnYyZFpzd0ZJeHY4VWtaY055KzVFWkdjdUVITUNPQmVSOTUxdXZWRFZENTN2VmwrYkU4RHZEdThQeHR5bzZ0YS9Cc0J5ZzFSMTVCd3pxejUvTEpnbjM0Q1p3Zm5QSW5JNEJVQjYvMWhWMGNTalZ4Y0FNNFBiY0JaakwwWGtsSVBON0lzM2ZMQ2tkUVBwUFl3L1ZOWGo1SWhQSXZKV1JJaFNsNnA2MFVMV0JHQm0zMFZrMTIzRXdSeEN1SXpXa2tqTnJDWnl3aXRoMTBld0UxWGRxNEdvQWpDei9SVFhXNDRZbnQrTHlCRWZUNDNrWWZiajg2SjN3NVEzMkROY1JRRHB3Ritka1FYRE1leTh4ZW0wTDNURXFCNGczUFpXYWQ4YWdCTVJnWlBldTk2RDEvQzJaYmgzWDBwODBPcDF4eGxvenRONDhiTVFRTm9jNytlTEV1QW9QU1BpSURZNE9vbytFNml4ZU5YTStEM0dFUnoyVTNDSXFNc3RMSlVnSlFEZSs3ZXE2bXViME5ZRWtMQUt3RUhraUJRRENadGRkWkNaOGQ2cjdKRHdGa29BUmtsSFJQWlVGVkRWWldid0d1TnJDNEVmZE96RnJSQUJoM1ducWh2K2Q3MEFFQkxHRlJPUG1lSGxuTTgxRzY5VWRTZDZJVXVNMEdnVVZuMXVxV21nNUVtTWZCZUV5QjdQZTN0eEJrWStyR1Q4ajBKK1dYcS9CZ0RrVUNhcUxnRUFud2NSb2cwdmVNSXFGQUF3Q3kyd253K2JJMkdhR2JvQmdGOWs1TjBvMHJVU0dVYjRlTzBCZU85ai9HWWhrU0hNSE1USXF3R0FSWDZwNmErbmxQQmw4a1p1WE1EOWo2cEtmRjlhWnVhRk9kSkNFTDVENGVZYjl3Q1lWQ2FuckJtR3lpaS90SXErU0xqL0hRQkNhTTViTHp3ZlBxZFE2RnBWSHlyYTRJYnVWYlhhWTdkRVRDMkVTUE5OV2lJT2k2OUNjZGdTTVhzaDR0TlNVaWtsTWd3bUMwYU5kMDhZNVdBRVM2SEhlaE00Z3U5N3d5aEJnV3BncVhzckFTZ2xwckR5N0N3aGVoTVpPU2JLNkpNU21hK0ZpbzFLbHRDbWxCSWo3Z2ZaT0d4OHBwUVNYcmh6Rm5PaEovMzFCRGtqRkhSdk9kMDl4MG1SQkE5U0ZneFVnSHBRZzBxMHQ1eW1QTWxMK0VubGRGVGZEQTBOQW1mK09UUTBYMHNSb3VmN05Oa1lHaHJPWU5yeHRJYUdnODNNTnpWRFNlM0xYTGhQN08veXJDc0N6MXpsV1RwaldrdVpBT0JwWDN5Vm5McUkxeUxDT0tVNnFNcm1QN1NTclVFdzU0WEY0V0JJSzVGeENNT3IzbFZzZkdxTlNtUHpCWFVuSlRJWDFqeVZCcTl3TzZVT2JPcGdDNUdqTzk4dkZLblRkUU1aWHhFc1dabERpQ1pNSXhBYk54UU9xbHBWWnRvYmVqQmFaTm9CblJEek1GcGt4dlRRT0QzNkJscmN5U1p1STZwMUFDQjZMVTN3V3VmNTU4MStvSGZEMXZpODliejNuRlVDOE5tN1psUDNuS2tGYk00YldQdC9NU0Z3a2xwcllJdHd0NmNtdnBXSjJJVmNRQkN6NmJMeXNTQ3YzU2FBTkNpVHNuYU5Sck5ScU1YVlZUMS9CckFxei9idXUvWTM4QWQzS0M1UEFSZWowUUFBQUFCSlJVNUVya0pnZ2c9PVwiLCBpbXBvcnQubWV0YS51cmwpO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi8qXFxuKiBUZW1wbGF0ZSBDdXN0b21pemVyIFN0eWxlXFxuKiovXFxuI3RlbXBsYXRlLWN1c3RvbWl6ZXIge1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCIgIWltcG9ydGFudDtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50O1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB6LWluZGV4OiA5OTk5OTk5OTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDM2MHB4O1xcbiAgYmFja2dyb3VuZDogI2ZmZjtcXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XFxuICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjtcXG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW47XFxuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzgwcHgpO1xcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzODBweCk7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzgwcHgpO1xcbn1cXG4jdGVtcGxhdGUtY3VzdG9taXplciBoNSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBmb250LXNpemU6IDExcHg7XFxuICBmb250LXdlaWdodDogNjAwO1xcbn1cXG4jdGVtcGxhdGUtY3VzdG9taXplciA+IGg1IHtcXG4gIGZsZXg6IDAgMCBhdXRvO1xcbn1cXG4jdGVtcGxhdGUtY3VzdG9taXplciAuZGlzYWJsZWQge1xcbiAgY29sb3I6ICNkMWQyZDMgIWltcG9ydGFudDtcXG59XFxuI3RlbXBsYXRlLWN1c3RvbWl6ZXIudGVtcGxhdGUtY3VzdG9taXplci1vcGVuIHtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMC4xcztcXG4gIC1vLXRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XFxuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcXG4gIC1tcy10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcXG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG4jdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci1vcGVuLWJ0biB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDE4MHB4O1xcbiAgbGVmdDogMDtcXG4gIHotaW5kZXg6IC0xO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogNDJweDtcXG4gIGhlaWdodDogNDJweDtcXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE1JTtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDE1JTtcXG4gIGJhY2tncm91bmQ6ICMzMzM7XFxuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XFxuICBsaW5lLWhlaWdodDogNDJweDtcXG4gIG9wYWNpdHk6IDE7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhciAwLjJzO1xcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyIDAuMnM7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXIgMC4ycztcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02MnB4KTtcXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTYycHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02MnB4KTtcXG59XFxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XFxuICAjdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci1vcGVuLWJ0biB7XFxuICAgIHRvcDogMTQ1cHg7XFxuICB9XFxufVxcbi5kYXJrLXN0eWxlICN0ZW1wbGF0ZS1jdXN0b21pemVyIC50ZW1wbGF0ZS1jdXN0b21pemVyLW9wZW4tYnRuIHtcXG4gIGJhY2tncm91bmQ6ICM1NTU7XFxufVxcbiN0ZW1wbGF0ZS1jdXN0b21pemVyIC50ZW1wbGF0ZS1jdXN0b21pemVyLW9wZW4tYnRuOjpiZWZvcmUge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICB3aWR0aDogMjJweDtcXG4gIGhlaWdodDogMjJweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8wX19fICsgXCIpO1xcbiAgbWFyZ2luOiAxMHB4O1xcbn1cXG4uY3VzdG9taXplci1oaWRlICN0ZW1wbGF0ZS1jdXN0b21pemVyIC50ZW1wbGF0ZS1jdXN0b21pemVyLW9wZW4tYnRuIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcbltkaXI9cnRsXSAjdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci1vcGVuLWJ0biB7XFxuICBib3JkZXItcmFkaXVzOiAwO1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE1JTtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxNSU7XFxufVxcbltkaXI9cnRsXSAjdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci1vcGVuLWJ0bjo6YmVmb3JlIHtcXG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xcbn1cXG4jdGVtcGxhdGUtY3VzdG9taXplci50ZW1wbGF0ZS1jdXN0b21pemVyLW9wZW4gLnRlbXBsYXRlLWN1c3RvbWl6ZXItb3Blbi1idG4ge1xcbiAgb3BhY2l0eTogMDtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMHM7XFxuICAtby10cmFuc2l0aW9uLWRlbGF5OiAwcztcXG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcXG4gIC1tcy10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcXG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG4jdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci1jbG9zZS1idG4ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAzMnB4O1xcbiAgcmlnaHQ6IDA7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGZvbnQtc2l6ZTogMjBweDtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcXG59XFxuI3RlbXBsYXRlLWN1c3RvbWl6ZXIgLnRlbXBsYXRlLWN1c3RvbWl6ZXItaW5uZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgLW1zLWZsZXg6IDAgMSBhdXRvO1xcbiAgZmxleDogMCAxIGF1dG87XFxuICBvcGFjaXR5OiAxO1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XFxuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XFxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XFxufVxcbiN0ZW1wbGF0ZS1jdXN0b21pemVyIC50ZW1wbGF0ZS1jdXN0b21pemVyLWlubmVyID4gZGl2OmZpcnN0LWNoaWxkID4gaHI6Zmlyc3Qtb2YtdHlwZSB7XFxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XFxufVxcbiN0ZW1wbGF0ZS1jdXN0b21pemVyIC50ZW1wbGF0ZS1jdXN0b21pemVyLWlubmVyID4gZGl2OmZpcnN0LWNoaWxkID4gaDU6Zmlyc3Qtb2YtdHlwZSB7XFxuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xcbn1cXG4jdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci10aGVtZXMtaW5uZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgb3BhY2l0eTogMTtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xcbn1cXG4jdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci10aGVtZS1pdGVtIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gIC1tcy1mbGV4OiAxIDEgMTAwJTtcXG4gIGZsZXg6IDEgMSAxMDAlO1xcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbiAgcGFkZGluZzogMCAyNHB4O1xcbiAgd2lkdGg6IDEwMCU7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbiN0ZW1wbGF0ZS1jdXN0b21pemVyIC50ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lLWl0ZW0gaW5wdXQge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogLTE7XFxuICBvcGFjaXR5OiAwO1xcbn1cXG4jdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci10aGVtZS1pdGVtIGlucHV0IH4gc3BhbiB7XFxuICBvcGFjaXR5OiAwLjI1O1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcXG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzO1xcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XFxufVxcbiN0ZW1wbGF0ZS1jdXN0b21pemVyIC50ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lLWl0ZW0gLnRlbXBsYXRlLWN1c3RvbWl6ZXItdGhlbWUtY2hlY2ttYXJrIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHdpZHRoOiA2cHg7XFxuICBoZWlnaHQ6IDEycHg7XFxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcXG4gIG9wYWNpdHk6IDA7XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzO1xcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnM7XFxuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXG59XFxuW2Rpcj1ydGxdICN0ZW1wbGF0ZS1jdXN0b21pemVyIC50ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lLWl0ZW0gLnRlbXBsYXRlLWN1c3RvbWl6ZXItdGhlbWUtY2hlY2ttYXJrIHtcXG4gIGJvcmRlci1yaWdodDogbm9uZTtcXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxufVxcbiN0ZW1wbGF0ZS1jdXN0b21pemVyIC50ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lLWl0ZW0gaW5wdXQ6Y2hlY2tlZDpub3QoW2Rpc2FibGVkXSkgfiBzcGFuLCAjdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci10aGVtZS1pdGVtOmhvdmVyIGlucHV0Om5vdChbZGlzYWJsZWRdKSB+IHNwYW4ge1xcbiAgb3BhY2l0eTogMTtcXG59XFxuI3RlbXBsYXRlLWN1c3RvbWl6ZXIgLnRlbXBsYXRlLWN1c3RvbWl6ZXItdGhlbWUtaXRlbSBpbnB1dDpjaGVja2VkOm5vdChbZGlzYWJsZWRdKSB+IHNwYW4gLnRlbXBsYXRlLWN1c3RvbWl6ZXItdGhlbWUtY2hlY2ttYXJrIHtcXG4gIG9wYWNpdHk6IDE7XFxufVxcbiN0ZW1wbGF0ZS1jdXN0b21pemVyIC50ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lLWNvbG9ycyBzcGFuIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbWFyZ2luOiAwIDFweDtcXG4gIHdpZHRoOiAxMHB4O1xcbiAgaGVpZ2h0OiAxMHB4O1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0O1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldDtcXG59XFxuI3RlbXBsYXRlLWN1c3RvbWl6ZXIudGVtcGxhdGUtY3VzdG9taXplci1sb2FkaW5nIC50ZW1wbGF0ZS1jdXN0b21pemVyLWlubmVyLCAjdGVtcGxhdGUtY3VzdG9taXplci50ZW1wbGF0ZS1jdXN0b21pemVyLWxvYWRpbmctdGhlbWUgLnRlbXBsYXRlLWN1c3RvbWl6ZXItdGhlbWVzLWlubmVyIHtcXG4gIG9wYWNpdHk6IDAuMjtcXG59XFxuI3RlbXBsYXRlLWN1c3RvbWl6ZXIudGVtcGxhdGUtY3VzdG9taXplci1sb2FkaW5nIC50ZW1wbGF0ZS1jdXN0b21pemVyLWlubmVyOjphZnRlciwgI3RlbXBsYXRlLWN1c3RvbWl6ZXIudGVtcGxhdGUtY3VzdG9taXplci1sb2FkaW5nLXRoZW1lIC50ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lcy1pbm5lcjo6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiA5OTk7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuXFxuLmxheW91dC1tZW51LTEwMHZoICN0ZW1wbGF0ZS1jdXN0b21pemVyIHtcXG4gIGhlaWdodDogMTAwdmg7XFxufVxcblxcbltkaXI9cnRsXSAjdGVtcGxhdGUtY3VzdG9taXplciB7XFxuICByaWdodDogYXV0bztcXG4gIGxlZnQ6IDA7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzgwcHgpO1xcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzgwcHgpO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zODBweCk7XFxufVxcbltkaXI9cnRsXSAjdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci1vcGVuLWJ0biB7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IGF1dG87XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg2MnB4KTtcXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjJweCk7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjJweCk7XFxufVxcbltkaXI9cnRsXSAjdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci1jbG9zZS1idG4ge1xcbiAgcmlnaHQ6IGF1dG87XFxuICBsZWZ0OiAwO1xcbn1cXG5cXG4jdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci1sYXlvdXRzLW9wdGlvbnNbZGlzYWJsZWRdIHtcXG4gIG9wYWNpdHk6IDAuNTtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbn1cXG5cXG5bZGlyPXJ0bF0gLnRlbXBsYXRlLWN1c3RvbWl6ZXItdC1zdHlsZV9zd2l0Y2hfbGlnaHQge1xcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xcbn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9qcy9fdGVtcGxhdGUtY3VzdG9taXplci9fdGVtcGxhdGUtY3VzdG9taXplci5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBOztFQUFBO0FBbUJBO0VBQ0UsNEtBQUE7RUFFQSw2QkFBQTtFQUNBLGVBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0Esb0JBQUE7RUFDQSxhQUFBO0VBQ0EsNEJBQUE7RUFDQSw2QkFBQTtFQUNBLDBCQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQS9CaUI7RUFnQ2pCLGdCQUFBO0VBQ0EsaURBQUE7RUFDQSx5Q0FBQTtFQUNBLG9DQUFBO0VBQ0EsK0JBQUE7RUFDQSw0QkFBQTtFQUNBLG9DQUFBO0VBQ0EsZ0NBQUE7RUFDQSw0QkFBQTtBQWhCRjtBQWtC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aEROOztBQXFEQTtFQUNFLGFBQUE7QUFsREY7O0FBeURFO0VBQ0UsV0FBQTtFQUNBLE9BQUE7RUFDQSxxQ0FBQTtFQUNBLGlDQUFBO0VBQ0EsNkJBQUE7QUF0REo7QUF5REU7RUFDRSxRQUFBO0VBQ0EsVUFBQTtFQUNBLG1DQUFBO0VBQ0EsK0JBQUE7RUFDQSwyQkFBQTtBQXZESjtBQTBERTtFQUNFLFdBQUE7RUFDQSxPQUFBO0FBeERKOztBQTREQTtFQUNFLFlBQUE7RUFDQSxvQkFBQTtBQXpERjs7QUE4REU7RUFDRSwyQkFBQTtBQTNESlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIvKlxcclxcbiogVGVtcGxhdGUgQ3VzdG9taXplciBTdHlsZVxcclxcbioqL1xcclxcblxcclxcbiRjdXN0b21pemVyLXdpZHRoOiAzNjBweDtcXHJcXG4kY3VzdG9taXplci1zcGFjZXI6IDIwcHg7XFxyXFxuJGN1c3RvbWl6ZXItZm9udC1zaXplOiBpbmhlcml0O1xcclxcblxcclxcbiRvcGVuLWJ0bi1zaXplOiA0MnB4O1xcclxcbiRvcGVuLWJ0bi1zcGFjZXI6IDA7XFxyXFxuJG9wZW4tYnRuLWZvbnQtc2l6ZTogMThweDtcXHJcXG4kb3Blbi1idG4tdG9wOiAxODBweDtcXHJcXG4kb3Blbi1idG4tdG9wLW1kOiAxNDVweDtcXHJcXG5cXHJcXG4kb3Blbi1idG4tYmc6ICMzMzM7XFxyXFxuJG9wZW4tYnRuLWJnLWRhcms6ICM1NTU7XFxyXFxuJG9wZW4tYnRuLWNvbG9yOiAjZmZmO1xcclxcbiRvcGVuLWJ0bi1ib3JkZXItcmFkaXVzOiAxNSU7XFxyXFxuXFxyXFxuI3RlbXBsYXRlLWN1c3RvbWl6ZXIge1xcclxcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgc2Fucy1zZXJpZixcXHJcXG4gICAgJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJywgJ1NlZ29lIFVJIFN5bWJvbCcgIWltcG9ydGFudDtcXHJcXG4gIGZvbnQtc2l6ZTogJGN1c3RvbWl6ZXItZm9udC1zaXplICFpbXBvcnRhbnQ7XFxyXFxuICBwb3NpdGlvbjogZml4ZWQ7XFxyXFxuICB0b3A6IDA7XFxyXFxuICByaWdodDogMDtcXHJcXG4gIGhlaWdodDogMTAwJTtcXHJcXG4gIHotaW5kZXg6IDk5OTk5OTk5O1xcclxcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxyXFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXHJcXG4gIGRpc3BsYXk6IGZsZXg7XFxyXFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcclxcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxyXFxuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXHJcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxyXFxuICB3aWR0aDogJGN1c3RvbWl6ZXItd2lkdGg7XFxyXFxuICBiYWNrZ3JvdW5kOiAjZmZmO1xcclxcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcXHJcXG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xcclxcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluO1xcclxcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjtcXHJcXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW47XFxyXFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkY3VzdG9taXplci13aWR0aCArICRjdXN0b21pemVyLXNwYWNlcik7XFxyXFxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b21pemVyLXdpZHRoICsgJGN1c3RvbWl6ZXItc3BhY2VyKTtcXHJcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkY3VzdG9taXplci13aWR0aCArICRjdXN0b21pemVyLXNwYWNlcik7XFxyXFxuXFxyXFxuICBoNSB7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgZm9udC1zaXplOiAxMXB4O1xcclxcbiAgICBmb250LXdlaWdodDogNjAwO1xcclxcbiAgfVxcclxcblxcclxcbiAgPiBoNSB7XFxyXFxuICAgIGZsZXg6IDAgMCBhdXRvO1xcclxcbiAgfVxcclxcblxcclxcbiAgLmRpc2FibGVkIHtcXHJcXG4gICAgY29sb3I6ICNkMWQyZDMgIWltcG9ydGFudDtcXHJcXG4gIH1cXHJcXG5cXHJcXG4gICYudGVtcGxhdGUtY3VzdG9taXplci1vcGVuIHtcXHJcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xcclxcbiAgICAtby10cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xcclxcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xcclxcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xcclxcbiAgICAtbXMtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XFxyXFxuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xcclxcbiAgfVxcclxcblxcclxcbiAgLy8gQ3VzdG9taXplciBidXR0b25cXHJcXG5cXHJcXG4gIC50ZW1wbGF0ZS1jdXN0b21pemVyLW9wZW4tYnRuIHtcXHJcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcclxcbiAgICB0b3A6ICRvcGVuLWJ0bi10b3A7XFxyXFxuXFxyXFxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xcclxcbiAgICAgIHRvcDogJG9wZW4tYnRuLXRvcC1tZDtcXHJcXG4gICAgfVxcclxcbiAgICBsZWZ0OiAwO1xcclxcbiAgICB6LWluZGV4OiAtMTtcXHJcXG4gICAgZGlzcGxheTogYmxvY2s7XFxyXFxuICAgIHdpZHRoOiAkb3Blbi1idG4tc2l6ZTtcXHJcXG4gICAgaGVpZ2h0OiAkb3Blbi1idG4tc2l6ZTtcXHJcXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJG9wZW4tYnRuLWJvcmRlci1yYWRpdXM7XFxyXFxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRvcGVuLWJ0bi1ib3JkZXItcmFkaXVzO1xcclxcbiAgICBiYWNrZ3JvdW5kOiAkb3Blbi1idG4tYmc7XFxyXFxuICAgIGNvbG9yOiAkb3Blbi1idG4tY29sb3IgIWltcG9ydGFudDtcXHJcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xcclxcbiAgICBmb250LXNpemU6ICRvcGVuLWJ0bi1mb250LXNpemUgIWltcG9ydGFudDtcXHJcXG4gICAgbGluZS1oZWlnaHQ6ICRvcGVuLWJ0bi1zaXplO1xcclxcbiAgICBvcGFjaXR5OiAxO1xcclxcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhciAwLjJzO1xcclxcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXIgMC4ycztcXHJcXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyIDAuMnM7XFxyXFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0oJG9wZW4tYnRuLXNpemUgKyAkY3VzdG9taXplci1zcGFjZXIgKyAkb3Blbi1idG4tc3BhY2VyKSk7XFxyXFxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSgkb3Blbi1idG4tc2l6ZSArICRjdXN0b21pemVyLXNwYWNlciArICRvcGVuLWJ0bi1zcGFjZXIpKTtcXHJcXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0oJG9wZW4tYnRuLXNpemUgKyAkY3VzdG9taXplci1zcGFjZXIgKyAkb3Blbi1idG4tc3BhY2VyKSk7XFxyXFxuXFxyXFxuICAgIC5kYXJrLXN0eWxlICYge1xcclxcbiAgICAgIGJhY2tncm91bmQ6ICRvcGVuLWJ0bi1iZy1kYXJrO1xcclxcbiAgICB9XFxyXFxuICAgICY6OmJlZm9yZSB7XFxyXFxuICAgICAgY29udGVudDogJyc7XFxyXFxuICAgICAgd2lkdGg6IDIycHg7XFxyXFxuICAgICAgaGVpZ2h0OiAyMnB4O1xcclxcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xcclxcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xcclxcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXHJcXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBREFBQUFBd0NBWUFBQUJYQXZtSEFBQUFBWE5TUjBJQXJzNGM2UUFBQkNsSlJFRlVhRVB0bVkxUkZFRVFoYnNqVUNJUUloQWlVQ05RSXhBaUVDSVFJeEFpRUNJQUlwQU1oQWlFQ0lRSTJ2cXVacW5adnA2ZmhiM1NLNW1xcTZKdTkyYjY5YnpYZjZpcytkSTF0MStlQWZ6dEc1ejFCc3hzVTBTK2ljaTJpUEIzdm01RTVFcEVEbFNWdjJkWnN3Rkl4djhVa1pjTnkrNUVaR2N1RUhNQ09CZVI5NTF1dlZEVkQ1M3ZWbCtiRThEdkR1OFB4dHlvNnRhL0JzQnlnMVIxNUJ3enF6NS9MSmduMzRDWndmblBJbkk0QlVCNi8xaFYwY1NqVnhjQU00UGJjQlpqTDBYa2xJUE43SXMzZkxDa2RRUHBQWXcvVk5YajVJaFBJdkpXUkloU2w2cDYwVUxXQkdCbTMwVmsxMjNFd1J4Q3VJeldra2pOckNaeXdpdGgxMGV3RTFYZHE0R29BakN6L1JUWFc0NFludCtMeUJFZlQ0M2tZZmJqODZKM3c1UTMyRE5jUlFEcHdGK2RrUVhETWV5OHhlbTBMM1RFcUI0ZzNQWldhZDhhZ0JNUmdaUGV1OTZEMS9DMlpiaDNYMHA4ME9wMXh4bG96dE40OGJNUVFOb2M3K2VMRXVBb1BTUGlJRFk0T29vK0U2aXhlTlhNK0QzR0VSejJVM0NJcU1zdExKVWdKUURlKzdlcTZtdWIwTllFa0xBS3dFSGtpQlFEQ1p0ZGRaQ1o4ZDZyN0pEd0Zrb0FSa2xIUlBaVUZWRFZaV2J3R3VOckM0RWZkT3pGclJBQmgzV25xaHYrZDcwQUVCTEdGUk9QbWVIbG5NODFHNjlVZFNkNklVdU0wR2dVVm4xdXFXbWc1RW1NZkJlRXlCN1BlM3R4QmtZK3JHVDhqMEorV1hxL0JnRGtVQ2FxTGdFQW53Y1JvZzB2ZU1JcUZBQXdDeTJ3bncrYkkyR2FHYm9CZ0Y5azVOMG8wclVTR1ViNGVPMEJlTzlqL0dZaGtTSE1ITVRJcXdHQVJYNnA2YStubFBCbDhrWnVYTUQ5ajZwS2ZGOWFadWFGT2RKQ0VMNUQ0ZVliOXdDWVZDYW5yQm1HeWlpL3RJcStTTGovSFFCQ2FNNWJMendmUHFkUTZGcFZIeXJhNElidVZiWGFZN2RFVEMyRVNQTk5XaUlPaTY5Q2NkZ1NNWHNoNHROU1Vpa2xNZ3dtQzBhTmQwOFk1V0FFUzZISGVoTTRndTk3d3loQmdXcGdxWHNyQVNnbHByRHk3Q3doZWhNWk9TYks2Sk1TbWErRmlvMUtsdENtbEJJajdnZlpPR3g4cHBRU1hyaHpGbk9oSi8zMUJEa2pGSFJ2T2QwOXgwbVJCQTlTRmd4VWdIcFFnMHEwdDV5bVBNbEwrRW5sZEZUZkRBME5BbWYrT1RRMFgwc1JvdWY3Tk5rWUdock9ZTnJ4dElhR2c4M01OelZEU2UzTFhMaFA3Ty95ckNzQ3oxemxXVHBqV2t1WkFPQnBYM3lWbkxxSTF5TENPS1U2cU1ybVA3U1NyVUV3NTRYRjRXQklLNUZ4Q01PcjNsVnNmR3FOU21QekJYVW5KVElYMWp5VkJxOXdPNlVPYk9wZ0M1R2pPOTh2RktuVGRRTVpYeEVzV1psRGlDWk1JeEFiTnhRT3FscFZadG9iZWpCYVpOb0JuUkR6TUZwa3h2VFFPRDM2QmxyY3lTWnVJNnAxQUNCNkxVM3dXdWY1NTgxK29IZkQxdmk4OWJ6M25GVUM4Tm03WmxQM25La0ZiTTRiV1B0L01TRndrbHByWUl0d3Q2Y212cFdKMklWY1FCQ3o2Ykx5c1NDdjNTYUFOQ2lUc25hTlJyTlJxTVhWVlQxL0JyQXF6L2J1dS9ZMzhBZDNLQzVQQVJlajBRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XFxyXFxuICAgICAgbWFyZ2luOiAxMHB4O1xcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIC8vIEN1c3RvbWl6ZXIgSGlkZGVuXFxyXFxuICAgIC5jdXN0b21pemVyLWhpZGUgJiB7XFxyXFxuICAgICAgZGlzcGxheTogbm9uZTtcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICBbZGlyPSdydGwnXSAmIHtcXHJcXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xcclxcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkb3Blbi1idG4tYm9yZGVyLXJhZGl1cztcXHJcXG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJG9wZW4tYnRuLWJvcmRlci1yYWRpdXM7XFxyXFxuXFxyXFxuICAgICAgJjo6YmVmb3JlIHtcXHJcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xcclxcbiAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgfVxcclxcblxcclxcbiAgJi50ZW1wbGF0ZS1jdXN0b21pemVyLW9wZW4gLnRlbXBsYXRlLWN1c3RvbWl6ZXItb3Blbi1idG4ge1xcclxcbiAgICBvcGFjaXR5OiAwO1xcclxcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDBzO1xcclxcbiAgICAtby10cmFuc2l0aW9uLWRlbGF5OiAwcztcXHJcXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XFxyXFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XFxyXFxuICAgIC1tcy10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcXHJcXG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XFxyXFxuICB9XFxyXFxuXFxyXFxuICAudGVtcGxhdGUtY3VzdG9taXplci1jbG9zZS1idG4ge1xcclxcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxyXFxuICAgIHRvcDogMzJweDtcXHJcXG4gICAgcmlnaHQ6IDA7XFxyXFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcclxcbiAgICBmb250LXNpemU6IDIwcHg7XFxyXFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xcclxcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xcclxcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XFxyXFxuICB9XFxyXFxuXFxyXFxuICAvLyBDdXN0b21pemVyIGlubmVyXFxyXFxuICAudGVtcGxhdGUtY3VzdG9taXplci1pbm5lciB7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgb3ZlcmZsb3c6IGF1dG87XFxyXFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxyXFxuICAgIC1tcy1mbGV4OiAwIDEgYXV0bztcXHJcXG4gICAgZmxleDogMCAxIGF1dG87XFxyXFxuICAgIG9wYWNpdHk6IDE7XFxyXFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xcclxcbiAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XFxyXFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcXHJcXG5cXHJcXG4gICAgPiBkaXY6Zmlyc3QtY2hpbGQge1xcclxcbiAgICAgID4gaHI6Zmlyc3Qtb2YtdHlwZSB7XFxyXFxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XFxyXFxuICAgICAgfVxcclxcbiAgICAgID4gaDU6Zmlyc3Qtb2YtdHlwZSB7XFxyXFxuICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xcclxcbiAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgfVxcclxcblxcclxcbiAgLy8gVGhlbWVcXHJcXG4gIC50ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lcy1pbm5lciB7XFxyXFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXHJcXG4gICAgb3BhY2l0eTogMTtcXHJcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XFxyXFxuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcXHJcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xcclxcbiAgfVxcclxcblxcclxcbiAgLnRlbXBsYXRlLWN1c3RvbWl6ZXItdGhlbWUtaXRlbSB7XFxyXFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcclxcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXHJcXG4gICAgZGlzcGxheTogZmxleDtcXHJcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXHJcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXHJcXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXHJcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXHJcXG4gICAgLW1zLWZsZXg6IDEgMSAxMDAlO1xcclxcbiAgICBmbGV4OiAxIDEgMTAwJTtcXHJcXG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXHJcXG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcXHJcXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcclxcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcclxcbiAgICBwYWRkaW5nOiAwIDI0cHg7XFxyXFxuICAgIHdpZHRoOiAxMDAlO1xcclxcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxyXFxuXFxyXFxuICAgIGlucHV0IHtcXHJcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxyXFxuICAgICAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxcclxcbiAgICAgIG9wYWNpdHk6IDA7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgaW5wdXQgfiBzcGFuIHtcXHJcXG4gICAgICBvcGFjaXR5OiAwLjI1O1xcclxcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7XFxyXFxuICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnM7XFxyXFxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgLnRlbXBsYXRlLWN1c3RvbWl6ZXItdGhlbWUtY2hlY2ttYXJrIHtcXHJcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxyXFxuICAgICAgd2lkdGg6IDZweDtcXHJcXG4gICAgICBoZWlnaHQ6IDEycHg7XFxyXFxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XFxyXFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xcclxcbiAgICAgIG9wYWNpdHk6IDA7XFxyXFxuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcXHJcXG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycztcXHJcXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcXHJcXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXHJcXG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xcclxcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcXHJcXG5cXHJcXG4gICAgICBbZGlyPSdydGwnXSAmIHtcXHJcXG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcXHJcXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XFxyXFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxyXFxuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcXHJcXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XFxyXFxuICAgICAgfVxcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIGlucHV0OmNoZWNrZWQ6bm90KFtkaXNhYmxlZF0pIH4gc3BhbixcXHJcXG4gICAgJjpob3ZlciBpbnB1dDpub3QoW2Rpc2FibGVkXSkgfiBzcGFuIHtcXHJcXG4gICAgICBvcGFjaXR5OiAxO1xcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIGlucHV0OmNoZWNrZWQ6bm90KFtkaXNhYmxlZF0pIH4gc3BhbiAudGVtcGxhdGUtY3VzdG9taXplci10aGVtZS1jaGVja21hcmsge1xcclxcbiAgICAgIG9wYWNpdHk6IDE7XFxyXFxuICAgIH1cXHJcXG4gIH1cXHJcXG5cXHJcXG4gIC50ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lLWNvbG9ycyB7XFxyXFxuICAgIHNwYW4ge1xcclxcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xcclxcbiAgICAgIG1hcmdpbjogMCAxcHg7XFxyXFxuICAgICAgd2lkdGg6IDEwcHg7XFxyXFxuICAgICAgaGVpZ2h0OiAxMHB4O1xcclxcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcXHJcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQ7XFxyXFxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldDtcXHJcXG4gICAgfVxcclxcbiAgfVxcclxcblxcclxcbiAgJi50ZW1wbGF0ZS1jdXN0b21pemVyLWxvYWRpbmcgLnRlbXBsYXRlLWN1c3RvbWl6ZXItaW5uZXIsXFxyXFxuICAmLnRlbXBsYXRlLWN1c3RvbWl6ZXItbG9hZGluZy10aGVtZSAudGVtcGxhdGUtY3VzdG9taXplci10aGVtZXMtaW5uZXIge1xcclxcbiAgICBvcGFjaXR5OiAwLjI7XFxyXFxuXFxyXFxuICAgICY6OmFmdGVyIHtcXHJcXG4gICAgICBjb250ZW50OiAnJztcXHJcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxyXFxuICAgICAgdG9wOiAwO1xcclxcbiAgICAgIHJpZ2h0OiAwO1xcclxcbiAgICAgIGJvdHRvbTogMDtcXHJcXG4gICAgICBsZWZ0OiAwO1xcclxcbiAgICAgIHotaW5kZXg6IDk5OTtcXHJcXG4gICAgICBkaXNwbGF5OiBibG9jaztcXHJcXG4gICAgfVxcclxcbiAgfVxcclxcbn1cXHJcXG5cXHJcXG4ubGF5b3V0LW1lbnUtMTAwdmggI3RlbXBsYXRlLWN1c3RvbWl6ZXIge1xcclxcbiAgaGVpZ2h0OiAxMDB2aDtcXHJcXG59XFxyXFxuXFxyXFxuLy8gUlRMXFxyXFxuLy9cXHJcXG5cXHJcXG5bZGlyPSdydGwnXSB7XFxyXFxuICAjdGVtcGxhdGUtY3VzdG9taXplciB7XFxyXFxuICAgIHJpZ2h0OiBhdXRvO1xcclxcbiAgICBsZWZ0OiAwO1xcclxcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtKCRjdXN0b21pemVyLXdpZHRoICsgJGN1c3RvbWl6ZXItc3BhY2VyKSk7XFxyXFxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSgkY3VzdG9taXplci13aWR0aCArICRjdXN0b21pemVyLXNwYWNlcikpO1xcclxcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSgkY3VzdG9taXplci13aWR0aCArICRjdXN0b21pemVyLXNwYWNlcikpO1xcclxcbiAgfVxcclxcblxcclxcbiAgI3RlbXBsYXRlLWN1c3RvbWl6ZXIgLnRlbXBsYXRlLWN1c3RvbWl6ZXItb3Blbi1idG4ge1xcclxcbiAgICByaWdodDogMDtcXHJcXG4gICAgbGVmdDogYXV0bztcXHJcXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJG9wZW4tYnRuLXNpemUgKyAkY3VzdG9taXplci1zcGFjZXIgKyAkb3Blbi1idG4tc3BhY2VyKTtcXHJcXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgkb3Blbi1idG4tc2l6ZSArICRjdXN0b21pemVyLXNwYWNlciArICRvcGVuLWJ0bi1zcGFjZXIpO1xcclxcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJG9wZW4tYnRuLXNpemUgKyAkY3VzdG9taXplci1zcGFjZXIgKyAkb3Blbi1idG4tc3BhY2VyKTtcXHJcXG4gIH1cXHJcXG5cXHJcXG4gICN0ZW1wbGF0ZS1jdXN0b21pemVyIC50ZW1wbGF0ZS1jdXN0b21pemVyLWNsb3NlLWJ0biB7XFxyXFxuICAgIHJpZ2h0OiBhdXRvO1xcclxcbiAgICBsZWZ0OiAwO1xcclxcbiAgfVxcclxcbn1cXHJcXG5cXHJcXG4jdGVtcGxhdGUtY3VzdG9taXplciAudGVtcGxhdGUtY3VzdG9taXplci1sYXlvdXRzLW9wdGlvbnNbZGlzYWJsZWRdIHtcXHJcXG4gIG9wYWNpdHk6IDAuNTtcXHJcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcclxcbn1cXHJcXG5cXHJcXG4vLyAhIEZJWDogbW9kZSBzd2l0Y2ggcG9zaXRpb24gaW4gUlRMXFxyXFxuW2Rpcj0ncnRsJ10ge1xcclxcbiAgLnRlbXBsYXRlLWN1c3RvbWl6ZXItdC1zdHlsZV9zd2l0Y2hfbGlnaHQge1xcclxcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XFxyXFxuICB9XFxyXFxufVxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./js/_template-customizer/_template-customizer.scss\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/css-loader/dist/runtime/api.js":
|
|
/*!*****************************************************!*\
|
|
!*** ./node_modules/css-loader/dist/runtime/api.js ***!
|
|
\*****************************************************/
|
|
/***/ (function(module) {
|
|
|
|
eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQ7QUFDckQ7QUFDQTtBQUNBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0EscUZBQXFGO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixpQkFBaUI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLHFCQUFxQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVixzRkFBc0YscUJBQXFCO0FBQzNHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVixpREFBaUQscUJBQXFCO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVixzREFBc0QscUJBQXFCO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9WdWV4eS8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanM/MjRmYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLypcbiAgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbiAgQXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcpIHtcbiAgdmFyIGxpc3QgPSBbXTtcblxuICAvLyByZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhcyBjc3Mgc3RyaW5nXG4gIGxpc3QudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHZhciBjb250ZW50ID0gXCJcIjtcbiAgICAgIHZhciBuZWVkTGF5ZXIgPSB0eXBlb2YgaXRlbVs1XSAhPT0gXCJ1bmRlZmluZWRcIjtcbiAgICAgIGlmIChpdGVtWzRdKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJAc3VwcG9ydHMgKFwiLmNvbmNhdChpdGVtWzRdLCBcIikge1wiKTtcbiAgICAgIH1cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJAbWVkaWEgXCIuY29uY2F0KGl0ZW1bMl0sIFwiIHtcIik7XG4gICAgICB9XG4gICAgICBpZiAobmVlZExheWVyKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJAbGF5ZXJcIi5jb25jYXQoaXRlbVs1XS5sZW5ndGggPiAwID8gXCIgXCIuY29uY2F0KGl0ZW1bNV0pIDogXCJcIiwgXCIge1wiKTtcbiAgICAgIH1cbiAgICAgIGNvbnRlbnQgKz0gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtKTtcbiAgICAgIGlmIChuZWVkTGF5ZXIpIHtcbiAgICAgICAgY29udGVudCArPSBcIn1cIjtcbiAgICAgIH1cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJ9XCI7XG4gICAgICB9XG4gICAgICBpZiAoaXRlbVs0XSkge1xuICAgICAgICBjb250ZW50ICs9IFwifVwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfSkuam9pbihcIlwiKTtcbiAgfTtcblxuICAvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuICBsaXN0LmkgPSBmdW5jdGlvbiBpKG1vZHVsZXMsIG1lZGlhLCBkZWR1cGUsIHN1cHBvcnRzLCBsYXllcikge1xuICAgIGlmICh0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgdW5kZWZpbmVkXV07XG4gICAgfVxuICAgIHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG4gICAgaWYgKGRlZHVwZSkge1xuICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCB0aGlzLmxlbmd0aDsgaysrKSB7XG4gICAgICAgIHZhciBpZCA9IHRoaXNba11bMF07XG4gICAgICAgIGlmIChpZCAhPSBudWxsKSB7XG4gICAgICAgICAgYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpZF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAodmFyIF9rID0gMDsgX2sgPCBtb2R1bGVzLmxlbmd0aDsgX2srKykge1xuICAgICAgdmFyIGl0ZW0gPSBbXS5jb25jYXQobW9kdWxlc1tfa10pO1xuICAgICAgaWYgKGRlZHVwZSAmJiBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2l0ZW1bMF1dKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBsYXllciAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW1bNV0gPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICBpdGVtWzVdID0gbGF5ZXI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbVsxXSA9IFwiQGxheWVyXCIuY29uY2F0KGl0ZW1bNV0ubGVuZ3RoID4gMCA/IFwiIFwiLmNvbmNhdChpdGVtWzVdKSA6IFwiXCIsIFwiIHtcIikuY29uY2F0KGl0ZW1bMV0sIFwifVwiKTtcbiAgICAgICAgICBpdGVtWzVdID0gbGF5ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChtZWRpYSkge1xuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcbiAgICAgICAgICBpdGVtWzJdID0gbWVkaWE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbVsxXSA9IFwiQG1lZGlhIFwiLmNvbmNhdChpdGVtWzJdLCBcIiB7XCIpLmNvbmNhdChpdGVtWzFdLCBcIn1cIik7XG4gICAgICAgICAgaXRlbVsyXSA9IG1lZGlhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc3VwcG9ydHMpIHtcbiAgICAgICAgaWYgKCFpdGVtWzRdKSB7XG4gICAgICAgICAgaXRlbVs0XSA9IFwiXCIuY29uY2F0KHN1cHBvcnRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzFdID0gXCJAc3VwcG9ydHMgKFwiLmNvbmNhdChpdGVtWzRdLCBcIikge1wiKS5jb25jYXQoaXRlbVsxXSwgXCJ9XCIpO1xuICAgICAgICAgIGl0ZW1bNF0gPSBzdXBwb3J0cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIGxpc3Q7XG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/runtime/api.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/css-loader/dist/runtime/getUrl.js":
|
|
/*!********************************************************!*\
|
|
!*** ./node_modules/css-loader/dist/runtime/getUrl.js ***!
|
|
\********************************************************/
|
|
/***/ (function(module) {
|
|
|
|
eval("\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9WdWV4eS8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9nZXRVcmwuanM/MWRlNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodXJsLCBvcHRpb25zKSB7XG4gIGlmICghb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICBpZiAoIXVybCkge1xuICAgIHJldHVybiB1cmw7XG4gIH1cbiAgdXJsID0gU3RyaW5nKHVybC5fX2VzTW9kdWxlID8gdXJsLmRlZmF1bHQgOiB1cmwpO1xuXG4gIC8vIElmIHVybCBpcyBhbHJlYWR5IHdyYXBwZWQgaW4gcXVvdGVzLCByZW1vdmUgdGhlbVxuICBpZiAoL15bJ1wiXS4qWydcIl0kLy50ZXN0KHVybCkpIHtcbiAgICB1cmwgPSB1cmwuc2xpY2UoMSwgLTEpO1xuICB9XG4gIGlmIChvcHRpb25zLmhhc2gpIHtcbiAgICB1cmwgKz0gb3B0aW9ucy5oYXNoO1xuICB9XG5cbiAgLy8gU2hvdWxkIHVybCBiZSB3cmFwcGVkP1xuICAvLyBTZWUgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YWx1ZXMtMy8jdXJsc1xuICBpZiAoL1tcIicoKSBcXHRcXG5dfCglMjApLy50ZXN0KHVybCkgfHwgb3B0aW9ucy5uZWVkUXVvdGVzKSB7XG4gICAgcmV0dXJuIFwiXFxcIlwiLmNvbmNhdCh1cmwucmVwbGFjZSgvXCIvZywgJ1xcXFxcIicpLnJlcGxhY2UoL1xcbi9nLCBcIlxcXFxuXCIpLCBcIlxcXCJcIik7XG4gIH1cbiAgcmV0dXJuIHVybDtcbn07Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/runtime/getUrl.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/css-loader/dist/runtime/sourceMaps.js":
|
|
/*!************************************************************!*\
|
|
!*** ./node_modules/css-loader/dist/runtime/sourceMaps.js ***!
|
|
\************************************************************/
|
|
/***/ (function(module) {
|
|
|
|
eval("\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVELGNBQWM7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL1Z1ZXh5Ly4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanM/YWYxMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXRlbSkge1xuICB2YXIgY29udGVudCA9IGl0ZW1bMV07XG4gIHZhciBjc3NNYXBwaW5nID0gaXRlbVszXTtcbiAgaWYgKCFjc3NNYXBwaW5nKSB7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cbiAgaWYgKHR5cGVvZiBidG9hID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoY3NzTWFwcGluZykpKSk7XG4gICAgdmFyIGRhdGEgPSBcInNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFwiLmNvbmNhdChiYXNlNjQpO1xuICAgIHZhciBzb3VyY2VNYXBwaW5nID0gXCIvKiMgXCIuY29uY2F0KGRhdGEsIFwiICovXCIpO1xuICAgIHJldHVybiBbY29udGVudF0uY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbihcIlxcblwiKTtcbiAgfVxuICByZXR1cm4gW2NvbnRlbnRdLmpvaW4oXCJcXG5cIik7XG59OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/runtime/sourceMaps.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./js/_template-customizer/_template-customizer.html":
|
|
/*!***********************************************************!*\
|
|
!*** ./js/_template-customizer/_template-customizer.html ***!
|
|
\***********************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n// Module\nvar code = \"<div id=\\\"template-customizer\\\" class=\\\"invert-bg-white\\\"> <a href=\\\"javascript:void(0)\\\" class=\\\"template-customizer-open-btn\\\" tabindex=\\\"-1\\\"></a> <div class=\\\"p-4 m-0 lh-1 border-bottom template-customizer-header\\\"> <h4 class=\\\"template-customizer-t-panel_header mb-2\\\"></h4> <p class=\\\"template-customizer-t-panel_sub_header mb-0\\\"></p> <a href=\\\"javascript:void(0)\\\" class=\\\"btn-close template-customizer-close-btn fw-light px-4 py-2 text-body\\\" tabindex=\\\"-1\\\"></a> </div> <div class=\\\"template-customizer-inner pt-4\\\"> <div class=\\\"template-customizer-theming\\\"> <h5 class=\\\"m-0 px-4 py-4 lh-1 text-light d-block\\\"> <span class=\\\"template-customizer-t-theming_header\\\"></span> </h5> <div class=\\\"m-0 px-4 pb-3 template-customizer-themes w-100\\\"> <label for=\\\"customizerTheme\\\" class=\\\"form-label template-customizer-t-theme_label\\\"></label> <div class=\\\"row row-cols-lg-auto g-3 align-items-center template-customizer-themes-options\\\"></div> </div> <div class=\\\"m-0 px-4 pb-3 pt-1 template-customizer-style w-100\\\"> <label for=\\\"customizerStyle\\\" class=\\\"form-label d-block template-customizer-t-style_label\\\"></label> <label class=\\\"switch switch-sm\\\"> <span class=\\\"switch-label template-customizer-t-style_switch_light\\\"></span> <input type=\\\"checkbox\\\" class=\\\"switch-input\\\"/> <span class=\\\"switch-toggle-slider\\\"> <span class=\\\"switch-on\\\"></span> <span class=\\\"switch-off\\\"></span> </span> <span class=\\\"switch-label template-customizer-t-style_switch_dark\\\"></span> </label> </div> </div> <div class=\\\"template-customizer-layout\\\"> <hr class=\\\"m-0\\\"> <h5 class=\\\"m-0 px-4 py-4 lh-1 text-light d-block\\\"> <span class=\\\"template-customizer-t-layout_header\\\"></span> </h5> <div class=\\\"m-0 px-4 pb-3 d-block template-customizer-layoutType\\\"> <label for=\\\"customizerStyle\\\" class=\\\"form-label d-block template-customizer-t-layout_label\\\"></label> <div class=\\\"row row-cols-lg-auto g-3 align-items-center template-customizer-layouts-options\\\"> <div class=\\\"col-12\\\"> <div class=\\\"form-check\\\"> <input class=\\\"form-check-input\\\" type=\\\"radio\\\" name=\\\"layoutRadios\\\" id=\\\"layoutRadios-static\\\" value=\\\"static\\\"> <label class=\\\"form-check-label template-customizer-t-layout_static\\\" for=\\\"layoutRadios-static\\\"></label> </div> </div> <div class=\\\"col-12\\\"> <div class=\\\"form-check\\\"> <input class=\\\"form-check-input\\\" type=\\\"radio\\\" name=\\\"layoutRadios\\\" id=\\\"layoutRadios-fixed\\\" value=\\\"fixed\\\"> <label class=\\\"form-check-label template-customizer-t-layout_fixed\\\" for=\\\"layoutRadios-fixed\\\"></label> </div> </div> </div> </div> <label class=\\\"m-0 px-4 pb-3 d-flex media align-items-middle justify-content-between template-customizer-layoutNavbarFixed\\\"> <span class=\\\"template-customizer-t-layout_navbar_label\\\"></span> <label class=\\\"switch switch-sm pe-4\\\"> <input type=\\\"checkbox\\\" class=\\\"switch-input\\\"/> <span class=\\\"switch-toggle-slider\\\"> <span class=\\\"switch-on\\\"></span> <span class=\\\"switch-off\\\"></span> </span> </label> </label> <label class=\\\"m-0 px-4 pb-3 d-flex media align-items-middle justify-content-between template-customizer-layoutFooterFixed\\\"> <span class=\\\"template-customizer-t-layout_footer_label\\\"></span> <label class=\\\"switch switch-sm pe-4\\\"> <input type=\\\"checkbox\\\" class=\\\"switch-input\\\"/> <span class=\\\"switch-toggle-slider\\\"> <span class=\\\"switch-on\\\"></span> <span class=\\\"switch-off\\\"></span> </span> </label> </label> <label class=\\\"m-0 px-4 pb-3 d-flex media align-items-middle justify-content-between template-customizer-showDropdownOnHover\\\"> <span class=\\\"template-customizer-t-layout_dd_open_label\\\"></span> <label class=\\\"switch switch-sm pe-4\\\"> <input type=\\\"checkbox\\\" class=\\\"switch-input\\\"/> <span class=\\\"switch-toggle-slider\\\"> <span class=\\\"switch-on\\\"></span> <span class=\\\"switch-off\\\"></span> </span> </label> </label> </div> <div class=\\\"template-customizer-misc\\\"> <hr class=\\\"m-0\\\"> <h5 class=\\\"m-0 px-4 py-4 lh-1 text-light d-block\\\"> <span class=\\\"template-customizer-t-misc_header\\\"></span> </h5> <label class=\\\"m-0 px-4 pb-3 d-flex media align-items-middle justify-content-between template-customizer-rtl\\\"> <span class=\\\"template-customizer-t-rtl_label\\\"></span> <label class=\\\"switch switch-sm pe-4\\\"> <input type=\\\"checkbox\\\" class=\\\"switch-input\\\"/> <span class=\\\"switch-toggle-slider\\\"> <span class=\\\"switch-on\\\"></span> <span class=\\\"switch-off\\\"></span> </span> </label> </label> </div> </div> </div>\";\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (code);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9qcy9fdGVtcGxhdGUtY3VzdG9taXplci9fdGVtcGxhdGUtY3VzdG9taXplci5odG1sLmpzIiwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQSwrREFBZSxJQUFJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vVnVleHkvLi9qcy9fdGVtcGxhdGUtY3VzdG9taXplci9fdGVtcGxhdGUtY3VzdG9taXplci5odG1sP2VmZDUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gTW9kdWxlXG52YXIgY29kZSA9IFwiPGRpdiBpZD1cXFwidGVtcGxhdGUtY3VzdG9taXplclxcXCIgY2xhc3M9XFxcImludmVydC1iZy13aGl0ZVxcXCI+IDxhIGhyZWY9XFxcImphdmFzY3JpcHQ6dm9pZCgwKVxcXCIgY2xhc3M9XFxcInRlbXBsYXRlLWN1c3RvbWl6ZXItb3Blbi1idG5cXFwiIHRhYmluZGV4PVxcXCItMVxcXCI+PC9hPiA8ZGl2IGNsYXNzPVxcXCJwLTQgbS0wIGxoLTEgYm9yZGVyLWJvdHRvbSB0ZW1wbGF0ZS1jdXN0b21pemVyLWhlYWRlclxcXCI+IDxoNCBjbGFzcz1cXFwidGVtcGxhdGUtY3VzdG9taXplci10LXBhbmVsX2hlYWRlciBtYi0yXFxcIj48L2g0PiA8cCBjbGFzcz1cXFwidGVtcGxhdGUtY3VzdG9taXplci10LXBhbmVsX3N1Yl9oZWFkZXIgbWItMFxcXCI+PC9wPiA8YSBocmVmPVxcXCJqYXZhc2NyaXB0OnZvaWQoMClcXFwiIGNsYXNzPVxcXCJidG4tY2xvc2UgdGVtcGxhdGUtY3VzdG9taXplci1jbG9zZS1idG4gZnctbGlnaHQgcHgtNCBweS0yIHRleHQtYm9keVxcXCIgdGFiaW5kZXg9XFxcIi0xXFxcIj48L2E+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJ0ZW1wbGF0ZS1jdXN0b21pemVyLWlubmVyIHB0LTRcXFwiPiA8ZGl2IGNsYXNzPVxcXCJ0ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1pbmdcXFwiPiA8aDUgY2xhc3M9XFxcIm0tMCBweC00IHB5LTQgbGgtMSB0ZXh0LWxpZ2h0IGQtYmxvY2tcXFwiPiA8c3BhbiBjbGFzcz1cXFwidGVtcGxhdGUtY3VzdG9taXplci10LXRoZW1pbmdfaGVhZGVyXFxcIj48L3NwYW4+IDwvaDU+IDxkaXYgY2xhc3M9XFxcIm0tMCBweC00IHBiLTMgdGVtcGxhdGUtY3VzdG9taXplci10aGVtZXMgdy0xMDBcXFwiPiA8bGFiZWwgZm9yPVxcXCJjdXN0b21pemVyVGhlbWVcXFwiIGNsYXNzPVxcXCJmb3JtLWxhYmVsIHRlbXBsYXRlLWN1c3RvbWl6ZXItdC10aGVtZV9sYWJlbFxcXCI+PC9sYWJlbD4gPGRpdiBjbGFzcz1cXFwicm93IHJvdy1jb2xzLWxnLWF1dG8gZy0zIGFsaWduLWl0ZW1zLWNlbnRlciB0ZW1wbGF0ZS1jdXN0b21pemVyLXRoZW1lcy1vcHRpb25zXFxcIj48L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm0tMCBweC00IHBiLTMgcHQtMSB0ZW1wbGF0ZS1jdXN0b21pemVyLXN0eWxlIHctMTAwXFxcIj4gPGxhYmVsIGZvcj1cXFwiY3VzdG9taXplclN0eWxlXFxcIiBjbGFzcz1cXFwiZm9ybS1sYWJlbCBkLWJsb2NrIHRlbXBsYXRlLWN1c3RvbWl6ZXItdC1zdHlsZV9sYWJlbFxcXCI+PC9sYWJlbD4gPGxhYmVsIGNsYXNzPVxcXCJzd2l0Y2ggc3dpdGNoLXNtXFxcIj4gPHNwYW4gY2xhc3M9XFxcInN3aXRjaC1sYWJlbCB0ZW1wbGF0ZS1jdXN0b21pemVyLXQtc3R5bGVfc3dpdGNoX2xpZ2h0XFxcIj48L3NwYW4+IDxpbnB1dCB0eXBlPVxcXCJjaGVja2JveFxcXCIgY2xhc3M9XFxcInN3aXRjaC1pbnB1dFxcXCIvPiA8c3BhbiBjbGFzcz1cXFwic3dpdGNoLXRvZ2dsZS1zbGlkZXJcXFwiPiA8c3BhbiBjbGFzcz1cXFwic3dpdGNoLW9uXFxcIj48L3NwYW4+IDxzcGFuIGNsYXNzPVxcXCJzd2l0Y2gtb2ZmXFxcIj48L3NwYW4+IDwvc3Bhbj4gPHNwYW4gY2xhc3M9XFxcInN3aXRjaC1sYWJlbCB0ZW1wbGF0ZS1jdXN0b21pemVyLXQtc3R5bGVfc3dpdGNoX2RhcmtcXFwiPjwvc3Bhbj4gPC9sYWJlbD4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJ0ZW1wbGF0ZS1jdXN0b21pemVyLWxheW91dFxcXCI+IDxociBjbGFzcz1cXFwibS0wXFxcIj4gPGg1IGNsYXNzPVxcXCJtLTAgcHgtNCBweS00IGxoLTEgdGV4dC1saWdodCBkLWJsb2NrXFxcIj4gPHNwYW4gY2xhc3M9XFxcInRlbXBsYXRlLWN1c3RvbWl6ZXItdC1sYXlvdXRfaGVhZGVyXFxcIj48L3NwYW4+IDwvaDU+IDxkaXYgY2xhc3M9XFxcIm0tMCBweC00IHBiLTMgZC1ibG9jayB0ZW1wbGF0ZS1jdXN0b21pemVyLWxheW91dFR5cGVcXFwiPiA8bGFiZWwgZm9yPVxcXCJjdXN0b21pemVyU3R5bGVcXFwiIGNsYXNzPVxcXCJmb3JtLWxhYmVsIGQtYmxvY2sgdGVtcGxhdGUtY3VzdG9taXplci10LWxheW91dF9sYWJlbFxcXCI+PC9sYWJlbD4gPGRpdiBjbGFzcz1cXFwicm93IHJvdy1jb2xzLWxnLWF1dG8gZy0zIGFsaWduLWl0ZW1zLWNlbnRlciB0ZW1wbGF0ZS1jdXN0b21pemVyLWxheW91dHMtb3B0aW9uc1xcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC0xMlxcXCI+IDxkaXYgY2xhc3M9XFxcImZvcm0tY2hlY2tcXFwiPiA8aW5wdXQgY2xhc3M9XFxcImZvcm0tY2hlY2staW5wdXRcXFwiIHR5cGU9XFxcInJhZGlvXFxcIiBuYW1lPVxcXCJsYXlvdXRSYWRpb3NcXFwiIGlkPVxcXCJsYXlvdXRSYWRpb3Mtc3RhdGljXFxcIiB2YWx1ZT1cXFwic3RhdGljXFxcIj4gPGxhYmVsIGNsYXNzPVxcXCJmb3JtLWNoZWNrLWxhYmVsIHRlbXBsYXRlLWN1c3RvbWl6ZXItdC1sYXlvdXRfc3RhdGljXFxcIiBmb3I9XFxcImxheW91dFJhZGlvcy1zdGF0aWNcXFwiPjwvbGFiZWw+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLTEyXFxcIj4gPGRpdiBjbGFzcz1cXFwiZm9ybS1jaGVja1xcXCI+IDxpbnB1dCBjbGFzcz1cXFwiZm9ybS1jaGVjay1pbnB1dFxcXCIgdHlwZT1cXFwicmFkaW9cXFwiIG5hbWU9XFxcImxheW91dFJhZGlvc1xcXCIgaWQ9XFxcImxheW91dFJhZGlvcy1maXhlZFxcXCIgdmFsdWU9XFxcImZpeGVkXFxcIj4gPGxhYmVsIGNsYXNzPVxcXCJmb3JtLWNoZWNrLWxhYmVsIHRlbXBsYXRlLWN1c3RvbWl6ZXItdC1sYXlvdXRfZml4ZWRcXFwiIGZvcj1cXFwibGF5b3V0UmFkaW9zLWZpeGVkXFxcIj48L2xhYmVsPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGxhYmVsIGNsYXNzPVxcXCJtLTAgcHgtNCBwYi0zIGQtZmxleCBtZWRpYSBhbGlnbi1pdGVtcy1taWRkbGUganVzdGlmeS1jb250ZW50LWJldHdlZW4gdGVtcGxhdGUtY3VzdG9taXplci1sYXlvdXROYXZiYXJGaXhlZFxcXCI+IDxzcGFuIGNsYXNzPVxcXCJ0ZW1wbGF0ZS1jdXN0b21pemVyLXQtbGF5b3V0X25hdmJhcl9sYWJlbFxcXCI+PC9zcGFuPiA8bGFiZWwgY2xhc3M9XFxcInN3aXRjaCBzd2l0Y2gtc20gcGUtNFxcXCI+IDxpbnB1dCB0eXBlPVxcXCJjaGVja2JveFxcXCIgY2xhc3M9XFxcInN3aXRjaC1pbnB1dFxcXCIvPiA8c3BhbiBjbGFzcz1cXFwic3dpdGNoLXRvZ2dsZS1zbGlkZXJcXFwiPiA8c3BhbiBjbGFzcz1cXFwic3dpdGNoLW9uXFxcIj48L3NwYW4+IDxzcGFuIGNsYXNzPVxcXCJzd2l0Y2gtb2ZmXFxcIj48L3NwYW4+IDwvc3Bhbj4gPC9sYWJlbD4gPC9sYWJlbD4gPGxhYmVsIGNsYXNzPVxcXCJtLTAgcHgtNCBwYi0zIGQtZmxleCBtZWRpYSBhbGlnbi1pdGVtcy1taWRkbGUganVzdGlmeS1jb250ZW50LWJldHdlZW4gdGVtcGxhdGUtY3VzdG9taXplci1sYXlvdXRGb290ZXJGaXhlZFxcXCI+IDxzcGFuIGNsYXNzPVxcXCJ0ZW1wbGF0ZS1jdXN0b21pemVyLXQtbGF5b3V0X2Zvb3Rlcl9sYWJlbFxcXCI+PC9zcGFuPiA8bGFiZWwgY2xhc3M9XFxcInN3aXRjaCBzd2l0Y2gtc20gcGUtNFxcXCI+IDxpbnB1dCB0eXBlPVxcXCJjaGVja2JveFxcXCIgY2xhc3M9XFxcInN3aXRjaC1pbnB1dFxcXCIvPiA8c3BhbiBjbGFzcz1cXFwic3dpdGNoLXRvZ2dsZS1zbGlkZXJcXFwiPiA8c3BhbiBjbGFzcz1cXFwic3dpdGNoLW9uXFxcIj48L3NwYW4+IDxzcGFuIGNsYXNzPVxcXCJzd2l0Y2gtb2ZmXFxcIj48L3NwYW4+IDwvc3Bhbj4gPC9sYWJlbD4gPC9sYWJlbD4gPGxhYmVsIGNsYXNzPVxcXCJtLTAgcHgtNCBwYi0zIGQtZmxleCBtZWRpYSBhbGlnbi1pdGVtcy1taWRkbGUganVzdGlmeS1jb250ZW50LWJldHdlZW4gdGVtcGxhdGUtY3VzdG9taXplci1zaG93RHJvcGRvd25PbkhvdmVyXFxcIj4gPHNwYW4gY2xhc3M9XFxcInRlbXBsYXRlLWN1c3RvbWl6ZXItdC1sYXlvdXRfZGRfb3Blbl9sYWJlbFxcXCI+PC9zcGFuPiA8bGFiZWwgY2xhc3M9XFxcInN3aXRjaCBzd2l0Y2gtc20gcGUtNFxcXCI+IDxpbnB1dCB0eXBlPVxcXCJjaGVja2JveFxcXCIgY2xhc3M9XFxcInN3aXRjaC1pbnB1dFxcXCIvPiA8c3BhbiBjbGFzcz1cXFwic3dpdGNoLXRvZ2dsZS1zbGlkZXJcXFwiPiA8c3BhbiBjbGFzcz1cXFwic3dpdGNoLW9uXFxcIj48L3NwYW4+IDxzcGFuIGNsYXNzPVxcXCJzd2l0Y2gtb2ZmXFxcIj48L3NwYW4+IDwvc3Bhbj4gPC9sYWJlbD4gPC9sYWJlbD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcInRlbXBsYXRlLWN1c3RvbWl6ZXItbWlzY1xcXCI+IDxociBjbGFzcz1cXFwibS0wXFxcIj4gPGg1IGNsYXNzPVxcXCJtLTAgcHgtNCBweS00IGxoLTEgdGV4dC1saWdodCBkLWJsb2NrXFxcIj4gPHNwYW4gY2xhc3M9XFxcInRlbXBsYXRlLWN1c3RvbWl6ZXItdC1taXNjX2hlYWRlclxcXCI+PC9zcGFuPiA8L2g1PiA8bGFiZWwgY2xhc3M9XFxcIm0tMCBweC00IHBiLTMgZC1mbGV4IG1lZGlhIGFsaWduLWl0ZW1zLW1pZGRsZSBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB0ZW1wbGF0ZS1jdXN0b21pemVyLXJ0bFxcXCI+IDxzcGFuIGNsYXNzPVxcXCJ0ZW1wbGF0ZS1jdXN0b21pemVyLXQtcnRsX2xhYmVsXFxcIj48L3NwYW4+IDxsYWJlbCBjbGFzcz1cXFwic3dpdGNoIHN3aXRjaC1zbSBwZS00XFxcIj4gPGlucHV0IHR5cGU9XFxcImNoZWNrYm94XFxcIiBjbGFzcz1cXFwic3dpdGNoLWlucHV0XFxcIi8+IDxzcGFuIGNsYXNzPVxcXCJzd2l0Y2gtdG9nZ2xlLXNsaWRlclxcXCI+IDxzcGFuIGNsYXNzPVxcXCJzd2l0Y2gtb25cXFwiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9XFxcInN3aXRjaC1vZmZcXFwiPjwvc3Bhbj4gPC9zcGFuPiA8L2xhYmVsPiA8L2xhYmVsPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PlwiO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgY29kZTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./js/_template-customizer/_template-customizer.html\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./js/_template-customizer/_template-customizer.scss":
|
|
/*!***********************************************************!*\
|
|
!*** ./js/_template-customizer/_template-customizer.scss ***!
|
|
\***********************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"./node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertBySelector.js */ \"./node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"./node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"./node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_sass_loader_dist_cjs_js_template_customizer_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./_template-customizer.scss */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./js/_template-customizer/_template-customizer.scss\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_sass_loader_dist_cjs_js_template_customizer_scss__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_css_loader_dist_cjs_js_node_modules_sass_loader_dist_cjs_js_template_customizer_scss__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _node_modules_css_loader_dist_cjs_js_node_modules_sass_loader_dist_cjs_js_template_customizer_scss__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_sass_loader_dist_cjs_js_template_customizer_scss__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9qcy9fdGVtcGxhdGUtY3VzdG9taXplci9fdGVtcGxhdGUtY3VzdG9taXplci5zY3NzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBLE1BQWtHO0FBQ2xHLE1BQXdGO0FBQ3hGLE1BQStGO0FBQy9GLE1BQWtIO0FBQ2xILE1BQTJHO0FBQzNHLE1BQTJHO0FBQzNHLE1BQWlLO0FBQ2pLO0FBQ0E7O0FBRUE7O0FBRUEsNEJBQTRCLHFHQUFtQjtBQUMvQyx3QkFBd0Isa0hBQWE7O0FBRXJDLHVCQUF1Qix1R0FBYTtBQUNwQztBQUNBLGlCQUFpQiwrRkFBTTtBQUN2Qiw2QkFBNkIsc0dBQWtCOztBQUUvQyxhQUFhLDBHQUFHLENBQUMsMElBQU87Ozs7QUFJMkc7QUFDbkksT0FBTywrREFBZSwwSUFBTyxJQUFJLGlKQUFjLEdBQUcsaUpBQWMsWUFBWSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vVnVleHkvLi9qcy9fdGVtcGxhdGUtY3VzdG9taXplci9fdGVtcGxhdGUtY3VzdG9taXplci5zY3NzPzNmYzkiXSwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgICBpbXBvcnQgQVBJIGZyb20gXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICBpbXBvcnQgZG9tQVBJIGZyb20gXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVEb21BUEkuanNcIjtcbiAgICAgIGltcG9ydCBpbnNlcnRGbiBmcm9tIFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydEJ5U2VsZWN0b3IuanNcIjtcbiAgICAgIGltcG9ydCBzZXRBdHRyaWJ1dGVzIGZyb20gXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzLmpzXCI7XG4gICAgICBpbXBvcnQgaW5zZXJ0U3R5bGVFbGVtZW50IGZyb20gXCIhLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0U3R5bGVFbGVtZW50LmpzXCI7XG4gICAgICBpbXBvcnQgc3R5bGVUYWdUcmFuc2Zvcm1GbiBmcm9tIFwiIS4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlVGFnVHJhbnNmb3JtLmpzXCI7XG4gICAgICBpbXBvcnQgY29udGVudCwgKiBhcyBuYW1lZEV4cG9ydCBmcm9tIFwiISEuLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi9fdGVtcGxhdGUtY3VzdG9taXplci5zY3NzXCI7XG4gICAgICBcbiAgICAgIFxuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLnN0eWxlVGFnVHJhbnNmb3JtID0gc3R5bGVUYWdUcmFuc2Zvcm1Gbjtcbm9wdGlvbnMuc2V0QXR0cmlidXRlcyA9IHNldEF0dHJpYnV0ZXM7XG5cbiAgICAgIG9wdGlvbnMuaW5zZXJ0ID0gaW5zZXJ0Rm4uYmluZChudWxsLCBcImhlYWRcIik7XG4gICAgXG5vcHRpb25zLmRvbUFQSSA9IGRvbUFQSTtcbm9wdGlvbnMuaW5zZXJ0U3R5bGVFbGVtZW50ID0gaW5zZXJ0U3R5bGVFbGVtZW50O1xuXG52YXIgdXBkYXRlID0gQVBJKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0ICogZnJvbSBcIiEhLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vX3RlbXBsYXRlLWN1c3RvbWl6ZXIuc2Nzc1wiO1xuICAgICAgIGV4cG9ydCBkZWZhdWx0IGNvbnRlbnQgJiYgY29udGVudC5sb2NhbHMgPyBjb250ZW50LmxvY2FscyA6IHVuZGVmaW5lZDtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./js/_template-customizer/_template-customizer.scss\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
|
|
/*!****************************************************************************!*\
|
|
!*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
|
|
\****************************************************************************/
|
|
/***/ (function(module) {
|
|
|
|
eval("\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7O0FBRUE7QUFDQTs7QUFFQSxrQkFBa0Isd0JBQXdCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLGlCQUFpQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLDRCQUE0QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxxQkFBcUIsNkJBQTZCO0FBQ2xEOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL1Z1ZXh5Ly4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzPzJkYmEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBzdHlsZXNJbkRPTSA9IFtdO1xuXG5mdW5jdGlvbiBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKSB7XG4gIHZhciByZXN1bHQgPSAtMTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlc0luRE9NLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0eWxlc0luRE9NW2ldLmlkZW50aWZpZXIgPT09IGlkZW50aWZpZXIpIHtcbiAgICAgIHJlc3VsdCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBtb2R1bGVzVG9Eb20obGlzdCwgb3B0aW9ucykge1xuICB2YXIgaWRDb3VudE1hcCA9IHt9O1xuICB2YXIgaWRlbnRpZmllcnMgPSBbXTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaXRlbSA9IGxpc3RbaV07XG4gICAgdmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG4gICAgdmFyIGNvdW50ID0gaWRDb3VudE1hcFtpZF0gfHwgMDtcbiAgICB2YXIgaWRlbnRpZmllciA9IFwiXCIuY29uY2F0KGlkLCBcIiBcIikuY29uY2F0KGNvdW50KTtcbiAgICBpZENvdW50TWFwW2lkXSA9IGNvdW50ICsgMTtcbiAgICB2YXIgaW5kZXhCeUlkZW50aWZpZXIgPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICB2YXIgb2JqID0ge1xuICAgICAgY3NzOiBpdGVtWzFdLFxuICAgICAgbWVkaWE6IGl0ZW1bMl0sXG4gICAgICBzb3VyY2VNYXA6IGl0ZW1bM10sXG4gICAgICBzdXBwb3J0czogaXRlbVs0XSxcbiAgICAgIGxheWVyOiBpdGVtWzVdXG4gICAgfTtcblxuICAgIGlmIChpbmRleEJ5SWRlbnRpZmllciAhPT0gLTEpIHtcbiAgICAgIHN0eWxlc0luRE9NW2luZGV4QnlJZGVudGlmaWVyXS5yZWZlcmVuY2VzKys7XG4gICAgICBzdHlsZXNJbkRPTVtpbmRleEJ5SWRlbnRpZmllcl0udXBkYXRlcihvYmopO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgdXBkYXRlciA9IGFkZEVsZW1lbnRTdHlsZShvYmosIG9wdGlvbnMpO1xuICAgICAgb3B0aW9ucy5ieUluZGV4ID0gaTtcbiAgICAgIHN0eWxlc0luRE9NLnNwbGljZShpLCAwLCB7XG4gICAgICAgIGlkZW50aWZpZXI6IGlkZW50aWZpZXIsXG4gICAgICAgIHVwZGF0ZXI6IHVwZGF0ZXIsXG4gICAgICAgIHJlZmVyZW5jZXM6IDFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlkZW50aWZpZXJzLnB1c2goaWRlbnRpZmllcik7XG4gIH1cblxuICByZXR1cm4gaWRlbnRpZmllcnM7XG59XG5cbmZ1bmN0aW9uIGFkZEVsZW1lbnRTdHlsZShvYmosIG9wdGlvbnMpIHtcbiAgdmFyIGFwaSA9IG9wdGlvbnMuZG9tQVBJKG9wdGlvbnMpO1xuICBhcGkudXBkYXRlKG9iaik7XG5cbiAgdmFyIHVwZGF0ZXIgPSBmdW5jdGlvbiB1cGRhdGVyKG5ld09iaikge1xuICAgIGlmIChuZXdPYmopIHtcbiAgICAgIGlmIChuZXdPYmouY3NzID09PSBvYmouY3NzICYmIG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmIG5ld09iai5zb3VyY2VNYXAgPT09IG9iai5zb3VyY2VNYXAgJiYgbmV3T2JqLnN1cHBvcnRzID09PSBvYmouc3VwcG9ydHMgJiYgbmV3T2JqLmxheWVyID09PSBvYmoubGF5ZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBhcGkudXBkYXRlKG9iaiA9IG5ld09iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZW1vdmUoKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIHVwZGF0ZXI7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGxpc3QsIG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIGxpc3QgPSBsaXN0IHx8IFtdO1xuICB2YXIgbGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpO1xuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlKG5ld0xpc3QpIHtcbiAgICBuZXdMaXN0ID0gbmV3TGlzdCB8fCBbXTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tpXTtcbiAgICAgIHZhciBpbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgICAgc3R5bGVzSW5ET01baW5kZXhdLnJlZmVyZW5jZXMtLTtcbiAgICB9XG5cbiAgICB2YXIgbmV3TGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKG5ld0xpc3QsIG9wdGlvbnMpO1xuXG4gICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGxhc3RJZGVudGlmaWVycy5sZW5ndGg7IF9pKyspIHtcbiAgICAgIHZhciBfaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tfaV07XG5cbiAgICAgIHZhciBfaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihfaWRlbnRpZmllcik7XG5cbiAgICAgIGlmIChzdHlsZXNJbkRPTVtfaW5kZXhdLnJlZmVyZW5jZXMgPT09IDApIHtcbiAgICAgICAgc3R5bGVzSW5ET01bX2luZGV4XS51cGRhdGVyKCk7XG5cbiAgICAgICAgc3R5bGVzSW5ET00uc3BsaWNlKF9pbmRleCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFzdElkZW50aWZpZXJzID0gbmV3TGFzdElkZW50aWZpZXJzO1xuICB9O1xufTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js":
|
|
/*!********************************************************************!*\
|
|
!*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***!
|
|
\********************************************************************/
|
|
/***/ (function(module) {
|
|
|
|
eval("\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRCeVNlbGVjdG9yLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNEQUFzRDs7QUFFdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL1Z1ZXh5Ly4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0QnlTZWxlY3Rvci5qcz9iMjE0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG52YXIgbWVtbyA9IHt9O1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5cbmZ1bmN0aW9uIGdldFRhcmdldCh0YXJnZXQpIHtcbiAgaWYgKHR5cGVvZiBtZW1vW3RhcmdldF0gPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICB2YXIgc3R5bGVUYXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7IC8vIFNwZWNpYWwgY2FzZSB0byByZXR1cm4gaGVhZCBvZiBpZnJhbWUgaW5zdGVhZCBvZiBpZnJhbWUgaXRzZWxmXG5cbiAgICBpZiAod2luZG93LkhUTUxJRnJhbWVFbGVtZW50ICYmIHN0eWxlVGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxJRnJhbWVFbGVtZW50KSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuICAgICAgICAvLyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9uc1xuICAgICAgICBzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgICBzdHlsZVRhcmdldCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbWVtb1t0YXJnZXRdID0gc3R5bGVUYXJnZXQ7XG4gIH1cblxuICByZXR1cm4gbWVtb1t0YXJnZXRdO1xufVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5cblxuZnVuY3Rpb24gaW5zZXJ0QnlTZWxlY3RvcihpbnNlcnQsIHN0eWxlKSB7XG4gIHZhciB0YXJnZXQgPSBnZXRUYXJnZXQoaW5zZXJ0KTtcblxuICBpZiAoIXRhcmdldCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0JyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG4gIH1cblxuICB0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGluc2VydEJ5U2VsZWN0b3I7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/style-loader/dist/runtime/insertBySelector.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js":
|
|
/*!**********************************************************************!*\
|
|
!*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***!
|
|
\**********************************************************************/
|
|
/***/ (function(module) {
|
|
|
|
eval("\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRTdHlsZUVsZW1lbnQuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9WdWV4eS8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydFN0eWxlRWxlbWVudC5qcz9kZTZjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSB7XG4gIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xuICBvcHRpb25zLnNldEF0dHJpYnV0ZXMoZWxlbWVudCwgb3B0aW9ucy5hdHRyaWJ1dGVzKTtcbiAgb3B0aW9ucy5pbnNlcnQoZWxlbWVudCwgb3B0aW9ucy5vcHRpb25zKTtcbiAgcmV0dXJuIGVsZW1lbnQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW5zZXJ0U3R5bGVFbGVtZW50OyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/style-loader/dist/runtime/insertStyleElement.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js":
|
|
/*!**********************************************************************************!*\
|
|
!*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***!
|
|
\**********************************************************************************/
|
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
|
|
eval("\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXMuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBLGNBQWMsS0FBd0MsR0FBRyxzQkFBaUIsR0FBRyxDQUFJOztBQUVqRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL1Z1ZXh5Ly4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzLmpzP2RkY2UiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuZnVuY3Rpb24gc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzKHN0eWxlRWxlbWVudCkge1xuICB2YXIgbm9uY2UgPSB0eXBlb2YgX193ZWJwYWNrX25vbmNlX18gIT09IFwidW5kZWZpbmVkXCIgPyBfX3dlYnBhY2tfbm9uY2VfXyA6IG51bGw7XG5cbiAgaWYgKG5vbmNlKSB7XG4gICAgc3R5bGVFbGVtZW50LnNldEF0dHJpYnV0ZShcIm5vbmNlXCIsIG5vbmNlKTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlczsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js":
|
|
/*!***************************************************************!*\
|
|
!*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***!
|
|
\***************************************************************/
|
|
/***/ (function(module) {
|
|
|
|
eval("\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZURvbUFQSS5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrREFBa0Q7QUFDbEQ7O0FBRUE7QUFDQSwwQ0FBMEM7QUFDMUM7O0FBRUE7O0FBRUE7QUFDQSxpRkFBaUY7QUFDakY7O0FBRUE7O0FBRUE7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7O0FBRUE7QUFDQSx5REFBeUQ7QUFDekQsSUFBSTs7QUFFSjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vVnVleHkvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZURvbUFQSS5qcz9lNDc5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIGFwcGx5KHN0eWxlRWxlbWVudCwgb3B0aW9ucywgb2JqKSB7XG4gIHZhciBjc3MgPSBcIlwiO1xuXG4gIGlmIChvYmouc3VwcG9ydHMpIHtcbiAgICBjc3MgKz0gXCJAc3VwcG9ydHMgKFwiLmNvbmNhdChvYmouc3VwcG9ydHMsIFwiKSB7XCIpO1xuICB9XG5cbiAgaWYgKG9iai5tZWRpYSkge1xuICAgIGNzcyArPSBcIkBtZWRpYSBcIi5jb25jYXQob2JqLm1lZGlhLCBcIiB7XCIpO1xuICB9XG5cbiAgdmFyIG5lZWRMYXllciA9IHR5cGVvZiBvYmoubGF5ZXIgIT09IFwidW5kZWZpbmVkXCI7XG5cbiAgaWYgKG5lZWRMYXllcikge1xuICAgIGNzcyArPSBcIkBsYXllclwiLmNvbmNhdChvYmoubGF5ZXIubGVuZ3RoID4gMCA/IFwiIFwiLmNvbmNhdChvYmoubGF5ZXIpIDogXCJcIiwgXCIge1wiKTtcbiAgfVxuXG4gIGNzcyArPSBvYmouY3NzO1xuXG4gIGlmIChuZWVkTGF5ZXIpIHtcbiAgICBjc3MgKz0gXCJ9XCI7XG4gIH1cblxuICBpZiAob2JqLm1lZGlhKSB7XG4gICAgY3NzICs9IFwifVwiO1xuICB9XG5cbiAgaWYgKG9iai5zdXBwb3J0cykge1xuICAgIGNzcyArPSBcIn1cIjtcbiAgfVxuXG4gIHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwO1xuXG4gIGlmIChzb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBjc3MgKz0gXCJcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LFwiLmNvbmNhdChidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpLCBcIiAqL1wiKTtcbiAgfSAvLyBGb3Igb2xkIElFXG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqL1xuXG5cbiAgb3B0aW9ucy5zdHlsZVRhZ1RyYW5zZm9ybShjc3MsIHN0eWxlRWxlbWVudCwgb3B0aW9ucy5vcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlRWxlbWVudCkge1xuICAvLyBpc3RhbmJ1bCBpZ25vcmUgaWZcbiAgaWYgKHN0eWxlRWxlbWVudC5wYXJlbnROb2RlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3R5bGVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50KTtcbn1cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuXG5cbmZ1bmN0aW9uIGRvbUFQSShvcHRpb25zKSB7XG4gIHZhciBzdHlsZUVsZW1lbnQgPSBvcHRpb25zLmluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKTtcbiAgcmV0dXJuIHtcbiAgICB1cGRhdGU6IGZ1bmN0aW9uIHVwZGF0ZShvYmopIHtcbiAgICAgIGFwcGx5KHN0eWxlRWxlbWVudCwgb3B0aW9ucywgb2JqKTtcbiAgICB9LFxuICAgIHJlbW92ZTogZnVuY3Rpb24gcmVtb3ZlKCkge1xuICAgICAgcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlRWxlbWVudCk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGRvbUFQSTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/style-loader/dist/runtime/styleDomAPI.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js":
|
|
/*!*********************************************************************!*\
|
|
!*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***!
|
|
\*********************************************************************/
|
|
/***/ (function(module) {
|
|
|
|
eval("\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZVRhZ1RyYW5zZm9ybS5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vVnVleHkvLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZVRhZ1RyYW5zZm9ybS5qcz8xZGRlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIHN0eWxlVGFnVHJhbnNmb3JtKGNzcywgc3R5bGVFbGVtZW50KSB7XG4gIGlmIChzdHlsZUVsZW1lbnQuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKHN0eWxlRWxlbWVudC5maXJzdENoaWxkKSB7XG4gICAgICBzdHlsZUVsZW1lbnQucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50LmZpcnN0Q2hpbGQpO1xuICAgIH1cblxuICAgIHN0eWxlRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHN0eWxlVGFnVHJhbnNmb3JtOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/style-loader/dist/runtime/styleTagTransform.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABClJREFUaEPtmY1RFEEQhbsjUCIQIhAiUCNQIxAiECIQIxAiECIAIpAMhAiECIQI2vquZqnZvp6fhb3SK5mqq6Ju92b69bzXf6is+dI1t1+eAfztG5z1BsxsU0S+ici2iPB3vm5E5EpEDlSVv2dZswFIxv8UkZcNy+5EZGcuEHMCOBeR951uvVDVD53vVl+bE8DvDu8Pxtyo6ta/BsByg1R15Bwzqz5/LJgn34CZwfnPInI4BUB6/1hV0cSjVxcAM4PbcBZjL0XklIPN7Is3fLCkdQPpPYw/VNXj5IhPIvJWRIhSl6p60ULWBGBm30Vk123EwRxCuIzWkkjNrCZywith10ewE1Xdq4GoAjCz/RTXW44Ynt+LyBEfT43kYfbj86J3w5Q32DNcRQDpwF+dkQXDMey8xem0L3TEqB4g3PZWad8agBMRgZPeu96D1/C2Zbh3X0p80Op1xxloztN48bMQQNoc7+eLEuAoPSPiIDY4Ooo+E6ixeNXM+D3GERz2U3CIqMstLJUgJQDe+7eq6mub0NYEkLAKwEHkiBQDCZtddZCZ8d6r7JDwFkoARklHRPZUFVDVZWbwGuNrC4EfdOzFrRABh3Wnqhv+d70AEBLGFROPmeHlnM81G69UdSd6IUuM0GgUVn1uqWmg5EmMfBeEyB7Pe3txBkY+rGT8j0J+WXq/BgDkUCaqLgEAnwcRog0veMIqFAAwCy2wnw+bI2GaGboBgF9k5N0o0rUSGUb4eO0BeO9j/GYhkSHMHMTIqwGARX6p6a+nlPBl8kZuXMD9j6pKfF9aZuaFOdJCEL5D4eYb9wCYVCanrBmGyii/tIq+SLj/HQBCaM5bLzwfPqdQ6FpVHyra4IbuVbXaY7dETC2ESPNNWiIOi69CcdgSMXsh4tNSUiklMgwmC0aNd08Y5WAES6HHehM4gu97wyhBgWpgqXsrASglprDy7CwhehMZOSbK6JMSma+Fio1KltCmlBIj7gfZOGx8ppQSXrhzFnOhJ/31BDkjFHRvOd09x0mRBA9SFgxUgHpQg0q0t5ymPMlL+EnldFTfDA0NAmf+OTQ0X0sRouf7NNkYGhrOYNrxtIaGg83MNzVDSe3LXLhP7O/yrCsCz1zlWTpjWkuZAOBpX3yVnLqI1yLCOKU6qMrmP7SSrUEw54XF4WBIK5FxCMOr3lVsfGqNSmPzBXUnJTIX1jyVBq9wO6UObOpgC5GjO98vFKnTdQMZXxEsWZlDiCZMIxAbNxQOqlpVZtobejBaZNoBnRDzMFpkxvTQOD36BlrcySZuI6p1ACB6LU3wWuf5581+oHfD1vi89bz3nFUC8Nm7ZlP3nKkFbM4bWPt/MSFwklprYItwt6cmvpWJ2IVcQBCz6bLysSCv3SaANCiTsnaNRrNRqMXVVT1/BrAqz/buu/Y38Ad3KC5PARej0QAAAABJRU5ErkJggg==":
|
|
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
!*** data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABClJREFUaEPtmY1RFEEQhbsjUCIQIhAiUCNQIxAiECIQIxAiECIAIpAMhAiECIQI2vquZqnZvp6fhb3SK5mqq6Ju92b69bzXf6is+dI1t1+eAfztG5z1BsxsU0S+ici2iPB3vm5E5EpEDlSVv2dZswFIxv8UkZcNy+5EZGcuEHMCOBeR951uvVDVD53vVl+bE8DvDu8Pxtyo6ta/BsByg1R15Bwzqz5/LJgn34CZwfnPInI4BUB6/1hV0cSjVxcAM4PbcBZjL0XklIPN7Is3fLCkdQPpPYw/VNXj5IhPIvJWRIhSl6p60ULWBGBm30Vk123EwRxCuIzWkkjNrCZywith10ewE1Xdq4GoAjCz/RTXW44Ynt+LyBEfT43kYfbj86J3w5Q32DNcRQDpwF+dkQXDMey8xem0L3TEqB4g3PZWad8agBMRgZPeu96D1/C2Zbh3X0p80Op1xxloztN48bMQQNoc7+eLEuAoPSPiIDY4Ooo+E6ixeNXM+D3GERz2U3CIqMstLJUgJQDe+7eq6mub0NYEkLAKwEHkiBQDCZtddZCZ8d6r7JDwFkoARklHRPZUFVDVZWbwGuNrC4EfdOzFrRABh3Wnqhv+d70AEBLGFROPmeHlnM81G69UdSd6IUuM0GgUVn1uqWmg5EmMfBeEyB7Pe3txBkY+rGT8j0J+WXq/BgDkUCaqLgEAnwcRog0veMIqFAAwCy2wnw+bI2GaGboBgF9k5N0o0rUSGUb4eO0BeO9j/GYhkSHMHMTIqwGARX6p6a+nlPBl8kZuXMD9j6pKfF9aZuaFOdJCEL5D4eYb9wCYVCanrBmGyii/tIq+SLj/HQBCaM5bLzwfPqdQ6FpVHyra4IbuVbXaY7dETC2ESPNNWiIOi69CcdgSMXsh4tNSUiklMgwmC0aNd08Y5WAES6HHehM4gu97wyhBgWpgqXsrASglprDy7CwhehMZOSbK6JMSma+Fio1KltCmlBIj7gfZOGx8ppQSXrhzFnOhJ/31BDkjFHRvOd09x0mRBA9SFgxUgHpQg0q0t5ymPMlL+EnldFTfDA0NAmf+OTQ0X0sRouf7NNkYGhrOYNrxtIaGg83MNzVDSe3LXLhP7O/yrCsCz1zlWTpjWkuZAOBpX3yVnLqI1yLCOKU6qMrmP7SSrUEw54XF4WBIK5FxCMOr3lVsfGqNSmPzBXUnJTIX1jyVBq9wO6UObOpgC5GjO98vFKnTdQMZXxEsWZlDiCZMIxAbNxQOqlpVZtobejBaZNoBnRDzMFpkxvTQOD36BlrcySZuI6p1ACB6LU3wWuf5581+oHfD1vi89bz3nFUC8Nm7ZlP3nKkFbM4bWPt/MSFwklprYItwt6cmvpWJ2IVcQBCz6bLysSCv3SaANCiTsnaNRrNRqMXVVT1/BrAqz/buu/Y38Ad3KC5PARej0QAAAABJRU5ErkJggg== ***!
|
|
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
/***/ (function(module) {
|
|
|
|
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABClJREFUaEPtmY1RFEEQhbsjUCIQIhAiUCNQIxAiECIQIxAiECIAIpAMhAiECIQI2vquZqnZvp6fhb3SK5mqq6Ju92b69bzXf6is+dI1t1+eAfztG5z1BsxsU0S+ici2iPB3vm5E5EpEDlSVv2dZswFIxv8UkZcNy+5EZGcuEHMCOBeR951uvVDVD53vVl+bE8DvDu8Pxtyo6ta/BsByg1R15Bwzqz5/LJgn34CZwfnPInI4BUB6/1hV0cSjVxcAM4PbcBZjL0XklIPN7Is3fLCkdQPpPYw/VNXj5IhPIvJWRIhSl6p60ULWBGBm30Vk123EwRxCuIzWkkjNrCZywith10ewE1Xdq4GoAjCz/RTXW44Ynt+LyBEfT43kYfbj86J3w5Q32DNcRQDpwF+dkQXDMey8xem0L3TEqB4g3PZWad8agBMRgZPeu96D1/C2Zbh3X0p80Op1xxloztN48bMQQNoc7+eLEuAoPSPiIDY4Ooo+E6ixeNXM+D3GERz2U3CIqMstLJUgJQDe+7eq6mub0NYEkLAKwEHkiBQDCZtddZCZ8d6r7JDwFkoARklHRPZUFVDVZWbwGuNrC4EfdOzFrRABh3Wnqhv+d70AEBLGFROPmeHlnM81G69UdSd6IUuM0GgUVn1uqWmg5EmMfBeEyB7Pe3txBkY+rGT8j0J+WXq/BgDkUCaqLgEAnwcRog0veMIqFAAwCy2wnw+bI2GaGboBgF9k5N0o0rUSGUb4eO0BeO9j/GYhkSHMHMTIqwGARX6p6a+nlPBl8kZuXMD9j6pKfF9aZuaFOdJCEL5D4eYb9wCYVCanrBmGyii/tIq+SLj/HQBCaM5bLzwfPqdQ6FpVHyra4IbuVbXaY7dETC2ESPNNWiIOi69CcdgSMXsh4tNSUiklMgwmC0aNd08Y5WAES6HHehM4gu97wyhBgWpgqXsrASglprDy7CwhehMZOSbK6JMSma+Fio1KltCmlBIj7gfZOGx8ppQSXrhzFnOhJ/31BDkjFHRvOd09x0mRBA9SFgxUgHpQg0q0t5ymPMlL+EnldFTfDA0NAmf+OTQ0X0sRouf7NNkYGhrOYNrxtIaGg83MNzVDSe3LXLhP7O/yrCsCz1zlWTpjWkuZAOBpX3yVnLqI1yLCOKU6qMrmP7SSrUEw54XF4WBIK5FxCMOr3lVsfGqNSmPzBXUnJTIX1jyVBq9wO6UObOpgC5GjO98vFKnTdQMZXxEsWZlDiCZMIxAbNxQOqlpVZtobejBaZNoBnRDzMFpkxvTQOD36BlrcySZuI6p1ACB6LU3wWuf5581+oHfD1vi89bz3nFUC8Nm7ZlP3nKkFbM4bWPt/MSFwklprYItwt6cmvpWJ2IVcQBCz6bLysSCv3SaANCiTsnaNRrNRqMXVVT1/BrAqz/buu/Y38Ad3KC5PARej0QAAAABJRU5ErkJggg==";
|
|
|
|
/***/ })
|
|
|
|
/******/ });
|
|
/************************************************************************/
|
|
/******/ // The module cache
|
|
/******/ var __webpack_module_cache__ = {};
|
|
/******/
|
|
/******/ // The require function
|
|
/******/ function __webpack_require__(moduleId) {
|
|
/******/ // Check if module is in cache
|
|
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
/******/ if (cachedModule !== undefined) {
|
|
/******/ return cachedModule.exports;
|
|
/******/ }
|
|
/******/ // Create a new module (and put it into the cache)
|
|
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
/******/ id: moduleId,
|
|
/******/ // no module.loaded needed
|
|
/******/ exports: {}
|
|
/******/ };
|
|
/******/
|
|
/******/ // Execute the module function
|
|
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
/******/
|
|
/******/ // Return the exports of the module
|
|
/******/ return module.exports;
|
|
/******/ }
|
|
/******/
|
|
/******/ // expose the modules object (__webpack_modules__)
|
|
/******/ __webpack_require__.m = __webpack_modules__;
|
|
/******/
|
|
/************************************************************************/
|
|
/******/ /* webpack/runtime/compat get default export */
|
|
/******/ !function() {
|
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
/******/ __webpack_require__.n = function(module) {
|
|
/******/ var getter = module && module.__esModule ?
|
|
/******/ function() { return module['default']; } :
|
|
/******/ function() { return module; };
|
|
/******/ __webpack_require__.d(getter, { a: getter });
|
|
/******/ return getter;
|
|
/******/ };
|
|
/******/ }();
|
|
/******/
|
|
/******/ /* webpack/runtime/define property getters */
|
|
/******/ !function() {
|
|
/******/ // define getter functions for harmony exports
|
|
/******/ __webpack_require__.d = function(exports, definition) {
|
|
/******/ for(var key in definition) {
|
|
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
/******/ }
|
|
/******/ }
|
|
/******/ };
|
|
/******/ }();
|
|
/******/
|
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
/******/ !function() {
|
|
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
|
|
/******/ }();
|
|
/******/
|
|
/******/ /* webpack/runtime/make namespace object */
|
|
/******/ !function() {
|
|
/******/ // define __esModule on exports
|
|
/******/ __webpack_require__.r = function(exports) {
|
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
/******/ }
|
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
/******/ };
|
|
/******/ }();
|
|
/******/
|
|
/******/ /* webpack/runtime/jsonp chunk loading */
|
|
/******/ !function() {
|
|
/******/ __webpack_require__.b = document.baseURI || self.location.href;
|
|
/******/
|
|
/******/ // object to store loaded and loading chunks
|
|
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
|
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
|
|
/******/ var installedChunks = {
|
|
/******/ "js/template-customizer": 0
|
|
/******/ };
|
|
/******/
|
|
/******/ // no chunk on demand loading
|
|
/******/
|
|
/******/ // no prefetching
|
|
/******/
|
|
/******/ // no preloaded
|
|
/******/
|
|
/******/ // no HMR
|
|
/******/
|
|
/******/ // no HMR manifest
|
|
/******/
|
|
/******/ // no on chunks loaded
|
|
/******/
|
|
/******/ // no jsonp function
|
|
/******/ }();
|
|
/******/
|
|
/******/ /* webpack/runtime/nonce */
|
|
/******/ !function() {
|
|
/******/ __webpack_require__.nc = undefined;
|
|
/******/ }();
|
|
/******/
|
|
/************************************************************************/
|
|
/******/
|
|
/******/ // startup
|
|
/******/ // Load entry module and return exports
|
|
/******/ // This entry module can't be inlined because the eval-source-map devtool is used.
|
|
/******/ var __webpack_exports__ = __webpack_require__("./js/template-customizer.js");
|
|
/******/
|
|
/******/ return __webpack_exports__;
|
|
/******/ })()
|
|
;
|
|
}); |