/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // 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 }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/"; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 0); /******/ }) /************************************************************************/ /******/ ({ /***/ "./src/js/helper-functions.js": /*!************************************!*\ !*** ./src/js/helper-functions.js ***! \************************************/ /*! exports provided: setScrollPadding, initToggleButtons, scrollToTopButton, initMenuDoubleClick */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setScrollPadding", function() { return setScrollPadding; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initToggleButtons", function() { return initToggleButtons; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scrollToTopButton", function() { return scrollToTopButton; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initMenuDoubleClick", function() { return initMenuDoubleClick; }); function setScrollPadding(banner) { document.documentElement.style.setProperty("--scroll-padding", "".concat(banner.offsetHeight, "px")); } function initToggleButtons() { var toggleButtons = document.querySelectorAll(".data-toggle"); toggleButtons.forEach(function (button) { button.addEventListener("click", function (e) { e.preventDefault(); var target = document.querySelector(this.getAttribute("data-toggle-target")); target.classList.toggle(this.getAttribute("data-toggle-class")); target.classList.toggle("toggled"); }); }); } function scrollToTopButton(button) { button.onclick = function () { return window.scrollTo({ top: 0, behavior: "smooth" }); }; window.onscroll = function () { return window.scrollY > 500 ? button.style.opacity = 1 : button.style.opacity = 0; }; } function initMenuDoubleClick() { document.querySelectorAll(".has-submenu").forEach(function (submenuButton) { submenuButton.addEventListener("click", function (e) { if (!submenuButton.classList.contains("open")) { e.preventDefault(); submenuButton.closest("li").classList.toggle("open"); return false; } }); }); } /***/ }), /***/ "./src/js/main.js": /*!************************!*\ !*** ./src/js/main.js ***! \************************/ /*! no exports provided */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _helper_functions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helper-functions */ "./src/js/helper-functions.js"); var domReady = function domReady(callback) { if (document.readyState === "interactive" || document.readyState === "complete") { callback(); } else { document.addEventListener("DOMContentLoaded", callback); } }; var delayTimer = 1000; domReady(function () { Object(_helper_functions__WEBPACK_IMPORTED_MODULE_0__["initToggleButtons"])(); Object(_helper_functions__WEBPACK_IMPORTED_MODULE_0__["initMenuDoubleClick"])(); }); /***/ }), /***/ "./src/scss/main.scss": /*!****************************!*\ !*** ./src/scss/main.scss ***! \****************************/ /*! no static exports found */ /***/ (function(module, exports) { // removed by extract-text-webpack-plugin /***/ }), /***/ 0: /*!***************************************************!*\ !*** multi ./src/js/main.js ./src/scss/main.scss ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(/*! C:\laragon\www\RVC\themes\rvc-theme\src\js\main.js */"./src/js/main.js"); module.exports = __webpack_require__(/*! C:\laragon\www\RVC\themes\rvc-theme\src\scss\main.scss */"./src/scss/main.scss"); /***/ }) /******/ }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vc3JjL2pzL2hlbHBlci1mdW5jdGlvbnMuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2pzL21haW4uanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvbWFpbi5zY3NzIl0sIm5hbWVzIjpbInNldFNjcm9sbFBhZGRpbmciLCJiYW5uZXIiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInN0eWxlIiwic2V0UHJvcGVydHkiLCJjb25jYXQiLCJvZmZzZXRIZWlnaHQiLCJpbml0VG9nZ2xlQnV0dG9ucyIsInRvZ2dsZUJ1dHRvbnMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsImJ1dHRvbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwicHJldmVudERlZmF1bHQiLCJ0YXJnZXQiLCJxdWVyeVNlbGVjdG9yIiwiZ2V0QXR0cmlidXRlIiwiY2xhc3NMaXN0IiwidG9nZ2xlIiwic2Nyb2xsVG9Ub3BCdXR0b24iLCJvbmNsaWNrIiwid2luZG93Iiwic2Nyb2xsVG8iLCJ0b3AiLCJiZWhhdmlvciIsIm9uc2Nyb2xsIiwic2Nyb2xsWSIsIm9wYWNpdHkiLCJpbml0TWVudURvdWJsZUNsaWNrIiwic3VibWVudUJ1dHRvbiIsImNvbnRhaW5zIiwiY2xvc2VzdCIsImRvbVJlYWR5IiwiY2FsbGJhY2siLCJyZWFkeVN0YXRlIiwiZGVsYXlUaW1lciJdLCJtYXBwaW5ncyI6IjtRQUFBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBOzs7UUFHQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMENBQTBDLGdDQUFnQztRQUMxRTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLHdEQUF3RCxrQkFBa0I7UUFDMUU7UUFDQSxpREFBaUQs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LENBQUMsa0JBQWtCLEVBQUVzQixRQUFRLENBQUM7RUFDM0Q7QUFDSixDQUFDO0FBRUQsSUFBSUUsVUFBVSxHQUFHLElBQUk7QUFFckJILFFBQVEsQ0FBQyxZQUFZO0VBQ2pCMUIsMkVBQWlCLEVBQUU7RUFDbkJzQiw2RUFBbUIsRUFBRTtBQUN6QixDQUFDLENBQUMsQzs7Ozs7Ozs7Ozs7QUN0QkYseUMiLCJmaWxlIjoiL2Fzc2V0cy9qcy9tYWluLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCIvXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcbiIsImV4cG9ydCBmdW5jdGlvbiBzZXRTY3JvbGxQYWRkaW5nKGJhbm5lcikge1xyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgIFwiLS1zY3JvbGwtcGFkZGluZ1wiLFxyXG4gICAgICAgIGAke2Jhbm5lci5vZmZzZXRIZWlnaHR9cHhgXHJcbiAgICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5pdFRvZ2dsZUJ1dHRvbnMoKSB7XHJcbiAgICBjb25zdCB0b2dnbGVCdXR0b25zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5kYXRhLXRvZ2dsZVwiKTtcclxuXHJcbiAgICB0b2dnbGVCdXR0b25zLmZvckVhY2goKGJ1dHRvbikgPT4ge1xyXG4gICAgICAgIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdHRyaWJ1dGUoXCJkYXRhLXRvZ2dsZS10YXJnZXRcIilcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgIHRhcmdldC5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuZ2V0QXR0cmlidXRlKFwiZGF0YS10b2dnbGUtY2xhc3NcIikpO1xyXG4gICAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LnRvZ2dsZShcInRvZ2dsZWRcIik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNjcm9sbFRvVG9wQnV0dG9uKGJ1dHRvbikge1xyXG4gICAgYnV0dG9uLm9uY2xpY2sgPSAoKSA9PiB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xyXG5cclxuICAgIHdpbmRvdy5vbnNjcm9sbCA9ICgpID0+XHJcbiAgICAgICAgd2luZG93LnNjcm9sbFkgPiA1MDBcclxuICAgICAgICAgICAgPyAoYnV0dG9uLnN0eWxlLm9wYWNpdHkgPSAxKVxyXG4gICAgICAgICAgICA6IChidXR0b24uc3R5bGUub3BhY2l0eSA9IDApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5pdE1lbnVEb3VibGVDbGljaygpIHtcclxuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIuaGFzLXN1Ym1lbnVcIikuZm9yRWFjaCgoc3VibWVudUJ1dHRvbikgPT4ge1xyXG4gICAgICAgIHN1Ym1lbnVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIChlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghc3VibWVudUJ1dHRvbi5jbGFzc0xpc3QuY29udGFpbnMoXCJvcGVuXCIpKSB7XHJcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICBzdWJtZW51QnV0dG9uLmNsb3Nlc3QoXCJsaVwiKS5jbGFzc0xpc3QudG9nZ2xlKFwib3BlblwiKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbn1cclxuIiwiaW1wb3J0IHtcclxuICAgIGluaXRNZW51RG91YmxlQ2xpY2ssXHJcbiAgICBpbml0VG9nZ2xlQnV0dG9ucyxcclxuICAgIHNldFNjcm9sbFBhZGRpbmcsXHJcbn0gZnJvbSBcIi4vaGVscGVyLWZ1bmN0aW9uc1wiO1xyXG5cclxuY29uc3QgZG9tUmVhZHkgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcclxuICAgIGlmIChcclxuICAgICAgICBkb2N1bWVudC5yZWFkeVN0YXRlID09PSBcImludGVyYWN0aXZlXCIgfHxcclxuICAgICAgICBkb2N1bWVudC5yZWFkeVN0YXRlID09PSBcImNvbXBsZXRlXCJcclxuICAgICkge1xyXG4gICAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJET01Db250ZW50TG9hZGVkXCIsIGNhbGxiYWNrKTtcclxuICAgIH1cclxufTtcclxuXHJcbmxldCBkZWxheVRpbWVyID0gMTAwMDtcclxuXHJcbmRvbVJlYWR5KGZ1bmN0aW9uICgpIHtcclxuICAgIGluaXRUb2dnbGVCdXR0b25zKCk7XHJcbiAgICBpbml0TWVudURvdWJsZUNsaWNrKCk7XHJcbn0pO1xyXG4iLCIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpbiJdLCJzb3VyY2VSb290IjoiIn0=