HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/stempel.komma.pro/wwwroot/js/site/app.js
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["/js/site/app"],{

/***/ "./node_modules/process/browser.js":
/*!*****************************************!*\
  !*** ./node_modules/process/browser.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzP2YyOGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixzQkFBc0I7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQzs7QUFFckM7QUFDQTtBQUNBOztBQUVBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsVUFBVSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzaGltIGZvciB1c2luZyBwcm9jZXNzIGluIGJyb3dzZXJcbnZhciBwcm9jZXNzID0gbW9kdWxlLmV4cG9ydHMgPSB7fTtcblxuLy8gY2FjaGVkIGZyb20gd2hhdGV2ZXIgZ2xvYmFsIGlzIHByZXNlbnQgc28gdGhhdCB0ZXN0IHJ1bm5lcnMgdGhhdCBzdHViIGl0XG4vLyBkb24ndCBicmVhayB0aGluZ3MuICBCdXQgd2UgbmVlZCB0byB3cmFwIGl0IGluIGEgdHJ5IGNhdGNoIGluIGNhc2UgaXQgaXNcbi8vIHdyYXBwZWQgaW4gc3RyaWN0IG1vZGUgY29kZSB3aGljaCBkb2Vzbid0IGRlZmluZSBhbnkgZ2xvYmFscy4gIEl0J3MgaW5zaWRlIGFcbi8vIGZ1bmN0aW9uIGJlY2F1c2UgdHJ5L2NhdGNoZXMgZGVvcHRpbWl6ZSBpbiBjZXJ0YWluIGVuZ2luZXMuXG5cbnZhciBjYWNoZWRTZXRUaW1lb3V0O1xudmFyIGNhY2hlZENsZWFyVGltZW91dDtcblxuZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbmZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQgKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG4oZnVuY3Rpb24gKCkge1xuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2xlYXJUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgIH1cbn0gKCkpXG5mdW5jdGlvbiBydW5UaW1lb3V0KGZ1bikge1xuICAgIGlmIChjYWNoZWRTZXRUaW1lb3V0ID09PSBzZXRUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICAvLyBpZiBzZXRUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkU2V0VGltZW91dCA9PT0gZGVmYXVsdFNldFRpbW91dCB8fCAhY2FjaGVkU2V0VGltZW91dCkgJiYgc2V0VGltZW91dCkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dChmdW4sIDApO1xuICAgIH0gY2F0Y2goZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwobnVsbCwgZnVuLCAwKTtcbiAgICAgICAgfSBjYXRjaChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yXG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKHRoaXMsIGZ1biwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuZnVuY3Rpb24gcnVuQ2xlYXJUaW1lb3V0KG1hcmtlcikge1xuICAgIGlmIChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGNsZWFyVGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICAvLyBpZiBjbGVhclRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGRlZmF1bHRDbGVhclRpbWVvdXQgfHwgIWNhY2hlZENsZWFyVGltZW91dCkgJiYgY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCAgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLCBtYXJrZXIpO1xuICAgICAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yLlxuICAgICAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBJLkUuIGhhdmUgZGlmZmVyZW50IHJ1bGVzIGZvciBjbGVhclRpbWVvdXQgdnMgc2V0VGltZW91dFxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKHRoaXMsIG1hcmtlcik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG59XG52YXIgcXVldWUgPSBbXTtcbnZhciBkcmFpbmluZyA9IGZhbHNlO1xudmFyIGN1cnJlbnRRdWV1ZTtcbnZhciBxdWV1ZUluZGV4ID0gLTE7XG5cbmZ1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpIHtcbiAgICBpZiAoIWRyYWluaW5nIHx8ICFjdXJyZW50UXVldWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIGlmIChjdXJyZW50UXVldWUubGVuZ3RoKSB7XG4gICAgICAgIHF1ZXVlID0gY3VycmVudFF1ZXVlLmNvbmNhdChxdWV1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgIH1cbiAgICBpZiAocXVldWUubGVuZ3RoKSB7XG4gICAgICAgIGRyYWluUXVldWUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGRyYWluUXVldWUoKSB7XG4gICAgaWYgKGRyYWluaW5nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHRpbWVvdXQgPSBydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7XG4gICAgZHJhaW5pbmcgPSB0cnVlO1xuXG4gICAgdmFyIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB3aGlsZShsZW4pIHtcbiAgICAgICAgY3VycmVudFF1ZXVlID0gcXVldWU7XG4gICAgICAgIHF1ZXVlID0gW107XG4gICAgICAgIHdoaWxlICgrK3F1ZXVlSW5kZXggPCBsZW4pIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UXVldWUpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50UXVldWVbcXVldWVJbmRleF0ucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgICAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgfVxuICAgIGN1cnJlbnRRdWV1ZSA9IG51bGw7XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBydW5DbGVhclRpbWVvdXQodGltZW91dCk7XG59XG5cbnByb2Nlc3MubmV4dFRpY2sgPSBmdW5jdGlvbiAoZnVuKSB7XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcXVldWUucHVzaChuZXcgSXRlbShmdW4sIGFyZ3MpKTtcbiAgICBpZiAocXVldWUubGVuZ3RoID09PSAxICYmICFkcmFpbmluZykge1xuICAgICAgICBydW5UaW1lb3V0KGRyYWluUXVldWUpO1xuICAgIH1cbn07XG5cbi8vIHY4IGxpa2VzIHByZWRpY3RpYmxlIG9iamVjdHNcbmZ1bmN0aW9uIEl0ZW0oZnVuLCBhcnJheSkge1xuICAgIHRoaXMuZnVuID0gZnVuO1xuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbn1cbkl0ZW0ucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZ1bi5hcHBseShudWxsLCB0aGlzLmFycmF5KTtcbn07XG5wcm9jZXNzLnRpdGxlID0gJ2Jyb3dzZXInO1xucHJvY2Vzcy5icm93c2VyID0gdHJ1ZTtcbnByb2Nlc3MuZW52ID0ge307XG5wcm9jZXNzLmFyZ3YgPSBbXTtcbnByb2Nlc3MudmVyc2lvbiA9ICcnOyAvLyBlbXB0eSBzdHJpbmcgdG8gYXZvaWQgcmVnZXhwIGlzc3Vlc1xucHJvY2Vzcy52ZXJzaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiBub29wKCkge31cblxucHJvY2Vzcy5vbiA9IG5vb3A7XG5wcm9jZXNzLmFkZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3Mub25jZSA9IG5vb3A7XG5wcm9jZXNzLm9mZiA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUxpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzID0gbm9vcDtcbnByb2Nlc3MuZW1pdCA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXIgPSBub29wO1xuXG5wcm9jZXNzLmxpc3RlbmVycyA9IGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBbXSB9XG5cbnByb2Nlc3MuYmluZGluZyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcblxucHJvY2Vzcy5jd2QgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAnLycgfTtcbnByb2Nlc3MuY2hkaXIgPSBmdW5jdGlvbiAoZGlyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5wcm9jZXNzLnVtYXNrID0gZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/process/browser.js\n");

/***/ }),

/***/ "./node_modules/setimmediate/setImmediate.js":
/*!***************************************************!*\
  !*** ./node_modules/setimmediate/setImmediate.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n    \"use strict\";\n\n    if (global.setImmediate) {\n        return;\n    }\n\n    var nextHandle = 1; // Spec says greater than zero\n    var tasksByHandle = {};\n    var currentlyRunningATask = false;\n    var doc = global.document;\n    var registerImmediate;\n\n    function setImmediate(callback) {\n      // Callback can either be a function or a string\n      if (typeof callback !== \"function\") {\n        callback = new Function(\"\" + callback);\n      }\n      // Copy function arguments\n      var args = new Array(arguments.length - 1);\n      for (var i = 0; i < args.length; i++) {\n          args[i] = arguments[i + 1];\n      }\n      // Store and register the task\n      var task = { callback: callback, args: args };\n      tasksByHandle[nextHandle] = task;\n      registerImmediate(nextHandle);\n      return nextHandle++;\n    }\n\n    function clearImmediate(handle) {\n        delete tasksByHandle[handle];\n    }\n\n    function run(task) {\n        var callback = task.callback;\n        var args = task.args;\n        switch (args.length) {\n        case 0:\n            callback();\n            break;\n        case 1:\n            callback(args[0]);\n            break;\n        case 2:\n            callback(args[0], args[1]);\n            break;\n        case 3:\n            callback(args[0], args[1], args[2]);\n            break;\n        default:\n            callback.apply(undefined, args);\n            break;\n        }\n    }\n\n    function runIfPresent(handle) {\n        // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n        // So if we're currently running a task, we'll need to delay this invocation.\n        if (currentlyRunningATask) {\n            // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n            // \"too much recursion\" error.\n            setTimeout(runIfPresent, 0, handle);\n        } else {\n            var task = tasksByHandle[handle];\n            if (task) {\n                currentlyRunningATask = true;\n                try {\n                    run(task);\n                } finally {\n                    clearImmediate(handle);\n                    currentlyRunningATask = false;\n                }\n            }\n        }\n    }\n\n    function installNextTickImplementation() {\n        registerImmediate = function(handle) {\n            process.nextTick(function () { runIfPresent(handle); });\n        };\n    }\n\n    function canUsePostMessage() {\n        // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n        // where `global.postMessage` means something completely different and can't be used for this purpose.\n        if (global.postMessage && !global.importScripts) {\n            var postMessageIsAsynchronous = true;\n            var oldOnMessage = global.onmessage;\n            global.onmessage = function() {\n                postMessageIsAsynchronous = false;\n            };\n            global.postMessage(\"\", \"*\");\n            global.onmessage = oldOnMessage;\n            return postMessageIsAsynchronous;\n        }\n    }\n\n    function installPostMessageImplementation() {\n        // Installs an event handler on `global` for the `message` event: see\n        // * https://developer.mozilla.org/en/DOM/window.postMessage\n        // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n        var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n        var onGlobalMessage = function(event) {\n            if (event.source === global &&\n                typeof event.data === \"string\" &&\n                event.data.indexOf(messagePrefix) === 0) {\n                runIfPresent(+event.data.slice(messagePrefix.length));\n            }\n        };\n\n        if (global.addEventListener) {\n            global.addEventListener(\"message\", onGlobalMessage, false);\n        } else {\n            global.attachEvent(\"onmessage\", onGlobalMessage);\n        }\n\n        registerImmediate = function(handle) {\n            global.postMessage(messagePrefix + handle, \"*\");\n        };\n    }\n\n    function installMessageChannelImplementation() {\n        var channel = new MessageChannel();\n        channel.port1.onmessage = function(event) {\n            var handle = event.data;\n            runIfPresent(handle);\n        };\n\n        registerImmediate = function(handle) {\n            channel.port2.postMessage(handle);\n        };\n    }\n\n    function installReadyStateChangeImplementation() {\n        var html = doc.documentElement;\n        registerImmediate = function(handle) {\n            // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n            // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n            var script = doc.createElement(\"script\");\n            script.onreadystatechange = function () {\n                runIfPresent(handle);\n                script.onreadystatechange = null;\n                html.removeChild(script);\n                script = null;\n            };\n            html.appendChild(script);\n        };\n    }\n\n    function installSetTimeoutImplementation() {\n        registerImmediate = function(handle) {\n            setTimeout(runIfPresent, 0, handle);\n        };\n    }\n\n    // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n    var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n    attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n    // Don't get fooled by e.g. browserify environments.\n    if ({}.toString.call(global.process) === \"[object process]\") {\n        // For Node.js before 0.9\n        installNextTickImplementation();\n\n    } else if (canUsePostMessage()) {\n        // For non-IE10 modern browsers\n        installPostMessageImplementation();\n\n    } else if (global.MessageChannel) {\n        // For web workers, where supported\n        installMessageChannelImplementation();\n\n    } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n        // For IE 6–8\n        installReadyStateChangeImplementation();\n\n    } else {\n        // For older browsers\n        installSetTimeoutImplementation();\n    }\n\n    attachTo.setImmediate = setImmediate;\n    attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! ./../process/browser.js */ \"./node_modules/process/browser.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2V0aW1tZWRpYXRlL3NldEltbWVkaWF0ZS5qcz82MDE3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixpQkFBaUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDBDQUEwQyxzQkFBc0IsRUFBRTtBQUNsRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9zZXRpbW1lZGlhdGUvc2V0SW1tZWRpYXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIChnbG9iYWwsIHVuZGVmaW5lZCkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgaWYgKGdsb2JhbC5zZXRJbW1lZGlhdGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBuZXh0SGFuZGxlID0gMTsgLy8gU3BlYyBzYXlzIGdyZWF0ZXIgdGhhbiB6ZXJvXG4gICAgdmFyIHRhc2tzQnlIYW5kbGUgPSB7fTtcbiAgICB2YXIgY3VycmVudGx5UnVubmluZ0FUYXNrID0gZmFsc2U7XG4gICAgdmFyIGRvYyA9IGdsb2JhbC5kb2N1bWVudDtcbiAgICB2YXIgcmVnaXN0ZXJJbW1lZGlhdGU7XG5cbiAgICBmdW5jdGlvbiBzZXRJbW1lZGlhdGUoY2FsbGJhY2spIHtcbiAgICAgIC8vIENhbGxiYWNrIGNhbiBlaXRoZXIgYmUgYSBmdW5jdGlvbiBvciBhIHN0cmluZ1xuICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGNhbGxiYWNrID0gbmV3IEZ1bmN0aW9uKFwiXCIgKyBjYWxsYmFjayk7XG4gICAgICB9XG4gICAgICAvLyBDb3B5IGZ1bmN0aW9uIGFyZ3VtZW50c1xuICAgICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpICsgMV07XG4gICAgICB9XG4gICAgICAvLyBTdG9yZSBhbmQgcmVnaXN0ZXIgdGhlIHRhc2tcbiAgICAgIHZhciB0YXNrID0geyBjYWxsYmFjazogY2FsbGJhY2ssIGFyZ3M6IGFyZ3MgfTtcbiAgICAgIHRhc2tzQnlIYW5kbGVbbmV4dEhhbmRsZV0gPSB0YXNrO1xuICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUobmV4dEhhbmRsZSk7XG4gICAgICByZXR1cm4gbmV4dEhhbmRsZSsrO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNsZWFySW1tZWRpYXRlKGhhbmRsZSkge1xuICAgICAgICBkZWxldGUgdGFza3NCeUhhbmRsZVtoYW5kbGVdO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJ1bih0YXNrKSB7XG4gICAgICAgIHZhciBjYWxsYmFjayA9IHRhc2suY2FsbGJhY2s7XG4gICAgICAgIHZhciBhcmdzID0gdGFzay5hcmdzO1xuICAgICAgICBzd2l0Y2ggKGFyZ3MubGVuZ3RoKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNhbGxiYWNrLmFwcGx5KHVuZGVmaW5lZCwgYXJncyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJ1bklmUHJlc2VudChoYW5kbGUpIHtcbiAgICAgICAgLy8gRnJvbSB0aGUgc3BlYzogXCJXYWl0IHVudGlsIGFueSBpbnZvY2F0aW9ucyBvZiB0aGlzIGFsZ29yaXRobSBzdGFydGVkIGJlZm9yZSB0aGlzIG9uZSBoYXZlIGNvbXBsZXRlZC5cIlxuICAgICAgICAvLyBTbyBpZiB3ZSdyZSBjdXJyZW50bHkgcnVubmluZyBhIHRhc2ssIHdlJ2xsIG5lZWQgdG8gZGVsYXkgdGhpcyBpbnZvY2F0aW9uLlxuICAgICAgICBpZiAoY3VycmVudGx5UnVubmluZ0FUYXNrKSB7XG4gICAgICAgICAgICAvLyBEZWxheSBieSBkb2luZyBhIHNldFRpbWVvdXQuIHNldEltbWVkaWF0ZSB3YXMgdHJpZWQgaW5zdGVhZCwgYnV0IGluIEZpcmVmb3ggNyBpdCBnZW5lcmF0ZWQgYVxuICAgICAgICAgICAgLy8gXCJ0b28gbXVjaCByZWN1cnNpb25cIiBlcnJvci5cbiAgICAgICAgICAgIHNldFRpbWVvdXQocnVuSWZQcmVzZW50LCAwLCBoYW5kbGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIHRhc2sgPSB0YXNrc0J5SGFuZGxlW2hhbmRsZV07XG4gICAgICAgICAgICBpZiAodGFzaykge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRseVJ1bm5pbmdBVGFzayA9IHRydWU7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgcnVuKHRhc2spO1xuICAgICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFySW1tZWRpYXRlKGhhbmRsZSk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRseVJ1bm5pbmdBVGFzayA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3RhbGxOZXh0VGlja0ltcGxlbWVudGF0aW9uKCkge1xuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgICAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiAoKSB7IHJ1bklmUHJlc2VudChoYW5kbGUpOyB9KTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjYW5Vc2VQb3N0TWVzc2FnZSgpIHtcbiAgICAgICAgLy8gVGhlIHRlc3QgYWdhaW5zdCBgaW1wb3J0U2NyaXB0c2AgcHJldmVudHMgdGhpcyBpbXBsZW1lbnRhdGlvbiBmcm9tIGJlaW5nIGluc3RhbGxlZCBpbnNpZGUgYSB3ZWIgd29ya2VyLFxuICAgICAgICAvLyB3aGVyZSBgZ2xvYmFsLnBvc3RNZXNzYWdlYCBtZWFucyBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQgYW5kIGNhbid0IGJlIHVzZWQgZm9yIHRoaXMgcHVycG9zZS5cbiAgICAgICAgaWYgKGdsb2JhbC5wb3N0TWVzc2FnZSAmJiAhZ2xvYmFsLmltcG9ydFNjcmlwdHMpIHtcbiAgICAgICAgICAgIHZhciBwb3N0TWVzc2FnZUlzQXN5bmNocm9ub3VzID0gdHJ1ZTtcbiAgICAgICAgICAgIHZhciBvbGRPbk1lc3NhZ2UgPSBnbG9iYWwub25tZXNzYWdlO1xuICAgICAgICAgICAgZ2xvYmFsLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXMgPSBmYWxzZTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBnbG9iYWwucG9zdE1lc3NhZ2UoXCJcIiwgXCIqXCIpO1xuICAgICAgICAgICAgZ2xvYmFsLm9ubWVzc2FnZSA9IG9sZE9uTWVzc2FnZTtcbiAgICAgICAgICAgIHJldHVybiBwb3N0TWVzc2FnZUlzQXN5bmNocm9ub3VzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5zdGFsbFBvc3RNZXNzYWdlSW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIC8vIEluc3RhbGxzIGFuIGV2ZW50IGhhbmRsZXIgb24gYGdsb2JhbGAgZm9yIHRoZSBgbWVzc2FnZWAgZXZlbnQ6IHNlZVxuICAgICAgICAvLyAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuL0RPTS93aW5kb3cucG9zdE1lc3NhZ2VcbiAgICAgICAgLy8gKiBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9jb21tcy5odG1sI2Nyb3NzRG9jdW1lbnRNZXNzYWdlc1xuXG4gICAgICAgIHZhciBtZXNzYWdlUHJlZml4ID0gXCJzZXRJbW1lZGlhdGUkXCIgKyBNYXRoLnJhbmRvbSgpICsgXCIkXCI7XG4gICAgICAgIHZhciBvbkdsb2JhbE1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LnNvdXJjZSA9PT0gZ2xvYmFsICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIGV2ZW50LmRhdGEgPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgICAgICAgICBldmVudC5kYXRhLmluZGV4T2YobWVzc2FnZVByZWZpeCkgPT09IDApIHtcbiAgICAgICAgICAgICAgICBydW5JZlByZXNlbnQoK2V2ZW50LmRhdGEuc2xpY2UobWVzc2FnZVByZWZpeC5sZW5ndGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoZ2xvYmFsLmFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgICAgIGdsb2JhbC5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBvbkdsb2JhbE1lc3NhZ2UsIGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGdsb2JhbC5hdHRhY2hFdmVudChcIm9ubWVzc2FnZVwiLCBvbkdsb2JhbE1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUgPSBmdW5jdGlvbihoYW5kbGUpIHtcbiAgICAgICAgICAgIGdsb2JhbC5wb3N0TWVzc2FnZShtZXNzYWdlUHJlZml4ICsgaGFuZGxlLCBcIipcIik7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5zdGFsbE1lc3NhZ2VDaGFubmVsSW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7XG4gICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgICAgIHZhciBoYW5kbGUgPSBldmVudC5kYXRhO1xuICAgICAgICAgICAgcnVuSWZQcmVzZW50KGhhbmRsZSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUgPSBmdW5jdGlvbihoYW5kbGUpIHtcbiAgICAgICAgICAgIGNoYW5uZWwucG9ydDIucG9zdE1lc3NhZ2UoaGFuZGxlKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsUmVhZHlTdGF0ZUNoYW5nZUltcGxlbWVudGF0aW9uKCkge1xuICAgICAgICB2YXIgaHRtbCA9IGRvYy5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XG4gICAgICAgICAgICAvLyBDcmVhdGUgYSA8c2NyaXB0PiBlbGVtZW50OyBpdHMgcmVhZHlzdGF0ZWNoYW5nZSBldmVudCB3aWxsIGJlIGZpcmVkIGFzeW5jaHJvbm91c2x5IG9uY2UgaXQgaXMgaW5zZXJ0ZWRcbiAgICAgICAgICAgIC8vIGludG8gdGhlIGRvY3VtZW50LiBEbyBzbywgdGh1cyBxdWV1aW5nIHVwIHRoZSB0YXNrLiBSZW1lbWJlciB0byBjbGVhbiB1cCBvbmNlIGl0J3MgYmVlbiBjYWxsZWQuXG4gICAgICAgICAgICB2YXIgc2NyaXB0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgICAgICAgICBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHJ1bklmUHJlc2VudChoYW5kbGUpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsO1xuICAgICAgICAgICAgICAgIGh0bWwucmVtb3ZlQ2hpbGQoc2NyaXB0KTtcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBudWxsO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGh0bWwuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsU2V0VGltZW91dEltcGxlbWVudGF0aW9uKCkge1xuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgICAgICAgICAgc2V0VGltZW91dChydW5JZlByZXNlbnQsIDAsIGhhbmRsZSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gSWYgc3VwcG9ydGVkLCB3ZSBzaG91bGQgYXR0YWNoIHRvIHRoZSBwcm90b3R5cGUgb2YgZ2xvYmFsLCBzaW5jZSB0aGF0IGlzIHdoZXJlIHNldFRpbWVvdXQgZXQgYWwuIGxpdmUuXG4gICAgdmFyIGF0dGFjaFRvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mICYmIE9iamVjdC5nZXRQcm90b3R5cGVPZihnbG9iYWwpO1xuICAgIGF0dGFjaFRvID0gYXR0YWNoVG8gJiYgYXR0YWNoVG8uc2V0VGltZW91dCA/IGF0dGFjaFRvIDogZ2xvYmFsO1xuXG4gICAgLy8gRG9uJ3QgZ2V0IGZvb2xlZCBieSBlLmcuIGJyb3dzZXJpZnkgZW52aXJvbm1lbnRzLlxuICAgIGlmICh7fS50b1N0cmluZy5jYWxsKGdsb2JhbC5wcm9jZXNzKSA9PT0gXCJbb2JqZWN0IHByb2Nlc3NdXCIpIHtcbiAgICAgICAgLy8gRm9yIE5vZGUuanMgYmVmb3JlIDAuOVxuICAgICAgICBpbnN0YWxsTmV4dFRpY2tJbXBsZW1lbnRhdGlvbigpO1xuXG4gICAgfSBlbHNlIGlmIChjYW5Vc2VQb3N0TWVzc2FnZSgpKSB7XG4gICAgICAgIC8vIEZvciBub24tSUUxMCBtb2Rlcm4gYnJvd3NlcnNcbiAgICAgICAgaW5zdGFsbFBvc3RNZXNzYWdlSW1wbGVtZW50YXRpb24oKTtcblxuICAgIH0gZWxzZSBpZiAoZ2xvYmFsLk1lc3NhZ2VDaGFubmVsKSB7XG4gICAgICAgIC8vIEZvciB3ZWIgd29ya2Vycywgd2hlcmUgc3VwcG9ydGVkXG4gICAgICAgIGluc3RhbGxNZXNzYWdlQ2hhbm5lbEltcGxlbWVudGF0aW9uKCk7XG5cbiAgICB9IGVsc2UgaWYgKGRvYyAmJiBcIm9ucmVhZHlzdGF0ZWNoYW5nZVwiIGluIGRvYy5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpKSB7XG4gICAgICAgIC8vIEZvciBJRSA24oCTOFxuICAgICAgICBpbnN0YWxsUmVhZHlTdGF0ZUNoYW5nZUltcGxlbWVudGF0aW9uKCk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBGb3Igb2xkZXIgYnJvd3NlcnNcbiAgICAgICAgaW5zdGFsbFNldFRpbWVvdXRJbXBsZW1lbnRhdGlvbigpO1xuICAgIH1cblxuICAgIGF0dGFjaFRvLnNldEltbWVkaWF0ZSA9IHNldEltbWVkaWF0ZTtcbiAgICBhdHRhY2hUby5jbGVhckltbWVkaWF0ZSA9IGNsZWFySW1tZWRpYXRlO1xufSh0eXBlb2Ygc2VsZiA9PT0gXCJ1bmRlZmluZWRcIiA/IHR5cGVvZiBnbG9iYWwgPT09IFwidW5kZWZpbmVkXCIgPyB0aGlzIDogZ2xvYmFsIDogc2VsZikpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/setimmediate/setImmediate.js\n");

/***/ }),

/***/ "./node_modules/timers-browserify/main.js":
/*!************************************************!*\
  !*** ./node_modules/timers-browserify/main.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== \"undefined\" && global) ||\n            (typeof self !== \"undefined\" && self) ||\n            window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n  return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n  return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n  if (timeout) {\n    timeout.close();\n  }\n};\n\nfunction Timeout(id, clearFn) {\n  this._id = id;\n  this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n  this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n  clearTimeout(item._idleTimeoutId);\n  item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n  clearTimeout(item._idleTimeoutId);\n  item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n  clearTimeout(item._idleTimeoutId);\n\n  var msecs = item._idleTimeout;\n  if (msecs >= 0) {\n    item._idleTimeoutId = setTimeout(function onTimeout() {\n      if (item._onTimeout)\n        item._onTimeout();\n    }, msecs);\n  }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(/*! setimmediate */ \"./node_modules/setimmediate/setImmediate.js\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto.  Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n                       (typeof global !== \"undefined\" && global.setImmediate) ||\n                       (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n                         (typeof global !== \"undefined\" && global.clearImmediate) ||\n                         (this && this.clearImmediate);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdGltZXJzLWJyb3dzZXJpZnkvbWFpbi5qcz81MTE4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSxtQkFBTyxDQUFDLGlFQUFjO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy90aW1lcnMtYnJvd3NlcmlmeS9tYWluLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHNjb3BlID0gKHR5cGVvZiBnbG9iYWwgIT09IFwidW5kZWZpbmVkXCIgJiYgZ2xvYmFsKSB8fFxuICAgICAgICAgICAgKHR5cGVvZiBzZWxmICE9PSBcInVuZGVmaW5lZFwiICYmIHNlbGYpIHx8XG4gICAgICAgICAgICB3aW5kb3c7XG52YXIgYXBwbHkgPSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHk7XG5cbi8vIERPTSBBUElzLCBmb3IgY29tcGxldGVuZXNzXG5cbmV4cG9ydHMuc2V0VGltZW91dCA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRUaW1lb3V0LCBzY29wZSwgYXJndW1lbnRzKSwgY2xlYXJUaW1lb3V0KTtcbn07XG5leHBvcnRzLnNldEludGVydmFsID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBuZXcgVGltZW91dChhcHBseS5jYWxsKHNldEludGVydmFsLCBzY29wZSwgYXJndW1lbnRzKSwgY2xlYXJJbnRlcnZhbCk7XG59O1xuZXhwb3J0cy5jbGVhclRpbWVvdXQgPVxuZXhwb3J0cy5jbGVhckludGVydmFsID0gZnVuY3Rpb24odGltZW91dCkge1xuICBpZiAodGltZW91dCkge1xuICAgIHRpbWVvdXQuY2xvc2UoKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gVGltZW91dChpZCwgY2xlYXJGbikge1xuICB0aGlzLl9pZCA9IGlkO1xuICB0aGlzLl9jbGVhckZuID0gY2xlYXJGbjtcbn1cblRpbWVvdXQucHJvdG90eXBlLnVucmVmID0gVGltZW91dC5wcm90b3R5cGUucmVmID0gZnVuY3Rpb24oKSB7fTtcblRpbWVvdXQucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMuX2NsZWFyRm4uY2FsbChzY29wZSwgdGhpcy5faWQpO1xufTtcblxuLy8gRG9lcyBub3Qgc3RhcnQgdGhlIHRpbWUsIGp1c3Qgc2V0cyB1cCB0aGUgbWVtYmVycyBuZWVkZWQuXG5leHBvcnRzLmVucm9sbCA9IGZ1bmN0aW9uKGl0ZW0sIG1zZWNzKSB7XG4gIGNsZWFyVGltZW91dChpdGVtLl9pZGxlVGltZW91dElkKTtcbiAgaXRlbS5faWRsZVRpbWVvdXQgPSBtc2Vjcztcbn07XG5cbmV4cG9ydHMudW5lbnJvbGwgPSBmdW5jdGlvbihpdGVtKSB7XG4gIGNsZWFyVGltZW91dChpdGVtLl9pZGxlVGltZW91dElkKTtcbiAgaXRlbS5faWRsZVRpbWVvdXQgPSAtMTtcbn07XG5cbmV4cG9ydHMuX3VucmVmQWN0aXZlID0gZXhwb3J0cy5hY3RpdmUgPSBmdW5jdGlvbihpdGVtKSB7XG4gIGNsZWFyVGltZW91dChpdGVtLl9pZGxlVGltZW91dElkKTtcblxuICB2YXIgbXNlY3MgPSBpdGVtLl9pZGxlVGltZW91dDtcbiAgaWYgKG1zZWNzID49IDApIHtcbiAgICBpdGVtLl9pZGxlVGltZW91dElkID0gc2V0VGltZW91dChmdW5jdGlvbiBvblRpbWVvdXQoKSB7XG4gICAgICBpZiAoaXRlbS5fb25UaW1lb3V0KVxuICAgICAgICBpdGVtLl9vblRpbWVvdXQoKTtcbiAgICB9LCBtc2Vjcyk7XG4gIH1cbn07XG5cbi8vIHNldGltbWVkaWF0ZSBhdHRhY2hlcyBpdHNlbGYgdG8gdGhlIGdsb2JhbCBvYmplY3RcbnJlcXVpcmUoXCJzZXRpbW1lZGlhdGVcIik7XG4vLyBPbiBzb21lIGV4b3RpYyBlbnZpcm9ubWVudHMsIGl0J3Mgbm90IGNsZWFyIHdoaWNoIG9iamVjdCBgc2V0aW1tZWRpYXRlYCB3YXNcbi8vIGFibGUgdG8gaW5zdGFsbCBvbnRvLiAgU2VhcmNoIGVhY2ggcG9zc2liaWxpdHkgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlXG4vLyBgc2V0aW1tZWRpYXRlYCBsaWJyYXJ5LlxuZXhwb3J0cy5zZXRJbW1lZGlhdGUgPSAodHlwZW9mIHNlbGYgIT09IFwidW5kZWZpbmVkXCIgJiYgc2VsZi5zZXRJbW1lZGlhdGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICh0eXBlb2YgZ2xvYmFsICE9PSBcInVuZGVmaW5lZFwiICYmIGdsb2JhbC5zZXRJbW1lZGlhdGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICh0aGlzICYmIHRoaXMuc2V0SW1tZWRpYXRlKTtcbmV4cG9ydHMuY2xlYXJJbW1lZGlhdGUgPSAodHlwZW9mIHNlbGYgIT09IFwidW5kZWZpbmVkXCIgJiYgc2VsZi5jbGVhckltbWVkaWF0ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAodHlwZW9mIGdsb2JhbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBnbG9iYWwuY2xlYXJJbW1lZGlhdGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMgJiYgdGhpcy5jbGVhckltbWVkaWF0ZSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/timers-browserify/main.js\n");

/***/ }),

/***/ "./node_modules/webpack/buildin/global.js":
/*!***********************************!*\
  !*** (webpack)/buildin/global.js ***!
  \***********************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vZ2xvYmFsLmpzP2NkMDAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7O0FBRTVDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCk7XG59IGNhdGNoIChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSBnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/global.js\n");

/***/ }),

/***/ "./resources/js/global/polyfills/eventPolyFill.js":
/*!********************************************************!*\
  !*** ./resources/js/global/polyfills/eventPolyFill.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/**\n * Event semi polyfill. IE does not support new event. But does support document.createEvent.\n * Same thing for dispatching events. But then with createEvent and fireEvent.\n */\nfunction createNewEvent(eventName) {\n  var event;\n\n  if (typeof Event === 'function') {\n    //On ie it is typeOf object.\n    event = new Event(eventName); //Non-ie\n  } else {\n    event = document.createEvent('Event'); //ie\n\n    event.initEvent(eventName, true, true);\n  }\n\n  return event;\n}\n\nfunction dispatchEventForElement(element, event) {\n  if (document.createEvent) {\n    element.dispatchEvent(event);\n  } else {\n    element.fireEvent(\"on\" + event.eventType, event);\n  }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvZ2xvYmFsL3BvbHlmaWxscy9ldmVudFBvbHlGaWxsLmpzPzk4MTciXSwibmFtZXMiOlsiY3JlYXRlTmV3RXZlbnQiLCJldmVudE5hbWUiLCJldmVudCIsIkV2ZW50IiwiZG9jdW1lbnQiLCJjcmVhdGVFdmVudCIsImluaXRFdmVudCIsImRpc3BhdGNoRXZlbnRGb3JFbGVtZW50IiwiZWxlbWVudCIsImRpc3BhdGNoRXZlbnQiLCJmaXJlRXZlbnQiLCJldmVudFR5cGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7O0FBTUEsU0FBU0EsY0FBVCxDQUF3QkMsU0FBeEIsRUFBbUM7QUFDL0IsTUFBSUMsS0FBSjs7QUFDQSxNQUFJLE9BQU9DLEtBQVAsS0FBa0IsVUFBdEIsRUFBa0M7QUFBRTtBQUNoQ0QsU0FBSyxHQUFHLElBQUlDLEtBQUosQ0FBVUYsU0FBVixDQUFSLENBRDhCLENBQ0E7QUFDakMsR0FGRCxNQUVPO0FBQ0hDLFNBQUssR0FBR0UsUUFBUSxDQUFDQyxXQUFULENBQXFCLE9BQXJCLENBQVIsQ0FERyxDQUNvQzs7QUFDdkNILFNBQUssQ0FBQ0ksU0FBTixDQUFnQkwsU0FBaEIsRUFBMkIsSUFBM0IsRUFBaUMsSUFBakM7QUFDSDs7QUFDRCxTQUFPQyxLQUFQO0FBQ0g7O0FBRUQsU0FBU0ssdUJBQVQsQ0FBaUNDLE9BQWpDLEVBQTBDTixLQUExQyxFQUNBO0FBQ0ksTUFBSUUsUUFBUSxDQUFDQyxXQUFiLEVBQTBCO0FBQ3RCRyxXQUFPLENBQUNDLGFBQVIsQ0FBc0JQLEtBQXRCO0FBQ0gsR0FGRCxNQUVPO0FBQ0hNLFdBQU8sQ0FBQ0UsU0FBUixDQUFrQixPQUFPUixLQUFLLENBQUNTLFNBQS9CLEVBQTBDVCxLQUExQztBQUNIO0FBQ0oiLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvZ2xvYmFsL3BvbHlmaWxscy9ldmVudFBvbHlGaWxsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFdmVudCBzZW1pIHBvbHlmaWxsLiBJRSBkb2VzIG5vdCBzdXBwb3J0IG5ldyBldmVudC4gQnV0IGRvZXMgc3VwcG9ydCBkb2N1bWVudC5jcmVhdGVFdmVudC5cbiAqIFNhbWUgdGhpbmcgZm9yIGRpc3BhdGNoaW5nIGV2ZW50cy4gQnV0IHRoZW4gd2l0aCBjcmVhdGVFdmVudCBhbmQgZmlyZUV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gY3JlYXRlTmV3RXZlbnQoZXZlbnROYW1lKSB7XG4gICAgbGV0IGV2ZW50O1xuICAgIGlmICh0eXBlb2YoRXZlbnQpID09PSAnZnVuY3Rpb24nKSB7IC8vT24gaWUgaXQgaXMgdHlwZU9mIG9iamVjdC5cbiAgICAgICAgZXZlbnQgPSBuZXcgRXZlbnQoZXZlbnROYW1lKTsgLy9Ob24taWVcbiAgICB9IGVsc2Uge1xuICAgICAgICBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpOyAvL2llXG4gICAgICAgIGV2ZW50LmluaXRFdmVudChldmVudE5hbWUsIHRydWUsIHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gZXZlbnQ7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoRXZlbnRGb3JFbGVtZW50KGVsZW1lbnQsIGV2ZW50KVxue1xuICAgIGlmIChkb2N1bWVudC5jcmVhdGVFdmVudCkge1xuICAgICAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQuZmlyZUV2ZW50KFwib25cIiArIGV2ZW50LmV2ZW50VHlwZSwgZXZlbnQpO1xuICAgIH1cbn1cblxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/global/polyfills/eventPolyFill.js\n");

/***/ }),

/***/ "./resources/js/global/polyfills/isInteger.js":
/*!****************************************************!*\
  !*** ./resources/js/global/polyfills/isInteger.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("Number.isInteger = Number.isInteger || function (value) {\n  return typeof value === \"number\" && isFinite(value) && Math.floor(value) === value;\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvZ2xvYmFsL3BvbHlmaWxscy9pc0ludGVnZXIuanM/NDJiZiJdLCJuYW1lcyI6WyJOdW1iZXIiLCJpc0ludGVnZXIiLCJ2YWx1ZSIsImlzRmluaXRlIiwiTWF0aCIsImZsb29yIl0sIm1hcHBpbmdzIjoiQUFBQUEsTUFBTSxDQUFDQyxTQUFQLEdBQW1CRCxNQUFNLENBQUNDLFNBQVAsSUFBb0IsVUFBU0MsS0FBVCxFQUFnQjtBQUNuRCxTQUFPLE9BQU9BLEtBQVAsS0FBaUIsUUFBakIsSUFDSEMsUUFBUSxDQUFDRCxLQUFELENBREwsSUFFSEUsSUFBSSxDQUFDQyxLQUFMLENBQVdILEtBQVgsTUFBc0JBLEtBRjFCO0FBR0gsQ0FKRCIsImZpbGUiOiIuL3Jlc291cmNlcy9qcy9nbG9iYWwvcG9seWZpbGxzL2lzSW50ZWdlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIk51bWJlci5pc0ludGVnZXIgPSBOdW1iZXIuaXNJbnRlZ2VyIHx8IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgICBpc0Zpbml0ZSh2YWx1ZSkgJiZcbiAgICAgICAgTWF0aC5mbG9vcih2YWx1ZSkgPT09IHZhbHVlO1xufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/global/polyfills/isInteger.js\n");

/***/ }),

/***/ "./resources/js/global/polyfills/promise.js":
/*!**************************************************!*\
  !*** ./resources/js/global/polyfills/promise.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* WEBPACK VAR INJECTION */(function(setImmediate, global) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n(function (global, factory) {\n  ( false ? undefined : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? factory() :  true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : undefined;\n})(this, function () {\n  'use strict';\n  /**\n   * @this {Promise}\n   */\n\n  function finallyConstructor(callback) {\n    var constructor = this.constructor;\n    return this.then(function (value) {\n      return constructor.resolve(callback()).then(function () {\n        return value;\n      });\n    }, function (reason) {\n      return constructor.resolve(callback()).then(function () {\n        return constructor.reject(reason);\n      });\n    });\n  } // Store setTimeout reference so promise-polyfill will be unaffected by\n  // other code modifying setTimeout (like sinon.useFakeTimers())\n\n\n  var setTimeoutFunc = setTimeout;\n\n  function noop() {} // Polyfill for Function.prototype.bind\n\n\n  function bind(fn, thisArg) {\n    return function () {\n      fn.apply(thisArg, arguments);\n    };\n  }\n  /**\n   * @constructor\n   * @param {Function} fn\n   */\n\n\n  function Promise(fn) {\n    if (!(this instanceof Promise)) throw new TypeError('Promises must be constructed via new');\n    if (typeof fn !== 'function') throw new TypeError('not a function');\n    /** @type {!number} */\n\n    this._state = 0;\n    /** @type {!boolean} */\n\n    this._handled = false;\n    /** @type {Promise|undefined} */\n\n    this._value = undefined;\n    /** @type {!Array<!Function>} */\n\n    this._deferreds = [];\n    doResolve(fn, this);\n  }\n\n  function handle(self, deferred) {\n    while (self._state === 3) {\n      self = self._value;\n    }\n\n    if (self._state === 0) {\n      self._deferreds.push(deferred);\n\n      return;\n    }\n\n    self._handled = true;\n\n    Promise._immediateFn(function () {\n      var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n\n      if (cb === null) {\n        (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n        return;\n      }\n\n      var ret;\n\n      try {\n        ret = cb(self._value);\n      } catch (e) {\n        reject(deferred.promise, e);\n        return;\n      }\n\n      resolve(deferred.promise, ret);\n    });\n  }\n\n  function resolve(self, newValue) {\n    try {\n      // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n      if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.');\n\n      if (newValue && (_typeof(newValue) === 'object' || typeof newValue === 'function')) {\n        var then = newValue.then;\n\n        if (newValue instanceof Promise) {\n          self._state = 3;\n          self._value = newValue;\n          finale(self);\n          return;\n        } else if (typeof then === 'function') {\n          doResolve(bind(then, newValue), self);\n          return;\n        }\n      }\n\n      self._state = 1;\n      self._value = newValue;\n      finale(self);\n    } catch (e) {\n      reject(self, e);\n    }\n  }\n\n  function reject(self, newValue) {\n    self._state = 2;\n    self._value = newValue;\n    finale(self);\n  }\n\n  function finale(self) {\n    if (self._state === 2 && self._deferreds.length === 0) {\n      Promise._immediateFn(function () {\n        if (!self._handled) {\n          Promise._unhandledRejectionFn(self._value);\n        }\n      });\n    }\n\n    for (var i = 0, len = self._deferreds.length; i < len; i++) {\n      handle(self, self._deferreds[i]);\n    }\n\n    self._deferreds = null;\n  }\n  /**\n   * @constructor\n   */\n\n\n  function Handler(onFulfilled, onRejected, promise) {\n    this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n    this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n    this.promise = promise;\n  }\n  /**\n   * Take a potentially misbehaving resolver function and make sure\n   * onFulfilled and onRejected are only called once.\n   *\n   * Makes no guarantees about asynchrony.\n   */\n\n\n  function doResolve(fn, self) {\n    var done = false;\n\n    try {\n      fn(function (value) {\n        if (done) return;\n        done = true;\n        resolve(self, value);\n      }, function (reason) {\n        if (done) return;\n        done = true;\n        reject(self, reason);\n      });\n    } catch (ex) {\n      if (done) return;\n      done = true;\n      reject(self, ex);\n    }\n  }\n\n  Promise.prototype['catch'] = function (onRejected) {\n    return this.then(null, onRejected);\n  };\n\n  Promise.prototype.then = function (onFulfilled, onRejected) {\n    // @ts-ignore\n    var prom = new this.constructor(noop);\n    handle(this, new Handler(onFulfilled, onRejected, prom));\n    return prom;\n  };\n\n  Promise.prototype['finally'] = finallyConstructor;\n\n  Promise.all = function (arr) {\n    return new Promise(function (resolve, reject) {\n      if (!arr || typeof arr.length === 'undefined') throw new TypeError('Promise.all accepts an array');\n      var args = Array.prototype.slice.call(arr);\n      if (args.length === 0) return resolve([]);\n      var remaining = args.length;\n\n      function res(i, val) {\n        try {\n          if (val && (_typeof(val) === 'object' || typeof val === 'function')) {\n            var then = val.then;\n\n            if (typeof then === 'function') {\n              then.call(val, function (val) {\n                res(i, val);\n              }, reject);\n              return;\n            }\n          }\n\n          args[i] = val;\n\n          if (--remaining === 0) {\n            resolve(args);\n          }\n        } catch (ex) {\n          reject(ex);\n        }\n      }\n\n      for (var i = 0; i < args.length; i++) {\n        res(i, args[i]);\n      }\n    });\n  };\n\n  Promise.resolve = function (value) {\n    if (value && _typeof(value) === 'object' && value.constructor === Promise) {\n      return value;\n    }\n\n    return new Promise(function (resolve) {\n      resolve(value);\n    });\n  };\n\n  Promise.reject = function (value) {\n    return new Promise(function (resolve, reject) {\n      reject(value);\n    });\n  };\n\n  Promise.race = function (values) {\n    return new Promise(function (resolve, reject) {\n      for (var i = 0, len = values.length; i < len; i++) {\n        values[i].then(resolve, reject);\n      }\n    });\n  }; // Use polyfill for setImmediate for performance gains\n\n\n  Promise._immediateFn = typeof setImmediate === 'function' && function (fn) {\n    setImmediate(fn);\n  } || function (fn) {\n    setTimeoutFunc(fn, 0);\n  };\n\n  Promise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n    if (typeof console !== 'undefined' && console) {\n      console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n    }\n  };\n  /** @suppress {undefinedVars} */\n\n\n  var globalNS = function () {\n    // the only reliable means to get the global object is\n    // `Function('return this')()`\n    // However, this causes CSP violations in Chrome apps.\n    if (typeof self !== 'undefined') {\n      return self;\n    }\n\n    if (typeof window !== 'undefined') {\n      return window;\n    }\n\n    if (typeof global !== 'undefined') {\n      return global;\n    }\n\n    throw new Error('unable to locate global object');\n  }();\n\n  if (!('Promise' in globalNS)) {\n    globalNS['Promise'] = Promise;\n  } else if (!globalNS.Promise.prototype['finally']) {\n    globalNS.Promise.prototype['finally'] = finallyConstructor;\n  }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/timers-browserify/main.js */ \"./node_modules/timers-browserify/main.js\").setImmediate, __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvZ2xvYmFsL3BvbHlmaWxscy9wcm9taXNlLmpzPzQxOTAiXSwibmFtZXMiOlsiZ2xvYmFsIiwiZmFjdG9yeSIsImV4cG9ydHMiLCJtb2R1bGUiLCJkZWZpbmUiLCJmaW5hbGx5Q29uc3RydWN0b3IiLCJjYWxsYmFjayIsImNvbnN0cnVjdG9yIiwidGhlbiIsInZhbHVlIiwicmVzb2x2ZSIsInJlYXNvbiIsInJlamVjdCIsInNldFRpbWVvdXRGdW5jIiwic2V0VGltZW91dCIsIm5vb3AiLCJiaW5kIiwiZm4iLCJ0aGlzQXJnIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJQcm9taXNlIiwiVHlwZUVycm9yIiwiX3N0YXRlIiwiX2hhbmRsZWQiLCJfdmFsdWUiLCJ1bmRlZmluZWQiLCJfZGVmZXJyZWRzIiwiZG9SZXNvbHZlIiwiaGFuZGxlIiwic2VsZiIsImRlZmVycmVkIiwicHVzaCIsIl9pbW1lZGlhdGVGbiIsImNiIiwib25GdWxmaWxsZWQiLCJvblJlamVjdGVkIiwicHJvbWlzZSIsInJldCIsImUiLCJuZXdWYWx1ZSIsImZpbmFsZSIsImxlbmd0aCIsIl91bmhhbmRsZWRSZWplY3Rpb25GbiIsImkiLCJsZW4iLCJIYW5kbGVyIiwiZG9uZSIsImV4IiwicHJvdG90eXBlIiwicHJvbSIsImFsbCIsImFyciIsImFyZ3MiLCJBcnJheSIsInNsaWNlIiwiY2FsbCIsInJlbWFpbmluZyIsInJlcyIsInZhbCIsInJhY2UiLCJ2YWx1ZXMiLCJzZXRJbW1lZGlhdGUiLCJlcnIiLCJjb25zb2xlIiwid2FybiIsImdsb2JhbE5TIiwid2luZG93IiwiRXJyb3IiXSwibWFwcGluZ3MiOiI7O0FBQUMsV0FBVUEsTUFBVixFQUFrQkMsT0FBbEIsRUFBMkI7QUFDeEIsZ0NBQU9DLE9BQVAsT0FBbUIsUUFBbkIsSUFBK0IsT0FBT0MsTUFBUCxLQUFrQixXQUFqRCxHQUErREYsT0FBTyxFQUF0RSxHQUNJLFFBQTZDRyxvQ0FBT0gsT0FB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aXNlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHtcbiAgICB0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgPyBmYWN0b3J5KCkgOlxuICAgICAgICB0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgPyBkZWZpbmUoZmFjdG9yeSkgOlxuICAgICAgICAgICAgKGZhY3RvcnkoKSk7XG59KHRoaXMsIChmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0JztcblxuICAgIC8qKlxuICAgICAqIEB0aGlzIHtQcm9taXNlfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZpbmFsbHlDb25zdHJ1Y3RvcihjYWxsYmFjaykge1xuICAgICAgICB2YXIgY29uc3RydWN0b3IgPSB0aGlzLmNvbnN0cnVjdG9yO1xuICAgICAgICByZXR1cm4gdGhpcy50aGVuKFxuICAgICAgICAgICAgZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29uc3RydWN0b3IucmVzb2x2ZShjYWxsYmFjaygpKS50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZnVuY3Rpb24ocmVhc29uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yLnJlc29sdmUoY2FsbGJhY2soKSkudGhlbihmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yLnJlamVjdChyZWFzb24pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuLy8gU3RvcmUgc2V0VGltZW91dCByZWZlcmVuY2Ugc28gcHJvbWlzZS1wb2x5ZmlsbCB3aWxsIGJlIHVuYWZmZWN0ZWQgYnlcbi8vIG90aGVyIGNvZGUgbW9kaWZ5aW5nIHNldFRpbWVvdXQgKGxpa2Ugc2lub24udXNlRmFrZVRpbWVycygpKVxuICAgIHZhciBzZXRUaW1lb3V0RnVuYyA9IHNldFRpbWVvdXQ7XG5cbiAgICBmdW5jdGlvbiBub29wKCkge31cblxuLy8gUG9seWZpbGwgZm9yIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kXG4gICAgZnVuY3Rpb24gYmluZChmbiwgdGhpc0FyZykge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBmbi5hcHBseSh0aGlzQXJnLCBhcmd1bWVudHMpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZuXG4gICAgICovXG4gICAgZnVuY3Rpb24gUHJvbWlzZShmbikge1xuICAgICAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgUHJvbWlzZSkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdQcm9taXNlcyBtdXN0IGJlIGNvbnN0cnVjdGVkIHZpYSBuZXcnKTtcbiAgICAgICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykgdGhyb3cgbmV3IFR5cGVFcnJvcignbm90IGEgZnVuY3Rpb24nKTtcbiAgICAgICAgLyoqIEB0eXBlIHshbnVtYmVyfSAqL1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IDA7XG4gICAgICAgIC8qKiBAdHlwZSB7IWJvb2xlYW59ICovXG4gICAgICAgIHRoaXMuX2hhbmRsZWQgPSBmYWxzZTtcbiAgICAgICAgLyoqIEB0eXBlIHtQcm9taXNlfHVuZGVmaW5lZH0gKi9cbiAgICAgICAgdGhpcy5fdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIC8qKiBAdHlwZSB7IUFycmF5PCFGdW5jdGlvbj59ICovXG4gICAgICAgIHRoaXMuX2RlZmVycmVkcyA9IFtdO1xuXG4gICAgICAgIGRvUmVzb2x2ZShmbiwgdGhpcyk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaGFuZGxlKHNlbGYsIGRlZmVycmVkKSB7XG4gICAgICAgIHdoaWxlIChzZWxmLl9zdGF0ZSA9PT0gMykge1xuICAgICAgICAgICAgc2VsZiA9IHNlbGYuX3ZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZWxmLl9zdGF0ZSA9PT0gMCkge1xuICAgICAgICAgICAgc2VsZi5fZGVmZXJyZWRzLnB1c2goZGVmZXJyZWQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNlbGYuX2hhbmRsZWQgPSB0cnVlO1xuICAgICAgICBQcm9taXNlLl9pbW1lZGlhdGVGbihmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHZhciBjYiA9IHNlbGYuX3N0YXRlID09PSAxID8gZGVmZXJyZWQub25GdWxmaWxsZWQgOiBkZWZlcnJlZC5vblJlamVjdGVkO1xuICAgICAgICAgICAgaWYgKGNiID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgKHNlbGYuX3N0YXRlID09PSAxID8gcmVzb2x2ZSA6IHJlamVjdCkoZGVmZXJyZWQucHJvbWlzZSwgc2VsZi5fdmFsdWUpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciByZXQ7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldCA9IGNiKHNlbGYuX3ZhbHVlKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoZGVmZXJyZWQucHJvbWlzZSwgZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzb2x2ZShkZWZlcnJlZC5wcm9taXNlLCByZXQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZXNvbHZlKHNlbGYsIG5ld1ZhbHVlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBQcm9taXNlIFJlc29sdXRpb24gUHJvY2VkdXJlOiBodHRwczovL2dpdGh1Yi5jb20vcHJvbWlzZXMtYXBsdXMvcHJvbWlzZXMtc3BlYyN0aGUtcHJvbWlzZS1yZXNvbHV0aW9uLXByb2NlZHVyZVxuICAgICAgICAgICAgaWYgKG5ld1ZhbHVlID09PSBzZWxmKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0EgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuJyk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgbmV3VmFsdWUgJiZcbiAgICAgICAgICAgICAgICAodHlwZW9mIG5ld1ZhbHVlID09PSAnb2JqZWN0JyB8fCB0eXBlb2YgbmV3VmFsdWUgPT09ICdmdW5jdGlvbicpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB2YXIgdGhlbiA9IG5ld1ZhbHVlLnRoZW47XG4gICAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICBzZWxmLl9zdGF0ZSA9IDM7XG4gICAgICAgICAgICAgICAgICAgIHNlbGYuX3ZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGZpbmFsZShzZWxmKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9SZXNvbHZlKGJpbmQodGhlbiwgbmV3VmFsdWUpLCBzZWxmKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlbGYuX3N0YXRlID0gMTtcbiAgICAgICAgICAgIHNlbGYuX3ZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgICAgICBmaW5hbGUoc2VsZik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJlamVjdChzZWxmLCBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJlamVjdChzZWxmLCBuZXdWYWx1ZSkge1xuICAgICAgICBzZWxmLl9zdGF0ZSA9IDI7XG4gICAgICAgIHNlbGYuX3ZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIGZpbmFsZShzZWxmKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBmaW5hbGUoc2VsZikge1xuICAgICAgICBpZiAoc2VsZi5fc3RhdGUgPT09IDIgJiYgc2VsZi5fZGVmZXJyZWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgUHJvbWlzZS5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWxmLl9oYW5kbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIFByb21pc2UuX3VuaGFuZGxlZFJlamVjdGlvbkZuKHNlbGYuX3ZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBzZWxmLl9kZWZlcnJlZHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIGhhbmRsZShzZWxmLCBzZWxmLl9kZWZlcnJlZHNbaV0pO1xuICAgICAgICB9XG4gICAgICAgIHNlbGYuX2RlZmVycmVkcyA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICovXG4gICAgZnVuY3Rpb24gSGFuZGxlcihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCwgcHJvbWlzZSkge1xuICAgICAgICB0aGlzLm9uRnVsZmlsbGVkID0gdHlwZW9mIG9uRnVsZmlsbGVkID09PSAnZnVuY3Rpb24nID8gb25GdWxmaWxsZWQgOiBudWxsO1xuICAgICAgICB0aGlzLm9uUmVqZWN0ZWQgPSB0eXBlb2Ygb25SZWplY3RlZCA9PT0gJ2Z1bmN0aW9uJyA/IG9uUmVqZWN0ZWQgOiBudWxsO1xuICAgICAgICB0aGlzLnByb21pc2UgPSBwcm9taXNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRha2UgYSBwb3RlbnRpYWxseSBtaXNiZWhhdmluZyByZXNvbHZlciBmdW5jdGlvbiBhbmQgbWFrZSBzdXJlXG4gICAgICogb25GdWxmaWxsZWQgYW5kIG9uUmVqZWN0ZWQgYXJlIG9ubHkgY2FsbGVkIG9uY2UuXG4gICAgICpcbiAgICAgKiBNYWtlcyBubyBndWFyYW50ZWVzIGFib3V0IGFzeW5jaHJvbnkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZG9SZXNvbHZlKGZuLCBzZWxmKSB7XG4gICAgICAgIHZhciBkb25lID0gZmFsc2U7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBmbihcbiAgICAgICAgICAgICAgICBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZG9uZSkgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICBkb25lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShzZWxmLCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBmdW5jdGlvbihyZWFzb24pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRvbmUpIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChzZWxmLCByZWFzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICBpZiAoZG9uZSkgcmV0dXJuO1xuICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgICByZWplY3Qoc2VsZiwgZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgUHJvbWlzZS5wcm90b3R5cGVbJ2NhdGNoJ10gPSBmdW5jdGlvbihvblJlamVjdGVkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoZW4obnVsbCwgb25SZWplY3RlZCk7XG4gICAgfTtcblxuICAgIFByb21pc2UucHJvdG90eXBlLnRoZW4gPSBmdW5jdGlvbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHZhciBwcm9tID0gbmV3IHRoaXMuY29uc3RydWN0b3Iobm9vcCk7XG5cbiAgICAgICAgaGFuZGxlKHRoaXMsIG5ldyBIYW5kbGVyKG9uRnVsZmlsbGVkLCBvblJlamVjdGVkLCBwcm9tKSk7XG4gICAgICAgIHJldHVybiBwcm9tO1xuICAgIH07XG5cbiAgICBQcm9taXNlLnByb3RvdHlwZVsnZmluYWxseSddID0gZmluYWxseUNvbnN0cnVjdG9yO1xuXG4gICAgUHJvbWlzZS5hbGwgPSBmdW5jdGlvbihhcnIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgaWYgKCFhcnIgfHwgdHlwZW9mIGFyci5sZW5ndGggPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Byb21pc2UuYWxsIGFjY2VwdHMgYW4gYXJyYXknKTtcbiAgICAgICAgICAgIHZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJyKTtcbiAgICAgICAgICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHJlc29sdmUoW10pO1xuICAgICAgICAgICAgdmFyIHJlbWFpbmluZyA9IGFyZ3MubGVuZ3RoO1xuXG4gICAgICAgICAgICBmdW5jdGlvbiByZXMoaSwgdmFsKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbCAmJiAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIHZhbCA9PT0gJ2Z1bmN0aW9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0aGVuID0gdmFsLnRoZW47XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVuLmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMoaSwgdmFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYXJnc1tpXSA9IHZhbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKC0tcmVtYWluaW5nID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGV4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIHJlcyhpLCBhcmdzW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIFByb21pc2UucmVzb2x2ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlLmNvbnN0cnVjdG9yID09PSBQcm9taXNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkge1xuICAgICAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBQcm9taXNlLnJlamVjdCA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgIHJlamVjdCh2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBQcm9taXNlLnJhY2UgPSBmdW5jdGlvbih2YWx1ZXMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHZhbHVlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgICAgICAgIHZhbHVlc1tpXS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG5cbi8vIFVzZSBwb2x5ZmlsbCBmb3Igc2V0SW1tZWRpYXRlIGZvciBwZXJmb3JtYW5jZSBnYWluc1xuICAgIFByb21pc2UuX2ltbWVkaWF0ZUZuID1cbiAgICAgICAgKHR5cGVvZiBzZXRJbW1lZGlhdGUgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgICAgIGZ1bmN0aW9uKGZuKSB7XG4gICAgICAgICAgICAgICAgc2V0SW1tZWRpYXRlKGZuKTtcbiAgICAgICAgICAgIH0pIHx8XG4gICAgICAgIGZ1bmN0aW9uKGZuKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0RnVuYyhmbiwgMCk7XG4gICAgICAgIH07XG5cbiAgICBQcm9taXNlLl91bmhhbmRsZWRSZWplY3Rpb25GbiA9IGZ1bmN0aW9uIF91bmhhbmRsZWRSZWplY3Rpb25GbihlcnIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJiBjb25zb2xlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1Bvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjonLCBlcnIpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICAvKiogQHN1cHByZXNzIHt1bmRlZmluZWRWYXJzfSAqL1xuICAgIHZhciBnbG9iYWxOUyA9IChmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gdGhlIG9ubHkgcmVsaWFibGUgbWVhbnMgdG8gZ2V0IHRoZSBnbG9iYWwgb2JqZWN0IGlzXG4gICAgICAgIC8vIGBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpYFxuICAgICAgICAvLyBIb3dldmVyLCB0aGlzIGNhdXNlcyBDU1AgdmlvbGF0aW9ucyBpbiBDaHJvbWUgYXBwcy5cbiAgICAgICAgaWYgKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGY7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gd2luZG93O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIGdsb2JhbDtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3VuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCcpO1xuICAgIH0pKCk7XG5cbiAgICBpZiAoISgnUHJvbWlzZScgaW4gZ2xvYmFsTlMpKSB7XG4gICAgICAgIGdsb2JhbE5TWydQcm9taXNlJ10gPSBQcm9taXNlO1xuICAgIH0gZWxzZSBpZiAoIWdsb2JhbE5TLlByb21pc2UucHJvdG90eXBlWydmaW5hbGx5J10pIHtcbiAgICAgICAgZ2xvYmFsTlMuUHJvbWlzZS5wcm90b3R5cGVbJ2ZpbmFsbHknXSA9IGZpbmFsbHlDb25zdHJ1Y3RvcjtcbiAgICB9XG5cbn0pKSk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/global/polyfills/promise.js\n");

/***/ }),

/***/ "./resources/js/site/app.js":
/*!**********************************!*\
  !*** ./resources/js/site/app.js ***!
  \**********************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/** ==========================================================================\n *  Dependencies\n *  =========================================================================*/\n\n/**\n * External\n */\n__webpack_require__(/*! hammerjs */ \"./node_modules/hammerjs/hammer.js\");\n\n__webpack_require__(/*! objectFitPolyfill */ \"./node_modules/objectFitPolyfill/dist/objectFitPolyfill.min.js\");\n/**\n * Global / Shared with KMS\n */\n\n\n__webpack_require__(/*! ./../global/polyfills/eventPolyFill */ \"./resources/js/global/polyfills/eventPolyFill.js\");\n\n__webpack_require__(/*! ./../global/polyfills/isInteger */ \"./resources/js/global/polyfills/isInteger.js\");\n\n__webpack_require__(/*! ./../global/polyfills/promise */ \"./resources/js/global/polyfills/promise.js\");\n/** ==========================================================================\n *  Global functionalities\n *  =========================================================================*/\n\n\n__webpack_require__(/*! ./global/helpers */ \"./resources/js/site/global/helpers.js\"); // Should be first\n\n\n__webpack_require__(/*! ./global/browserHandler */ \"./resources/js/site/global/browserHandler.js\"); // require('./global/pagetransitionHandler');\n// require('./global/resizeHandler');\n\n\n__webpack_require__(/*! ./global/scrollHandler */ \"./resources/js/site/global/scrollHandler.js\");\n/** ==========================================================================\n *  Component functionalities\n *  =========================================================================*/\n\n\n__webpack_require__(/*! ./components/chocolateFactory */ \"./resources/js/site/components/chocolateFactory.js\");\n\n__webpack_require__(/*! ./components/cookieHandler */ \"./resources/js/site/components/cookieHandler.js\"); // require('./components/InputHandler');\n\n\n__webpack_require__(/*! ./components/mapsHandler */ \"./resources/js/site/components/mapsHandler.js\");\n\n__webpack_require__(/*! ./components/overlayMenuHandler */ \"./resources/js/site/components/overlayMenuHandler.js\");\n\n__webpack_require__(/*! ./components/sliderHandler */ \"./resources/js/site/components/sliderHandler.js\");\n\n__webpack_require__(/*! ./components/scrollToHandler */ \"./resources/js/site/components/scrollToHandler.js\"); // require('./components/searchHandler');\n// require('./components/shareButtonsHandler');\n\n\n__webpack_require__(/*! ./components/youtubeHandler */ \"./resources/js/site/components/youtubeHandler.js\");\n/** ==========================================================================\n *  Shop Component functionalities\n *  =========================================================================*/\n// require('./../shop/components/shoppingcartHandler');//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvc2l0ZS9hcHAuanM/YTYzMSJdLCJuYW1lcyI6WyJyZXF1aXJlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OztBQUlBOzs7QUFHQUEsbUJBQU8sQ0FBQyxtREFBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLHlGQUFELENBQVA7QUFFQTs7Ozs7QUFHQUEsbUJBQU8sQ0FBQyw2RkFBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLHFGQUFELENBQVA7O0FBQ0FBLG1CQUFPLENBQUMsaUZBQUQsQ0FBUDtBQUdBOzs7OztBQUlBQSxtQkFBTyxDQUFDLCtEQUFELENBQVAsQyxDQUE2Qjs7O0FBQzdCQSxtQkFBTyxDQUFDLDZFQUFELENBQVAsQyxDQUNBO0FBQ0E7OztBQUNBQSxtQkFBTyxDQUFDLDJFQUFELENBQVA7QUFHQTs7Ozs7QUFJQUEsbUJBQU8sQ0FBQyx5RkFBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLG1GQUFELENBQVAsQyxDQUNBOzs7QUFDQUEsbUJBQU8sQ0FBQywrRUFBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLDZGQUFELENBQVA7O0FBQ0FBLG1CQUFPLENBQUMsbUZBQUQsQ0FBUDs7QUFDQUEsbUJBQU8sQ0FBQyx1RkFBRCxDQUFQLEMsQ0FDQTtBQUNBOzs7QUFDQUEsbUJBQU8sQ0FBQyxxRkFBRCxDQUFQO0FBRUE7OztBQUlBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL3NpdGUvYXBwLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgRGVwZW5kZW5jaWVzXG4gKiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi8qKlxuICogRXh0ZXJuYWxcbiAqL1xucmVxdWlyZSgnaGFtbWVyanMnKTtcbnJlcXVpcmUoJ29iamVjdEZpdFBvbHlmaWxsJyk7XG5cbi8qKlxuICogR2xvYmFsIC8gU2hhcmVkIHdpdGggS01TXG4gKi9cbnJlcXVpcmUoJy4vLi4vZ2xvYmFsL3BvbHlmaWxscy9ldmVudFBvbHlGaWxsJyk7XG5yZXF1aXJlKCcuLy4uL2dsb2JhbC9wb2x5ZmlsbHMvaXNJbnRlZ2VyJyk7XG5yZXF1aXJlKCcuLy4uL2dsb2JhbC9wb2x5ZmlsbHMvcHJvbWlzZScpO1xuXG5cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIEdsb2JhbCBmdW5jdGlvbmFsaXRpZXNcbiAqICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxucmVxdWlyZSgnLi9nbG9iYWwvaGVscGVycycpOyAvLyBTaG91bGQgYmUgZmlyc3RcbnJlcXVpcmUoJy4vZ2xvYmFsL2Jyb3dzZXJIYW5kbGVyJyk7XG4vLyByZXF1aXJlKCcuL2dsb2JhbC9wYWdldHJhbnNpdGlvbkhhbmRsZXInKTtcbi8vIHJlcXVpcmUoJy4vZ2xvYmFsL3Jlc2l6ZUhhbmRsZXInKTtcbnJlcXVpcmUoJy4vZ2xvYmFsL3Njcm9sbEhhbmRsZXInKTtcblxuXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBDb21wb25lbnQgZnVuY3Rpb25hbGl0aWVzXG4gKiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbnJlcXVpcmUoJy4vY29tcG9uZW50cy9jaG9jb2xhdGVGYWN0b3J5Jyk7XG5yZXF1aXJlKCcuL2NvbXBvbmVudHMvY29va2llSGFuZGxlcicpO1xuLy8gcmVxdWlyZSgnLi9jb21wb25lbnRzL0lucHV0SGFuZGxlcicpO1xucmVxdWlyZSgnLi9jb21wb25lbnRzL21hcHNIYW5kbGVyJyk7XG5yZXF1aXJlKCcuL2NvbXBvbmVudHMvb3ZlcmxheU1lbnVIYW5kbGVyJyk7XG5yZXF1aXJlKCcuL2NvbXBvbmVudHMvc2xpZGVySGFuZGxlcicpO1xucmVxdWlyZSgnLi9jb21wb25lbnRzL3Njcm9sbFRvSGFuZGxlcicpO1xuLy8gcmVxdWlyZSgnLi9jb21wb25lbnRzL3NlYXJjaEhhbmRsZXInKTtcbi8vIHJlcXVpcmUoJy4vY29tcG9uZW50cy9zaGFyZUJ1dHRvbnNIYW5kbGVyJyk7XG5yZXF1aXJlKCcuL2NvbXBvbmVudHMveW91dHViZUhhbmRsZXInKTtcblxuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgU2hvcCBDb21wb25lbnQgZnVuY3Rpb25hbGl0aWVzXG4gKiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi8vIHJlcXVpcmUoJy4vLi4vc2hvcC9jb21wb25lbnRzL3Nob3BwaW5nY2FydEhhbmRsZXInKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/site/app.js\n");

/***/ }),

/***/ "./resources/js/site/components/chocolateFactory.js":
/*!**********************************************************!*\
  !*** ./resources/js/site/components/chocolateFactory.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/* ==========================================================================\n | Prevent Bots handler\n |\n | We named this chocolate factory and belonging confusing js hooks\n | to prevent smart bots from blocking these variable or functions.\n |\n ========================================================================== */\nvar ChocolateFactory = {\n  bannedVisitor: [],\n\n  /** Get all the chocolate factory and start\n   *  Looping through those start flashing tickets\n   */\n  enter: function enter() {\n    var chocolateFactories = document.querySelectorAll('.js-chocolate-factory');\n\n    if (isset(chocolateFactories)) {\n      var amountOfChocolateFactories = chocolateFactories.length;\n\n      for (var i = 0; i < amountOfChocolateFactories; i++) {\n        var ChocolateBar = chocolateFactories[i];\n\n        ChocolateFactory._flashTicket(ChocolateBar);\n      }\n    }\n  },\n\n  /**\n   * If factory has a golden ticket\n   * Then we can make them go on the tour if there has been click on the ticket\n   *\n   * @param chocolateBar\n   * @private\n   */\n  _flashTicket: function _flashTicket(chocolateBar) {\n    // Try get the ticket from the chocolateBar\n    var goldenTicket = chocolateBar.querySelector('.js-golden-ticket'); // Only continue if chocolate bar has a golden ticket\n\n    if (isset(goldenTicket)) {\n      goldenTicket.addEventListener('click', function () {\n        ChocolateFactory.enjoyTheTour(chocolateBar);\n      });\n    } else {\n      console.log('To bad, no golden tickets has been found.');\n    }\n  },\n\n  /**\n   * Start the tour through the factory\n   * And get the names and properties of the members of the group\n   * If there are members in the group of course\n   *\n   * @param chocolateFactory\n   */\n  enjoyTheTour: function enjoyTheTour(chocolateFactory) {\n    // Ask for the tour group\n    var tourGroup = chocolateFactory.querySelectorAll('input, textarea');\n\n    if (isset(tourGroup)) {\n      // For each visitor we want a belonging Oompa Loompa\n      var oompaLoompas = {};\n      var amountOfOompaLoompas = 0;\n      var tourGroupSize = tourGroup.length;\n\n      for (var i = 0; i < tourGroupSize; i++) {\n        // Get the visitor from the group\n        var visitor = tourGroup[i]; // Ask for its name\n\n        var visitorName = visitor.getAttribute('name'); // Check if the visitor is banned\n\n        if (ChocolateFactory._isVisitorBanned(visitorName)) continue;\n        oompaLoompas[visitorName] = ChocolateFactory._getArrangement(visitor);\n        amountOfOompaLoompas++;\n      } // Check for insurance that there are oompa loompas\n\n\n      if (amountOfOompaLoompas === 0) return; // Send submit request\n\n      ChocolateFactory._finishTour(oompaLoompas, chocolateFactory);\n    } else {\n      console.log('To bad, no members to visit this factory');\n    }\n  },\n\n  /**\n   * Check if the visitor name isn't allow\n   *\n   * @param visitorName\n   * @returns {boolean}\n   * @private\n   */\n  _isVisitorBanned: function _isVisitorBanned(visitorName) {\n    if (ChocolateFactory.bannedVisitor.indexOf(visitorName) !== -1) {\n      return true;\n    }\n\n    return false;\n  },\n\n  /**\n   * Most get visitor have a normal arrangement\n   * But sometimes there are special cases\n   * Like a Selector or checkbox\n   *\n   * @param visitor\n   * @returns {*}\n   * @private\n   */\n  _getArrangement: function _getArrangement(visitor) {\n    var visitorType = visitor.nodeName;\n\n    switch (visitorType) {\n      default:\n        return visitor.value;\n    }\n  },\n\n  /**\n   * Finish the tour\n   * If successful show thanks message\n   * Or show defined error message or fallback\n   *\n   * @param group\n   * @param chocolateFactory\n   * @returns {*|void}\n   * @private\n   */\n  _finishTour: function _finishTour(group, chocolateFactory) {\n    // Add willie to the group\n    group = ChocolateFactory._addWillieWonka(group); // Get the gate for finish the tour\n\n    var gate = '/contact/process';\n\n    try {\n      Ajax.post(gate, group, function (HttpRequest) {\n        var response = JSON.parse(HttpRequest.response);\n\n        switch (HttpRequest.status) {\n          case 200:\n            return ChocolateFactory._thanksForVisiting(response.redirectUrl);\n\n          case 422:\n            return ChocolateFactory._giveFeedbackToMembers(response.errors, chocolateFactory);\n\n          default:\n            break;\n        }\n\n        return ChocolateFactory._unknownGapInFactory(chocolateFactory);\n      });\n    } catch (e) {\n      return ChocolateFactory._unknownGapInFactory(chocolateFactory);\n    }\n  },\n\n  /**\n   * Add willie wonka to the group\n   * Ps... it actually the secret code!\n   *\n   * @param group\n   * @returns {*}\n   * @private\n   */\n  _addWillieWonka: function _addWillieWonka(group) {\n    group._willie = 'wonka';\n    return group;\n  },\n\n  /**\n   * Add the feedback to the desired area.\n   * Most likely to the visitor directly, but sometime to the factory desired feedback area\n   *\n   * @param errors\n   * @param chocolateFactory\n   * @private\n   */\n  _giveFeedbackToMembers: function _giveFeedbackToMembers(errors, chocolateFactory) {\n    // Grab the factory feedback area\n    var feedbackArea = chocolateFactory.querySelector('.js-error-area'); // Clear the current html\n\n    if (isset(feedbackArea)) feedbackArea.innerHTML = ''; // Clear the previous marked jackets\n\n    ChocolateFactory._clearPreviousMarkedJackets(chocolateFactory);\n\n    Object.keys(errors).forEach(function (visitor) {\n      var jacket = null;\n      var visitorFeedbackArea = null; // Honey elements doesn't has a accessible element\n\n      if (visitor !== '_honey' && visitor !== '_secretCode') {\n        // Grab the visitor\n        var visitorNode = chocolateFactory.querySelector('#' + visitor); // Find the jacket of a visitor\n\n        jacket = ChocolateFactory._grabVisitorJacket(visitorNode); // If found get the desired area\n\n        if (isset(jacket)) visitorFeedbackArea = jacket.querySelector('.js-form-group-error'); // Clear the current html\n\n        if (isset(visitorFeedbackArea)) visitorFeedbackArea.innerHTML = '';\n      } // Get the feedback for this visitor\n\n\n      var visitorFeedback = errors[visitor]; // Spit out each line\n\n      var visitorFeedbackAmount = visitorFeedback.length;\n\n      for (var i = 0; i < visitorFeedbackAmount; i++) {\n        var visitorFeedbackLine = visitorFeedback[i];\n        console.log(visitor, visitorFeedbackLine); // Honey elements doesn't has a accessible element area\n\n        if (visitor !== '_honey' && visitor !== '_secretCode') {\n          // Mark the jacket\n          if (isset(jacket)) jacket.classList.add('has-error'); // Append feedback to visitor feedback area if defined\n\n          if (isset(visitorFeedbackArea) && visitorFeedbackLine.length > 0) {\n            var currentFeedbackArea = visitorFeedbackArea.innerHTML;\n            currentFeedbackArea += '<span>' + capitalizeFirstLetter(visitorFeedbackLine) + '</span>';\n            visitorFeedbackArea.innerHTML = currentFeedbackArea;\n          }\n        } // Append feedback to factory feedback area if defined\n\n\n        if (isset(feedbackArea) && visitorFeedbackLine.length > 0) {\n          var _currentFeedbackArea = feedbackArea.innerHTML;\n          _currentFeedbackArea += '<li>' + capitalizeFirstLetter(visitorFeedbackLine) + '</li>';\n          feedbackArea.innerHTML = _currentFeedbackArea;\n        }\n      }\n    });\n  },\n\n  /**\n   * Clear the previous marked jackets\n   *\n   * @param chocolateFactory\n   * @private\n   */\n  _clearPreviousMarkedJackets: function _clearPreviousMarkedJackets(chocolateFactory) {\n    var markedJackets = chocolateFactory.querySelectorAll('.has-error');\n    var markedJacketsAmount = markedJackets.length;\n\n    for (var i = 0; i < markedJacketsAmount; i++) {\n      markedJackets[i].classList.remove('has-error');\n    }\n  },\n\n  /**\n   * Grab the jacket of the visitor\n   *\n   * @param visitor\n   * @returns {null|*|(() => (Node | null))|ActiveX.IXMLDOMNode|(Node & ParentNode)}\n   * @private\n   */\n  _grabVisitorJacket: function _grabVisitorJacket(visitor) {\n    // Check if visitor is defined\n    if (!isset(visitor)) return null; // Do loop settings\n\n    currentLayer = visitor;\n    safetyBreak = 0; // Grab the next layer till it is the jacket (or safetyBreak has been reached\n\n    do {\n      safetyBreak++;\n      currentLayer = currentLayer.parentNode;\n      if (currentLayer.classList.contains('js-form-group')) return currentLayer;\n    } while (currentLayer.tagName !== 'BODY' && safetyBreak <= 10);\n\n    return null;\n  },\n\n  /**\n   * Redirect the visitor to the thanks page\n   *\n   * @param nextStop\n   * @private\n   */\n  _thanksForVisiting: function _thanksForVisiting(nextStop) {\n    window.location = nextStop;\n  },\n\n  /**\n   * Unknown error occurred, log the error\n   *\n   * @param chocolateFactory\n   * @private\n   */\n  _unknownGapInFactory: function _unknownGapInFactory(chocolateFactory) {\n    console.log(chocolateFactory);\n    console.log('ChocolateFactory: Unkown Error');\n  }\n};\nChocolateFactory.enter();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvc2l0ZS9jb21wb25lbnRzL2Nob2NvbGF0ZUZhY3RvcnkuanM/YTM5MCJdLCJuYW1lcyI6WyJDaG9jb2xhdGVGYWN0b3J5IiwiYmFubmVkVmlzaXRvciIsImVudGVyIiwiY2hvY29sYXRlRmFjdG9yaWVzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiaXNzZXQiLCJhbW91bnRPZkNob2NvbGF0ZUZhY3RvcmllcyIsImxlbmd0aCIsImkiLCJDaG9jb2xhdGVCYXIiLCJfZmxhc2hUaWNrZXQiLCJjaG9jb2xhdGVCYXIiLCJnb2xkZW5UaWNrZXQiLCJxdWVyeVNlbGVjdG9yIiwiYWRkRXZlbnRMaXN0ZW5lciIsImVuam95VGhlVG91ciIsImNvbnNvbGUiLCJsb2ciLCJjaG9jb2xhdGVGYWN0b3J5IiwidG91ckdyb3VwIiwib29tcGFMb29tcGFzIiwiYW1vdW50T2ZPb21wYUxvb21wYXMiLCJ0b3VyR3JvdXBTaXplIiwidmlzaXRvciIsInZpc2l0b3JOYW1lIiwiZ2V0QXR0cmlidXRlIiwiX2lzVmlzaXRvckJhbm5lZCIsIl9nZXRBcnJhbmdlbWVudCIsIl9maW5pc2hUb3VyIiwiaW5kZXhPZiIsInZpc2l0b3JUeXBlIiwibm9kZU5hbWUiLCJ2YWx1ZSIsImdyb3VwIiwiX2FkZFdpbGxpZVdvbmthIiwiZ2F0ZSIsIkFqYXgiLCJwb3N0IiwiSHR0cFJlcXVlc3QiLCJyZXNwb25zZSIsIkpTT04iLCJwYXJzZSIsInN0YXR1cyIsIl90aGFua3NGb3JWaXNpdGluZyIsInJlZGlyZWN0VXJsIiwiX2dpdmVGZWVkYmFja1RvTWVtYmVycyIsImVycm9ycyIsIl91bmtub3duR2FwSW5GYWN0b3J5IiwiZSIsIl93aWxsaWUiLCJmZWVkYmFja0FyZWEiLCJpbm5lckhUTUwiLCJfY2xlYXJQcmV2aW91c01hcmtlZEphY2tldHMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImphY2tldCIsInZpc2l0b3JGZWVkYmFja0FyZWEiLCJ2aXNpdG9yTm9kZSIsIl9ncmFiVmlzaXRvckphY2tldCIsInZpc2l0b3JGZWVkYmFjayIsInZpc2l0b3JGZWVkYmFja0Ftb3VudCIsInZpc2l0b3JGZWVkYmFja0xpbmUiLCJjbGFzc0xpc3QiLCJhZGQiLCJjdXJyZW50RmVlZGJhY2tBcmVhIiwiY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwibWFya2VkSmFja2V0cyIsIm1hcmtlZEphY2tldHNBbW91bnQiLCJyZW1vdmUiLCJjdXJyZW50TGF5ZXIiLCJzYWZldHlCcmVhayIsInBhcmVudE5vZGUiLCJjb250YWlucyIsInRhZ05hbWUiLCJuZXh0U3RvcCIsIndpbmRvdyIsImxvY2F0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztBQVFBLElBQU1BLGdCQUFnQixHQUFHO0FBRXJCQyxlQUFhLEVBQUUsRUFGTTs7QUFJckI7OztBQUdBQyxPQUFLLEVBQUUsaUJBQ1A7QUFFSSxRQUFNQyxrQkFBa0IsR0FBR0MsUUFBUSxDQUFDQyxnQkFBVCxDQUEwQix1QkFBMUIsQ0FBM0I7O0FBRUEsUUFBR0MsS0FBSyxDQUFDSCxrQkFBRCxDQUFSLEVBQTZCO0FBRXpCLFVBQU1JLDBCQUEwQixHQUFHSixrQkFBa0IsQ0FBQ0ssTUFBdEQ7O0FBQ0EsV0FBSSxJQUFJQyxDQUFDLEdBQUcsQ0FBWixFQUFlQSxDQUFDLEdBQUdGLDBCQUFuQixFQUErQ0UsQ0FBQyxFQUFoRCxFQUFtRDtBQUUvQyxZQUFNQyxZQUFZLEdBQUdQLGtCQUFrQixDQUFDTSxDQUFELENBQXZDOztBQUNBVCx3QkFBZ0IsQ0FBQ1csWUFBakIsQ0FBOEJELFlBQTlCO0FBQ0g7QUFDSjtBQUNKLEdBckJvQjs7QUF1QnJCOzs7Ozs7O0FBT0FDLGNBQVksRUFBRSxzQkFBVUMsWUFBVixFQUF3QjtBQUVsQztBQUNBLFFBQU1DLFlBQVksR0FBR0QsWUFBWSxDQUFDRSxhQUFiLENBQTJCLG1CQUEzQixDQUFyQixDQUhrQyxDQUtsQzs7QUFDQSxRQUFHUixLQUFLLENBQUNPLFlBQUQsQ0FBUixF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UUFBdkIsQ0FBZ0MsZUFBaEMsQ0FBSCxFQUFxRCxPQUFPSCxZQUFQO0FBQ3hELEtBSkQsUUFJU0EsWUFBWSxDQUFDSSxPQUFiLEtBQXlCLE1BQXpCLElBQW1DSCxXQUFXLElBQUksRUFKM0Q7O0FBTUEsV0FBTyxJQUFQO0FBQ0gsR0F2U29COztBQXlTckI7Ozs7OztBQU1BNUIsb0JBQWtCLEVBQUUsNEJBQVVnQyxRQUFWLEVBQW9CO0FBQ3BDQyxVQUFNLENBQUNDLFFBQVAsR0FBa0JGLFFBQWxCO0FBQ0gsR0FqVG9COztBQW1UckI7Ozs7OztBQU1BNUIsc0JBQW9CLEVBQUUsOEJBQVU3QixnQkFBVixFQUE0QjtBQUM5Q0YsV0FBTyxDQUFDQyxHQUFSLENBQVlDLGdCQUFaO0FBQ0FGLFdBQU8sQ0FBQ0MsR0FBUixDQUFZLGdDQUFaO0FBQ0g7QUE1VG9CLENBQXpCO0FBK1RBbEIsZ0JBQWdCLENBQUNFLEtBQWpCIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL3NpdGUvY29tcG9uZW50cy9jaG9jb2xhdGVGYWN0b3J5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiB8IFByZXZlbnQgQm90cyBoYW5kbGVyXG4gfFxuIHwgV2UgbmFtZWQgdGhpcyBjaG9jb2xhdGUgZmFjdG9yeSBhbmQgYmVsb25naW5nIGNvbmZ1c2luZyBqcyBob29rc1xuIHwgdG8gcHJldmVudCBzbWFydCBib3RzIGZyb20gYmxvY2tpbmcgdGhlc2UgdmFyaWFibGUgb3IgZnVuY3Rpb25zLlxuIHxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5jb25zdCBDaG9jb2xhdGVGYWN0b3J5ID0ge1xuXG4gICAgYmFubmVkVmlzaXRvcjogW10sXG5cbiAgICAvKiogR2V0IGFsbCB0aGUgY2hvY29sYXRlIGZhY3RvcnkgYW5kIHN0YXJ0XG4gICAgICogIExvb3BpbmcgdGhyb3VnaCB0aG9zZSBzdGFydCBmbGFzaGluZyB0aWNrZXRzXG4gICAgICovXG4gICAgZW50ZXI6IGZ1bmN0aW9uKClcbiAgICB7XG5cbiAgICAgICAgY29uc3QgY2hvY29sYXRlRmFjdG9yaWVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmpzLWNob2NvbGF0ZS1mYWN0b3J5Jyk7XG5cbiAgICAgICAgaWYoaXNzZXQoY2hvY29sYXRlRmFjdG9yaWVzKSl7XG5cbiAgICAgICAgICAgIGNvbnN0IGFtb3VudE9mQ2hvY29sYXRlRmFjdG9yaWVzID0gY2hvY29sYXRlRmFjdG9yaWVzLmxlbmd0aDtcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBhbW91bnRPZkNob2NvbGF0ZUZhY3RvcmllczsgaSsrKXtcblxuICAgICAgICAgICAgICAgIGNvbnN0IENob2NvbGF0ZUJhciA9IGNob2NvbGF0ZUZhY3Rvcmllc1tpXTtcbiAgICAgICAgICAgICAgICBDaG9jb2xhdGVGYWN0b3J5Ll9mbGFzaFRpY2tldChDaG9jb2xhdGVCYXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIElmIGZhY3RvcnkgaGFzIGEgZ29sZGVuIHRpY2tldFxuICAgICAqIFRoZW4gd2UgY2FuIG1ha2UgdGhlbSBnbyBvbiB0aGUgdG91ciBpZiB0aGVyZSBoYXMgYmVlbiBjbGljayBvbiB0aGUgdGlja2V0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2hvY29sYXRlQmFyXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBfZmxhc2hUaWNrZXQ6IGZ1bmN0aW9uIChjaG9jb2xhdGVCYXIpIHtcblxuICAgICAgICAvLyBUcnkgZ2V0IHRoZSB0aWNrZXQgZnJvbSB0aGUgY2hvY29sYXRlQmFyXG4gICAgICAgIGNvbnN0IGdvbGRlblRpY2tldCA9IGNob2NvbGF0ZUJhci5xdWVyeVNlbGVjdG9yKCcuanMtZ29sZGVuLXRpY2tldCcpO1xuXG4gICAgICAgIC8vIE9ubHkgY29udGludWUgaWYgY2hvY29sYXRlIGJhciBoYXMgYSBnb2xkZW4gdGlja2V0XG4gICAgICAgIGlmKGlzc2V0KGdvbGRlblRpY2tldCkpe1xuXG4gICAgICAgICAgICBnb2xkZW5UaWNrZXQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgQ2hvY29sYXRlRmFjdG9yeS5lbmpveVRoZVRvdXIoY2hvY29sYXRlQmFyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnVG8gYmFkLCBubyBnb2xkZW4gdGlja2V0cyBoYXMgYmVlbiBmb3VuZC4nKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBTdGFydCB0aGUgdG91ciB0aHJvdWdoIHRoZSBmYWN0b3J5XG4gICAgICogQW5kIGdldCB0aGUgbmFtZXMgYW5kIHByb3BlcnRpZXMgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIGdyb3VwXG4gICAgICogSWYgdGhlcmUgYXJlIG1lbWJlcnMgaW4gdGhlIGdyb3VwIG9mIGNvdXJzZVxuICAgICAqXG4gICAgICogQHBhcmFtIGNob2NvbGF0ZUZhY3RvcnlcbiAgICAgKi9cbiAgICBlbmpveVRoZVRvdXIoY2hvY29sYXRlRmFjdG9yeSl7XG5cbiAgICAgICAgLy8gQXNrIGZvciB0aGUgdG91ciBncm91cFxuICAgICAgICBjb25zdCB0b3VyR3JvdXAgPSBjaG9jb2xhdGVGYWN0b3J5LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0LCB0ZXh0YXJlYScpO1xuXG4gICAgICAgIGlmKGlzc2V0KHRvdXJHcm91cCkpe1xuXG4gICAgICAgICAgICAvLyBGb3IgZWFjaCB2aXNpdG9yIHdlIHdhbnQgYSBiZWxvbmdpbmcgT29tcGEgTG9vbXBhXG4gICAgICAgICAgICBsZXQgb29tcGFMb29tcGFzID0ge307XG4gICAgICAgICAgICBsZXQgYW1vdW50T2ZPb21wYUxvb21wYXMgPSAwO1xuXG4gICAgICAgICAgICBjb25zdCB0b3VyR3JvdXBTaXplID0gdG91ckdyb3VwLmxlbmd0aDtcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCB0b3VyR3JvdXBTaXplOyBpKyspe1xuXG4gICAgICAgICAgICAgICAgLy8gR2V0IHRoZSB2aXNpdG9yIGZyb20gdGhlIGdyb3VwXG4gICAgICAgICAgICAgICAgY29uc3QgdmlzaXRvciA9IHRvdXJHcm91cFtpXTtcblxuICAgICAgICAgICAgICAgIC8vIEFzayBmb3IgaXRzIG5hbWVcbiAgICAgICAgICAgICAgICBjb25zdCB2aXNpdG9yTmFtZSA9IHZpc2l0b3IuZ2V0QXR0cmlidXRlKCduYW1lJyk7XG5cbiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgdmlzaXRvciBpcyBiYW5uZWRcbiAgICAgICAgICAgICAgICBpZiggQ2hvY29sYXRlRmFjdG9yeS5faXNWaXNpdG9yQmFubmVkKHZpc2l0b3JOYW1lKSkgY29udGludWU7XG5cbiAgICAgICAgICAgICAgICBvb21wYUxvb21wYXNbIHZpc2l0b3JOYW1lIF0gPSBDaG9jb2xhdGVGYWN0b3J5Ll9nZXRBcnJhbmdlbWVudCh2aXNpdG9yKTtcbiAgICAgICAgICAgICAgICBhbW91bnRPZk9vbXBhTG9vbXBhcysrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDaGVjayBmb3IgaW5zdXJhbmNlIHRoYXQgdGhlcmUgYXJlIG9vbXBhIGxvb21wYXNcbiAgICAgICAgICAgIGlmKGFtb3VudE9mT29tcGFMb29tcGFzID09PSAwKSByZXR1cm47XG5cbiAgICAgICAgICAgIC8vIFNlbmQgc3VibWl0IHJlcXVlc3RcbiAgICAgICAgICAgIENob2NvbGF0ZUZhY3RvcnkuX2ZpbmlzaFRvdXIob29tcGFMb29tcGFzLCBjaG9jb2xhdGVGYWN0b3J5KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1RvIGJhZCwgbm8gbWVtYmVycyB0byB2aXNpdCB0aGlzIGZhY3RvcnknKVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSB2aXNpdG9yIG5hbWUgaXNuJ3QgYWxsb3dcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2aXNpdG9yTmFtZVxuICAgICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgX2lzVmlzaXRvckJhbm5lZDogZnVuY3Rpb24odmlzaXRvck5hbWUpe1xuICAgICAgICBpZihDaG9jb2xhdGVGYWN0b3J5LmJhbm5lZFZpc2l0b3IuaW5kZXhPZih2aXNpdG9yTmFtZSkgIT09IC0xKXtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogTW9zdCBnZXQgdmlzaXRvciBoYXZlIGEgbm9ybWFsIGFycmFuZ2VtZW50XG4gICAgICogQnV0IHNvbWV0aW1lcyB0aGVyZSBhcmUgc3BlY2lhbCBjYXNlc1xuICAgICAqIExpa2UgYSBTZWxlY3RvciBvciBjaGVja2JveFxuICAgICAqXG4gICAgICogQHBhcmFtIHZpc2l0b3JcbiAgICAgKiBAcmV0dXJucyB7Kn1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIF9nZXRBcnJhbmdlbWVudDogZnVuY3Rpb24odmlzaXRvcilcbiAgICB7XG5cbiAgICAgICAgY29uc3QgdmlzaXRvclR5cGUgPSB2aXNpdG9yLm5vZGVOYW1lO1xuXG4gICAgICAgIHN3aXRjaCAodmlzaXRvclR5cGUpIHtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZpc2l0b3IudmFsdWU7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogRmluaXNoIHRoZSB0b3VyXG4gICAgICogSWYgc3VjY2Vzc2Z1bCBzaG93IHRoYW5rcyBtZXNzYWdlXG4gICAgICogT3Igc2hvdyBkZWZpbmVkIGVycm9yIG1lc3NhZ2Ugb3IgZmFsbGJhY2tcbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cFxuICAgICAqIEBwYXJhbSBjaG9jb2xhdGVGYWN0b3J5XG4gICAgICogQHJldHVybnMgeyp8dm9pZH1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIF9maW5pc2hUb3VyOiBmdW5jdGlvbihncm91cCwgY2hvY29sYXRlRmFjdG9yeSlcbiAgICB7XG4gICAgICAgIC8vIEFkZCB3aWxsaWUgdG8gdGhlIGdyb3VwXG4gICAgICAgIGdyb3VwID0gQ2hvY29sYXRlRmFjdG9yeS5fYWRkV2lsbGllV29ua2EoZ3JvdXApO1xuXG4gICAgICAgIC8vIEdldCB0aGUgZ2F0ZSBmb3IgZmluaXNoIHRoZSB0b3VyXG4gICAgICAgIGNvbnN0IGdhdGUgPSAnL2NvbnRhY3QvcHJvY2Vzcyc7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIEFqYXgucG9zdChnYXRlLCBncm91cCwgZnVuY3Rpb24gKEh0dHBSZXF1ZXN0KSB7XG5cbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IEpTT04ucGFyc2UoSHR0cFJlcXVlc3QucmVzcG9uc2UpO1xuXG4gICAgICAgICAgICAgICAgc3dpdGNoIChIdHRwUmVxdWVzdC5zdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAyMDA6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ2hvY29sYXRlRmFjdG9yeS5fdGhhbmtzRm9yVmlzaXRpbmcocmVzcG9uc2UucmVkaXJlY3RVcmwpO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIDQyMjpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBDaG9jb2xhdGVGYWN0b3J5Ll9naXZlRmVlZGJhY2tUb01lbWJlcnMocmVzcG9uc2UuZXJyb3JzLCBjaG9jb2xhdGVGYWN0b3J5KTtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBDaG9jb2xhdGVGYWN0b3J5Ll91bmtub3duR2FwSW5GYWN0b3J5KGNob2NvbGF0ZUZhY3RvcnkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBDaG9jb2xhdGVGYWN0b3J5Ll91bmtub3duR2FwSW5GYWN0b3J5KGNob2NvbGF0ZUZhY3RvcnkpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEFkZCB3aWxsaWUgd29ua2EgdG8gdGhlIGdyb3VwXG4gICAgICogUHMuLi4gaXQgYWN0dWFsbHkgdGhlIHNlY3JldCBjb2RlIVxuICAgICAqXG4gICAgICogQHBhcmFtIGdyb3VwXG4gICAgICogQHJldHVybnMgeyp9XG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBfYWRkV2lsbGllV29ua2E6IGZ1bmN0aW9uKGdyb3VwKXtcbiAgICAgICAgZ3JvdXAuX3dpbGxpZSA9ICd3b25rYSc7XG4gICAgICAgIHJldHVybiBncm91cDtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBmZWVkYmFjayB0byB0aGUgZGVzaXJlZCBhcmVhLlxuICAgICAqIE1vc3QgbGlrZWx5IHRvIHRoZSB2aXNpdG9yIGRpcmVjdGx5LCBidXQgc29tZXRpbWUgdG8gdGhlIGZhY3RvcnkgZGVzaXJlZCBmZWVkYmFjayBhcmVhXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXJyb3JzXG4gICAgICogQHBhcmFtIGNob2NvbGF0ZUZhY3RvcnlcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIF9naXZlRmVlZGJhY2tUb01lbWJlcnM6IGZ1bmN0aW9uKGVycm9ycywgY2hvY29sYXRlRmFjdG9yeSl7XG5cbiAgICAgICAgLy8gR3JhYiB0aGUgZmFjdG9yeSBmZWVkYmFjayBhcmVhXG4gICAgICAgIGNvbnN0IGZlZWRiYWNrQXJlYSA9IGNob2NvbGF0ZUZhY3RvcnkucXVlcnlTZWxlY3RvcignLmpzLWVycm9yLWFyZWEnKTtcblxuICAgICAgICAvLyBDbGVhciB0aGUgY3VycmVudCBodG1sXG4gICAgICAgIGlmKGlzc2V0KGZlZWRiYWNrQXJlYSkpIGZlZWRiYWNrQXJlYS5pbm5lckhUTUwgPSAnJztcblxuICAgICAgICAvLyBDbGVhciB0aGUgcHJldmlvdXMgbWFya2VkIGphY2tldHNcbiAgICAgICAgQ2hvY29sYXRlRmFjdG9yeS5fY2xlYXJQcmV2aW91c01hcmtlZEphY2tldHMoY2hvY29sYXRlRmFjdG9yeSk7XG5cbiAgICAgICAgT2JqZWN0LmtleXMoZXJyb3JzKS5mb3JFYWNoKGZ1bmN0aW9uKHZpc2l0b3IpIHtcblxuICAgICAgICAgICAgbGV0IGphY2tldCA9IG51bGw7XG4gICAgICAgICAgICBsZXQgdmlzaXRvckZlZWRiYWNrQXJlYSA9IG51bGw7XG5cbiAgICAgICAgICAgIC8vIEhvbmV5IGVsZW1lbnRzIGRvZXNuJ3QgaGFzIGEgYWNjZXNzaWJsZSBlbGVtZW50XG4gICAgICAgICAgICBpZih2aXNpdG9yICE9PSAnX2hvbmV5JyAmJiB2aXNpdG9yICE9PSAnX3NlY3JldENvZGUnKSB7XG5cbiAgICAgICAgICAgICAgICAvLyBHcmFiIHRoZSB2aXNpdG9yXG4gICAgICAgICAgICAgICAgY29uc3QgdmlzaXRvck5vZGUgPSBjaG9jb2xhdGVGYWN0b3J5LnF1ZXJ5U2VsZWN0b3IoJyMnICsgdmlzaXRvcik7XG5cbiAgICAgICAgICAgICAgICAvLyBGaW5kIHRoZSBqYWNrZXQgb2YgYSB2aXNpdG9yXG4gICAgICAgICAgICAgICAgamFja2V0ID0gQ2hvY29sYXRlRmFjdG9yeS5fZ3JhYlZpc2l0b3JKYWNrZXQodmlzaXRvck5vZGUpO1xuXG4gICAgICAgICAgICAgICAgLy8gSWYgZm91bmQgZ2V0IHRoZSBkZXNpcmVkIGFyZWFcbiAgICAgICAgICAgICAgICBpZihpc3NldChqYWNrZXQpKSB2aXNpdG9yRmVlZGJhY2tBcmVhID0gamFja2V0LnF1ZXJ5U2VsZWN0b3IoJy5qcy1mb3JtLWdyb3VwLWVycm9yJyk7XG5cbiAgICAgICAgICAgICAgICAvLyBDbGVhciB0aGUgY3VycmVudCBodG1sXG4gICAgICAgICAgICAgICAgaWYoaXNzZXQodmlzaXRvckZlZWRiYWNrQXJlYSkpIHZpc2l0b3JGZWVkYmFja0FyZWEuaW5uZXJIVE1MID0gJyc7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gR2V0IHRoZSBmZWVkYmFjayBmb3IgdGhpcyB2aXNpdG9yXG4gICAgICAgICAgICBjb25zdCB2aXNpdG9yRmVlZGJhY2sgPSBlcnJvcnNbdmlzaXRvcl07XG5cbiAgICAgICAgICAgIC8vIFNwaXQgb3V0IGVhY2ggbGluZVxuICAgICAgICAgICAgY29uc3QgdmlzaXRvckZlZWRiYWNrQW1vdW50ID0gdmlzaXRvckZlZWRiYWNrLmxlbmd0aDtcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCB2aXNpdG9yRmVlZGJhY2tBbW91bnQ7IGkrKyl7XG4gICAgICAgICAgICAgICAgY29uc3QgdmlzaXRvckZlZWRiYWNrTGluZSA9IHZpc2l0b3JGZWVkYmFja1tpXTtcblxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHZpc2l0b3IsIHZpc2l0b3JGZWVkYmFja0xpbmUpO1xuXG4gICAgICAgICAgICAgICAgLy8gSG9uZXkgZWxlbWVudHMgZG9lc24ndCBoYXMgYSBhY2Nlc3NpYmxlIGVsZW1lbnQgYXJlYVxuICAgICAgICAgICAgICAgIGlmKHZpc2l0b3IgIT09ICdfaG9uZXknICYmIHZpc2l0b3IgIT09ICdfc2VjcmV0Q29kZScpIHtcblxuICAgICAgICAgICAgICAgICAgICAvLyBNYXJrIHRoZSBqYWNrZXRcbiAgICAgICAgICAgICAgICAgICAgaWYoaXNzZXQoamFja2V0KSkgamFja2V0LmNsYXNzTGlzdC5hZGQoJ2hhcy1lcnJvcicpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEFwcGVuZCBmZWVkYmFjayB0byB2aXNpdG9yIGZlZWRiYWNrIGFyZWEgaWYgZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICBpZihpc3NldCh2aXNpdG9yRmVlZGJhY2tBcmVhKSAmJiB2aXNpdG9yRmVlZGJhY2tMaW5lLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjdXJyZW50RmVlZGJhY2tBcmVhID0gdmlzaXRvckZlZWRiYWNrQXJlYS5pbm5lckhUTUw7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RmVlZGJhY2tBcmVhICs9ICc8c3Bhbj4nICsgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHZpc2l0b3JGZWVkYmFja0xpbmUpICsgJzwvc3Bhbj4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaXRvckZlZWRiYWNrQXJlYS5pbm5lckhUTUwgPSBjdXJyZW50RmVlZGJhY2tBcmVhO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gQXBwZW5kIGZlZWRiYWNrIHRvIGZhY3RvcnkgZmVlZGJhY2sgYXJlYSBpZiBkZWZpbmVkXG4gICAgICAgICAgICAgICAgaWYoaXNzZXQoZmVlZGJhY2tBcmVhKSAmJiB2aXNpdG9yRmVlZGJhY2tMaW5lLmxlbmd0aCA+IDApe1xuICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudEZlZWRiYWNrQXJlYSA9IGZlZWRiYWNrQXJlYS5pbm5lckhUTUw7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRGZWVkYmFja0FyZWEgKz0gJzxsaT4nICsgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHZpc2l0b3JGZWVkYmFja0xpbmUpICsgJzwvbGk+JztcbiAgICAgICAgICAgICAgICAgICAgZmVlZGJhY2tBcmVhLmlubmVySFRNTCA9IGN1cnJlbnRGZWVkYmFja0FyZWE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQ2xlYXIgdGhlIHByZXZpb3VzIG1hcmtlZCBqYWNrZXRzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2hvY29sYXRlRmFjdG9yeVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgX2NsZWFyUHJldmlvdXNNYXJrZWRKYWNrZXRzKGNob2NvbGF0ZUZhY3RvcnkpIHtcblxuICAgICAgICBjb25zdCBtYXJrZWRKYWNrZXRzID0gY2hvY29sYXRlRmFjdG9yeS5xdWVyeVNlbGVjdG9yQWxsKCcuaGFzLWVycm9yJyk7XG4gICAgICAgIGNvbnN0IG1hcmtlZEphY2tldHNBbW91bnQgPSBtYXJrZWRKYWNrZXRzLmxlbmd0aDtcblxuICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgbWFya2VkSmFja2V0c0Ftb3VudDsgaSsrKXtcbiAgICAgICAgICAgIG1hcmtlZEphY2tldHNbaV0uY2xhc3NMaXN0LnJlbW92ZSgnaGFzLWVycm9yJyk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogR3JhYiB0aGUgamFja2V0IG9mIHRoZSB2aXNpdG9yXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmlzaXRvclxuICAgICAqIEByZXR1cm5zIHtudWxsfCp8KCgpID0+IChOb2RlIHwgbnVsbCkpfEFjdGl2ZVguSVhNTERPTU5vZGV8KE5vZGUgJiBQYXJlbnROb2RlKX1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIF9ncmFiVmlzaXRvckphY2tldDogZnVuY3Rpb24odmlzaXRvcil7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdmlzaXRvciBpcyBkZWZpbmVkXG4gICAgICAgIGlmICghaXNzZXQodmlzaXRvcikpIHJldHVybiBudWxsO1xuXG4gICAgICAgIC8vIERvIGxvb3Agc2V0dGluZ3NcbiAgICAgICAgY3VycmVudExheWVyID0gdmlzaXRvcjtcbiAgICAgICAgc2FmZXR5QnJlYWsgPSAwO1xuXG4gICAgICAgIC8vIEdyYWIgdGhlIG5leHQgbGF5ZXIgdGlsbCBpdCBpcyB0aGUgamFja2V0IChvciBzYWZldHlCcmVhayBoYXMgYmVlbiByZWFjaGVkXG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIHNhZmV0eUJyZWFrKys7XG4gICAgICAgICAgICBjdXJyZW50TGF5ZXIgPSBjdXJyZW50TGF5ZXIucGFyZW50Tm9kZTtcbiAgICAgICAgICAgIGlmKGN1cnJlbnRMYXllci5jbGFzc0xpc3QuY29udGFpbnMoJ2pzLWZvcm0tZ3JvdXAnKSkgcmV0dXJuIGN1cnJlbnRMYXllcjtcbiAgICAgICAgfSB3aGlsZSAoY3VycmVudExheWVyLnRhZ05hbWUgIT09ICdCT0RZJyAmJiBzYWZldHlCcmVhayA8PSAxMCk7XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFJlZGlyZWN0IHRoZSB2aXNpdG9yIHRvIHRoZSB0aGFua3MgcGFnZVxuICAgICAqXG4gICAgICogQHBhcmFtIG5leHRTdG9wXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBfdGhhbmtzRm9yVmlzaXRpbmc6IGZ1bmN0aW9uIChuZXh0U3RvcCkge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBuZXh0U3RvcDtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVW5rbm93biBlcnJvciBvY2N1cnJlZCwgbG9nIHRoZSBlcnJvclxuICAgICAqXG4gICAgICogQHBhcmFtIGNob2NvbGF0ZUZhY3RvcnlcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIF91bmtub3duR2FwSW5GYWN0b3J5OiBmdW5jdGlvbiAoY2hvY29sYXRlRmFjdG9yeSkge1xuICAgICAgICBjb25zb2xlLmxvZyhjaG9jb2xhdGVGYWN0b3J5KTtcbiAgICAgICAgY29uc29sZS5sb2coJ0Nob2NvbGF0ZUZhY3Rvcnk6IFVua293biBFcnJvcicpO1xuICAgIH0sXG59O1xuXG5DaG9jb2xhdGVGYWN0b3J5LmVudGVyKCk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/site/components/chocolateFactory.js\n");

/***/ }),

/***/ "./resources/js/site/components/cookieHandler.js":
/*!*******************************************************!*\
  !*** ./resources/js/site/components/cookieHandler.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/* ==========================================================================\n   Cookie handler\n   - Primary usage for toggling the cookie message and/or switch\n ========================================================================== */\nvar CookieHandler = {\n  cookieBar: null,\n  cookieOverlay: null,\n  cookieMessage: null,\n  cookieSwitch: null,\n  cookieFadeOutAnimationDuration: 400,\n  acceptTracking: false,\n  // Initialize cookie handler\n  init: function init() {\n    // Bind cookie bar or overlay to cookieMessage\n    CookieHandler.cookieMessage = document.querySelector('.js-cookie-bar, .js-cookie-overlay'); // Bind cookie bar to cookieBar\n\n    CookieHandler.cookieBar = document.querySelector('.js-cookie-bar'); // If isset init the functions for cookie bar\n\n    if (isset(CookieHandler.cookieBar)) {\n      CookieHandler.initCookieBar();\n    } else {\n      // Else try to connect cookie overlay with tracking to cookieOverlay\n      CookieHandler.cookieOverlay = document.querySelector('.js-cookie-overlay'); // If isset init the functions for cookie overlay\n\n      if (isset(CookieHandler.cookieOverlay)) {\n        CookieHandler.initCookieOverlay();\n      }\n    } // If either type of cookie has been found check if settings are defined\n\n\n    if (isset(CookieHandler.cookieMessage)) {\n      CookieHandler.checkForCookieSettings();\n    } // Bind cookie switch to Handler\n\n\n    CookieHandler.cookieSwitch = document.querySelector('.js-cookie-switch'); // If isset init the functions for cookie switch\n\n    if (isset(CookieHandler.cookieSwitch)) {\n      CookieHandler.initCookieSwitch();\n    }\n  },\n  // Init the cookie bar actions\n  initCookieBar: function initCookieBar() {\n    var closeButton = CookieHandler.cookieBar.querySelector('.js-disable-cookie-bar');\n\n    if (isset(closeButton)) {\n      closeButton.addEventListener('click', CookieHandler.closeCookieMessage);\n    }\n  },\n  // Init the cookie overlay actions\n  initCookieOverlay: function initCookieOverlay() {\n    // Open the cookie settings event\n    var openCookieSettingsButton = CookieHandler.cookieMessage.querySelector('.js-change-cookies-settings');\n\n    if (isset(openCookieSettingsButton)) {\n      openCookieSettingsButton.addEventListener('click', CookieHandler.openCookieSettings);\n    } // Toggle of the tracking input\n\n\n    var toggleTrackingInput = CookieHandler.cookieMessage.querySelector('.c-cookie-type__input--tracking');\n\n    if (isset(toggleTrackingInput)) {\n      if (toggleTrackingInput.checked === true) {\n        CookieHandler.acceptTracking = true;\n      }\n\n      toggleTrackingInput.addEventListener('change', CookieHandler.toggleTrackingSetting);\n    } // Accept / Save cookies button event\n\n\n    var acceptButton = CookieHandler.cookieMessage.querySelector('.js-accept-cookies');\n\n    if (isset(acceptButton)) {\n      acceptButton.addEventListener('click', CookieHandler.setCookieSettings);\n    }\n  },\n  // Init the cookie switch actions\n  initCookieSwitch: function initCookieSwitch() {\n    // Toggle of the tracking input\n    var toggleTrackingInput = CookieHandler.cookieSwitch.querySelector('.c-cookie-type__input--tracking');\n\n    if (isset(toggleTrackingInput)) {\n      // Force the state of the cookie switch input because the pop-up is forced on checked\n      // while the switch checks by php if the cookie really exist or not\n      if (toggleTrackingInput.checked === true) {\n        CookieHandler.acceptTracking = true;\n      } else {\n        CookieHandler.acceptTracking = false;\n      }\n\n      toggleTrackingInput.addEventListener('change', CookieHandler.toggleTrackingSetting);\n    } // Save cookies button event\n\n\n    var saveButton = CookieHandler.cookieSwitch.querySelector('.js-save-cookie-settings');\n\n    if (isset(saveButton)) {\n      saveButton.addEventListener('click', function () {\n        CookieHandler.cookieFadeOutAnimationDuration = 0; // On the switch click we want no delay :)\n\n        CookieHandler.setCookieSettings();\n      });\n    }\n  },\n  checkForCookieSettings: function checkForCookieSettings() {\n    if (Cookie.get('cookieMessage')) {\n      CookieHandler.cookieMessage.classList.add('is-accepted');\n      document.body.classList.add('is-cookies-accepted');\n    } else {\n      CookieHandler.cookieMessage.classList.remove('is-accepted');\n      document.body.classList.remove('is-cookies-accepted');\n    }\n  },\n  closeCookieMessage: function closeCookieMessage() {\n    Cookie.set('cookieMessage', true, 90);\n    CookieHandler.cookieMessage.classList.add('is-transitioning-out');\n    document.body.classList.add('is-cookies-accepted');\n  },\n  openCookieSettings: function openCookieSettings() {\n    CookieHandler.cookieOverlay.querySelector('.js-cookie-settings').classList.remove('is-hidden');\n    CookieHandler.cookieOverlay.querySelector('.js-cookie-info').classList.add('is-hidden');\n  },\n  toggleTrackingSetting: function toggleTrackingSetting() {\n    if (CookieHandler.acceptTracking) {\n      CookieHandler.acceptTracking = false;\n    } else {\n      CookieHandler.acceptTracking = true;\n    }\n  },\n  setCookieSettings: function setCookieSettings() {\n    // Set tracking cookie or delete it if isset according to the desired settings\n    if (CookieHandler.acceptTracking) {\n      Cookie.set('trackingCookieAccepted', 'true', 90);\n    } else {\n      if (Cookie.get('trackingCookieAccepted')) {\n        Cookie.erase('trackingCookieAccepted');\n      }\n    }\n\n    CookieHandler.closeCookieMessage(); // Reload after animation to automatically trigger the tracking after accepting it\n\n    setTimeout(function () {\n      location.reload();\n    }, CookieHandler.cookieFadeOutAnimationDuration);\n  }\n};\nCookieHandler.init();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvc2l0ZS9jb21wb25lbnRzL2Nvb2tpZUhhbmRsZXIuanM/YzkwZCJdLCJuYW1lcyI6WyJDb29raWVIYW5kbGVyIiwiY29va2llQmFyIiwiY29va2llT3ZlcmxheSIsImNvb2tpZU1lc3NhZ2UiLCJjb29raWVTd2l0Y2giLCJjb29raWVGYWRlT3V0QW5pbWF0aW9uRHVyYXRpb24iLCJhY2NlcHRUcmFja2luZyIsImluaXQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJpc3NldCIsImluaXRDb29raWVCYXIiLCJpbml0Q29va2llT3ZlcmxheSIsImNoZWNrRm9yQ29va2llU2V0dGluZ3MiLCJpbml0Q29va2llU3dpdGNoIiwiY2xvc2VCdXR0b24iLCJhZGRFdmVudExpc3RlbmVyIiwiY2xvc2VDb29raWVNZXNzYWdlIiwib3BlbkNvb2tpZVNldHRpbmdzQnV0dG9uIiwib3BlbkNvb2tpZVNldHRpbmdzIiwidG9nZ2xlVHJhY2tpbmdJbnB1dCIsImNoZWNrZWQiLCJ0b2dnbGVUcmFja2luZ1NldHRpbmciLCJhY2NlcHRCdXR0b24iLCJzZXRDb29raWVTZXR0aW5ncyIsInNhdmVCdXR0b24iLCJDb29raWUiLCJnZXQiLCJjbGFzc0xpc3QiLCJhZGQiLCJib2R5IiwicmVtb3ZlIiwic2V0IiwiZXJhc2UiLCJzZXRUaW1lb3V0IiwibG9jYXRpb24iLCJyZWxvYWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7O0FBS0EsSUFBTUEsYUFBYSxHQUFHO0FBRWxCQyxXQUFTLEVBQUcsSUFGTTtBQUdsQkMsZUFBYSxFQUFHLElBSEU7QUFJbEJDLGVBQWEsRUFBRyxJQUpFO0FBTWxCQyxjQUFZLEVBQUcsSUFORztBQVFsQkMsZ0NBQThCLEVBQUcsR0FSZjtBQVNsQkMsZ0JBQWMsRUFBRyxLQVRDO0FBV2xCO0FBQ0FDLE1BQUksRUFBRyxnQkFDUDtBQUNJO0FBQ0FQLGlCQUFhLENBQUNHLGFBQWQsR0FBOEJLLFFBQVEsQ0FBQ0Ms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cmNlcy9qcy9zaXRlL2NvbXBvbmVudHMvY29va2llSGFuZGxlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb29raWUgaGFuZGxlclxuICAgLSBQcmltYXJ5IHVzYWdlIGZvciB0b2dnbGluZyB0aGUgY29va2llIG1lc3NhZ2UgYW5kL29yIHN3aXRjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmNvbnN0IENvb2tpZUhhbmRsZXIgPSB7XG5cbiAgICBjb29raWVCYXIgOiBudWxsLFxuICAgIGNvb2tpZU92ZXJsYXkgOiBudWxsLFxuICAgIGNvb2tpZU1lc3NhZ2UgOiBudWxsLFxuXG4gICAgY29va2llU3dpdGNoIDogbnVsbCxcblxuICAgIGNvb2tpZUZhZGVPdXRBbmltYXRpb25EdXJhdGlvbiA6IDQwMCxcbiAgICBhY2NlcHRUcmFja2luZyA6IGZhbHNlLFxuXG4gICAgLy8gSW5pdGlhbGl6ZSBjb29raWUgaGFuZGxlclxuICAgIGluaXQgOiBmdW5jdGlvbigpXG4gICAge1xuICAgICAgICAvLyBCaW5kIGNvb2tpZSBiYXIgb3Igb3ZlcmxheSB0byBjb29raWVNZXNzYWdlXG4gICAgICAgIENvb2tpZUhhbmRsZXIuY29va2llTWVzc2FnZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy1jb29raWUtYmFyLCAuanMtY29va2llLW92ZXJsYXknKTtcblxuICAgICAgICAvLyBCaW5kIGNvb2tpZSBiYXIgdG8gY29va2llQmFyXG4gICAgICAgIENvb2tpZUhhbmRsZXIuY29va2llQmFyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmpzLWNvb2tpZS1iYXInKTtcblxuICAgICAgICAvLyBJZiBpc3NldCBpbml0IHRoZSBmdW5jdGlvbnMgZm9yIGNvb2tpZSBiYXJcbiAgICAgICAgaWYoaXNzZXQoQ29va2llSGFuZGxlci5jb29raWVCYXIpKXtcbiAgICAgICAgICAgIENvb2tpZUhhbmRsZXIuaW5pdENvb2tpZUJhcigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgICAvLyBFbHNlIHRyeSB0byBjb25uZWN0IGNvb2tpZSBvdmVybGF5IHdpdGggdHJhY2tpbmcgdG8gY29va2llT3ZlcmxheVxuICAgICAgICAgICAgQ29va2llSGFuZGxlci5jb29raWVPdmVybGF5ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmpzLWNvb2tpZS1vdmVybGF5Jyk7XG5cbiAgICAgICAgICAgIC8vIElmIGlzc2V0IGluaXQgdGhlIGZ1bmN0aW9ucyBmb3IgY29va2llIG92ZXJsYXlcbiAgICAgICAgICAgIGlmKGlzc2V0KENvb2tpZUhhbmRsZXIuY29va2llT3ZlcmxheSkpe1xuICAgICAgICAgICAgICAgIENvb2tpZUhhbmRsZXIuaW5pdENvb2tpZU92ZXJsYXkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGVpdGhlciB0eXBlIG9mIGNvb2tpZSBoYXMgYmVlbiBmb3VuZCBjaGVjayBpZiBzZXR0aW5ncyBhcmUgZGVmaW5lZFxuICAgICAgICBpZihpc3NldChDb29raWVIYW5kbGVyLmNvb2tpZU1lc3NhZ2UpKXtcbiAgICAgICAgICAgIENvb2tpZUhhbmRsZXIuY2hlY2tGb3JDb29raWVTZXR0aW5ncygpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQmluZCBjb29raWUgc3dpdGNoIHRvIEhhbmRsZXJcbiAgICAgICAgQ29va2llSGFuZGxlci5jb29raWVTd2l0Y2ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtY29va2llLXN3aXRjaCcpO1xuICAgICAgICAvLyBJZiBpc3NldCBpbml0IHRoZSBmdW5jdGlvbnMgZm9yIGNvb2tpZSBzd2l0Y2hcbiAgICAgICAgaWYoaXNzZXQoQ29va2llSGFuZGxlci5jb29raWVTd2l0Y2gpKXtcbiAgICAgICAgICAgIENvb2tpZUhhbmRsZXIuaW5pdENvb2tpZVN3aXRjaCgpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8vIEluaXQgdGhlIGNvb2tpZSBiYXIgYWN0aW9uc1xuICAgIGluaXRDb29raWVCYXI6IGZ1bmN0aW9uKCl7XG4gICAgICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gQ29va2llSGFuZGxlci5jb29raWVCYXIucXVlcnlTZWxlY3RvcignLmpzLWRpc2FibGUtY29va2llLWJhcicpO1xuICAgICAgICBpZihpc3NldChjbG9zZUJ1dHRvbikpe1xuICAgICAgICAgICAgY2xvc2VCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBDb29raWVIYW5kbGVyLmNsb3NlQ29va2llTWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8gSW5pdCB0aGUgY29va2llIG92ZXJsYXkgYWN0aW9uc1xuICAgIGluaXRDb29raWVPdmVybGF5OiBmdW5jdGlvbigpe1xuXG4gICAgICAgIC8vIE9wZW4gdGhlIGNvb2tpZSBzZXR0aW5ncyBldmVudFxuICAgICAgICBjb25zdCBvcGVuQ29va2llU2V0dGluZ3NCdXR0b24gPSBDb29raWVIYW5kbGVyLmNvb2tpZU1lc3NhZ2UucXVlcnlTZWxlY3RvcignLmpzLWNoYW5nZS1jb29raWVzLXNldHRpbmdzJyk7XG4gICAgICAgIGlmKGlzc2V0KG9wZW5Db29raWVTZXR0aW5nc0J1dHRvbikpe1xuICAgICAgICAgICAgb3BlbkNvb2tpZVNldHRpbmdzQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgQ29va2llSGFuZGxlci5vcGVuQ29va2llU2V0dGluZ3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVG9nZ2xlIG9mIHRoZSB0cmFja2luZyBpbnB1dFxuICAgICAgICBjb25zdCB0b2dnbGVUcmFja2luZ0lucHV0ID0gQ29va2llSGFuZGxlci5jb29raWVNZXNzYWdlLnF1ZXJ5U2VsZWN0b3IoJy5jLWNvb2tpZS10eXBlX19pbnB1dC0tdHJhY2tpbmcnKTtcbiAgICAgICAgaWYoaXNzZXQodG9nZ2xlVHJhY2tpbmdJbnB1dCkpe1xuXG4gICAgICAgICAgICBpZih0b2dnbGVUcmFja2luZ0lucHV0LmNoZWNrZWQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBDb29raWVIYW5kbGVyLmFjY2VwdFRyYWNraW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdG9nZ2xlVHJhY2tpbmdJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBDb29raWVIYW5kbGVyLnRvZ2dsZVRyYWNraW5nU2V0dGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY2NlcHQgLyBTYXZlIGNvb2tpZXMgYnV0dG9uIGV2ZW50XG4gICAgICAgIGNvbnN0IGFjY2VwdEJ1dHRvbiA9IENvb2tpZUhhbmRsZXIuY29va2llTWVzc2FnZS5xdWVyeVNlbGVjdG9yKCcuanMtYWNjZXB0LWNvb2tpZXMnKTtcbiAgICAgICAgaWYoaXNzZXQoYWNjZXB0QnV0dG9uKSl7XG4gICAgICAgICAgICBhY2NlcHRCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBDb29raWVIYW5kbGVyLnNldENvb2tpZVNldHRpbmdzKTtcbiAgICAgICAgfVxuXG4gICAgfSxcblxuICAgIC8vIEluaXQgdGhlIGNvb2tpZSBzd2l0Y2ggYWN0aW9uc1xuICAgIGluaXRDb29raWVTd2l0Y2g6IGZ1bmN0aW9uKCl7XG5cbiAgICAgICAgLy8gVG9nZ2xlIG9mIHRoZSB0cmFja2luZyBpbnB1dFxuICAgICAgICBjb25zdCB0b2dnbGVUcmFja2luZ0lucHV0ID0gQ29va2llSGFuZGxlci5jb29raWVTd2l0Y2gucXVlcnlTZWxlY3RvcignLmMtY29va2llLXR5cGVfX2lucHV0LS10cmFja2luZycpO1xuICAgICAgICBpZihpc3NldCh0b2dnbGVUcmFja2luZ0lucHV0KSl7XG5cbiAgICAgICAgICAgIC8vIEZvcmNlIHRoZSBzdGF0ZSBvZiB0aGUgY29va2llIHN3aXRjaCBpbnB1dCBiZWNhdXNlIHRoZSBwb3AtdXAgaXMgZm9yY2VkIG9uIGNoZWNrZWRcbiAgICAgICAgICAgIC8vIHdoaWxlIHRoZSBzd2l0Y2ggY2hlY2tzIGJ5IHBocCBpZiB0aGUgY29va2llIHJlYWxseSBleGlzdCBvciBub3RcbiAgICAgICAgICAgIGlmKHRvZ2dsZVRyYWNraW5nSW5wdXQuY2hlY2tlZCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIENvb2tpZUhhbmRsZXIuYWNjZXB0VHJhY2tpbmcgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICAgICBDb29raWVIYW5kbGVyLmFjY2VwdFRyYWNraW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRvZ2dsZVRyYWNraW5nSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgQ29va2llSGFuZGxlci50b2dnbGVUcmFja2luZ1NldHRpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2F2ZSBjb29raWVzIGJ1dHRvbiBldmVudFxuICAgICAgICBjb25zdCBzYXZlQnV0dG9uID0gQ29va2llSGFuZGxlci5jb29raWVTd2l0Y2gucXVlcnlTZWxlY3RvcignLmpzLXNhdmUtY29va2llLXNldHRpbmdzJyk7XG4gICAgICAgIGlmKGlzc2V0KHNhdmVCdXR0b24pKXtcbiAgICAgICAgICAgIHNhdmVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIENvb2tpZUhhbmRsZXIuY29va2llRmFkZU91dEFuaW1hdGlvbkR1cmF0aW9uID0gMDsgLy8gT24gdGhlIHN3aXRjaCBjbGljayB3ZSB3YW50IG5vIGRlbGF5IDopXG4gICAgICAgICAgICAgICAgQ29va2llSGFuZGxlci5zZXRDb29raWVTZXR0aW5ncygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgIH0sXG5cbiAgICBjaGVja0ZvckNvb2tpZVNldHRpbmdzOiBmdW5jdGlvbigpe1xuICAgICAgICBpZiAoQ29va2llLmdldCgnY29va2llTWVzc2FnZScpKSB7XG4gICAgICAgICAgICBDb29raWVIYW5kbGVyLmNvb2tpZU1lc3NhZ2UuY2xhc3NMaXN0LmFkZCgnaXMtYWNjZXB0ZWQnKTtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnaXMtY29va2llcy1hY2NlcHRlZCcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgQ29va2llSGFuZGxlci5jb29raWVNZXNzYWdlLmNsYXNzTGlzdC5yZW1vdmUoJ2lzLWFjY2VwdGVkJyk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2lzLWNvb2tpZXMtYWNjZXB0ZWQnKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBjbG9zZUNvb2tpZU1lc3NhZ2U6IGZ1bmN0aW9uICgpe1xuICAgICAgICBDb29raWUuc2V0KCdjb29raWVNZXNzYWdlJywgdHJ1ZSwgOTApO1xuICAgICAgICBDb29raWVIYW5kbGVyLmNvb2tpZU1lc3NhZ2UuY2xhc3NMaXN0LmFkZCgnaXMtdHJhbnNpdGlvbmluZy1vdXQnKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdpcy1jb29raWVzLWFjY2VwdGVkJyk7XG4gICAgfSxcblxuICAgIG9wZW5Db29raWVTZXR0aW5nczogZnVuY3Rpb24gKCl7XG4gICAgICAgIENvb2tpZUhhbmRsZXIuY29va2llT3ZlcmxheS5xdWVyeVNlbGVjdG9yKCcuanMtY29va2llLXNldHRpbmdzJykuY2xhc3NMaXN0LnJlbW92ZSgnaXMtaGlkZGVuJyk7XG4gICAgICAgIENvb2tpZUhhbmRsZXIuY29va2llT3ZlcmxheS5xdWVyeVNlbGVjdG9yKCcuanMtY29va2llLWluZm8nKS5jbGFzc0xpc3QuYWRkKCdpcy1oaWRkZW4nKTtcbiAgICB9LFxuXG4gICAgdG9nZ2xlVHJhY2tpbmdTZXR0aW5nOiBmdW5jdGlvbigpe1xuICAgICAgICBpZihDb29raWVIYW5kbGVyLmFjY2VwdFRyYWNraW5nKXtcbiAgICAgICAgICAgIENvb2tpZUhhbmRsZXIuYWNjZXB0VHJhY2tpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgICAgQ29va2llSGFuZGxlci5hY2NlcHRUcmFja2luZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgc2V0Q29va2llU2V0dGluZ3M6IGZ1bmN0aW9uICgpIHtcblxuICAgICAgICAvLyBTZXQgdHJhY2tpbmcgY29va2llIG9yIGRlbGV0ZSBpdCBpZiBpc3NldCBhY2NvcmRpbmcgdG8gdGhlIGRlc2lyZWQgc2V0dGluZ3NcbiAgICAgICAgaWYoQ29va2llSGFuZGxlci5hY2NlcHRUcmFja2luZyl7XG4gICAgICAgICAgICBDb29raWUuc2V0KCd0cmFja2luZ0Nvb2tpZUFjY2VwdGVkJywgJ3RydWUnLCA5MCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZXtcbiAgICAgICAgICAgIGlmKENvb2tpZS5nZXQoJ3RyYWNraW5nQ29va2llQWNjZXB0ZWQnKSl7XG4gICAgICAgICAgICAgICAgQ29va2llLmVyYXNlKCd0cmFja2luZ0Nvb2tpZUFjY2VwdGVkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBDb29raWVIYW5kbGVyLmNsb3NlQ29va2llTWVzc2FnZSgpO1xuXG4gICAgICAgIC8vIFJlbG9hZCBhZnRlciBhbmltYXRpb24gdG8gYXV0b21hdGljYWxseSB0cmlnZ2VyIHRoZSB0cmFja2luZyBhZnRlciBhY2NlcHRpbmcgaXRcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xuICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKClcbiAgICAgICAgfSwgQ29va2llSGFuZGxlci5jb29raWVGYWRlT3V0QW5pbWF0aW9uRHVyYXRpb24pO1xuICAgIH0sXG5cbn07XG5cbkNvb2tpZUhhbmRsZXIuaW5pdCgpOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/site/components/cookieHandler.js\n");

/***/ }),

/***/ "./resources/js/site/components/mapsHandler.js":
/*!*****************************************************!*\
  !*** ./resources/js/site/components/mapsHandler.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/* ==========================================================================\n    Google Maps handler\n    - https://developers.google.com/maps/documentation/javascript/adding-a-google-map\n ========================================================================== */\nvar MapsHandler = {\n  map: '',\n  key: 'AIzaSyBq0TlsbT_Kaoct1StK8ZVECIZ6PezAT4s',\n  location: {\n    lat: 51.344410,\n    lng: 5.550140\n  },\n  styling: '',\n  init: function init() {\n    // Get map by id\n    MapsHandler.map = document.querySelector('.js-google-map'); // Check if a map is defined\n\n    if (isset(MapsHandler.map)) {\n      if (MapsHandler.map.hasAttribute('data-google-lat')) MapsHandler.location.lat = parseFloat(MapsHandler.map.getAttribute('data-google-lat'));\n      if (MapsHandler.map.hasAttribute('data-google-lng')) MapsHandler.location.lng = parseFloat(MapsHandler.map.getAttribute('data-google-lng'));\n      MapsHandler.setCustomStyling(); // See if google variable exists\n\n      if (typeof google == 'undefined' || typeof google.maps == 'undefined') {\n        // Load external script\n        getScript('https://maps.googleapis.com/maps/api/js?key=' + MapsHandler.key, MapsHandler.drawMap);\n      } else {\n        MapsHandler.drawMap();\n      }\n    }\n  },\n  drawMap: function drawMap() {\n    // Create a map\n    var map = new google.maps.Map(MapsHandler.map, {\n      zoom: 14,\n      center: MapsHandler.location,\n      disableDefaultUI: true,\n      styles: MapsHandler.styling\n    });\n    var contentString = '<div><p>Plan een route op ' + '<a target=\"_blank\" href=\"https://www.google.com/maps/dir/?api=1&destination=' + MapsHandler.location.lat + ',' + MapsHandler.location.lng + '\" class=\"link\">' + 'google maps</a> ' + '</p></div>';\n    var infowindow = new google.maps.InfoWindow({\n      content: contentString\n    }); // Add a marker\n\n    var marker = new google.maps.Marker({\n      position: MapsHandler.location,\n      map: map // label: 'A'\n\n    });\n    marker.addListener('click', function () {\n      infowindow.open(map, marker);\n    });\n  },\n  setCustomStyling: function setCustomStyling() {\n    MapsHandler.styling = [{\n      \"featureType\": \"water\",\n      \"elementType\": \"geometry\",\n      \"stylers\": [{\n        \"color\": \"#e9e9e9\"\n      }, {\n        \"lightness\": 17\n      }]\n    }, {\n      \"featureType\": \"landscape\",\n      \"elementType\": \"geometry\",\n      \"stylers\": [{\n        \"color\": \"#f5f5f5\"\n      }, {\n        \"lightness\": 20\n      }]\n    }, {\n      \"featureType\": \"road.highway\",\n      \"elementType\": \"geometry.fill\",\n      \"stylers\": [{\n        \"color\": \"#ffffff\"\n      }, {\n        \"lightness\": 17\n      }]\n    }, {\n      \"featureType\": \"road.highway\",\n      \"elementType\": \"geometry.stroke\",\n      \"stylers\": [{\n        \"color\": \"#ffffff\"\n      }, {\n        \"lightness\": 29\n      }, {\n        \"weight\": 0.2\n      }]\n    }, {\n      \"featureType\": \"road.arterial\",\n      \"elementType\": \"geometry\",\n      \"stylers\": [{\n        \"color\": \"#ffffff\"\n      }, {\n        \"lightness\": 18\n      }]\n    }, {\n      \"featureType\": \"road.local\",\n      \"elementType\": \"geometry\",\n      \"stylers\": [{\n        \"color\": \"#ffffff\"\n      }, {\n        \"lightness\": 16\n      }]\n    }, {\n      \"featureType\": \"poi\",\n      \"elementType\": \"geometry\",\n      \"stylers\": [{\n        \"color\": \"#f5f5f5\"\n      }, {\n        \"lightness\": 21\n      }]\n    }, {\n      \"featureType\": \"poi.park\",\n      \"elementType\": \"geometry\",\n      \"stylers\": [{\n        \"color\": \"#dedede\"\n      }, {\n        \"lightness\": 21\n      }]\n    }, {\n      \"elementType\": \"labels.text.stroke\",\n      \"stylers\": [{\n        \"visibility\": \"on\"\n      }, {\n        \"color\": \"#ffffff\"\n      }, {\n        \"lightness\": 16\n      }]\n    }, {\n      \"elementType\": \"labels.text.fill\",\n      \"stylers\": [{\n        \"saturation\": 36\n      }, {\n        \"color\": \"#333333\"\n      }, {\n        \"lightness\": 40\n      }]\n    }, {\n      \"elementType\": \"labels.icon\",\n      \"stylers\": [{\n        \"visibility\": \"off\"\n      }]\n    }, {\n      \"featureType\": \"transit\",\n      \"elementType\": \"geometry\",\n      \"stylers\": [{\n        \"color\": \"#f2f2f2\"\n      }, {\n        \"lightness\": 19\n      }]\n    }, {\n      \"featureType\": \"administrative\",\n      \"elementType\": \"geometry.fill\",\n      \"stylers\": [{\n        \"color\": \"#fefefe\"\n      }, {\n        \"lightness\": 20\n      }]\n    }, {\n      \"featureType\": \"administrative\",\n      \"elementType\": \"geometry.stroke\",\n      \"stylers\": [{\n        \"color\": \"#fefefe\"\n      }, {\n        \"lightness\": 17\n      }, {\n        \"weight\": 1.2\n      }]\n    }];\n  }\n};\nMapsHandler.init();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvc2l0ZS9jb21wb25lbnRzL21hcHNIYW5kbGVyLmpzPzkxZDciXSwibmFtZXMiOlsiTWFwc0hhbmRsZXIiLCJtYXAiLCJrZXkiLCJsb2NhdGlvbiIsImxhdCIsImxuZyIsInN0eWxpbmciLCJpbml0IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiaXNzZXQiLCJoYXNBdHRyaWJ1dGUiLCJwYXJzZUZsb2F0IiwiZ2V0QXR0cmlidXRlIiwic2V0Q3VzdG9tU3R5bGluZyIsImdvb2dsZSIsIm1hcHMiLCJnZXRTY3JpcHQiLCJkcmF3TWFwIiwiTWFwIiwiem9vbSIsImNlbnRlciIsImRpc2FibGVEZWZhdWx0VUkiLCJzdHlsZXMiLCJjb250ZW50U3RyaW5nIiwiaW5mb3dpbmRvdyIsIkluZm9XaW5kb3ciLCJjb250ZW50IiwibWFya2VyIiwiTWFya2VyIiwicG9zaXRpb24iLCJhZGRMaXN0ZW5lciIsIm9wZW4iXSwibWFwcGluZ3MiOiJBQUFBOzs7O0FBS0EsSUFBTUEsV0FBVyxHQUFHO0FBRWhCQyxLQUFHLEVBQUUsRUFGVztBQUdoQkMsS0FBRyxFQUFFLHlDQUhXO0FBSWhCQyxVQUFRLEVBQUU7QUFBQ0MsT0FBRyxFQUFFLFNBQU47QUFBaUJDLE9BQUcsRUFBRTtBQUF0QixHQUpNO0FBS2hCQyxTQUFPLEVBQUUsRUFMTztBQU9oQkMsTUFBSSxFQUFFLGdCQUFZO0FBQ2Q7QUFDQVAsZUFBVyxDQUFDQyxHQUFaLEdBQWtCTyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsZ0JBQXZCLENBQWxCLENBRmMsQ0FJZDs7QUFDQSxRQUFJQyxLQUFLLENBQUNWLFdBQVcsQ0FBQ0MsR0FBYixDQUFULEVBQTRCO0FBRXhCLFVBQUdELFdBQVcsQ0FBQ0MsR0FBWixDQUFnQlUsWUFBaEIsQ0FBNkIsaUJBQTdCLENBQUgsRUFBb0RYLFdBQVcsQ0FBQ0csUUFBWixDQUFxQkMsR0FBckIsR0FBMkJRLFVBQVUsQ0FBQ1osV0FBVyxDQUFD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QWUsZ0JBRG5CO0FBRUkscUJBQWUsZUFGbkI7QUFHSSxpQkFBVyxDQUNQO0FBQ0ksaUJBQVM7QUFEYixPQURPLEVBSVA7QUFDSSxxQkFBYTtBQURqQixPQUpPO0FBSGYsS0FwSkosRUFnS0k7QUFDSSxxQkFBZSxnQkFEbkI7QUFFSSxxQkFBZSxpQkFGbkI7QUFHSSxpQkFBVyxDQUNQO0FBQ0ksaUJBQVM7QUFEYixPQURPLEVBSVA7QUFDSSxxQkFBYTtBQURqQixPQUpPLEVBT1A7QUFDSSxrQkFBVTtBQURkLE9BUE87QUFIZixLQWhLSixDQURKO0FBa0xIO0FBalBlLENBQXBCO0FBb1BBTixXQUFXLENBQUNPLElBQVoiLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvc2l0ZS9jb21wb25lbnRzL21hcHNIYW5kbGVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBHb29nbGUgTWFwcyBoYW5kbGVyXG4gICAgLSBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9hZGRpbmctYS1nb29nbGUtbWFwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuY29uc3QgTWFwc0hhbmRsZXIgPSB7XG5cbiAgICBtYXA6ICcnLFxuICAgIGtleTogJ0FJemFTeUJxMFRsc2JUX0thb2N0MVN0SzhaVkVDSVo2UGV6QVQ0cycsXG4gICAgbG9jYXRpb246IHtsYXQ6IDUxLjM0NDQxMCwgbG5nOiA1LjU1MDE0MH0sXG4gICAgc3R5bGluZzogJycsXG5cbiAgICBpbml0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vIEdldCBtYXAgYnkgaWRcbiAgICAgICAgTWFwc0hhbmRsZXIubWFwID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmpzLWdvb2dsZS1tYXAnKTtcblxuICAgICAgICAvLyBDaGVjayBpZiBhIG1hcCBpcyBkZWZpbmVkXG4gICAgICAgIGlmIChpc3NldChNYXBzSGFuZGxlci5tYXApKSB7XG5cbiAgICAgICAgICAgIGlmKE1hcHNIYW5kbGVyLm1hcC5oYXNBdHRyaWJ1dGUoJ2RhdGEtZ29vZ2xlLWxhdCcpKSBNYXBzSGFuZGxlci5sb2NhdGlvbi5sYXQgPSBwYXJzZUZsb2F0KE1hcHNIYW5kbGVyLm1hcC5nZXRBdHRyaWJ1dGUoJ2RhdGEtZ29vZ2xlLWxhdCcpKTtcbiAgICAgICAgICAgIGlmKE1hcHNIYW5kbGVyLm1hcC5oYXNBdHRyaWJ1dGUoJ2RhdGEtZ29vZ2xlLWxuZycpKSBNYXBzSGFuZGxlci5sb2NhdGlvbi5sbmcgPSBwYXJzZUZsb2F0KE1hcHNIYW5kbGVyLm1hcC5nZXRBdHRyaWJ1dGUoJ2RhdGEtZ29vZ2xlLWxuZycpKTtcblxuICAgICAgICAgICAgTWFwc0hhbmRsZXIuc2V0Q3VzdG9tU3R5bGluZygpO1xuXG4gICAgICAgICAgICAvLyBTZWUgaWYgZ29vZ2xlIHZhcmlhYmxlIGV4aXN0c1xuICAgICAgICAgICAgaWYgKHR5cGVvZihnb29nbGUpID09ICd1bmRlZmluZWQnIHx8IHR5cGVvZihnb29nbGUubWFwcykgPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAvLyBMb2FkIGV4dGVybmFsIHNjcmlwdFxuICAgICAgICAgICAgICAgIGdldFNjcmlwdCgnaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2pzP2tleT0nICsgTWFwc0hhbmRsZXIua2V5LCBNYXBzSGFuZGxlci5kcmF3TWFwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgTWFwc0hhbmRsZXIuZHJhd01hcCgpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBkcmF3TWFwOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG1hcFxuICAgICAgICBsZXQgbWFwID0gbmV3IGdvb2dsZS5tYXBzLk1hcChNYXBzSGFuZGxlci5tYXAsIHtcbiAgICAgICAgICAgIHpvb206IDE0LFxuICAgICAgICAgICAgY2VudGVyOiBNYXBzSGFuZGxlci5sb2NhdGlvbixcbiAgICAgICAgICAgIGRpc2FibGVEZWZhdWx0VUk6IHRydWUsXG4gICAgICAgICAgICBzdHlsZXM6IE1hcHNIYW5kbGVyLnN0eWxpbmdcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmFyIGNvbnRlbnRTdHJpbmcgPSAnPGRpdj48cD5QbGFuIGVlbiByb3V0ZSBvcCAnK1xuICAgICAgICAgICAgJzxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyLz9hcGk9MSZkZXN0aW5hdGlvbj0nICsgTWFwc0hhbmRsZXIubG9jYXRpb24ubGF0ICsgJywnICsgTWFwc0hhbmRsZXIubG9jYXRpb24ubG5nICsnXCIgY2xhc3M9XCJsaW5rXCI+JytcbiAgICAgICAgICAgICdnb29nbGUgbWFwczwvYT4gJytcbiAgICAgICAgICAgICc8L3A+PC9kaXY+JztcblxuICAgICAgICB2YXIgaW5mb3dpbmRvdyA9IG5ldyBnb29nbGUubWFwcy5JbmZvV2luZG93KHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnRTdHJpbmdcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWRkIGEgbWFya2VyXG4gICAgICAgIGxldCBtYXJrZXIgPSBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyKHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBNYXBzSGFuZGxlci5sb2NhdGlvbixcbiAgICAgICAgICAgIG1hcDogbWFwLFxuICAgICAgICAgICAgLy8gbGFiZWw6ICdBJ1xuICAgICAgICB9KTtcblxuICAgICAgICBtYXJrZXIuYWRkTGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBpbmZvd2luZG93Lm9wZW4obWFwLCBtYXJrZXIpO1xuICAgICAgICB9KTtcblxuICAgIH0sXG5cbiAgICBzZXRDdXN0b21TdHlsaW5nOiBmdW5jdGlvbiAoKSB7XG5cbiAgICAgICAgTWFwc0hhbmRsZXIuc3R5bGluZyA9XG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcImZlYXR1cmVUeXBlXCI6IFwid2F0ZXJcIixcbiAgICAgICAgICAgICAgICAgICAgXCJlbGVtZW50VHlwZVwiOiBcImdlb21ldHJ5XCIsXG4gICAgICAgICAgICAgICAgICAgIFwic3R5bGVyc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiBcIiNlOWU5ZTlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxpZ2h0bmVzc1wiOiAxN1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFwiZmVhdHVyZVR5cGVcIjogXCJsYW5kc2NhcGVcIixcbiAgICAgICAgICAgICAgICAgICAgXCJlbGVtZW50VHlwZVwiOiBcImdlb21ldHJ5XCIsXG4gICAgICAgICAgICAgICAgICAgIFwic3R5bGVyc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiBcIiNmNWY1ZjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxpZ2h0bmVzc1wiOiAyMFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFwiZmVhdHVyZVR5cGVcIjogXCJyb2FkLmhpZ2h3YXlcIixcbiAgICAgICAgICAgICAgICAgICAgXCJlbGVtZW50VHlwZVwiOiBcImdlb21ldHJ5LmZpbGxcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXJzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbG9yXCI6IFwiI2ZmZmZmZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGlnaHRuZXNzXCI6IDE3XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgXCJmZWF0dXJlVHlwZVwiOiBcInJvYWQuaGlnaHdheVwiLFxuICAgICAgICAgICAgICAgICAgICBcImVsZW1lbnRUeXBlXCI6IFwiZ2VvbWV0cnkuc3Ryb2tlXCIsXG4gICAgICAgICAgICAgICAgICAgIFwic3R5bGVyc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiBcIiNmZmZmZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxpZ2h0bmVzc1wiOiAyOVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIndlaWdodFwiOiAwLjJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcImZlYXR1cmVUeXBlXCI6IFwicm9hZC5hcnRlcmlhbFwiLFxuICAgICAgICAgICAgICAgICAgICBcImVsZW1lbnRUeXBlXCI6IFwiZ2VvbWV0cnlcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXJzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbG9yXCI6IFwiI2ZmZmZmZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGlnaHRuZXNzXCI6IDE4XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgXCJmZWF0dXJlVHlwZVwiOiBcInJvYWQubG9jYWxcIixcbiAgICAgICAgICAgICAgICAgICAgXCJlbGVtZW50VHlwZVwiOiBcImdlb21ldHJ5XCIsXG4gICAgICAgICAgICAgICAgICAgIFwic3R5bGVyc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiBcIiNmZmZmZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxpZ2h0bmVzc1wiOiAxNlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFwiZmVhdHVyZVR5cGVcIjogXCJwb2lcIixcbiAgICAgICAgICAgICAgICAgICAgXCJlbGVtZW50VHlwZVwiOiBcImdlb21ldHJ5XCIsXG4gICAgICAgICAgICAgICAgICAgIFwic3R5bGVyc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiBcIiNmNWY1ZjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxpZ2h0bmVzc1wiOiAyMVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFwiZmVhdHVyZVR5cGVcIjogXCJwb2kucGFya1wiLFxuICAgICAgICAgICAgICAgICAgICBcImVsZW1lbnRUeXBlXCI6IFwiZ2VvbWV0cnlcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXJzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbG9yXCI6IFwiI2RlZGVkZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGlnaHRuZXNzXCI6IDIxXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgXCJlbGVtZW50VHlwZVwiOiBcImxhYmVscy50ZXh0LnN0cm9rZVwiLFxuICAgICAgICAgICAgICAgICAgICBcInN0eWxlcnNcIjogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidmlzaWJpbGl0eVwiOiBcIm9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiBcIiNmZmZmZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxpZ2h0bmVzc1wiOiAxNlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFwiZWxlbWVudFR5cGVcIjogXCJsYWJlbHMudGV4dC5maWxsXCIsXG4gICAgICAgICAgICAgICAgICAgIFwic3R5bGVyc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzYXR1cmF0aW9uXCI6IDM2XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogXCIjMzMzMzMzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsaWdodG5lc3NcIjogNDBcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcImVsZW1lbnRUeXBlXCI6IFwibGFiZWxzLmljb25cIixcbiAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXJzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInZpc2liaWxpdHlcIjogXCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIFwiZmVhdHVyZVR5cGVcIjogXCJ0cmFuc2l0XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZWxlbWVudFR5cGVcIjogXCJnZW9tZXRyeVwiLFxuICAgICAgICAgICAgICAgICAgICBcInN0eWxlcnNcIjogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogXCIjZjJmMmYyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJsaWdodG5lc3NcIjogMTlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcImZlYXR1cmVUeXBlXCI6IFwiYWRtaW5pc3RyYXRpdmVcIixcbiAgICAgICAgICAgICAgICAgICAgXCJlbGVtZW50VHlwZVwiOiBcImdlb21ldHJ5LmZpbGxcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXJzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbG9yXCI6IFwiI2ZlZmVmZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGlnaHRuZXNzXCI6IDIwXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgXCJmZWF0dXJlVHlwZVwiOiBcImFkbWluaXN0cmF0aXZlXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZWxlbWVudFR5cGVcIjogXCJnZW9tZXRyeS5zdHJva2VcIixcbiAgICAgICAgICAgICAgICAgICAgXCJzdHlsZXJzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbG9yXCI6IFwiI2ZlZmVmZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGlnaHRuZXNzXCI6IDE3XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwid2VpZ2h0XCI6IDEuMlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXTtcblxuICAgIH1cbn07XG5cbk1hcHNIYW5kbGVyLmluaXQoKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/site/components/mapsHandler.js\n");

/***/ }),

/***/ "./resources/js/site/components/overlayMenuHandler.js":
/*!************************************************************!*\
  !*** ./resources/js/site/components/overlayMenuHandler.js ***!
  \************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("/* ==========================================================================\n   Navigation handler\n   - Handles the showing and hiding of the overlay-menu component which has the proper classes.\n ========================================================================== */\nvar bodyScrollLock = __webpack_require__(/*! body-scroll-lock */ \"./node_modules/body-scroll-lock/lib/bodyScrollLock.min.js\");\n\nvar OverlayMenuHandler = {\n  // init: function () {\n  //     const overlayMenuTrigger = document.querySelector('.js-overlay-menu-trigger');\n  //     OverlayMenuHandler.initOverlayMenu(overlayMenuTrigger);\n  // },\n  init: function init() {\n    var overlayMenuTriggerList = document.querySelectorAll('.js-overlay-menu-trigger');\n    var overlayMenuTriggerListCount = overlayMenuTriggerList.length;\n\n    if (isset(overlayMenuTriggerList) && overlayMenuTriggerListCount !== 0) {\n      for (var i = 0; i < overlayMenuTriggerListCount; i++) {\n        var overlayMenuTrigger = overlayMenuTriggerList[i];\n        OverlayMenuHandler.initOverlayMenu(overlayMenuTrigger);\n      }\n    }\n  },\n  initOverlayMenu: function initOverlayMenu(overlayMenuTrigger) {\n    overlayMenuTrigger.addEventListener('click', OverlayMenuHandler.toggleOverlayMenu, false);\n  },\n  toggleOverlayMenu: function toggleOverlayMenu(event) {\n    var overlayMenuNav = document.querySelector('.js-overlay-menu'); // const overlayMenuBody = overlayMenu.querySelector('.js-overlay-menu-persist-scrolling');\n    // Bail if overlayMenu doesn't exist\n\n    if (!overlayMenuNav) return; // Clear previously locked scroll on the body\n\n    bodyScrollLock.enableBodyScroll(overlayMenuNav); // If the overlayMenu is already active, collapse it and quit\n\n    if (document.body.classList.contains('is-overlay-menu-active')) {\n      overlayMenuNav.querySelectorAll('[tabindex=\"0\"]').forEach(function (elem) {\n        elem.tabIndex = -1;\n      });\n      document.body.classList.remove('is-overlay-menu-active');\n      return;\n    } // Lock scrolling on the body\n\n\n    bodyScrollLock.disableBodyScroll(overlayMenuNav);\n    overlayMenuNav.querySelectorAll('[tabindex=\"-1\"]').forEach(function (elem) {\n      elem.tabIndex = 0;\n    }); // Toggle active overlayMenu by setting a class on the body\n\n    document.body.classList.toggle('is-overlay-menu-active');\n    overlayMenuNav.hidden = false;\n  }\n};\nOverlayMenuHandler.init();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvc2l0ZS9jb21wb25lbnRzL292ZXJsYXlNZW51SGFuZGxlci5qcz8yNzE5Il0sIm5hbWVzIjpbImJvZHlTY3JvbGxMb2NrIiwicmVxdWlyZSIsIk92ZXJsYXlNZW51SGFuZGxlciIsImluaXQiLCJvdmVybGF5TWVudVRyaWdnZXJMaXN0IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwib3ZlcmxheU1lbnVUcmlnZ2VyTGlzdENvdW50IiwibGVuZ3RoIiwiaXNzZXQiLCJpIiwib3ZlcmxheU1lbnVUcmlnZ2VyIiwiaW5pdE92ZXJsYXlNZW51IiwiYWRkRXZlbnRMaXN0ZW5lciIsInRvZ2dsZU92ZXJsYXlNZW51IiwiZXZlbnQiLCJvdmVybGF5TWVudU5hdiIsInF1ZXJ5U2VsZWN0b3IiLCJlbmFibGVCb2R5U2Nyb2xsIiwiYm9keSIsImNsYXNzTGlzdCIsImNvbnRhaW5zIiwiZm9yRWFjaCIsImVsZW0iLCJ0YWJJbmRleCIsInJlbW92ZSIsImRpc2FibGVCb2R5U2Nyb2xsIiwidG9nZ2xlIiwiaGlkZGVuIl0sIm1hcHBpbmdzIjoiQUFBQTs7OztBQUtBLElBQU1BLGNBQWMsR0FBR0MsbUJBQU8sQ0FBQyxtRkFBRCxDQUE5Qjs7QUFFQSxJQUFNQyxrQkFBa0IsR0FBRztBQUV2QjtBQUNBO0FBQ0E7QUFDQTtBQUVBQyxNQUFJLEVBQUUsZ0JBQVk7QUFFZCxRQUFNQyxzQkFBc0IsR0FBR0MsUUFBUSxDQUFDQyxnQkFBVCxDQUEwQiwwQkFBMUIsQ0FBL0I7QUFDQSxRQUFNQywyQkFBMkIsR0FBR0gsc0JBQXNCLENBQUNJLE1BQTNEOztBQUVBLFFBQUdDLEtBQUssQ0FBQ0wsc0JBQUQsQ0FBTCxJQUFpQ0csMkJBQTJCLEtBQUssQ0FBcEUsRUFBc0U7QUFDbEUsV0FBSSxJQUFJRyxDQUFDLEdBQUcsQ0FBWixFQUFlQSxDQUFDLEdBQUdILDJCQUFuQixFQUFnREcsQ0FBQyxFQUFqRCxFQUFvRDtBQUNoRCxZQUFNQyxrQkFBa0IsR0FBR1Asc0JBQXNCLENBQUNNLENBQUQsQ0FBakQ7QUFDQVIsMEJBQWtCLENBQUNVLGVBQW5CLENBQW1DRCxrQkFBbkM7QUFDSDtBQUNKO0FBQ0osR0FsQnNCO0FBb0J2QkMsaUJBQWUsRUFBRSx5QkFBVUQsa0JBQVYsRUFBOEI7QUFDM0NBLHNCQUFrQixDQUFDRSxnQkFBbkIsQ0FBb0MsT0FBcEMsRUFBNkNYLGtCQUFrQixDQUFDWSxpQkFBaEUsRUFBbUYsS0FBbkY7QUFDSCxHQXRCc0I7QUF3QnZCQSxtQkFBaUIsRUFBRSwyQkFBVUMsS0FBVixFQUFpQjtBQUNoQyxRQUFNQyxjQUFjLEdBQUdYLFFBQVEsQ0FBQ1ksYUFBVCxDQUF1QixrQkFBdkIsQ0FBdkIsQ0FEZ0MsQ0FFaEM7QUFFQTs7QUFDQSxRQUFJLENBQUNELGNBQUwsRUFBcUIsT0FMVyxDQU9oQzs7QUFDQWhCLGtCQUFjLENBQUNrQixnQkFBZixDQUFnQ0YsY0FBaEMsRUFSZ0MsQ0FVaEM7O0FBQ0EsUUFBSVgsUUFBUSxDQUFDYyxJQUFULENBQWNDLFNBQWQsQ0FBd0JDLFFBQXhCLENBQWlDLHdCQUFqQyxDQUFKLEVBQWdFO0FBQzVETCxvQkFBYyxDQUFDVixnQkFBZixDQUFnQyxnQkFBaEMsRUFBa0RnQixPQUFsRCxDQUEwRCxVQUFTQyxJQUFULEVBQWU7QUFDckVBLFlBQUksQ0FBQ0MsUUFBTCxHQUFnQixDQUFDLENBQWpCO0FBQ0gsT0FGRDtBQUlBbkIsY0FBUSxDQUFDYyxJQUFULENBQWNDLFNBQWQsQ0FBd0JLLE1BQXhCLENBQStCLHdCQUEvQjtBQUNBO0FBQ0gsS0FsQitCLENBb0JoQzs7O0FBQ0F6QixrQkFBYyxDQUFDMEIsaUJBQWYsQ0FBaUNWLGNBQWpDO0FBRUFBLGtCQUFjLENBQUNWLGdCQUFmLENBQWdDLGlCQUFoQyxFQUFtRGdCLE9BQW5ELENBQTJELFVBQVNDLElBQVQsRUFBZTtBQUN0RUEsVUFBSSxDQUFDQyxRQUFMLEdBQWdCLENBQWhCO0FBQ0gsS0FGRCxFQXZCZ0MsQ0EyQmhDOztBQUNBbkIsWUFBUSxDQUFDYyxJQUFULENBQWNDLFNBQWQsQ0FBd0JPLE1BQXhCLENBQStCLHdCQUEvQjtBQUNBWCxrQkFBYyxDQUFDWSxNQUFmLEdBQXdCLEtBQXhCO0FBQ0g7QUF0RHNCLENBQTNCO0FBeURBMUIsa0JBQWtCLENBQUNDLElBQW5CIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL3NpdGUvY29tcG9uZW50cy9vdmVybGF5TWVudUhhbmRsZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2aWdhdGlvbiBoYW5kbGVyXG4gICAtIEhhbmRsZXMgdGhlIHNob3dpbmcgYW5kIGhpZGluZyBvZiB0aGUgb3ZlcmxheS1tZW51IGNvbXBvbmVudCB3aGljaCBoYXMgdGhlIHByb3BlciBjbGFzc2VzLlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmNvbnN0IGJvZHlTY3JvbGxMb2NrID0gcmVxdWlyZSgnYm9keS1zY3JvbGwtbG9jaycpO1xuXG5jb25zdCBPdmVybGF5TWVudUhhbmRsZXIgPSB7XG5cbiAgICAvLyBpbml0OiBmdW5jdGlvbiAoKSB7XG4gICAgLy8gICAgIGNvbnN0IG92ZXJsYXlNZW51VHJpZ2dlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy1vdmVybGF5LW1lbnUtdHJpZ2dlcicpO1xuICAgIC8vICAgICBPdmVybGF5TWVudUhhbmRsZXIuaW5pdE92ZXJsYXlNZW51KG92ZXJsYXlNZW51VHJpZ2dlcik7XG4gICAgLy8gfSxcblxuICAgIGluaXQ6IGZ1bmN0aW9uICgpIHtcblxuICAgICAgICBjb25zdCBvdmVybGF5TWVudVRyaWdnZXJMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmpzLW92ZXJsYXktbWVudS10cmlnZ2VyJyk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlNZW51VHJpZ2dlckxpc3RDb3VudCA9IG92ZXJsYXlNZW51VHJpZ2dlckxpc3QubGVuZ3RoO1xuXG4gICAgICAgIGlmKGlzc2V0KG92ZXJsYXlNZW51VHJpZ2dlckxpc3QpICYmIG92ZXJsYXlNZW51VHJpZ2dlckxpc3RDb3VudCAhPT0gMCl7XG4gICAgICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgb3ZlcmxheU1lbnVUcmlnZ2VyTGlzdENvdW50OyBpKyspe1xuICAgICAgICAgICAgICAgIGNvbnN0IG92ZXJsYXlNZW51VHJpZ2dlciA9IG92ZXJsYXlNZW51VHJpZ2dlckxpc3RbaV07XG4gICAgICAgICAgICAgICAgT3ZlcmxheU1lbnVIYW5kbGVyLmluaXRPdmVybGF5TWVudShvdmVybGF5TWVudVRyaWdnZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIGluaXRPdmVybGF5TWVudTogZnVuY3Rpb24gKG92ZXJsYXlNZW51VHJpZ2dlcikge1xuICAgICAgICBvdmVybGF5TWVudVRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBPdmVybGF5TWVudUhhbmRsZXIudG9nZ2xlT3ZlcmxheU1lbnUsIGZhbHNlKTtcbiAgICB9LFxuXG4gICAgdG9nZ2xlT3ZlcmxheU1lbnU6IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBjb25zdCBvdmVybGF5TWVudU5hdiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5qcy1vdmVybGF5LW1lbnUnKTtcbiAgICAgICAgLy8gY29uc3Qgb3ZlcmxheU1lbnVCb2R5ID0gb3ZlcmxheU1lbnUucXVlcnlTZWxlY3RvcignLmpzLW92ZXJsYXktbWVudS1wZXJzaXN0LXNjcm9sbGluZycpO1xuXG4gICAgICAgIC8vIEJhaWwgaWYgb3ZlcmxheU1lbnUgZG9lc24ndCBleGlzdFxuICAgICAgICBpZiAoIW92ZXJsYXlNZW51TmF2KSByZXR1cm47XG5cbiAgICAgICAgLy8gQ2xlYXIgcHJldmlvdXNseSBsb2NrZWQgc2Nyb2xsIG9uIHRoZSBib2R5XG4gICAgICAgIGJvZHlTY3JvbGxMb2NrLmVuYWJsZUJvZHlTY3JvbGwob3ZlcmxheU1lbnVOYXYpO1xuXG4gICAgICAgIC8vIElmIHRoZSBvdmVybGF5TWVudSBpcyBhbHJlYWR5IGFjdGl2ZSwgY29sbGFwc2UgaXQgYW5kIHF1aXRcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdpcy1vdmVybGF5LW1lbnUtYWN0aXZlJykpIHtcbiAgICAgICAgICAgIG92ZXJsYXlNZW51TmF2LnF1ZXJ5U2VsZWN0b3JBbGwoJ1t0YWJpbmRleD1cIjBcIl0nKS5mb3JFYWNoKGZ1bmN0aW9uKGVsZW0pIHtcbiAgICAgICAgICAgICAgICBlbGVtLnRhYkluZGV4ID0gLTE7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdpcy1vdmVybGF5LW1lbnUtYWN0aXZlJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMb2NrIHNjcm9sbGluZyBvbiB0aGUgYm9keVxuICAgICAgICBib2R5U2Nyb2xsTG9jay5kaXNhYmxlQm9keVNjcm9sbChvdmVybGF5TWVudU5hdik7XG5cbiAgICAgICAgb3ZlcmxheU1lbnVOYXYucXVlcnlTZWxlY3RvckFsbCgnW3RhYmluZGV4PVwiLTFcIl0nKS5mb3JFYWNoKGZ1bmN0aW9uKGVsZW0pIHtcbiAgICAgICAgICAgIGVsZW0udGFiSW5kZXggPSAwO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBUb2dnbGUgYWN0aXZlIG92ZXJsYXlNZW51IGJ5IHNldHRpbmcgYSBjbGFzcyBvbiB0aGUgYm9keVxuICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoJ2lzLW92ZXJsYXktbWVudS1hY3RpdmUnKTtcbiAgICAgICAgb3ZlcmxheU1lbnVOYXYuaGlkZGVuID0gZmFsc2U7XG4gICAgfVxufTtcblxuT3ZlcmxheU1lbnVIYW5kbGVyLmluaXQoKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/site/components/overlayMenuHandler.js\n");

/***/ }),

/***/ "./resources/js/site/components/scrollToHandler.js":
/*!*********************************************************!*\
  !*** ./resources/js/site/components/scrollToHandler.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/* ==========================================================================\n    Scroll To Click handler\n ========================================================================== */\nvar ScrollToHandler = {\n  // Animation settings\n  offset: 60,\n  //pixel\n  duration: 1400,\n  //ms\n  // Animation variables\n  body: null,\n  start: 0,\n  change: 0,\n  currentTime: 0,\n  allowAnimation: false,\n  scrollToAnimation: null,\n  // Watch the EasingFunction helper for the available methods\n  easing: 'easeInOutQuad',\n  init: function init() {\n    var anchorLinks = document.querySelectorAll('.js-scroll-to-target');\n    var anchorLinksAmount = anchorLinks.length;\n\n    for (var i = 0; i < anchorLinksAmount; i++) {\n      var anchorLink = anchorLinks[i];\n      anchorLink.addEventListener('click', function (event) {\n        ScrollToHandler.prepareScrollTo(this.getAttribute('href'));\n        event.preventDefault();\n      });\n    }\n  },\n\n  /**\n   * Prepare the Handler for the animation\n   */\n  prepareScrollTo: function prepareScrollTo(elementId) {\n    // Get the scroll to element\n    elementId = elementId.substr(elementId.indexOf('#') + 1);\n    var scrollToElement = document.getElementById(elementId);\n    var scrollToElementPosition = scrollToElement.getBoundingClientRect(); // Reset or define the Handler variables\n\n    ScrollToHandler.body = document.documentElement;\n    ScrollToHandler.start = Math.max(ScrollToHandler.body.scrollTop, document.body.scrollTop, window.pageYOffset); //Use Math.max because safari doesn't support document.documentElement.scrollTop\n\n    ScrollToHandler.change = scrollToElementPosition.top + ScrollToHandler.start - ScrollToHandler.start - ScrollToHandler.offset;\n    ScrollToHandler.startTime = 'now' in window.performance ? performance.now() : new Date().getTime();\n    ScrollToHandler.allowAnimation = true; // Trigger animation\n\n    scrollToAnimation = requestAnimationFrame(ScrollToHandler.animateScroll); // Stop on scroll\n\n    window.addEventListener('mousedown', ScrollToHandler.abortScrollAnimation);\n    window.addEventListener('wheel', ScrollToHandler.abortScrollAnimation);\n    window.addEventListener('DOMMouseScroll', ScrollToHandler.abortScrollAnimation);\n    window.addEventListener('mousewheel', ScrollToHandler.abortScrollAnimation);\n    window.addEventListener('keyup', ScrollToHandler.abortScrollAnimation);\n    window.addEventListener('touchmove', ScrollToHandler.abortScrollAnimation);\n  },\n\n  /*\n   * Animate the scroll position\n   */\n  animateScroll: function animateScroll(timestamp) {\n    // Calculate progress from 0 - 1\n    var progress = Math.min(1, (timestamp - ScrollToHandler.startTime) / ScrollToHandler.duration);\n    if (progress < 0) progress = 0; // Convert progress with easing function\n\n    progress = EasingFunctions[ScrollToHandler.easing](progress);\n    var newScrollTop = ScrollToHandler.start + ScrollToHandler.change * progress;\n    ScrollToHandler.body.scrollTop = newScrollTop;\n    if (ScrollToHandler.body.scrollTop === 0) document.body.scrollTop = newScrollTop; // Safari doesn't support so if ScrollToHandler.body.scrollTop is 0 force the scroll position through document.body.scrollTop\n\n    if (progress < 1 && ScrollToHandler.allowAnimation) {\n      scrollToAnimation = requestAnimationFrame(ScrollToHandler.animateScroll);\n    }\n  },\n\n  /*\n   * Abort the scroll animation\n   */\n  abortScrollAnimation: function abortScrollAnimation(event) {\n    ScrollToHandler.allowAnimation = false;\n    cancelAnimationFrame(ScrollToHandler.scrollToAnimation);\n  }\n};\nScrollToHandler.init();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvc2l0ZS9jb21wb25lbnRzL3Njcm9sbFRvSGFuZGxlci5qcz8zNzNjIl0sIm5hbWVzIjpbIlNjcm9sbFRvSGFuZGxlciIsIm9mZnNldCIsImR1cmF0aW9uIiwiYm9keSIsInN0YXJ0IiwiY2hhbmdlIiwiY3VycmVudFRpbWUiLCJhbGxvd0FuaW1hdGlvbiIsInNjcm9sbFRvQW5pbWF0aW9uIiwiZWFzaW5nIiwiaW5pdCIsImFuY2hvckxpbmtzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiYW5jaG9yTGlua3NBbW91bnQiLCJsZW5ndGgiLCJpIiwiYW5jaG9yTGluayIsImFkZEV2ZW50TGlzdGVuZXIiLCJldmVudCIsInByZXBhcmVTY3JvbGxUbyIsImdldEF0dHJpYnV0ZSIsInByZXZlbnREZWZhdWx0IiwiZWxlbWVudElkIiwic3Vic3RyIiwiaW5kZXhPZiIsInNjcm9sbFRvRWxlbWVudCIsImdldEVsZW1lbnRCeUlkIiwic2Nyb2xsVG9FbGVtZW50UG9zaXRpb24iLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJkb2N1bWVudEVsZW1lbnQiLCJNYXRoIiwibWF4Iiwic2Nyb2xsVG9wIiwid2luZG93IiwicGFnZVlPZmZzZXQiLCJ0b3AiLCJzdGFydFRpbWUiLCJwZXJmb3JtYW5jZSIsIm5vdyIsIkRhdGUiLCJnZXRUaW1lIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiYW5pbWF0ZVNjcm9sbCIsImFib3J0U2Nyb2xsQW5pbWF0aW9uIiwidGltZXN0YW1wIiwicHJvZ3Jlc3MiLCJtaW4iLCJFYXNpbmdGdW5jdGlvbnMiLCJuZXdTY3JvbGxUb3AiLCJjYW5jZWxBbmltYXRpb25GcmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7OztBQUlBLElBQU1BLGVBQWUsR0FBRztBQUVwQjtBQUNBQyxRQUFNLEVBQUcsRUFIVztBQUdQO0FBQ2JDLFVBQVEsRUFBRyxJQUpTO0FBSUg7QUFFakI7QUFDQUMsTUFBSSxF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bmRsZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFNjcm9sbCBUbyBDbGljayBoYW5kbGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuY29uc3QgU2Nyb2xsVG9IYW5kbGVyID0ge1xuXG4gICAgLy8gQW5pbWF0aW9uIHNldHRpbmdzXG4gICAgb2Zmc2V0IDogNjAsIC8vcGl4ZWxcbiAgICBkdXJhdGlvbiA6IDE0MDAsIC8vbXNcblxuICAgIC8vIEFuaW1hdGlvbiB2YXJpYWJsZXNcbiAgICBib2R5IDogbnVsbCxcbiAgICBzdGFydCA6IDAsXG4gICAgY2hhbmdlIDogMCxcbiAgICBjdXJyZW50VGltZSA6IDAsXG4gICAgYWxsb3dBbmltYXRpb24gOiBmYWxzZSxcbiAgICBzY3JvbGxUb0FuaW1hdGlvbiA6IG51bGwsXG5cbiAgICAvLyBXYXRjaCB0aGUgRWFzaW5nRnVuY3Rpb24gaGVscGVyIGZvciB0aGUgYXZhaWxhYmxlIG1ldGhvZHNcbiAgICBlYXNpbmc6ICdlYXNlSW5PdXRRdWFkJyxcblxuICAgIGluaXQgOiBmdW5jdGlvbigpe1xuXG4gICAgICAgIGNvbnN0IGFuY2hvckxpbmtzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmpzLXNjcm9sbC10by10YXJnZXQnKTtcbiAgICAgICAgY29uc3QgYW5jaG9yTGlua3NBbW91bnQgPSBhbmNob3JMaW5rcy5sZW5ndGg7XG5cbiAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGFuY2hvckxpbmtzQW1vdW50OyBpKyspIHtcblxuICAgICAgICAgICAgY29uc3QgYW5jaG9yTGluayA9IGFuY2hvckxpbmtzW2ldO1xuXG4gICAgICAgICAgICBhbmNob3JMaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgU2Nyb2xsVG9IYW5kbGVyLnByZXBhcmVTY3JvbGxUbyh0aGlzLmdldEF0dHJpYnV0ZSgnaHJlZicpKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogUHJlcGFyZSB0aGUgSGFuZGxlciBmb3IgdGhlIGFuaW1hdGlvblxuICAgICAqL1xuICAgIHByZXBhcmVTY3JvbGxUbyA6IGZ1bmN0aW9uKGVsZW1lbnRJZCl7XG5cbiAgICAgICAgLy8gR2V0IHRoZSBzY3JvbGwgdG8gZWxlbWVudFxuICAgICAgICBlbGVtZW50SWQgPSBlbGVtZW50SWQuc3Vic3RyKGVsZW1lbnRJZC5pbmRleE9mKCcjJykrMSk7XG4gICAgICAgIGNvbnN0IHNjcm9sbFRvRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7XG4gICAgICAgIGNvbnN0IHNjcm9sbFRvRWxlbWVudFBvc2l0aW9uID0gc2Nyb2xsVG9FbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIC8vIFJlc2V0IG9yIGRlZmluZSB0aGUgSGFuZGxlciB2YXJpYWJsZXNcbiAgICAgICAgU2Nyb2xsVG9IYW5kbGVyLmJvZHkgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIFNjcm9sbFRvSGFuZGxlci5zdGFydCA9IE1hdGgubWF4KFNjcm9sbFRvSGFuZGxlci5ib2R5LnNjcm9sbFRvcCwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AsIHdpbmRvdy5wYWdlWU9mZnNldCk7IC8vVXNlIE1hdGgubWF4IGJlY2F1c2Ugc2FmYXJpIGRvZXNuJ3Qgc3VwcG9ydCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wXG4gICAgICAgIFNjcm9sbFRvSGFuZGxlci5jaGFuZ2UgPSAoKHNjcm9sbFRvRWxlbWVudFBvc2l0aW9uLnRvcCArIFNjcm9sbFRvSGFuZGxlci5zdGFydCkgLSBTY3JvbGxUb0hhbmRsZXIuc3RhcnQpIC0gU2Nyb2xsVG9IYW5kbGVyLm9mZnNldDtcbiAgICAgICAgU2Nyb2xsVG9IYW5kbGVyLnN0YXJ0VGltZSA9ICdub3cnIGluIHdpbmRvdy5wZXJmb3JtYW5jZSA/IHBlcmZvcm1hbmNlLm5vdygpIDogbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIFNjcm9sbFRvSGFuZGxlci5hbGxvd0FuaW1hdGlvbiA9IHRydWU7XG5cbiAgICAgICAgLy8gVHJpZ2dlciBhbmltYXRpb25cbiAgICAgICAgc2Nyb2xsVG9BbmltYXRpb24gPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoU2Nyb2xsVG9IYW5kbGVyLmFuaW1hdGVTY3JvbGwpO1xuXG4gICAgICAgIC8vIFN0b3Agb24gc2Nyb2xsXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBTY3JvbGxUb0hhbmRsZXIuYWJvcnRTY3JvbGxBbmltYXRpb24pO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBTY3JvbGxUb0hhbmRsZXIuYWJvcnRTY3JvbGxBbmltYXRpb24pO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignRE9NTW91c2VTY3JvbGwnLCBTY3JvbGxUb0hhbmRsZXIuYWJvcnRTY3JvbGxBbmltYXRpb24pO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V3aGVlbCcsIFNjcm9sbFRvSGFuZGxlci5hYm9ydFNjcm9sbEFuaW1hdGlvbik7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIFNjcm9sbFRvSGFuZGxlci5hYm9ydFNjcm9sbEFuaW1hdGlvbik7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBTY3JvbGxUb0hhbmRsZXIuYWJvcnRTY3JvbGxBbmltYXRpb24pO1xuXG4gICAgfSxcblxuICAgIC8qXG4gICAgICogQW5pbWF0ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uXG4gICAgICovXG4gICAgYW5pbWF0ZVNjcm9sbCA6IGZ1bmN0aW9uICh0aW1lc3RhbXApIHtcblxuICAgICAgICAvLyBDYWxjdWxhdGUgcHJvZ3Jlc3MgZnJvbSAwIC0gMVxuICAgICAgICBsZXQgcHJvZ3Jlc3MgPSBNYXRoLm1pbigxLCAodGltZXN0YW1wIC0gIFNjcm9sbFRvSGFuZGxlci5zdGFydFRpbWUpIC8gU2Nyb2xsVG9IYW5kbGVyLmR1cmF0aW9uKTtcbiAgICAgICAgaWYocHJvZ3Jlc3MgPCAwKSBwcm9ncmVzcyA9IDA7XG5cbiAgICAgICAgLy8gQ29udmVydCBwcm9ncmVzcyB3aXRoIGVhc2luZyBmdW5jdGlvblxuICAgICAgICBwcm9ncmVzcyA9IEVhc2luZ0Z1bmN0aW9uc1tTY3JvbGxUb0hhbmRsZXIuZWFzaW5nXShwcm9ncmVzcyk7XG5cbiAgICAgICAgY29uc3QgbmV3U2Nyb2xsVG9wID0gU2Nyb2xsVG9IYW5kbGVyLnN0YXJ0ICsgKCBTY3JvbGxUb0hhbmRsZXIuY2hhbmdlICogcHJvZ3Jlc3MgKTtcblxuICAgICAgICBTY3JvbGxUb0hhbmRsZXIuYm9keS5zY3JvbGxUb3AgPSBuZXdTY3JvbGxUb3A7XG4gICAgICAgIGlmKCBTY3JvbGxUb0hhbmRsZXIuYm9keS5zY3JvbGxUb3AgPT09IDAgKSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9IG5ld1Njcm9sbFRvcDsgLy8gU2FmYXJpIGRvZXNuJ3Qgc3VwcG9ydCBzbyBpZiBTY3JvbGxUb0hhbmRsZXIuYm9keS5zY3JvbGxUb3AgaXMgMCBmb3JjZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIHRocm91Z2ggZG9jdW1lbnQuYm9keS5zY3JvbGxUb3BcblxuICAgICAgICBpZihwcm9ncmVzcyA8IDEgJiYgU2Nyb2xsVG9IYW5kbGVyLmFsbG93QW5pbWF0aW9uKXtcbiAgICAgICAgICAgIHNjcm9sbFRvQW5pbWF0aW9uID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKFNjcm9sbFRvSGFuZGxlci5hbmltYXRlU2Nyb2xsKTtcbiAgICAgICAgfVxuXG4gICAgfSxcblxuICAgIC8qXG4gICAgICogQWJvcnQgdGhlIHNjcm9sbCBhbmltYXRpb25cbiAgICAgKi9cbiAgICBhYm9ydFNjcm9sbEFuaW1hdGlvbiA6IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBTY3JvbGxUb0hhbmRsZXIuYWxsb3dBbmltYXRpb24gPSBmYWxzZTtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUoU2Nyb2xsVG9IYW5kbGVyLnNjcm9sbFRvQW5pbWF0aW9uKTtcbiAgICB9XG5cbn07XG5cblNjcm9sbFRvSGFuZGxlci5pbml0KCk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/site/components/scrollToHandler.js\n");

/***/ }),

/***/ "./resources/js/site/components/sliderHandler.js":
/*!*******************************************************!*\
  !*** ./resources/js/site/components/sliderHandler.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/* Example\n\nconst headerImageSliderSetting = new SliderProjectorSetting({\n    sliderProjectorId: 'header-image-slider',\n    slideQuery: '#header-image-slider .placeholder figure',\n    dots: '#header-image-slider .slider-navigation-labels .navigation span',\n    autoSlider: true,\n    sliderInterval: 4000\n});\nheaderImageSliderSetting = headerImageSliderSetting.prepareParameters();\n\nconst headerImageSlider = new SliderProjector(headerImageSliderSetting).init();\n\n */\nvar Sliders = [];\nvar sliderContainers = document.querySelectorAll('.js-slider');\nvar sliderContainersLength = sliderContainers.length;\n\nfor (var i = 0; i < sliderContainersLength; i++) {\n  var slider = sliderContainers[i];\n  var sliderId = slider.getAttribute('id');\n\n  if (sliderId !== null) {\n    var Slidersetting = new SliderSetting({\n      sliderId: sliderId,\n      slideQuery: '#' + sliderId + ' .js-slider-slide',\n      navigationButtons: '#' + sliderId + ' .js-slider-button',\n      dots: '#' + sliderId + ' .js-slider-indicator',\n      autoSlider: slider.getAttribute('data-auto-slide')\n    });\n    Sliders.push(new Slider(Slidersetting.prepareParameters()).init());\n  } else console.log('An image slider has no id...');\n}\n\nfunction SliderSetting(settingsObject) {\n  var self = this;\n  this.sliderId = '';\n  this.autoSlider = false;\n  this.sliderInterval = 4000;\n  this.navigationButtons = '';\n  this.dots = '';\n  this.slideQuery = '';\n\n  this.setSliderId = function (string) {\n    this.sliderId = string;\n    return this;\n  };\n\n  this.setAutoSlider = function (_boolean) {\n    this.autoSlider = _boolean;\n    return this;\n  };\n\n  this.setSliderInterval = function (integer) {\n    this.sliderInterval = integer;\n    return this;\n  };\n\n  this.setSlideQuery = function (string) {\n    this.slideQuery = string;\n    return this;\n  };\n\n  this.setNavigationButtons = function (string) {\n    this.navigationButtons = string;\n    return this;\n  };\n\n  this.setDots = function (string) {\n    this.dots = string;\n    return this;\n  };\n\n  this.getSliderId = function () {\n    return this.sliderId;\n  };\n\n  this.getAutoSlider = function () {\n    var autoSlide = this.autoSlider;\n\n    if (!Number.isInteger(autoSlide)) {\n      if (autoSlide == false) autoSlide = false;else autoSlide = true;\n    }\n\n    return autoSlide;\n  };\n\n  this.getSliderInterval = function () {\n    return this.sliderInterval;\n  };\n\n  this.getSlideQuery = function () {\n    return this.slideQuery;\n  };\n\n  this.getNavigationButtons = function () {\n    return this.navigationButtons;\n  };\n\n  this.getDots = function () {\n    return this.dots;\n  }; // Invert setters to getters\n\n\n  this.prepareParameters = function () {\n    return {\n      sliderId: self.getSliderId(),\n      autoSlider: self.getAutoSlider(),\n      sliderInterval: self.getSliderInterval(),\n      navigationButtons: self.getNavigationButtons(),\n      dots: self.getDots(),\n      slideQuery: self.getSlideQuery()\n    };\n  }; // Mass assign settings\n\n\n  this.fill = function () {\n    // Object.keys(settingsObject).forEach(function (key) {\n    //     self[key] = settingsObject[key];\n    // });\n    var settingsObjectKeys = Object.keys(settingsObject);\n    var settingsObjectLength = settingsObjectKeys.length;\n\n    for (var _i = 0; _i < settingsObjectLength; _i++) {\n      var key = settingsObjectKeys[_i];\n      self[key] = settingsObject[key];\n    }\n  };\n\n  this.fill();\n  return {\n    sliderId: self.setSliderId,\n    autoSlider: self.setAutoSlider,\n    sliderInterval: self.setSliderInterval,\n    navigationButtons: self.setNavigationButtons,\n    dots: self.setDots,\n    slideQuery: self.setSlideQuery,\n    prepareParameters: self.prepareParameters\n  };\n}\n\nfunction Slider(settings) {\n  //Define Slider object\n  var self = this;\n  this.sliderObject = ''; //SlideParameters\n\n  this.activeSlideId = 0;\n  this.previousSlideId = 0;\n  this.nextSlideId = 0;\n  this.availableSlides = 1;\n  this.slides = [];\n  this.autoSliderInterval = null;\n  this.settings = {};\n\n  this.init = function () {\n    //Append settings to self\n    this.settings = settings; //Assign needed elements and calculations\n\n    this.sliderObject = document.getElementById(this.settings.sliderId);\n    this.slides = document.querySelectorAll(this.settings.slideQuery);\n    this.availableSlides = this.slides.length;\n    this.activeSlideId = 0; // Set active slide (and possible previous and next classes)\n\n    this.setSlide(); // Swipe interaction\n\n    var swipeGestures = new Hammer(this.sliderObject);\n    swipeGestures.on('swipeleft', function () {\n      self.resetAutoSlider();\n      self.nextSlide();\n      self.setSlide();\n    });\n    swipeGestures.on('swiperight', function () {\n      self.resetAutoSlider();\n      self.previousSlide();\n      self.setSlide();\n    });\n\n    if (this.settings.navigationButtons !== '') {\n      // Click interaction\n      var navigationButtons = document.querySelectorAll(this.settings.navigationButtons);\n      var navigationButtonsLength = navigationButtons.length;\n\n      for (var _i2 = 0; _i2 < navigationButtonsLength; _i2++) {\n        var navigationButton = navigationButtons[_i2];\n        navigationButton.addEventListener('click', function () {\n          self.clickNavigationButton(this);\n        });\n      }\n    }\n\n    if (this.settings.dots !== '') {\n      // Click interaction\n      var dots = document.querySelectorAll(this.settings.dots);\n      var dotsLength = dots.length; // console.log(this.settings.dots);\n      // console.log(dots);\n\n      for (var _i3 = 0; _i3 < dotsLength; _i3++) {\n        var dot = dots[_i3];\n        dot.addEventListener('click', function () {\n          self.clickDot(this);\n        });\n      }\n    }\n\n    self.autoSlider();\n  };\n\n  this.autoSlider = function () {\n    // Reset the interval if defined\n    if (this.autoSliderInterval !== null) clearInterval(this.autoSliderInterval); // Check if should auto slide before creating the interval\n    // We do this inhere, because the autoslide function is also called by other functionality\n\n    if (this.settings.autoSlider !== false && Number.isInteger(this.settings.sliderInterval)) {\n      this.autoSliderInterval = setInterval(function () {\n        self.nextSlide();\n        self.setSlide();\n      }, this.settings.sliderInterval);\n    }\n  };\n\n  this.resetAutoSlider = self.autoSlider;\n\n  this.nextSlide = function () {\n    this.activeSlideId++;\n    if (this.activeSlideId >= this.availableSlides) this.activeSlideId = 0;\n  };\n\n  this.previousSlide = function () {\n    this.activeSlideId--;\n    if (this.activeSlideId < 0) this.activeSlideId = this.availableSlides - 1;\n  };\n\n  this.setSlide = function () {\n    // Loop through the form elements\n    var slidesLength = self.slides.length;\n\n    for (var _i4 = 0; _i4 < slidesLength; _i4++) {\n      var slide = self.slides[_i4];\n      slide.style.pointerEvents = \"none\"; // Needed for swipe functionality\n      // Convert data set attribute to desired type\n\n      var slideOrder = parseInt(slide.getAttribute('data-order')); // Remove and set active for all slides\n\n      if (slideOrder !== self.activeSlideId) slide.classList.remove('is-active');else slide.classList.add('is-active');\n    }\n\n    if (self.settings.dots !== '') {\n      self.setActiveDot();\n    }\n  };\n\n  this.clickNavigationButton = function (navButton) {\n    var navButtonDirection = navButton.getAttribute('aria-label');\n    if (navButtonDirection === 'next') this.nextSlide();else if (navButtonDirection === 'previous') this.previousSlide();\n    self.setSlide();\n    self.resetAutoSlider();\n  };\n\n  this.clickDot = function (clickedDot) {\n    self.activeSlideId = parseInt(clickedDot.getAttribute('data-order'));\n    self.setSlide();\n    self.resetAutoSlider();\n  };\n\n  this.setActiveDot = function () {\n    var dots = document.querySelectorAll(this.settings.dots);\n    var dotsLength = dots.length;\n\n    for (var _i5 = 0; _i5 < dotsLength; _i5++) {\n      var dot = dots[_i5];\n      dotOrder = parseInt(dot.getAttribute('data-order'));\n\n      if (dotOrder !== self.activeSlideId) {\n        dot.classList.remove('is-active');\n        dot.tabIndex = 0;\n      } else {\n        dot.classList.add('is-active');\n        dot.tabIndex = -1;\n      }\n    }\n  };\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvc2l0ZS9jb21wb25lbnRzL3NsaWRlckhhbmRsZXIuanM/NGZkNiJdLCJuYW1lcyI6WyJTbGlkZXJzIiwic2xpZGVyQ29udGFpbmVycyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsInNsaWRlckNvbnRhaW5lcnNMZW5ndGgiLCJsZW5ndGgiLCJpIiwic2xpZGVyIiwic2xpZGVySWQiLCJnZXRBdHRyaWJ1dGUiLCJTbGlkZXJzZXR0aW5nIiwiU2xpZGVyU2V0dGluZyIsInNsaWRlUXVlcnkiLCJuYXZpZ2F0aW9uQnV0dG9ucyIsImRvdHMiLCJhdXRvU2xpZGVyIiwicHVzaCIsIlNsaWRlciIsInByZXBhcmVQYXJhbWV0ZXJzIiwiaW5pdCIsImNvbnNvbGUiLCJsb2ciLCJzZXR0aW5nc09iamVjdCIsInNlbGYiLCJzbGlkZXJJbnRlcnZhbCIsInNldFNsaWRlcklkIiwic3RyaW5nIiwic2V0QXV0b1NsaWRlciIsImJvb2xlYW4iLCJzZXRTbGlkZXJJbnRlcnZhbCIsImludGVnZXIiLCJzZXRTbGlkZVF1ZXJ5Iiwic2V0TmF2aWdhdGlvbkJ1dHRvbnMiLCJzZXREb3RzIiwiZ2V0U2xpZGVySWQiLCJnZXRBdXRvU2xpZGVyIiwiYXV0b1NsaWRlIiwiTnVtYmVyIiwiaXNJbnRlZ2VyIiwiZ2V0U2xpZGVySW50ZXJ2YWwiLCJnZXRTbGlkZVF1ZXJ5IiwiZ2V0TmF2aWdhdGlvbkJ1dHRvbnMiLCJnZXREb3RzIiwiZmlsbCIsInNldHRpbmdzT2JqZWN0S2V5cyIsIk9iamVjdCIsImtleXMiLCJzZXR0aW5nc09iamVjdExlbmd0aCIsImtleSIsInNldHRpbmdzIiwic2xpZGVyT2JqZWN0IiwiYWN0aXZlU2xpZGVJZCIsInByZXZpb3VzU2xpZGVJZCIsIm5leHRTbGlkZUlkIiwiYXZhaWxhYmxlU2xpZGVzIiwic2xpZGVzIiwiYXV0b1NsaWRlckludGVydmFsIiwiZ2V0RWxlbWVudEJ5SWQiLCJzZXRTbGlkZSIsInN3aXBlR2VzdHVyZXMiLCJIYW1tZXIiLCJvbiIsInJlc2V0QXV0b1NsaWRlciIsIm5leHRTbGlkZSIsInByZXZpb3VzU2xpZGUiLCJuYXZpZ2F0aW9uQnV0dG9uc0xlbmd0aCIsIm5hdmlnYXRpb25CdXR0b24iLCJhZGRFdmVudExpc3RlbmVyIiwiY2xpY2tOYXZpZ2F0aW9uQnV0dG9uIiwiZG90c0xlbmd0aCIsImRvdCIsImNsaWNrRG90IiwiY2xlYXJJbnRlcnZhbCIsInNldEludGVydmFsIiwic2xpZGVzTGVuZ3RoIiwic2xpZGUiLCJzdHlsZSIsInBvaW50ZXJFdmVudHMiLCJzbGlkZU9yZGVyIiwicGFyc2VJbnQiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJhZGQiLCJzZXRBY3RpdmVEb3QiLCJuYXZCdXR0b24iLCJuYXZCdXR0b25EaXJlY3Rpb24iLCJjbGlja2VkRG90IiwiZG90T3JkZXIiLCJ0YWJJbmRleCJdLCJtYXBwaW5ncyI6IkFBQ0E7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLElBQUlBLE9BQU8sR0FBRyxFQUFkO0FBRUEsSUFBTUMsZ0JBQWdCLEdBQUdDLFFBQVEsQ0FBQ0MsZ0JBQVQsQ0FBMEIsWUFBMUIsQ0FBekI7QUFDQSxJQUFNQyxzQkFBc0IsR0FBR0gsZ0JBQWdCLENBQUNJLE1BQWhEOztBQUVBLEtBQUksSUFBSUMsQ0FBQyxHQUFFLENBQVgsRUFBY0EsQ0FBQyxHQUFHRixzQkFBbEIsRUFBMENFLENBQUMsRUFBM0MsRUFBOEM7QUFFMUMsTUFBTUMsTUFBTSxHQUFHTixnQkFBZ0IsQ0FBQ0ssQ0FBRCxDQUEvQjtBQUNBLE1BQU1FLFFBQVEsR0FBR0QsTUFBTSxDQUFDRSxZQUFQLENBQW9CLElBQXBCLENBQWpCOztBQUVBLE1BQUdELFFBQVEsS0FBSyxJQUFoQixFQUFxQjtBQUVqQixRQUFNRSxhQUFhLEdBQUcsSUFBSUMsYUFBSixDQUFrQjtBQUNwQ0gsY0FBUSxFQUFFQSxRQUQwQjtBQUVwQ0ksZ0JBQVUsRUFBRSxNQUFNSixRQUFOLEdBQWdCLG1CQUZRO0FBR3BDSyx1QkFBaUIsRUFBRSxNQUFNTCxRQUFOLEdBQWdCLG9CQUhDO0FBSXBDTSxVQUFJLEVBQUUsTUFBTU4sUUFBTixHQUFnQix1QkFKYztBQUtwQ08sZ0JBQVUsRUFBRVIsTUFBTSxDQUFDRSxZQUFQLENBQW9CLGlCQUFwQjtBQUx3QixLQUFsQixDQUF0QjtBQVFBVCxXQUFPLENBQUNnQixJQUFSLENBQWMsSUFBSUMsTUFBSixDQUFXUCxhQUFhLENBQUNRLGlCQUFkLEVBQVgsRUFBOENDLElBQTlDLEVBQWQ7QUFDSCxHQVhELE1BWUtDLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLDhCQUFaO0FBQ1I7O0FBR0QsU0FBU1YsYUFBVCxDQUF1QlcsY0FBdkIsRUFBdUM7QUFFbkMsTUFBTUMsSUFBSSxHQUFHLElBQWI7QUFFQSxPQUFLZixRQUFMLEdBQWdCLEVBQWhCO0FBQ0EsT0FBS08sVUFBTCxHQUFrQixLQUFsQjtBQUNBLE9BQUtTLGNBQUwsR0FBc0IsSUFBdEI7QUFDQSxPQUFLWCxpQkFBTCxHQUF5QixFQUF6QjtBQUNBLE9BQUtDLElBQUwsR0FBWSxFQUFaO0FBQ0EsT0FBS0YsVUFBTCxHQUFrQixFQUFsQjs7QUFFQSxPQUFLYSxXQUFMLEdBQW1CLFVBQVVDLE1BQVYsRUFBa0I7QUFDakMsU0FBS2xCLFFBQUwsR0FBZ0JrQixNQUFoQjtBQUNBLFdBQU8sSUFBUDtBQUNILEdBSEQ7O0FBSUEsT0FBS0MsYUFBTCxHQUFxQixVQUFVQyxRQUFWLEVBQW1CO0FBQ3BDLFNBQUtiLFVBQUwsR0FBa0JhLFFBQWxCO0FBQ0EsV0FBTyxJQUFQO0FBQ0gsR0FIRDs7QUFJQSxPQUFLQyxpQkFBTCxHQUF5QixVQUFVQyxPQUFWLEVBQW1CO0FBQ3hDLFNBQUtOLGNBQUwsR0FBc0JNLE9BQXRCO0FBQ0EsV0FBTyxJQUFQO0FBQ0gsR0FIRDs7QUFJQSxPQUFLQyxhQUFMLEdBQXFCLFVBQVVMLE1BQVYsRUFBa0I7QUFDbkMsU0FBS2QsVUFBTCxHQUFrQmMsTUFBbEI7QUFDQSxXQUFPLElBQVA7QUFDSCxHQUhEOztBQUlBLE9BQUtNLG9CQUFMLEdBQTRCLFVBQVVOLE1BQVYsRUFBa0I7QUFDMUMsU0FBS2IsaUJBQUwsR0FBeUJhLE1BQXpCO0FBQ0EsV0FBTyxJQUFQO0FBQ0gsR0FIRDs7QUFJQSxPQUFLTyxPQUFMLEdBQWUsVUFBVVAsTUFBVixFQUFrQjtBQUM3QixTQUFLWixJQUFMLEdBQVlZLE1BQVo7QUFDQSxXQUFPLElBQVA7QUFDSCxHQUhEOztBQUlBLE9BQUtRLFdBQUwsR0FBbUIsWUFBWTtBQUMzQixXQUFPLEtBQUsxQixRQUFaO0FBQ0gsR0FGRDs7QUFHQSxPQUFLMkIsYUFBTCxHQUFxQixZQUFZO0FBQzdCLFFBQUlDLFNBQVMsR0FBRyxLQUFLckIsVUFBckI7O0FBQ0EsUUFBRyxDQUFDc0IsTUFBTSxDQUFDQyxTQUFQLENBQWlCRixTQUFqQixDQUFKLEVBQWdDO0FBQzVCLFVBQUdBLFNBQVMsSUFBSSxLQUFoQixFQUF1QkEsU0FBUyxHQUFHLEtBQVosQ0FBdkIsS0FDS0EsU0FBUyxHQUFHLElBQVo7QUFDUjs7QUFDRCxXQUFPQSxTQUFQO0FBQ0gsR0FQRDs7QUFRQSxPQUFLRyxpQkFBTCxHQUF5QixZQUFZO0FBQ2pDLFdBQU8sS0FBS2YsY0FBWjtBQUNILEdBRkQ7O0FBR0EsT0FBS2dCLGFBQUwsR0FBcUIsWUFBWTtBQUM3QixXQUFPLEtBQUs1QixVQUFaO0FBQ0gsR0FGRDs7QUFHQSxPQUFLNkIsb0JBQUwsR0FBNEIsWUFBWTtBQUNwQyxXQUFPLEtBQUs1QixpQkFBWjtBQUNILEdBRkQ7O0FBR0EsT0FBSzZCLE9BQUwsR0FBZSxZQUFZO0FBQ3ZCLFdBQU8sS0FBSzVCLElBQVo7QUFDSCxHQUZELENBdkRtQyxDQTJEbkM7OztBQUNBLE9BQUtJLGlCQUFMLEdBQXlCLFlBQVk7QUFFakMsV0FBTztBQUNIVixjQUFRLEVBQUVlLElBQUksQ0FBQ1csV0FBTCxFQURQO0FBRUhuQixnQkFBVSxFQUFFUSxJQUFJLENBQUNZLGFBQUwsRUFGVDtBQUdIWCxvQkFBYyxFQUFFRCxJQUFJLENBQUNnQixpQkFBTCxFQUhiO0FBSUgxQix1QkFBaUIsRUFBRVUsSUFBSSxDQUFDa0Isb0JBQUwsRUFKaEI7QUFLSDNCLFVBQUksRUFBRVMsSUFBSSxDQUFDbUIsT0FBTCxFQUxIO0FBTUg5QixnQkFBVSxFQUFFVyxJQUFJLENBQUNpQixhQUFMO0FBTlQsS0FBUDtBQVNILEdBWEQsQ0E1RG1DLENBeUVuQzs7O0FBQ0EsT0FBS0csSUFBTCxHQUFZLFlBQVk7QUFDcEI7QUFDQTtBQUNBO0FBRUEsUUFBTUMsa0JBQWtCLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZeEIsY0FBWixDQUEzQjtBQUNBLFFBQU15QixvQkFBb0IsR0FBR0gsa0JBQWtCLENBQUN2QyxNQUFoRDs7QUFFQSxTQUFJLElBQUlDLEVBQUMsR0FBRyxDQUFaLEVBQWVBLEVBQUMsR0FBR3lDLG9CQUFuQixFQUF5Q3pDLEVBQUMsRUFBMUMsRUFBNkM7QUFDekMsVUFBTTBDLEdBQUcsR0FBR0osa0JBQWtCLENBQUN0QyxFQUFELENBQTlCO0FBQ0FpQixVQUFJLENBQUN5QixHQUFELENBQUosR0FBWTFCLGNBQWMsQ0FBQzBCLEdBQUQsQ0FBMUI7QUFDSDtBQUVKLEdBYkQ7O0FBZUEsT0FBS0wsSUFBTDtBQUVBLFNBQU87QUFDSG5DLFlBQVEsRUFBRWUsSUFBSSxDQUFDRSxXQURaO0FBRUhWLGNBQVUsRUFBRVEsSUFBSSxDQUFDSSxhQUZkO0FBR0hILGtCQUFjLEVBQUVELElBQUksQ0FBQ00saUJBSGxCO0FBSUhoQixxQkFBaUIsRUFBRVUsSUFBSSxDQUFDUyxvQkFKckI7QUFLSGxCLFFBQUksRUFBRVMsSUFBSSxDQUFDVSxPQUxSO0FBTUhyQixjQUFVLEVBQUVXLElBQUksQ0FBQ1EsYUFOZDtBQU9IYixxQkFBaUIsRUFBRUssSUFBSSxDQUFDTDtBQVByQixHQUFQO0FBU0g7O0FBRUQsU0FBU0QsTUFBVCxDQUFnQmdDLFFBQWhCLEVBQTBCO0FBRXRCO0FBQ0EsTUFBTTFCLElBQUksR0FBRyxJQUFiO0FBQ0EsT0FBSzJCLFlBQUwsR0FBb0IsRUFBcEIsQ0FKc0IsQ0FNdEI7O0FBQ0EsT0FBS0MsYUFBTCxHQUFxQixDQUFyQjtBQUNBLE9BQUtDLGVBQUwsR0FBdUIsQ0FBdkI7QUFDQSxPQUFLQyxXQUFMLEdBQW1CLENBQW5CO0FBQ0EsT0FBS0MsZUFBTCxHQUF1QixDQUF2QjtBQUNBLE9BQUtDLE1BQUwsR0FBYyxFQUFkO0FBQ0EsT0FBS0Msa0JBQUwsR0FBMEIsSUFBMUI7QUFFQSxPQUFLUCxRQUFMLEdBQWdCLEVBQWhCOztBQUVBLE9BQUs5QixJQUFMLEdBQVksWUFBWTtBQUVwQjtBQUNBLFNBQUs4QixRQUFMLEdBQWdCQSxRQUFoQixDQUhvQixDQUtwQjs7QUFDQSxTQUFLQyxZQUFMLEdBQW9CaEQsUUFBUSxDQUFDdUQsY0FBVCxDQUF3QixLQUFLUixRQUFMLENBQWN6QyxRQUF0QyxDQUFwQjtBQUNBLFNBQUsrQyxNQUFMLEdBQWNyRCxRQUFRLENBQUNDLGdCQUFULENBQTBCLEtBQUs4QyxRQUFMLENBQWNyQyxVQUF4QyxDQUFkO0FBQ0EsU0FBSzBDLGVBQUwsR0FBdUIsS0FBS0MsTUFBTCxDQUFZbEQsTUFBbkM7QUFDQSxTQUFLOEMsYUFBTCxHQUFxQixDQUFyQixDQVRvQixDQVdwQjs7QUFDQSxTQUFLTyxRQUFMLEdBWm9CLENBY3BCOztBQUNBLFFBQU1DLGFBQWEsR0FBRyxJQUFJQyxNQUFKLENBQVcsS0FBS1YsWUFBaEIsQ0FBdEI7QUFDQVMsaUJBQWEsQ0FBQ0UsRUFBZCxDQUFpQixXQUFqQixFQUE4QixZQUFZO0FBQ3RDdEMsVUFBSSxDQUFDdUMsZUFBTDtBQUNBdkMsVUFBSSxDQUFDd0MsU0FBTDtBQUNBeEMsVUFBSSxDQUFDbUMsUUFBTDtBQUNILEtBSkQ7QUFLQUMsaUJBQWEsQ0FBQ0UsRUFBZCxDQUFpQixZQUFqQixFQUErQixZQUFZO0FBQ3ZDdEMsVUFBSSxDQUFDdUMsZUFBTDtBQUNBdkMsVUFBSSxDQUFDeUMsYUFBTDtBQUNBekMsVUFBSSxDQUFDbUMsUUFBTDtBQUNILEtBSkQ7O0FBT0EsUUFBSSxLQUFLVCxRQUFMLENBQWNwQyxpQkFBZCxLQUFvQyxFQUF4QyxFQUE0QztBQUV4QztBQUNBLFVBQU1BLGlCQUFpQixHQUFHWCxRQUFRLENBQUNDLGdCQUFULENBQTBCLEtBQUs4QyxRQUFMLENBQWNwQyxpQkFBeEMsQ0FBMUI7QUFDQSxVQUFNb0QsdUJBQXVCLEdBQUdwRCxpQkFBaUIsQ0FBQ1IsTUFBbEQ7O0FBQ0EsV0FBSSxJQUFJQyxHQUFDLEdBQUcsQ0FBWixFQUFlQSxHQUFDLEdBQUcyRCx1QkFBbkIsRUFBNEMzRCxHQUFDLEVBQTdDLEVBQWdEO0FBQzVDLFlBQU00RCxnQkFBZ0IsR0FBR3JELGlCQUFpQixDQUFDUCxHQUFELENBQTFDO0FBQ0E0RCx3QkFBZ0IsQ0FBQ0MsZ0JBQWpCLENBQWtDLE9BQWxDLEVBQTJDLFlBQVk7QUFDbkQ1QyxjQUFJLENBQUM2QyxxQkFBTCxDQUEyQixJQUEzQjtBQUNILFNBRkQ7QUFHSDtBQUNKOztBQUVELFFBQUksS0FBS25CLFFBQUwsQ0FBY25DLElBQWQsS0FBdUIsRUFBM0IsRUFBK0I7QUFDM0I7QUFDQSxVQUFNQSxJQUFJLEdBQUdaLFFBQVEsQ0FBQ0MsZ0JBQVQsQ0FBMEIsS0FBSzhDLFFBQUwsQ0FBY25DLElBQXhDLENBQWI7QUFDQSxVQUFNdUQsVUFBVSxHQUFHdkQsSUFBSSxDQUFDVCxNQUF4QixDQUgyQixDQUkzQjtBQUNBOztBQUNBLFdBQUksSUFBSUMsR0FBQyxHQUFHLENBQVosRUFBZUEsR0FBQyxHQUFHK0QsVUFBbkIsRUFBK0IvRCxHQUFDLEVBQWhDLEVBQW1DO0FBQy9CLFlBQU1nRSxHQUFHLEdBQUd4RCxJQUFJLENBQUNSLEdBQUQsQ0FBaEI7QUFDQWdFLFdBQUcsQ0FBQ0gsZ0JBQUosQ0FBcUIsT0FBckIsRUFBOEIsWUFBWTtBQUN0QzVDLGNBQUksQ0FBQ2dELFFBQUwsQ0FBYyxJQUFkO0FBQ0gsU0FGRDtBQUdIO0FBQ0o7O0FBRURoRCxRQUFJLENBQUNSLFVBQUw7QUFDSCxHQXhERDs7QUEyREEsT0FBS0EsVUFBTCxHQUFrQixZQUFXO0FBRXpCO0FBQ0EsUUFBRyxLQUFLeUMsa0JBQUwsS0FBNEIsSUFBL0IsRUFBcUNnQixhQUFhLENBQUMsS0FBS2hCLGtCQUFOLENBQWIsQ0FIWixDQU16QjtBQUNBOztBQUNBLFFBQUcsS0FBS1AsUUFBTCxDQUFjbEMsVUFBZCxLQUE2QixLQUE3QixJQUFzQ3NCLE1BQU0sQ0FBQ0MsU0FBUCxDQUFpQixLQUFLVyxRQUFMLENBQWN6QixjQUEvQixDQUF6QyxFQUEwRjtBQUV0RixXQUFLZ0Msa0JBQUwsR0FBMEJpQixXQUFXLENBQUMsWUFBVztBQUN6Q2xELFlBQUksQ0FBQ3dDLFNBQUw7QUFDQXhDLFlBQUksQ0FBQ21DLFFBQUw7QUFDSCxPQUhnQyxFQUc5QixLQUFLVCxRQUFMLENBQWN6QixjQUhnQixDQUFyQztBQUtIO0FBQ0osR0FoQkQ7O0FBa0JBLE9BQUtzQyxlQUFMLEdBQXVCdkMsSUFBSSxDQUFDUixVQUE1Qjs7QUFFQSxPQUFLZ0QsU0FBTCxHQUFpQixZQUFZO0FBQ3pCLFNBQUtaLGFBQUw7QUFDQSxRQUFJLEtBQUtBLGFBQUwsSUFBc0IsS0FBS0csZUFBL0IsRUFBZ0QsS0FBS0gsYUFBTCxHQUFxQixDQUFyQjtBQUNuRCxHQUhEOztBQUtBLE9BQUthLGFBQUwsR0FBcUIsWUFBWTtBQUM3QixTQUFLYixhQUFMO0FBQ0EsUUFBSSxLQUFLQSxhQUFMLEdBQXFCLENBQXpCLEVBQTRCLEtBQUtBLGFBQUwsR0FBcUIsS0FBS0csZUFBTCxHQUF1QixDQUE1QztBQUMvQixHQUhEOztBQUtBLE9BQUtJLFFBQUwsR0FBZ0IsWUFBWTtBQUV4QjtBQUNBLFFBQU1nQixZQUFZLEdBQUduRCxJQUFJLENBQUNnQyxNQUFMLENBQVlsRCxNQUFqQzs7QUFDQSxTQUFJLElBQUlDLEdBQUMsR0FBRyxDQUFaLEVBQWVBLEdBQUMsR0FBR29FLFlBQW5CLEVBQWlDcEUsR0FBQyxFQUFsQyxFQUFxQztBQUNqQyxVQUFNcUUsS0FBSyxHQUFHcEQsSUFBSSxDQUFDZ0MsTUFBTCxDQUFZakQsR0FBWixDQUFkO0FBRUFxRSxXQUFLLENBQUNDLEtBQU4sQ0FBWUMsYUFBWixHQUE0QixNQUE1QixDQUhpQyxDQUdHO0FBRXBDOztBQUNBLFVBQU1DLFVBQVUsR0FBR0MsUUFBUSxDQUFDSixLQUFLLENBQUNsRSxZQUFOLENBQW1CLFlBQW5CLENBQUQsQ0FBM0IsQ0FOaUMsQ0FRakM7O0FBQ0EsVUFBSXFFLFVBQVUsS0FBS3ZELElBQUksQ0FBQzRCLGFBQXhCLEVBQXVDd0IsS0FBSyxDQUFDSyxTQUFOLENBQWdCQyxNQUFoQixDQUF1QixXQUF2QixFQUF2QyxLQUNLTixLQUFLLENBQUNLLFNBQU4sQ0FBZ0JFLEdBQWhCLENBQW9CLFdBQXBCO0FBQ1I7O0FBRUQsUUFBSTNELElBQUksQ0FBQzBCLFFBQUwsQ0FBY25DLElBQWQsS0FBdUIsRUFBM0IsRUFBK0I7QUFBRVMsVUFBSSxDQUFDNEQsWUFBTDtBQUFzQjtBQUMxRCxHQWxCRDs7QUFvQkEsT0FBS2YscUJBQUwsR0FBNkIsVUFBVWdCLFNBQVYsRUFBcUI7QUFFOUMsUUFBTUMsa0JBQWtCLEdBQUdELFNBQVMsQ0FBQzNFLFlBQVYsQ0FBdUIsWUFBdkIsQ0FBM0I7QUFFQSxRQUFHNEUsa0JBQWtCLEtBQUssTUFBMUIsRUFBa0MsS0FBS3RCLFNBQUwsR0FBbEMsS0FDSyxJQUFHc0Isa0JBQWtCLEtBQUssVUFBMUIsRUFBc0MsS0FBS3JCLGFBQUw7QUFFM0N6QyxRQUFJLENBQUNtQyxRQUFMO0FBQ0FuQyxRQUFJLENBQUN1QyxlQUFMO0FBQ0gsR0FURDs7QUFXQSxPQUFLUyxRQUFMLEdBQWdCLFVBQVVlLFVBQVYsRUFBc0I7QUFDbEMvRCxRQUFJLENBQUM0QixhQUFMLEdBQXFCNEIsUUFBUSxDQUFDTyxVQUFVLENBQUM3RSxZQUFYLENBQXdCLFlBQXhCLENBQUQsQ0FBN0I7QUFDQWMsUUFBSSxDQUFDbUMsUUFBTDtBQUNBbkMsUUFBSSxDQUFDdUMsZUFBTDtBQUNILEdBSkQ7O0FBTUEsT0FBS3FCLFlBQUwsR0FBb0IsWUFBWTtBQUU1QixRQUFNckUsSUFBSSxHQUFHWixRQUFRLENBQUNDLGdCQUFULENBQTBCLEtBQUs4QyxRQUFMLENBQWNuQyxJQUF4QyxDQUFiO0FBQ0EsUUFBTXVELFVBQVUsR0FBR3ZELElBQUksQ0FBQ1QsTUFBeEI7O0FBQ0EsU0FBSSxJQUFJQyxHQUFDLEdBQUcsQ0FBWixFQUFlQSxHQUFDLEdBQUcrRCxVQUFuQixFQUErQi9ELEdBQUMsRUFBaEMsRUFBbUM7QUFDL0IsVUFBTWdFLEdBQUcsR0FBR3hELElBQUksQ0FBQ1IsR0FBRCxDQUFoQjtBQUNBaUYsY0FBUSxHQUFHUixRQUFRLENBQUNULEdBQUcsQ0FBQzdELFlBQUosQ0FBaUIsWUFBakIsQ0FBRCxDQUFuQjs7QUFFQSxVQUFHOEUsUUFBUSxLQUFLaEUsSUFBSSxDQUFDNEIsYUFBckIsRUFBb0M7QUFDaENtQixXQUFHLENBQUNVLFNBQUosQ0FBY0MsTUFBZCxDQUFxQixXQUFyQjtBQUNBWCxXQUFHLENBQUNrQixRQUFKLEdBQWUsQ0FBZjtBQUNILE9BSEQsTUFJSztBQUNEbEIsV0FBRyxDQUFDVSxTQUFKLENBQWNFLEdBQWQsQ0FBa0IsV0FBbEI7QUFDQVosV0FBRyxDQUFDa0IsUUFBSixHQUFlLENBQUMsQ0FBaEI7QUFDSDtBQUNKO0FBQ0osR0FqQkQ7QUFrQkgiLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvc2l0ZS9jb21wb25lbnRzL3NsaWRlckhhbmRsZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qIEV4YW1wbGVcblxuY29uc3QgaGVhZGVySW1hZ2VTbGlkZXJTZXR0aW5nID0gbmV3IFNsaWRlclByb2plY3RvclNldHRpbmcoe1xuICAgIHNsaWRlclByb2plY3RvcklkOiAnaGVhZGVyLWltYWdlLXNsaWRlcicsXG4gICAgc2xpZGVRdWVyeTogJyNoZWFkZXItaW1hZ2Utc2xpZGVyIC5wbGFjZWhvbGRlciBmaWd1cmUnLFxuICAgIGRvdHM6ICcjaGVhZGVyLWltYWdlLXNsaWRlciAuc2xpZGVyLW5hdmlnYXRpb24tbGFiZWxzIC5uYXZpZ2F0aW9uIHNwYW4nLFxuICAgIGF1dG9TbGlkZXI6IHRydWUsXG4gICAgc2xpZGVySW50ZXJ2YWw6IDQwMDBcbn0pO1xuaGVhZGVySW1hZ2VTbGlkZXJTZXR0aW5nID0gaGVhZGVySW1hZ2VTbGlkZXJTZXR0aW5nLnByZXBhcmVQYXJhbWV0ZXJzKCk7XG5cbmNvbnN0IGhlYWRlckltYWdlU2xpZGVyID0gbmV3IFNsaWRlclByb2plY3RvcihoZWFkZXJJbWFnZVNsaWRlclNldHRpbmcpLmluaXQoKTtcblxuICovXG5cblxubGV0IFNsaWRlcnMgPSBbXTtcblxuY29uc3Qgc2xpZGVyQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy1zbGlkZXInKTtcbmNvbnN0IHNsaWRlckNvbnRhaW5lcnNMZW5ndGggPSBzbGlkZXJDb250YWluZXJzLmxlbmd0aDtcblxuZm9yKGxldCBpID0wOyBpIDwgc2xpZGVyQ29udGFpbmVyc0xlbmd0aDsgaSsrKXtcblxuICAgIGNvbnN0IHNsaWRlciA9IHNsaWRlckNvbnRhaW5lcnNbaV07XG4gICAgY29uc3Qgc2xpZGVySWQgPSBzbGlkZXIuZ2V0QXR0cmlidXRlKCdpZCcpO1xuXG4gICAgaWYoc2xpZGVySWQgIT09IG51bGwpe1xuXG4gICAgICAgIGNvbnN0IFNsaWRlcnNldHRpbmcgPSBuZXcgU2xpZGVyU2V0dGluZyh7XG4gICAgICAgICAgICBzbGlkZXJJZDogc2xpZGVySWQsXG4gICAgICAgICAgICBzbGlkZVF1ZXJ5OiAnIycgKyBzbGlkZXJJZCArJyAuanMtc2xpZGVyLXNsaWRlJyxcbiAgICAgICAgICAgIG5hdmlnYXRpb25CdXR0b25zOiAnIycgKyBzbGlkZXJJZCArJyAuanMtc2xpZGVyLWJ1dHRvbicsXG4gICAgICAgICAgICBkb3RzOiAnIycgKyBzbGlkZXJJZCArJyAuanMtc2xpZGVyLWluZGljYXRvcicsXG4gICAgICAgICAgICBhdXRvU2xpZGVyOiBzbGlkZXIuZ2V0QXR0cmlidXRlKCdkYXRhLWF1dG8tc2xpZGUnKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgU2xpZGVycy5wdXNoKCBuZXcgU2xpZGVyKFNsaWRlcnNldHRpbmcucHJlcGFyZVBhcmFtZXRlcnMoKSkuaW5pdCgpICk7XG4gICAgfVxuICAgIGVsc2UgY29uc29sZS5sb2coJ0FuIGltYWdlIHNsaWRlciBoYXMgbm8gaWQuLi4nKTtcbn1cblxuXG5mdW5jdGlvbiBTbGlkZXJTZXR0aW5nKHNldHRpbmdzT2JqZWN0KSB7XG5cbiAgICBjb25zdCBzZWxmID0gdGhpcztcblxuICAgIHRoaXMuc2xpZGVySWQgPSAnJztcbiAgICB0aGlzLmF1dG9TbGlkZXIgPSBmYWxzZTtcbiAgICB0aGlzLnNsaWRlckludGVydmFsID0gNDAwMDtcbiAgICB0aGlzLm5hdmlnYXRpb25CdXR0b25zID0gJyc7XG4gICAgdGhpcy5kb3RzID0gJyc7XG4gICAgdGhpcy5zbGlkZVF1ZXJ5ID0gJyc7XG5cbiAgICB0aGlzLnNldFNsaWRlcklkID0gZnVuY3Rpb24gKHN0cmluZykge1xuICAgICAgICB0aGlzLnNsaWRlcklkID0gc3RyaW5nO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIHRoaXMuc2V0QXV0b1NsaWRlciA9IGZ1bmN0aW9uIChib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYXV0b1NsaWRlciA9IGJvb2xlYW47XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgdGhpcy5zZXRTbGlkZXJJbnRlcnZhbCA9IGZ1bmN0aW9uIChpbnRlZ2VyKSB7XG4gICAgICAgIHRoaXMuc2xpZGVySW50ZXJ2YWwgPSBpbnRlZ2VyO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIHRoaXMuc2V0U2xpZGVRdWVyeSA9IGZ1bmN0aW9uIChzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zbGlkZVF1ZXJ5ID0gc3RyaW5nO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIHRoaXMuc2V0TmF2aWdhdGlvbkJ1dHRvbnMgPSBmdW5jdGlvbiAoc3RyaW5nKSB7XG4gICAgICAgIHRoaXMubmF2aWdhdGlvbkJ1dHRvbnMgPSBzdHJpbmc7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgdGhpcy5zZXREb3RzID0gZnVuY3Rpb24gKHN0cmluZykge1xuICAgICAgICB0aGlzLmRvdHMgPSBzdHJpbmc7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgdGhpcy5nZXRTbGlkZXJJZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2xpZGVySWQ7XG4gICAgfTtcbiAgICB0aGlzLmdldEF1dG9TbGlkZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBhdXRvU2xpZGUgPSB0aGlzLmF1dG9TbGlkZXI7XG4gICAgICAgIGlmKCFOdW1iZXIuaXNJbnRlZ2VyKGF1dG9TbGlkZSkpe1xuICAgICAgICAgICAgaWYoYXV0b1NsaWRlID09IGZhbHNlKSBhdXRvU2xpZGUgPSBmYWxzZTtcbiAgICAgICAgICAgIGVsc2UgYXV0b1NsaWRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXV0b1NsaWRlO1xuICAgIH07XG4gICAgdGhpcy5nZXRTbGlkZXJJbnRlcnZhbCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2xpZGVySW50ZXJ2YWw7XG4gICAgfTtcbiAgICB0aGlzLmdldFNsaWRlUXVlcnkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNsaWRlUXVlcnk7XG4gICAgfTtcbiAgICB0aGlzLmdldE5hdmlnYXRpb25CdXR0b25zID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uQnV0dG9ucztcbiAgICB9O1xuICAgIHRoaXMuZ2V0RG90cyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZG90cztcbiAgICB9O1xuXG4gICAgLy8gSW52ZXJ0IHNldHRlcnMgdG8gZ2V0dGVyc1xuICAgIHRoaXMucHJlcGFyZVBhcmFtZXRlcnMgPSBmdW5jdGlvbiAoKSB7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNsaWRlcklkOiBzZWxmLmdldFNsaWRlcklkKCksXG4gICAgICAgICAgICBhdXRvU2xpZGVyOiBzZWxmLmdldEF1dG9TbGlkZXIoKSxcbiAgICAgICAgICAgIHNsaWRlckludGVydmFsOiBzZWxmLmdldFNsaWRlckludGVydmFsKCksXG4gICAgICAgICAgICBuYXZpZ2F0aW9uQnV0dG9uczogc2VsZi5nZXROYXZpZ2F0aW9uQnV0dG9ucygpLFxuICAgICAgICAgICAgZG90czogc2VsZi5nZXREb3RzKCksXG4gICAgICAgICAgICBzbGlkZVF1ZXJ5OiBzZWxmLmdldFNsaWRlUXVlcnkoKVxuICAgICAgICB9XG5cbiAgICB9O1xuXG4gICAgLy8gTWFzcyBhc3NpZ24gc2V0dGluZ3NcbiAgICB0aGlzLmZpbGwgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vIE9iamVjdC5rZXlzKHNldHRpbmdzT2JqZWN0KS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgLy8gICAgIHNlbGZba2V5XSA9IHNldHRpbmdzT2JqZWN0W2tleV07XG4gICAgICAgIC8vIH0pO1xuXG4gICAgICAgIGNvbnN0IHNldHRpbmdzT2JqZWN0S2V5cyA9IE9iamVjdC5rZXlzKHNldHRpbmdzT2JqZWN0KTtcbiAgICAgICAgY29uc3Qgc2V0dGluZ3NPYmplY3RMZW5ndGggPSBzZXR0aW5nc09iamVjdEtleXMubGVuZ3RoO1xuXG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBzZXR0aW5nc09iamVjdExlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IHNldHRpbmdzT2JqZWN0S2V5c1tpXTtcbiAgICAgICAgICAgIHNlbGZba2V5XSA9IHNldHRpbmdzT2JqZWN0W2tleV07XG4gICAgICAgIH1cblxuICAgIH07XG5cbiAgICB0aGlzLmZpbGwoKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIHNsaWRlcklkOiBzZWxmLnNldFNsaWRlcklkLFxuICAgICAgICBhdXRvU2xpZGVyOiBzZWxmLnNldEF1dG9TbGlkZXIsXG4gICAgICAgIHNsaWRlckludGVydmFsOiBzZWxmLnNldFNsaWRlckludGVydmFsLFxuICAgICAgICBuYXZpZ2F0aW9uQnV0dG9uczogc2VsZi5zZXROYXZpZ2F0aW9uQnV0dG9ucyxcbiAgICAgICAgZG90czogc2VsZi5zZXREb3RzLFxuICAgICAgICBzbGlkZVF1ZXJ5OiBzZWxmLnNldFNsaWRlUXVlcnksXG4gICAgICAgIHByZXBhcmVQYXJhbWV0ZXJzOiBzZWxmLnByZXBhcmVQYXJhbWV0ZXJzXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gU2xpZGVyKHNldHRpbmdzKSB7XG5cbiAgICAvL0RlZmluZSBTbGlkZXIgb2JqZWN0XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgdGhpcy5zbGlkZXJPYmplY3QgPSAnJztcblxuICAgIC8vU2xpZGVQYXJhbWV0ZXJzXG4gICAgdGhpcy5hY3RpdmVTbGlkZUlkID0gMDtcbiAgICB0aGlzLnByZXZpb3VzU2xpZGVJZCA9IDA7XG4gICAgdGhpcy5uZXh0U2xpZGVJZCA9IDA7XG4gICAgdGhpcy5hdmFpbGFibGVTbGlkZXMgPSAxO1xuICAgIHRoaXMuc2xpZGVzID0gW107XG4gICAgdGhpcy5hdXRvU2xpZGVySW50ZXJ2YWwgPSBudWxsO1xuXG4gICAgdGhpcy5zZXR0aW5ncyA9IHt9O1xuXG4gICAgdGhpcy5pbml0ID0gZnVuY3Rpb24gKCkge1xuXG4gICAgICAgIC8vQXBwZW5kIHNldHRpbmdzIHRvIHNlbGZcbiAgICAgICAgdGhpcy5zZXR0aW5ncyA9IHNldHRpbmdzO1xuXG4gICAgICAgIC8vQXNzaWduIG5lZWRlZCBlbGVtZW50cyBhbmQgY2FsY3VsYXRpb25zXG4gICAgICAgIHRoaXMuc2xpZGVyT2JqZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5zZXR0aW5ncy5zbGlkZXJJZCk7XG4gICAgICAgIHRoaXMuc2xpZGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLnNldHRpbmdzLnNsaWRlUXVlcnkpO1xuICAgICAgICB0aGlzLmF2YWlsYWJsZVNsaWRlcyA9IHRoaXMuc2xpZGVzLmxlbmd0aDtcbiAgICAgICAgdGhpcy5hY3RpdmVTbGlkZUlkID0gMDtcblxuICAgICAgICAvLyBTZXQgYWN0aXZlIHNsaWRlIChhbmQgcG9zc2libGUgcHJldmlvdXMgYW5kIG5leHQgY2xhc3NlcylcbiAgICAgICAgdGhpcy5zZXRTbGlkZSgpO1xuXG4gICAgICAgIC8vIFN3aXBlIGludGVyYWN0aW9uXG4gICAgICAgIGNvbnN0IHN3aXBlR2VzdHVyZXMgPSBuZXcgSGFtbWVyKHRoaXMuc2xpZGVyT2JqZWN0KTtcbiAgICAgICAgc3dpcGVHZXN0dXJlcy5vbignc3dpcGVsZWZ0JywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgc2VsZi5yZXNldEF1dG9TbGlkZXIoKTtcbiAgICAgICAgICAgIHNlbGYubmV4dFNsaWRlKCk7XG4gICAgICAgICAgICBzZWxmLnNldFNsaWRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzd2lwZUdlc3R1cmVzLm9uKCdzd2lwZXJpZ2h0JywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgc2VsZi5yZXNldEF1dG9TbGlkZXIoKTtcbiAgICAgICAgICAgIHNlbGYucHJldmlvdXNTbGlkZSgpO1xuICAgICAgICAgICAgc2VsZi5zZXRTbGlkZSgpO1xuICAgICAgICB9KTtcblxuXG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzLm5hdmlnYXRpb25CdXR0b25zICE9PSAnJykge1xuXG4gICAgICAgICAgICAvLyBDbGljayBpbnRlcmFjdGlvblxuICAgICAgICAgICAgY29uc3QgbmF2aWdhdGlvbkJ1dHRvbnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHRoaXMuc2V0dGluZ3MubmF2aWdhdGlvbkJ1dHRvbnMpO1xuICAgICAgICAgICAgY29uc3QgbmF2aWdhdGlvbkJ1dHRvbnNMZW5ndGggPSBuYXZpZ2F0aW9uQnV0dG9ucy5sZW5ndGg7XG4gICAgICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgbmF2aWdhdGlvbkJ1dHRvbnNMZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICAgICAgY29uc3QgbmF2aWdhdGlvbkJ1dHRvbiA9IG5hdmlnYXRpb25CdXR0b25zW2ldO1xuICAgICAgICAgICAgICAgIG5hdmlnYXRpb25CdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGYuY2xpY2tOYXZpZ2F0aW9uQnV0dG9uKHRoaXMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3MuZG90cyAhPT0gJycpIHtcbiAgICAgICAgICAgIC8vIENsaWNrIGludGVyYWN0aW9uXG4gICAgICAgICAgICBjb25zdCBkb3RzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLnNldHRpbmdzLmRvdHMpO1xuICAgICAgICAgICAgY29uc3QgZG90c0xlbmd0aCA9IGRvdHMubGVuZ3RoO1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5zZXR0aW5ncy5kb3RzKTtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGRvdHMpO1xuICAgICAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGRvdHNMZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICAgICAgY29uc3QgZG90ID0gZG90c1tpXTtcbiAgICAgICAgICAgICAgICBkb3QuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGYuY2xpY2tEb3QodGhpcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzZWxmLmF1dG9TbGlkZXIoKTtcbiAgICB9O1xuXG5cbiAgICB0aGlzLmF1dG9TbGlkZXIgPSBmdW5jdGlvbiAoKXtcblxuICAgICAgICAvLyBSZXNldCB0aGUgaW50ZXJ2YWwgaWYgZGVmaW5lZFxuICAgICAgICBpZih0aGlzLmF1dG9TbGlkZXJJbnRlcnZhbCAhPT0gbnVsbCkgY2xlYXJJbnRlcnZhbCh0aGlzLmF1dG9TbGlkZXJJbnRlcnZhbCk7XG5cblxuICAgICAgICAvLyBDaGVjayBpZiBzaG91bGQgYXV0byBzbGlkZSBiZWZvcmUgY3JlYXRpbmcgdGhlIGludGVydmFsXG4gICAgICAgIC8vIFdlIGRvIHRoaXMgaW5oZXJlLCBiZWNhdXNlIHRoZSBhdXRvc2xpZGUgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgYnkgb3RoZXIgZnVuY3Rpb25hbGl0eVxuICAgICAgICBpZih0aGlzLnNldHRpbmdzLmF1dG9TbGlkZXIgIT09IGZhbHNlICYmIE51bWJlci5pc0ludGVnZXIodGhpcy5zZXR0aW5ncy5zbGlkZXJJbnRlcnZhbCkgICl7XG5cbiAgICAgICAgICAgIHRoaXMuYXV0b1NsaWRlckludGVydmFsID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGYubmV4dFNsaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0U2xpZGUoKTtcbiAgICAgICAgICAgICAgICB9LCB0aGlzLnNldHRpbmdzLnNsaWRlckludGVydmFsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMucmVzZXRBdXRvU2xpZGVyID0gc2VsZi5hdXRvU2xpZGVyO1xuXG4gICAgdGhpcy5uZXh0U2xpZGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlU2xpZGVJZCsrO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVTbGlkZUlkID49IHRoaXMuYXZhaWxhYmxlU2xpZGVzKSB0aGlzLmFjdGl2ZVNsaWRlSWQgPSAwO1xuICAgIH07XG5cbiAgICB0aGlzLnByZXZpb3VzU2xpZGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlU2xpZGVJZC0tO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVTbGlkZUlkIDwgMCkgdGhpcy5hY3RpdmVTbGlkZUlkID0gdGhpcy5hdmFpbGFibGVTbGlkZXMgLSAxO1xuICAgIH07XG5cbiAgICB0aGlzLnNldFNsaWRlID0gZnVuY3Rpb24gKCkge1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgZm9ybSBlbGVtZW50c1xuICAgICAgICBjb25zdCBzbGlkZXNMZW5ndGggPSBzZWxmLnNsaWRlcy5sZW5ndGg7XG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBzbGlkZXNMZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICBjb25zdCBzbGlkZSA9IHNlbGYuc2xpZGVzW2ldO1xuXG4gICAgICAgICAgICBzbGlkZS5zdHlsZS5wb2ludGVyRXZlbnRzID0gXCJub25lXCI7IC8vIE5lZWRlZCBmb3Igc3dpcGUgZnVuY3Rpb25hbGl0eVxuXG4gICAgICAgICAgICAvLyBDb252ZXJ0IGRhdGEgc2V0IGF0dHJpYnV0ZSB0byBkZXNpcmVkIHR5cGVcbiAgICAgICAgICAgIGNvbnN0IHNsaWRlT3JkZXIgPSBwYXJzZUludChzbGlkZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtb3JkZXInKSk7XG5cbiAgICAgICAgICAgIC8vIFJlbW92ZSBhbmQgc2V0IGFjdGl2ZSBmb3IgYWxsIHNsaWRlc1xuICAgICAgICAgICAgaWYgKHNsaWRlT3JkZXIgIT09IHNlbGYuYWN0aXZlU2xpZGVJZCkgc2xpZGUuY2xhc3NMaXN0LnJlbW92ZSgnaXMtYWN0aXZlJyk7XG4gICAgICAgICAgICBlbHNlIHNsaWRlLmNsYXNzTGlzdC5hZGQoJ2lzLWFjdGl2ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlbGYuc2V0dGluZ3MuZG90cyAhPT0gJycpIHsgc2VsZi5zZXRBY3RpdmVEb3QoKTsgfVxuICAgIH07XG5cbiAgICB0aGlzLmNsaWNrTmF2aWdhdGlvbkJ1dHRvbiA9IGZ1bmN0aW9uIChuYXZCdXR0b24pIHtcblxuICAgICAgICBjb25zdCBuYXZCdXR0b25EaXJlY3Rpb24gPSBuYXZCdXR0b24uZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG5cbiAgICAgICAgaWYobmF2QnV0dG9uRGlyZWN0aW9uID09PSAnbmV4dCcpIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgICAgIGVsc2UgaWYobmF2QnV0dG9uRGlyZWN0aW9uID09PSAncHJldmlvdXMnKSB0aGlzLnByZXZpb3VzU2xpZGUoKTtcblxuICAgICAgICBzZWxmLnNldFNsaWRlKCk7XG4gICAgICAgIHNlbGYucmVzZXRBdXRvU2xpZGVyKCk7XG4gICAgfTtcblxuICAgIHRoaXMuY2xpY2tEb3QgPSBmdW5jdGlvbiAoY2xpY2tlZERvdCkge1xuICAgICAgICBzZWxmLmFjdGl2ZVNsaWRlSWQgPSBwYXJzZUludChjbGlja2VkRG90LmdldEF0dHJpYnV0ZSgnZGF0YS1vcmRlcicpKTtcbiAgICAgICAgc2VsZi5zZXRTbGlkZSgpO1xuICAgICAgICBzZWxmLnJlc2V0QXV0b1NsaWRlcigpO1xuICAgIH07XG5cbiAgICB0aGlzLnNldEFjdGl2ZURvdCA9IGZ1bmN0aW9uICgpIHtcblxuICAgICAgICBjb25zdCBkb3RzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLnNldHRpbmdzLmRvdHMpO1xuICAgICAgICBjb25zdCBkb3RzTGVuZ3RoID0gZG90cy5sZW5ndGg7XG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBkb3RzTGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgY29uc3QgZG90ID0gZG90c1tpXTtcbiAgICAgICAgICAgIGRvdE9yZGVyID0gcGFyc2VJbnQoZG90LmdldEF0dHJpYnV0ZSgnZGF0YS1vcmRlcicpKTtcblxuICAgICAgICAgICAgaWYoZG90T3JkZXIgIT09IHNlbGYuYWN0aXZlU2xpZGVJZCkge1xuICAgICAgICAgICAgICAgIGRvdC5jbGFzc0xpc3QucmVtb3ZlKCdpcy1hY3RpdmUnKTtcbiAgICAgICAgICAgICAgICBkb3QudGFiSW5kZXggPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgZG90LmNsYXNzTGlzdC5hZGQoJ2lzLWFjdGl2ZScpO1xuICAgICAgICAgICAgICAgIGRvdC50YWJJbmRleCA9IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/site/components/sliderHandler.js\n");

/***/ }),

/***/ "./resources/js/site/components/youtubeHandler.js":
/*!********************************************************!*\
  !*** ./resources/js/site/components/youtubeHandler.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/* ==========================================================================\n    Youtube handler\n ========================================================================== */\nvar YoutubeHandler = {\n  youtubeClass: '.js-youtube-player',\n  players: [],\n  init: function init() {\n    // Get the youtube players containers\n    var youtubePlayers = document.querySelectorAll(YoutubeHandler.youtubeClass);\n    var youtubePlayersAmount = youtubePlayers.length;\n\n    for (var i = 0; i < youtubePlayersAmount; i++) {\n      var youtubePlayer = youtubePlayers[i];\n      var youtubePlayerId = youtubePlayer.getAttribute('id');\n\n      if (youtubePlayerId !== null) {\n        // Strip the necessary data from the html and create objects from it\n        var youtubeElement = {\n          id: youtubePlayer.getAttribute('id'),\n          link: youtubePlayer.getAttribute('data-youtube-link'),\n          autoPlay: parseInt(youtubePlayer.getAttribute('data-auto-play'))\n        };\n        YoutubeHandler.players.push(youtubeElement);\n      } else {\n        console.log(\"Element not include because there isn't a id on the player\");\n        console.log(youtubePlayer);\n      }\n    }\n\n    if (youtubePlayersAmount >= 1) YoutubeHandler.initYoutube();\n  },\n\n  /**\n   * Check if external script is loaded\n   *\n   */\n  initYoutube: function initYoutube() {\n    // See if YT variable exists\n    if (typeof YT == 'undefined' || typeof YT.Player == 'undefined') {\n      // Setup API ready function\n      window.onYouTubePlayerAPIReady = function () {\n        YoutubeHandler.loadPlayers();\n      }; // Load external script\n\n\n      getScript('https://www.youtube.com/iframe_api'); // If YT already exists load player\n    } else {\n      YoutubeHandler.loadPlayers();\n    }\n  },\n\n  /**\n   * Create the Youtube player(s) with parameters\n   * And rewrite the players to key them by the element id\n   *\n   */\n  loadPlayers: function loadPlayers() {\n    var players = [];\n    var youtubePlayersAmount = YoutubeHandler.players.length;\n\n    for (var i = 0; i < youtubePlayersAmount; i++) {\n      var youtubePlayer = YoutubeHandler.players[i]; // Load player\n\n      youtubePlayer.player = new YT.Player(youtubePlayer.id, {\n        height: 200,\n        width: 200,\n        videoId: youtubePlayer.link,\n        host: 'https://www.youtube-nocookie.com',\n        playerVars: {\n          modestbranding: 0,\n          rel: 0,\n          disablekb: 1,\n          autoplay: youtubePlayer.autoPlay\n        },\n        events: {\n          // 'onReady': YoutubeHandler.onReady,\n          'onStateChange': YoutubeHandler.onStateChange\n        }\n      });\n      players[youtubePlayer.id] = youtubePlayer;\n    }\n\n    YoutubeHandler.players = players;\n  },\n\n  /**\n   * When player is ready to play\n   */\n  onReady: function onReady(event) {\n    var playerContainerId = event.target.getIframe().getAttribute('id');\n    var player = YoutubeHandler.players[playerContainerId].player; // Show video\n    // setTimeout(function(){ $('#' + playerContainerId).stop().animate({ opacity: 1 },1000) },800);\n    // If not on tablet or mobile, play on high quality\n    // player.mute();\n    // player.playVideo();\n    // player.setPlaybackQuality('hd1080');\n  },\n\n  /**\n   * Listener for Youtube state change\n   */\n  onStateChange: function onStateChange(event) {\n    var playerContainerId = event.target.getIframe().getAttribute('id');\n    var player = YoutubeHandler.players[playerContainerId].player;\n    var videoState = event.data; // Loop video\n\n    if (event.data === YT.PlayerState.ENDED) {\n      player.playVideo();\n    }\n  }\n};\nYoutubeHandler.init();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvc2l0ZS9jb21wb25lbnRzL3lvdXR1YmVIYW5kbGVyLmpzPzJiYTMiXSwibmFtZXMiOlsiWW91dHViZUhhbmRsZXIiLCJ5b3V0dWJlQ2xhc3MiLCJwbGF5ZXJzIiwiaW5pdCIsInlvdXR1YmVQbGF5ZXJzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwieW91dHViZVBsYXllcnNBbW91bnQiLCJsZW5ndGgiLCJpIiwieW91dHViZVBsYXllciIsInlvdXR1YmVQbGF5ZXJJZCIsImdldEF0dHJpYnV0ZSIsInlvdXR1YmVFbGVtZW50IiwiaWQiLCJsaW5rIiwiYXV0b1BsYXkiLCJwYXJzZUludCIsInB1c2giLCJjb25zb2xlIiwibG9nIiwiaW5pdFlvdXR1YmUiLCJZVCIsIlBsYXllciIsIndpbmRvdyIsIm9uWW91VHViZVBsYXllckFQSVJlYWR5IiwibG9hZFBsYXllcnMiLCJnZXRTY3JpcHQiLCJwbGF5ZXIiLCJoZWlnaHQiLCJ3aWR0aCIsInZpZGVvSWQiLCJob3N0IiwicGxheWVyVmFycyIsIm1vZGVzdGJyYW5kaW5nIiwicmVsIiwiZGlzYWJsZWtiIiwiYXV0b3BsYXkiLCJldmVudHMiLCJvblN0YXRlQ2hhbmdlIiwib25SZWFkeSIsImV2ZW50IiwicGxheWVyQ29udGFpbmVySWQiLCJ0YXJnZXQiLCJnZXRJZnJhbWUiLCJ2aWRlb1N0YXRlIiwiZGF0YSIsIlBsYXllclN0YXRlIiwiRU5ERUQiLCJwbGF5VmlkZW8iXSwibWFwcGluZ3MiOiJBQUFBOzs7QUFJQSxJQUFNQSxjQUFjLEdBQUc7QUFFbkJDLGNBQVksRUFBRyxvQkFGSTtBQUduQkMsU0FBTyxFQUFFLEVBSFU7QUFLbkJDLE1BQUksRUFBRyxnQkFDUDtBQUNJO0FBQ0EsUUFBTUMsY0FBYyxHQUFHQyxRQUFRLENBQUNDLGdCQUFULENBQTBCTixjQUFjLENBQUNDLFlBQXpDLENBQXZCO0FBQ0EsUUFBTU0sb0JBQW9CLEdBQUdILGNBQWMsQ0FB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LFlBQXpCLENBQXNDLElBQXRDLENBQTFCO0FBQ0EsUUFBTWdCLE1BQU0sR0FBRzVCLGNBQWMsQ0FBQ0UsT0FBZixDQUF1QndDLGlCQUF2QixFQUEwQ2QsTUFBekQsQ0FIc0IsQ0FLdEI7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0gsR0FoSGtCOztBQWtIbkI7OztBQUdBVyxlQUFhLEVBQUcsdUJBQVNFLEtBQVQsRUFBZ0I7QUFFNUIsUUFBTUMsaUJBQWlCLEdBQUdELEtBQUssQ0FBQ0UsTUFBTixDQUFhQyxTQUFiLEdBQXlCaEMsWUFBekIsQ0FBc0MsSUFBdEMsQ0FBMUI7QUFDQSxRQUFNZ0IsTUFBTSxHQUFHNUIsY0FBYyxDQUFDRSxPQUFmLENBQXVCd0MsaUJBQXZCLEVBQTBDZCxNQUF6RDtBQUVBLFFBQU1pQixVQUFVLEdBQUdKLEtBQUssQ0FBQ0ssSUFBekIsQ0FMNEIsQ0FPNUI7O0FBQ0EsUUFBSUwsS0FBSyxDQUFDSyxJQUFOLEtBQWV4QixFQUFFLENBQUN5QixXQUFILENBQWVDLEtBQWxDLEVBQTBDO0FBQ3RDcEIsWUFBTSxDQUFDcUIsU0FBUDtBQUNIO0FBQ0o7QUFoSWtCLENBQXZCO0FBbUlBakQsY0FBYyxDQUFDRyxJQUFmIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL3NpdGUvY29tcG9uZW50cy95b3V0dWJlSGFuZGxlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgWW91dHViZSBoYW5kbGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuY29uc3QgWW91dHViZUhhbmRsZXIgPSB7XG5cbiAgICB5b3V0dWJlQ2xhc3MgOiAnLmpzLXlvdXR1YmUtcGxheWVyJyxcbiAgICBwbGF5ZXJzOiBbXSxcblxuICAgIGluaXQgOiBmdW5jdGlvbigpXG4gICAge1xuICAgICAgICAvLyBHZXQgdGhlIHlvdXR1YmUgcGxheWVycyBjb250YWluZXJzXG4gICAgICAgIGNvbnN0IHlvdXR1YmVQbGF5ZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChZb3V0dWJlSGFuZGxlci55b3V0dWJlQ2xhc3MpO1xuICAgICAgICBjb25zdCB5b3V0dWJlUGxheWVyc0Ftb3VudCA9IHlvdXR1YmVQbGF5ZXJzLmxlbmd0aDtcblxuICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgeW91dHViZVBsYXllcnNBbW91bnQ7IGkrKyl7XG5cbiAgICAgICAgICAgIGNvbnN0IHlvdXR1YmVQbGF5ZXIgPSB5b3V0dWJlUGxheWVyc1tpXTtcblxuXG4gICAgICAgICAgICBjb25zdCB5b3V0dWJlUGxheWVySWQgPSB5b3V0dWJlUGxheWVyLmdldEF0dHJpYnV0ZSgnaWQnKTtcbiAgICAgICAgICAgIGlmKHlvdXR1YmVQbGF5ZXJJZCAhPT0gbnVsbCApXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLy8gU3RyaXAgdGhlIG5lY2Vzc2FyeSBkYXRhIGZyb20gdGhlIGh0bWwgYW5kIGNyZWF0ZSBvYmplY3RzIGZyb20gaXRcbiAgICAgICAgICAgICAgICBjb25zdCB5b3V0dWJlRWxlbWVudCA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHlvdXR1YmVQbGF5ZXIuZ2V0QXR0cmlidXRlKCdpZCcpLFxuICAgICAgICAgICAgICAgICAgICBsaW5rOiB5b3V0dWJlUGxheWVyLmdldEF0dHJpYnV0ZSgnZGF0YS15b3V0dWJlLWxpbmsnKSxcbiAgICAgICAgICAgICAgICAgICAgYXV0b1BsYXk6IHBhcnNlSW50KHlvdXR1YmVQbGF5ZXIuZ2V0QXR0cmlidXRlKCdkYXRhLWF1dG8tcGxheScpKSxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgWW91dHViZUhhbmRsZXIucGxheWVycy5wdXNoKHlvdXR1YmVFbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJFbGVtZW50IG5vdCBpbmNsdWRlIGJlY2F1c2UgdGhlcmUgaXNuJ3QgYSBpZCBvbiB0aGUgcGxheWVyXCIpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHlvdXR1YmVQbGF5ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYoeW91dHViZVBsYXllcnNBbW91bnQgPj0gMSkgWW91dHViZUhhbmRsZXIuaW5pdFlvdXR1YmUoKTtcblxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBleHRlcm5hbCBzY3JpcHQgaXMgbG9hZGVkXG4gICAgICpcbiAgICAgKi9cbiAgICBpbml0WW91dHViZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIFNlZSBpZiBZVCB2YXJpYWJsZSBleGlzdHNcbiAgICAgICAgaWYgKHR5cGVvZihZVCkgPT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mKFlULlBsYXllcikgPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIC8vIFNldHVwIEFQSSByZWFkeSBmdW5jdGlvblxuICAgICAgICAgICAgd2luZG93Lm9uWW91VHViZVBsYXllckFQSVJlYWR5ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgWW91dHViZUhhbmRsZXIubG9hZFBsYXllcnMoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvLyBMb2FkIGV4dGVybmFsIHNjcmlwdFxuICAgICAgICAgICAgZ2V0U2NyaXB0KCdodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpJyk7XG4gICAgICAgICAgICAvLyBJZiBZVCBhbHJlYWR5IGV4aXN0cyBsb2FkIHBsYXllclxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgWW91dHViZUhhbmRsZXIubG9hZFBsYXllcnMoKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgdGhlIFlvdXR1YmUgcGxheWVyKHMpIHdpdGggcGFyYW1ldGVyc1xuICAgICAqIEFuZCByZXdyaXRlIHRoZSBwbGF5ZXJzIHRvIGtleSB0aGVtIGJ5IHRoZSBlbGVtZW50IGlkXG4gICAgICpcbiAgICAgKi9cbiAgICBsb2FkUGxheWVyczogZnVuY3Rpb24oKSB7XG5cbiAgICAgICAgbGV0IHBsYXllcnMgPSBbXTtcblxuICAgICAgICBjb25zdCB5b3V0dWJlUGxheWVyc0Ftb3VudCA9IFlvdXR1YmVIYW5kbGVyLnBsYXllcnMubGVuZ3RoO1xuICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgeW91dHViZVBsYXllcnNBbW91bnQ7IGkrKyl7XG5cbiAgICAgICAgICAgIGxldCB5b3V0dWJlUGxheWVyID0gWW91dHViZUhhbmRsZXIucGxheWVyc1tpXTtcblxuICAgICAgICAgICAgLy8gTG9hZCBwbGF5ZXJcbiAgICAgICAgICAgIHlvdXR1YmVQbGF5ZXIucGxheWVyID0gbmV3IFlULlBsYXllcih5b3V0dWJlUGxheWVyLmlkLHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMCxcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAwLFxuICAgICAgICAgICAgICAgIHZpZGVvSWQ6IHlvdXR1YmVQbGF5ZXIubGluayxcbiAgICAgICAgICAgICAgICBob3N0OiAnaHR0cHM6Ly93d3cueW91dHViZS1ub2Nvb2tpZS5jb20nLFxuICAgICAgICAgICAgICAgIHBsYXllclZhcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgbW9kZXN0YnJhbmRpbmc6IDAsXG4gICAgICAgICAgICAgICAgICAgIHJlbDogMCxcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWtiOiAxLFxuICAgICAgICAgICAgICAgICAgICBhdXRvcGxheTogeW91dHViZVBsYXllci5hdXRvUGxheVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXZlbnRzOiB7XG4gICAgICAgICAgICAgICAgICAgIC8vICdvblJlYWR5JzogWW91dHViZUhhbmRsZXIub25SZWFkeSxcbiAgICAgICAgICAgICAgICAgICAgJ29uU3RhdGVDaGFuZ2UnOiBZb3V0dWJlSGFuZGxlci5vblN0YXRlQ2hhbmdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHBsYXllcnNbeW91dHViZVBsYXllci5pZF0gPSB5b3V0dWJlUGxheWVyO1xuXG4gICAgICAgIH1cblxuICAgICAgICBZb3V0dWJlSGFuZGxlci5wbGF5ZXJzID0gcGxheWVycztcblxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHBsYXllciBpcyByZWFkeSB0byBwbGF5XG4gICAgICovXG4gICAgb25SZWFkeSA6IGZ1bmN0aW9uKGV2ZW50KSB7XG5cbiAgICAgICAgY29uc3QgcGxheWVyQ29udGFpbmVySWQgPSBldmVudC50YXJnZXQuZ2V0SWZyYW1lKCkuZ2V0QXR0cmlidXRlKCdpZCcpO1xuICAgICAgICBjb25zdCBwbGF5ZXIgPSBZb3V0dWJlSGFuZGxlci5wbGF5ZXJzW3BsYXllckNvbnRhaW5lcklkXS5wbGF5ZXI7XG5cbiAgICAgICAgLy8gU2hvdyB2aWRlb1xuICAgICAgICAvLyBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ICQoJyMnICsgcGxheWVyQ29udGFpbmVySWQpLnN0b3AoKS5hbmltYXRlKHsgb3BhY2l0eTogMSB9LDEwMDApIH0sODAwKTtcblxuICAgICAgICAvLyBJZiBub3Qgb24gdGFibGV0IG9yIG1vYmlsZSwgcGxheSBvbiBoaWdoIHF1YWxpdHlcbiAgICAgICAgLy8gcGxheWVyLm11dGUoKTtcbiAgICAgICAgLy8gcGxheWVyLnBsYXlWaWRlbygpO1xuICAgICAgICAvLyBwbGF5ZXIuc2V0UGxheWJhY2tRdWFsaXR5KCdoZDEwODAnKTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogTGlzdGVuZXIgZm9yIFlvdXR1YmUgc3RhdGUgY2hhbmdlXG4gICAgICovXG4gICAgb25TdGF0ZUNoYW5nZSA6IGZ1bmN0aW9uKGV2ZW50KSB7XG5cbiAgICAgICAgY29uc3QgcGxheWVyQ29udGFpbmVySWQgPSBldmVudC50YXJnZXQuZ2V0SWZyYW1lKCkuZ2V0QXR0cmlidXRlKCdpZCcpO1xuICAgICAgICBjb25zdCBwbGF5ZXIgPSBZb3V0dWJlSGFuZGxlci5wbGF5ZXJzW3BsYXllckNvbnRhaW5lcklkXS5wbGF5ZXI7XG5cbiAgICAgICAgY29uc3QgdmlkZW9TdGF0ZSA9IGV2ZW50LmRhdGE7XG5cbiAgICAgICAgLy8gTG9vcCB2aWRlb1xuICAgICAgICBpZiAoZXZlbnQuZGF0YSA9PT0gWVQuUGxheWVyU3RhdGUuRU5ERUQgKSB7XG4gICAgICAgICAgICBwbGF5ZXIucGxheVZpZGVvKCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5Zb3V0dWJlSGFuZGxlci5pbml0KCk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/site/components/youtubeHandler.js\n");

/***/ }),

/***/ "./resources/js/site/global/browserHandler.js":
/*!****************************************************!*\
  !*** ./resources/js/site/global/browserHandler.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/* ==========================================================================\n   Browser Handler\n ========================================================================== */\nvar BrowserHandler = {\n  userAgent: '',\n  browserInfo: '',\n  init: function init() {\n    BrowserHandler.userAgent = window.navigator.userAgent;\n    BrowserHandler.browserInfo = BrowserHandler.getBrowserInfo();\n    BrowserHandler.handleIE();\n    BrowserHandler.handleSafari();\n  },\n  handleIE: function handleIE() {\n    // Detect versions below ie11\n    var msie = BrowserHandler.userAgent.indexOf('MSIE ');\n    var ielt11 = msie > 0; // Detect ie11\n\n    var ie11 = !!navigator.userAgent.match(/Trident.*rv\\:11\\./); // If Internet Explorer\n\n    if (ielt11 || ie11) {\n      // Default version\n      var version = '11'; // Way to detect version < 11\n\n      if (ielt11) version = parseInt(BrowserHandler.userAgent.substring(msie + 5, BrowserHandler.userAgent.indexOf(\".\", msie))); // Append classes to HTML (we have to do this separately because else ie will fail)\n\n      document.body.classList.add('ie');\n      document.body.classList.add('v' + version);\n    }\n  },\n  // Fallback for older safari version\n  handleSafari: function handleSafari() {\n    if (BrowserHandler.browserInfo.name === 'Safari' && BrowserHandler.browserInfo.version <= 10) {\n      document.getElementsByTagName('html')[0].classList.add('ie');\n    }\n  },\n  getBrowserInfo: function getBrowserInfo() {\n    var ua = navigator.userAgent,\n        tem,\n        M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\n\n    if (/trident/i.test(M[1])) {\n      tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\n      return {\n        name: 'IE ',\n        version: tem[1] || ''\n      };\n    }\n\n    if (M[1] === 'Chrome') {\n      tem = ua.match(/\\bOPR\\/(\\d+)/);\n\n      if (tem != null) {\n        return {\n          name: 'Opera',\n          version: tem[1]\n        };\n      }\n    }\n\n    M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\n\n    if ((tem = ua.match(/version\\/(\\d+)/i)) != null) {\n      M.splice(1, 1, tem[1]);\n    }\n\n    return {\n      name: M[0],\n      version: M[1]\n    };\n  }\n};\nBrowserHandler.init();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvc2l0ZS9nbG9iYWwvYnJvd3NlckhhbmRsZXIuanM/YWI2YyJdLCJuYW1lcyI6WyJCcm93c2VySGFuZGxlciIsInVzZXJBZ2VudCIsImJyb3dzZXJJbmZvIiwiaW5pdCIsIndpbmRvdyIsIm5hdmlnYXRvciIsImdldEJyb3dzZXJJbmZvIiwiaGFuZGxlSUUiLCJoYW5kbGVTYWZhcmkiLCJtc2llIiwiaW5kZXhPZiIsImllbHQxMSIsImllMTEiLCJtYXRjaCIsInZlcnNpb24iLCJwYXJzZUludCIsInN1YnN0cmluZyIsImRvY3VtZW50IiwiYm9keSIsImNsYXNzTGlzdCIsImFkZCIsIm5hbWUiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInVhIiwidGVtIiwiTSIsInRlc3QiLCJleGVjIiwiYXBwTmFtZSIsImFwcFZlcnNpb24iLCJzcGxpY2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7QUFJQSxJQUFNQSxjQUFjLEdBQUc7QUFFbkJDLFdBQVMsRUFBRSxFQUZRO0FBR25CQyxhQUFXLEVBQUUsRUFITTtBQU1uQkMsTUFBSSxFQUFFLGdCQUFZO0FBQ2RILGtCQUFjLENBQUNDLFNBQWYsR0FBMkJHLE1BQU0sQ0FBQ0MsU0FBUCxDQUFpQkosU0FBNUM7QUFDQUQsa0JBQWMsQ0FBQ0UsV0FBZixHQUE2QkYsY0FBYyxDQUFDTSxjQUFmLEVBQTdCO0FBQ0FOLGtCQUFjLENBQUNPLFFBQWY7QUFDQVAsa0JBQWMsQ0FBQ1EsWUFBZjtBQUNILEdBWGtCO0FBYW5CRCxVQUFRLEVBQUUsb0JBQVk7QUFFbEI7QUFDQSxRQUFJRSxJQUFJLEdBQUdULGNBQWMsQ0FBQ0MsU0FBZixDQUF5QlMsT0FBekIsQ0FBaUMsT0FBakMsQ0FBWDtBQUNBLFFBQU1DLE1BQU0sR0FBR0YsSUFBSSxHQUFHLENBQXRCLENBSmtCLENBTWxCOztBQUNBLFFBQU1HLElBQUksR0FBRyxDQUFDLENBQUNQLFNBQVMsQ0FBQ0osU0FBVixDQUFvQlksS0FBcEIsQ0FBMEIsbUJBQTFCLENBQWYsQ0FQa0IsQ0FTbEI7O0FBQ0EsUUFBSUYsTUFBTSxJQUFJQyxJQUFkLEVBQW9CO0FBQ2hCO0FBQ0EsVUFBSUUsT0FBTyxHQUFHLElBQWQsQ0FGZ0IsQ0FJaEI7O0FBQ0EsVUFBSUgsTUFBSixFQUFZRyxPQUFPLEdBQUdDLFFBQVEsQ0FBQ2YsY0FBYyxDQUFDQyxTQUFmLENBQXlCZSxTQUF6QixDQUMzQlAsSUFBSSxHQUFHLENBRG9CLEVBRTNCVCxjQUFjLENBQUNDLFNBQWYsQ0FBeUJTLE9BQXpCLENBQWlDLEdBQWpDLEVBQXNDRCxJQUF0QyxDQUYyQixDQUFELENBQWxCLENBTEksQ0FVaEI7O0FBQ0FRLGNBQVEsQ0FBQ0MsSUFBVCxDQUFjQyxTQUFkLENBQXdCQyxHQUF4QixDQUE0QixJQUE1QjtBQUNBSCxjQUFRLENBQUNDLElBQVQsQ0FBY0MsU0FBZCxDQUF3QkMsR0FBeEIsQ0FBNEIsTUFBSU4sT0FBaEM7QUFDSDtBQUVKLEdBdENrQjtBQXdDbkI7QUFDQU4sY0FBWSxFQUFFLHdCQUFZO0FBRXRCLFFBQUdSLGNBQWMsQ0FBQ0UsV0FBZixDQUEyQm1CLElBQTNCLEtBQW9DLFFBQXBDLElBQWdEckIsY0FBYyxDQUFDRSxXQUFmLENBQTJCWSxPQUEzQixJQUFzQyxFQUF6RixFQUE0RjtBQUN4RkcsY0FBUSxDQUFDSyxvQkFBVCxDQUE4QixNQUE5QixFQUFzQyxDQUF0QyxFQUF5Q0gsU0FBekMsQ0FBbURDLEdBQW5ELENBQXVELElBQXZEO0FBQ0g7QUFFSixHQS9Da0I7QUFpRG5CZCxnQkFBYyxFQUFFLDBCQUFZO0FBQ3hCLFFBQUlpQixFQUFFLEdBQUNsQixTQUFTLENBQUNKLFNBQWpCO0FBQUEsUUFBMkJ1QixHQUEzQjtBQUFBLFFBQStCQyxDQUFDLEdBQUNGLEVBQUUsQ0FBQ1YsS0FBSCxDQUFTLDhEQUFULEtBQTRFLEVBQTdHOztBQUNBLFFBQUcsV0FBV2EsSUFBWCxDQUFnQkQsQ0FBQyxDQUFDLENBQUQsQ0FBakIsQ0FBSCxFQUF5QjtBQUNyQkQsU0FBRyxHQUFDLGtCQUFrQkcsSUFBbEIsQ0FBdUJKLEVBQXZCLEtBQThCLEVBQWxDO0FBQ0EsYUFBTztBQUFDRixZQUFJLEVBQUMsS0FBTjtBQUFZUCxlQUFPLEVBQUVVLEdBQUcsQ0FBQyxDQUFELENBQUgsSUFBUTtBQUE3QixPQUFQO0FBQ0g7O0FBQ0QsUUFBR0MsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFPLFFBQVYsRUFBbUI7QUFDZkQsU0FBRyxHQUFDRCxFQUFFLENBQUNWLEtBQUgsQ0FBUyxjQUFULENBQUo7O0FBQ0EsVUFBR1csR0FBRyxJQUFFLElBQVIsRUFBZ0I7QUFBQyxlQUFPO0FBQUNILGNBQUksRUFBQyxPQUFOO0FBQWVQLGlCQUFPLEVBQUNVLEdBQUcsQ0FBQyxDQUFEO0FBQTFCLFNBQVA7QUFBdUM7QUFDM0Q7O0FBQ0RDLEtBQUMsR0FBQ0EsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFNLENBQUNBLENBQUMsQ0FBQyxDQUFELENBQUYsRUFBT0EsQ0FBQyxDQUFDLENBQUQsQ0FBUixDQUFOLEdBQW9CLENBQUNwQixTQUFTLENBQUN1QixPQUFYLEVBQW9CdkIsU0FBUyxDQUFDd0IsVUFBOUIsRUFBMEMsSUFBMUMsQ0FBdEI7O0FBQ0EsUUFBRyxDQUFDTCxHQUFHLEdBQUNELEVBQUUsQ0FBQ1YsS0FBSCxDQUFTLGlCQUFULENBQUwsS0FBbUMsSUFBdEMsRUFBNEM7QUFBQ1ksT0FBQyxDQUFDSyxNQUFGLENBQVMsQ0FBVCxFQUFXLENBQVgsRUFBYU4sR0FBRyxDQUFDLENBQUQsQ0FBaEI7QUFBc0I7O0FBQ25FLFdBQU87QUFDSEgsVUFBSSxFQUFFSSxDQUFDLENBQUMsQ0FBRCxDQURKO0FBRUhYLGFBQU8sRUFBRVcsQ0FBQyxDQUFDLENBQUQ7QUFGUCxLQUFQO0FBSUg7QUFqRWtCLENBQXZCO0FBb0VBekIsY0FBYyxDQUFDRyxJQUFmIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL3NpdGUvZ2xvYmFsL2Jyb3dzZXJIYW5kbGVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJyb3dzZXIgSGFuZGxlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmNvbnN0IEJyb3dzZXJIYW5kbGVyID0ge1xuXG4gICAgdXNlckFnZW50OiAnJyxcbiAgICBicm93c2VySW5mbzogJycsXG5cblxuICAgIGluaXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgQnJvd3NlckhhbmRsZXIudXNlckFnZW50ID0gd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQ7XG4gICAgICAgIEJyb3dzZXJIYW5kbGVyLmJyb3dzZXJJbmZvID0gQnJvd3NlckhhbmRsZXIuZ2V0QnJvd3NlckluZm8oKTtcbiAgICAgICAgQnJvd3NlckhhbmRsZXIuaGFuZGxlSUUoKTtcbiAgICAgICAgQnJvd3NlckhhbmRsZXIuaGFuZGxlU2FmYXJpKCk7XG4gICAgfSxcblxuICAgIGhhbmRsZUlFOiBmdW5jdGlvbiAoKSB7XG5cbiAgICAgICAgLy8gRGV0ZWN0IHZlcnNpb25zIGJlbG93IGllMTFcbiAgICAgICAgbGV0IG1zaWUgPSBCcm93c2VySGFuZGxlci51c2VyQWdlbnQuaW5kZXhPZignTVNJRSAnKTtcbiAgICAgICAgY29uc3QgaWVsdDExID0gbXNpZSA+IDA7XG5cbiAgICAgICAgLy8gRGV0ZWN0IGllMTFcbiAgICAgICAgY29uc3QgaWUxMSA9ICEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVHJpZGVudC4qcnZcXDoxMVxcLi8pO1xuXG4gICAgICAgIC8vIElmIEludGVybmV0IEV4cGxvcmVyXG4gICAgICAgIGlmIChpZWx0MTEgfHwgaWUxMSkge1xuICAgICAgICAgICAgLy8gRGVmYXVsdCB2ZXJzaW9uXG4gICAgICAgICAgICBsZXQgdmVyc2lvbiA9ICcxMSc7XG5cbiAgICAgICAgICAgIC8vIFdheSB0byBkZXRlY3QgdmVyc2lvbiA8IDExXG4gICAgICAgICAgICBpZiAoaWVsdDExKSB2ZXJzaW9uID0gcGFyc2VJbnQoQnJvd3NlckhhbmRsZXIudXNlckFnZW50LnN1YnN0cmluZyhcbiAgICAgICAgICAgICAgICBtc2llICsgNSxcbiAgICAgICAgICAgICAgICBCcm93c2VySGFuZGxlci51c2VyQWdlbnQuaW5kZXhPZihcIi5cIiwgbXNpZSlcbiAgICAgICAgICAgICkpO1xuXG4gICAgICAgICAgICAvLyBBcHBlbmQgY2xhc3NlcyB0byBIVE1MICh3ZSBoYXZlIHRvIGRvIHRoaXMgc2VwYXJhdGVseSBiZWNhdXNlIGVsc2UgaWUgd2lsbCBmYWlsKVxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdpZScpO1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCd2Jyt2ZXJzaW9uKTtcbiAgICAgICAgfVxuXG4gICAgfSxcblxuICAgIC8vIEZhbGxiYWNrIGZvciBvbGRlciBzYWZhcmkgdmVyc2lvblxuICAgIGhhbmRsZVNhZmFyaTogZnVuY3Rpb24gKCkge1xuXG4gICAgICAgIGlmKEJyb3dzZXJIYW5kbGVyLmJyb3dzZXJJbmZvLm5hbWUgPT09ICdTYWZhcmknICYmIEJyb3dzZXJIYW5kbGVyLmJyb3dzZXJJbmZvLnZlcnNpb24gPD0gMTApe1xuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXS5jbGFzc0xpc3QuYWRkKCdpZScpO1xuICAgICAgICB9XG5cbiAgICB9LFxuXG4gICAgZ2V0QnJvd3NlckluZm86IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IHVhPW5hdmlnYXRvci51c2VyQWdlbnQsdGVtLE09dWEubWF0Y2goLyhvcGVyYXxjaHJvbWV8c2FmYXJpfGZpcmVmb3h8bXNpZXx0cmlkZW50KD89XFwvKSlcXC8/XFxzKihcXGQrKS9pKSB8fCBbXTtcbiAgICAgICAgaWYoL3RyaWRlbnQvaS50ZXN0KE1bMV0pKXtcbiAgICAgICAgICAgIHRlbT0vXFxicnZbIDpdKyhcXGQrKS9nLmV4ZWModWEpIHx8IFtdO1xuICAgICAgICAgICAgcmV0dXJuIHtuYW1lOidJRSAnLHZlcnNpb246KHRlbVsxXXx8JycpfTtcbiAgICAgICAgfVxuICAgICAgICBpZihNWzFdPT09J0Nocm9tZScpe1xuICAgICAgICAgICAgdGVtPXVhLm1hdGNoKC9cXGJPUFJcXC8oXFxkKykvKVxuICAgICAgICAgICAgaWYodGVtIT1udWxsKSAgIHtyZXR1cm4ge25hbWU6J09wZXJhJywgdmVyc2lvbjp0ZW1bMV19O31cbiAgICAgICAgfVxuICAgICAgICBNPU1bMl0/IFtNWzFdLCBNWzJdXTogW25hdmlnYXRvci5hcHBOYW1lLCBuYXZpZ2F0b3IuYXBwVmVyc2lvbiwgJy0/J107XG4gICAgICAgIGlmKCh0ZW09dWEubWF0Y2goL3ZlcnNpb25cXC8oXFxkKykvaSkpIT1udWxsKSB7TS5zcGxpY2UoMSwxLHRlbVsxXSk7fVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZTogTVswXSxcbiAgICAgICAgICAgIHZlcnNpb246IE1bMV1cbiAgICAgICAgfTtcbiAgICB9XG59O1xuXG5Ccm93c2VySGFuZGxlci5pbml0KCk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/site/global/browserHandler.js\n");

/***/ }),

/***/ "./resources/js/site/global/helpers.js":
/*!*********************************************!*\
  !*** ./resources/js/site/global/helpers.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/* ==========================================================================\n    Helper functions\n ========================================================================== */\n\n/*\n * Simple isset method for this does not exist in javascript\n */\nwindow.isset = function (obj) {\n  return typeof obj !== 'undefined' && obj !== null;\n};\n/*\n * Easing Functions - inspired from http://gizma.com/easing/\n * only considering the t value for the range [0, 1] => [0, 1]\n */\n\n\nwindow.EasingFunctions = {\n  // no easing, no acceleration\n  linear: function linear(t) {\n    return t;\n  },\n  // accelerating from zero velocity\n  easeInQuad: function easeInQuad(t) {\n    return t * t;\n  },\n  // decelerating to zero velocity\n  easeOutQuad: function easeOutQuad(t) {\n    return t * (2 - t);\n  },\n  // acceleration until halfway, then deceleration\n  easeInOutQuad: function easeInOutQuad(t) {\n    return t < .5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n  },\n  // accelerating from zero velocity\n  easeInCubic: function easeInCubic(t) {\n    return t * t * t;\n  },\n  // decelerating to zero velocity\n  easeOutCubic: function easeOutCubic(t) {\n    return --t * t * t + 1;\n  },\n  // acceleration until halfway, then deceleration\n  easeInOutCubic: function easeInOutCubic(t) {\n    return t < .5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;\n  },\n  // accelerating from zero velocity\n  easeInQuart: function easeInQuart(t) {\n    return t * t * t * t;\n  },\n  // decelerating to zero velocity\n  easeOutQuart: function easeOutQuart(t) {\n    return 1 - --t * t * t * t;\n  },\n  // acceleration until halfway, then deceleration\n  easeInOutQuart: function easeInOutQuart(t) {\n    return t < .5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t;\n  },\n  // accelerating from zero velocity\n  easeInQuint: function easeInQuint(t) {\n    return t * t * t * t * t;\n  },\n  // decelerating to zero velocity\n  easeOutQuint: function easeOutQuint(t) {\n    return 1 + --t * t * t * t * t;\n  },\n  // acceleration until halfway, then deceleration\n  easeInOutQuint: function easeInOutQuint(t) {\n    return t < .5 ? 16 * t * t * t * t * t : 1 + 16 * --t * t * t * t * t;\n  }\n};\n/*\n * Vanilla version of the $.getScript\n */\n\nwindow.getScript = function (source, callback) {\n  var script = document.createElement('script');\n  script.async = 1;\n  var scripts = document.getElementsByTagName('script');\n  var prior = scripts[scripts.length - 1];\n\n  script.onload = script.onreadystatechange = function (_, isAbort) {\n    if (isAbort || !script.readyState || /loaded|complete/.test(script.readyState)) {\n      script.onload = script.onreadystatechange = null;\n      script = undefined;\n\n      if (!isAbort) {\n        if (callback) callback();\n      }\n    }\n  };\n\n  script.src = source;\n  prior.parentNode.insertBefore(script, prior);\n};\n/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing.\n * @param func\n * @param wait\n * @param immediate\n * @returns {Function}\n */\n\n\nwindow.debounce = function (func, wait, immediate) {\n  var timeout;\n  return function () {\n    var context = this,\n        args = arguments;\n\n    var later = function later() {\n      timeout = null;\n      if (!immediate) func.apply(context, args);\n    };\n\n    var callNow = immediate && !timeout;\n    clearTimeout(timeout);\n    timeout = setTimeout(later, wait);\n    if (callNow) func.apply(context, args);\n  };\n};\n/*\n * Cookie helper class\n */\n\n\nwindow.Cookie = {\n  set: function set(name, value, days) {\n    var domain, domainParts, date, expires, host;\n\n    if (days) {\n      date = new Date();\n      date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n      expires = \"; expires=\" + date.toGMTString();\n    } else {\n      expires = \"\";\n    }\n\n    host = location.host;\n\n    if (host.split('.').length === 1) {\n      // no \".\" in a domain - it's localhost or something similar\n      document.cookie = name + \"=\" + value + expires + \"; path=/\";\n    } else {\n      // Remember the cookie on all sub domains.\n      //\n      // Start with trying to set cookie to the top domain.\n      // (example: if user is on foo.com, try to set\n      //  cookie to domain \".com\")\n      //\n      // If the cookie will not be set, it means \".com\"\n      // is a top level domain and we need to\n      // set the cookie to \".foo.com\"\n      domainParts = host.split('.');\n      domainParts.shift();\n      domain = '.' + domainParts.join('.'); // For development purpose, remove this when moving to production\n      // domain = '.komma.pro';\n\n      document.cookie = name + \"=\" + value + expires + \"; path=/; domain=\" + domain; // check if cookie was successfuly set to the given domain\n      // (otherwise it was a Top-Level Domain)\n\n      if (Cookie.get(name) == null || Cookie.get(name) != value) {\n        // append \".\" to current domain\n        domain = '.' + host;\n        document.cookie = name + \"=\" + value + expires + \"; path=/; domain=\" + domain;\n      }\n    }\n  },\n  get: function get(name) {\n    var nameEQ = name + \"=\";\n    var ca = document.cookie.split(';');\n\n    for (var i = 0; i < ca.length; i++) {\n      var c = ca[i];\n\n      while (c.charAt(0) === ' ') {\n        c = c.substring(1, c.length);\n      }\n\n      if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n    }\n\n    return null;\n  },\n  erase: function erase(name) {\n    Cookie.set(name, '', -1);\n  }\n};\n/*\n * Javascript version of the number_format method of PHP\n */\n\nwindow.number_format = function (number, decimals, dec_point, thousands_sep) {\n  // Strip all characters but numerical ones.\n  number = (number + '').replace(/[^0-9+\\-Ee.]/g, '');\n\n  var n = !isFinite(+number) ? 0 : +number,\n      prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),\n      sep = typeof thousands_sep === 'undefined' ? ',' : thousands_sep,\n      dec = typeof dec_point === 'undefined' ? '.' : dec_point,\n      s = '',\n      toFixedFix = function toFixedFix(n, prec) {\n    var k = Math.pow(10, prec);\n    return '' + Math.round(n * k) / k;\n  }; // Fix for IE parseFloat(0.55).toFixed(0) = 0;\n\n\n  s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');\n\n  if (s[0].length > 3) {\n    s[0] = s[0].replace(/\\B(?=(?:\\d{3})+(?!\\d))/g, sep);\n  }\n\n  if ((s[1] || '').length < prec) {\n    s[1] = s[1] || '';\n    s[1] += new Array(prec - s[1].length + 1).join('0');\n  }\n\n  return s.join(dec);\n};\n/**\n * Element.closest() polyfill\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\n */\n\n\nif (!Element.prototype.closest) {\n  if (!Element.prototype.matches) {\n    Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n  }\n\n  Element.prototype.closest = function (s) {\n    var el = this;\n    var ancestor = this;\n    if (!document.documentElement.contains(el)) return null;\n\n    do {\n      if (ancestor.matches(s)) return ancestor;\n      ancestor = ancestor.parentElement;\n    } while (ancestor !== null);\n\n    return null;\n  };\n}\n\nwindow.Ajax = {\n  //TODO: Can we create a prepare request function ??\n  get: function get(url, callback) {\n    var xhr = new XMLHttpRequest();\n    var token = document.querySelector('meta[name=\"csrf-token\"]').content;\n    xhr.open('get', url, true);\n    xhr.setRequestHeader('Content-Type', 'application/json');\n    xhr.setRequestHeader('X-CSRF-TOKEN', token);\n    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n\n    xhr.onreadystatechange = function () {\n      if (xhr.readyState === 4) {\n        callback(xhr);\n      }\n    };\n\n    xhr.send();\n  },\n  post: function post(url, data, callback) {\n    var xhr = new XMLHttpRequest();\n    var token = document.querySelector('meta[name=\"csrf-token\"]').content;\n    xhr.open('post', url, true);\n    xhr.setRequestHeader('Content-Type', 'application/json');\n    xhr.setRequestHeader('X-CSRF-TOKEN', token);\n    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n\n    xhr.onreadystatechange = function () {\n      if (xhr.readyState === 4) {\n        callback(xhr);\n      }\n    };\n\n    xhr.send(JSON.stringify(data));\n  }\n};\n/**\n * Capitalize the first letter of the string\n * @param string\n * @returns {string}\n */\n\nwindow.capitalizeFirstLetter = function (string) {\n  return string.charAt(0).toUpperCase() + string.slice(1);\n};\n/**\n * Convert snake case into camelcase\n *\n * @param string\n * @returns {*}\n */\n\n\nwindow.snakeToCamel = function (string) {\n  return string.replace(/(\\-\\w)/g, function (m) {\n    return m[1].toUpperCase();\n  });\n};\n/**\n * Get the index of an element inside its parent\n */\n\n\nwindow.indexInParent = function (node) {\n  var children = node.parentNode.childNodes;\n  var num = 0;\n\n  for (var i = 0; i < children.length; i++) {\n    if (children[i] == node) return num;\n    if (children[i].nodeType == 1) num++;\n  }\n\n  return -1;\n};\n/**\n * For security reasons iOS Safari only allows document.execCommand('copy') for text within a contentEditable container.\n * The workaround is to detect iOS Safari and quickly toggle contentEditable before executing document.execCommand('copy').\n * Wheb input or textarea is READONLY you can prevent the unwanted popup with copy/paste functions and the input keyboard\n * Code from: https://stackoverflow.com/a/46981847\n */\n\n\nwindow.copyToClipboard = function (el) {\n  // resolve the element\n  el = typeof el === 'string' ? document.querySelector(el) : el; // handle iOS as a special case\n\n  if (navigator.userAgent.match(/ipad|ipod|iphone/i)) {\n    // save current contentEditable/readOnly status\n    var editable = el.contentEditable;\n    var readOnly = el.readOnly; // convert to editable with readonly to stop iOS keyboard opening\n\n    el.contentEditable = true;\n    el.readOnly = true; // create a selectable range\n\n    var range = document.createRange();\n    range.selectNodeContents(el); // select the range\n\n    var selection = window.getSelection();\n    selection.removeAllRanges();\n    selection.addRange(range);\n    el.setSelectionRange(0, 999999); // restore contentEditable/readOnly to original state\n\n    el.contentEditable = editable;\n    el.readOnly = readOnly;\n  } else {\n    el.select();\n  } // execute copy command\n\n\n  document.execCommand('copy');\n};\n/**\n * Get the position of the element related to the body\n *\n * @param el\n * @returns {{top: number, left: number}}\n */\n\n\nwindow.bodyOffset = function (el) {\n  var rect = el.getBoundingClientRect(),\n      scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,\n      scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n  return {\n    top: rect.top + scrollTop,\n    left: rect.left + scrollLeft\n  };\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvc2l0ZS9nbG9iYWwvaGVscGVycy5qcz9jODU5Il0sIm5hbWVzIjpbIndpbmRvdyIsImlzc2V0Iiwib2JqIiwiRWFzaW5nRnVuY3Rpb25zIiwibGluZWFyIiwidCIsImVhc2VJblF1YWQiLCJlYXNlT3V0UXVhZCIsImVhc2VJbk91dFF1YWQiLCJlYXNlSW5DdWJpYyIsImVhc2VPdXRDdWJpYyIsImVhc2VJbk91dEN1YmljIiwiZWFzZUluUXVhcnQiLCJlYXNlT3V0UXVhcnQiLCJlYXNlSW5PdXRRdWFydCIsImVhc2VJblF1aW50IiwiZWFzZU91dFF1aW50IiwiZWFzZUluT3V0UXVpbnQiLCJnZXRTY3JpcHQiLCJzb3VyY2UiLCJjYWxsYmFjayIsInNjcmlwdCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImFzeW5jIiwic2NyaXB0cyIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwicHJpb3IiLCJsZW5ndGgiLCJvbmxvYWQiLCJvbnJlYWR5c3RhdGVjaGFuZ2UiLCJfIiwiaXNBYm9ydCIsInJlYWR5U3RhdGUiLCJ0ZXN0IiwidW5kZWZpbmVkIiwic3JjIiwicGFyZW50Tm9kZSIsImluc2VydEJlZm9yZSIsImRlYm91bmNlIiwiZnVuYyIsIndhaXQiLCJpbW1lZGlhdGUiLCJ0aW1lb3V0IiwiY29udGV4dCIsImFyZ3MiLCJhcmd1bWVudHMiLCJsYXRlciIsImFwcGx5IiwiY2FsbE5vdyIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJDb29raWUiLCJzZXQiLCJuYW1lIiwidmFsdWUiLCJkYXlzIiwiZG9tYWluIiwiZG9tYWluUGFydHMiLCJkYXRlIiwiZXhwaXJlcyIsImhvc3QiLCJEYXRlIiwic2V0VGltZSIsImdldFRpbWUiLCJ0b0dNVFN0cmluZyIsImxvY2F0aW9uIiwic3BsaXQiLCJjb29raWUiLCJzaGlmdCIsImpvaW4iLCJnZXQiLCJuYW1lRVEiLCJjYSIsImkiLCJjIiwiY2hhckF0Iiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsImVyYXNlIiwibnVtYmVyX2Zvcm1hdCIsIm51bWJlciIsImRlY2ltYWxzIiwiZGVjX3BvaW50IiwidGhvdXNhbmRzX3NlcCIsInJlcGxhY2UiLCJuIiwiaXNGaW5pdGUiLCJwcmVjIiwiTWF0aCIsImFicyIsInNlcCIsImRlYyIsInMiLCJ0b0ZpeGVkRml4IiwiayIsInBvdyIsInJvdW5kIiwiQXJyYXkiLCJFbGVtZW50IiwicHJvdG90eXBlIiwiY2xvc2VzdCIsIm1hdGNoZXMiLCJtc01hdGNoZXNTZWxlY3RvciIsIndlYmtpdE1hdGNoZXNTZWxlY3RvciIsImVsIiwiYW5jZXN0b3IiLCJkb2N1bWVudEVsZW1lbnQiLCJjb250YWlucyIsInBhcmVudEVsZW1lbnQiLCJBamF4IiwidXJsIiwieGhyIiwiWE1MSHR0cFJlcXVlc3QiLCJ0b2tlbiIsInF1ZXJ5U2VsZWN0b3IiLCJjb250ZW50Iiwib3BlbiIsInNldFJlcXVlc3RIZWFkZXIiLCJzZW5kIiwicG9zdCIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwiY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwic3RyaW5nIiwidG9VcHBlckNhc2UiLCJzbGljZSIsInNuYWtlVG9DYW1lbCIsIm0iLCJpbmRleEluUGFyZW50Iiwibm9kZSIsImNoaWxkcmVuIiwiY2hpbGROb2RlcyIsIm51bSIsIm5vZGVUeXBlIiwiY29weVRvQ2xpcGJvYXJkIiwibmF2aWdhdG9yIiwidXNlckFnZW50IiwibWF0Y2giLCJlZGl0YWJsZSIsImNvbnRlbnRFZGl0YWJsZSIsInJlYWRPbmx5IiwicmFuZ2UiLCJjcmVhdGVSYW5nZSIsInNlbGVjdE5vZGVDb250ZW50cyIsInNlbGVjdGlvbiIsImdldFNlbGVjdGlvbiIsInJlbW92ZUFsbFJhbmdlcyIsImFkZFJhbmdlIiwic2V0U2VsZWN0aW9uUmFuZ2UiLCJzZWxlY3QiLCJleGVjQ29tbWFuZCIsImJvZHlPZmZzZXQiLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwic2Nyb2xsTGVmdCIs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QzZKLFdBQVAsSUFBc0J2SSxRQUFRLENBQUNxRixlQUFULENBQXlCaUQsVUFEaEU7QUFBQSxNQUVJRSxTQUFTLEdBQUc5SixNQUFNLENBQUMrSixXQUFQLElBQXNCekksUUFBUSxDQUFDcUYsZUFBVCxDQUF5Qm1ELFNBRi9EO0FBR0EsU0FBTztBQUFFRSxPQUFHLEVBQUVOLElBQUksQ0FBQ00sR0FBTCxHQUFXRixTQUFsQjtBQUE2QkcsUUFBSSxFQUFFUCxJQUFJLENBQUNPLElBQUwsR0FBWUw7QUFBL0MsR0FBUDtBQUNILENBTEQiLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvc2l0ZS9nbG9iYWwvaGVscGVycy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgSGVscGVyIGZ1bmN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTaW1wbGUgaXNzZXQgbWV0aG9kIGZvciB0aGlzIGRvZXMgbm90IGV4aXN0IGluIGphdmFzY3JpcHRcbiAqL1xud2luZG93Lmlzc2V0ID0gZnVuY3Rpb24gKG9iaikge1xuICAgIHJldHVybiB0eXBlb2Ygb2JqICE9PSAndW5kZWZpbmVkJyAmJiBvYmogIT09IG51bGw7XG59O1xuXG4vKlxuICogRWFzaW5nIEZ1bmN0aW9ucyAtIGluc3BpcmVkIGZyb20gaHR0cDovL2dpem1hLmNvbS9lYXNpbmcvXG4gKiBvbmx5IGNvbnNpZGVyaW5nIHRoZSB0IHZhbHVlIGZvciB0aGUgcmFuZ2UgWzAsIDFdID0+IFswLCAxXVxuICovXG53aW5kb3cuRWFzaW5nRnVuY3Rpb25zID0ge1xuICAgIC8vIG5vIGVhc2luZywgbm8gYWNjZWxlcmF0aW9uXG4gICAgbGluZWFyOiBmdW5jdGlvbiAodCkge1xuICAgICAgICByZXR1cm4gdFxuICAgIH0sXG4gICAgLy8gYWNjZWxlcmF0aW5nIGZyb20gemVybyB2ZWxvY2l0eVxuICAgIGVhc2VJblF1YWQ6IGZ1bmN0aW9uICh0KSB7XG4gICAgICAgIHJldHVybiB0ICogdFxuICAgIH0sXG4gICAgLy8gZGVjZWxlcmF0aW5nIHRvIHplcm8gdmVsb2NpdHlcbiAgICBlYXNlT3V0UXVhZDogZnVuY3Rpb24gKHQpIHtcbiAgICAgICAgcmV0dXJuIHQgKiAoMiAtIHQpXG4gICAgfSxcbiAgICAvLyBhY2NlbGVyYXRpb24gdW50aWwgaGFsZndheSwgdGhlbiBkZWNlbGVyYXRpb25cbiAgICBlYXNlSW5PdXRRdWFkOiBmdW5jdGlvbiAodCkge1xuICAgICAgICByZXR1cm4gdCA8IC41ID8gMiAqIHQgKiB0IDogLTEgKyAoNCAtIDIgKiB0KSAqIHRcbiAgICB9LFxuICAgIC8vIGFjY2VsZXJhdGluZyBmcm9tIHplcm8gdmVsb2NpdHlcbiAgICBlYXNlSW5DdWJpYzogZnVuY3Rpb24gKHQpIHtcbiAgICAgICAgcmV0dXJuIHQgKiB0ICogdFxuICAgIH0sXG4gICAgLy8gZGVjZWxlcmF0aW5nIHRvIHplcm8gdmVsb2NpdHlcbiAgICBlYXNlT3V0Q3ViaWM6IGZ1bmN0aW9uICh0KSB7XG4gICAgICAgIHJldHVybiAoLS10KSAqIHQgKiB0ICsgMVxuICAgIH0sXG4gICAgLy8gYWNjZWxlcmF0aW9uIHVudGlsIGhhbGZ3YXksIHRoZW4gZGVjZWxlcmF0aW9uXG4gICAgZWFzZUluT3V0Q3ViaWM6IGZ1bmN0aW9uICh0KSB7XG4gICAgICAgIHJldHVybiB0IDwgLjUgPyA0ICogdCAqIHQgKiB0IDogKHQgLSAxKSAqICgyICogdCAtIDIpICogKDIgKiB0IC0gMikgKyAxXG4gICAgfSxcbiAgICAvLyBhY2NlbGVyYXRpbmcgZnJvbSB6ZXJvIHZlbG9jaXR5XG4gICAgZWFzZUluUXVhcnQ6IGZ1bmN0aW9uICh0KSB7XG4gICAgICAgIHJldHVybiB0ICogdCAqIHQgKiB0XG4gICAgfSxcbiAgICAvLyBkZWNlbGVyYXRpbmcgdG8gemVybyB2ZWxvY2l0eVxuICAgIGVhc2VPdXRRdWFydDogZnVuY3Rpb24gKHQpIHtcbiAgICAgICAgcmV0dXJuIDEgLSAoLS10KSAqIHQgKiB0ICogdFxuICAgIH0sXG4gICAgLy8gYWNjZWxlcmF0aW9uIHVudGlsIGhhbGZ3YXksIHRoZW4gZGVjZWxlcmF0aW9uXG4gICAgZWFzZUluT3V0UXVhcnQ6IGZ1bmN0aW9uICh0KSB7XG4gICAgICAgIHJldHVybiB0IDwgLjUgPyA4ICogdCAqIHQgKiB0ICogdCA6IDEgLSA4ICogKC0tdCkgKiB0ICogdCAqIHRcbiAgICB9LFxuICAgIC8vIGFjY2VsZXJhdGluZyBmcm9tIHplcm8gdmVsb2NpdHlcbiAgICBlYXNlSW5RdWludDogZnVuY3Rpb24gKHQpIHtcbiAgICAgICAgcmV0dXJuIHQgKiB0ICogdCAqIHQgKiB0XG4gICAgfSxcbiAgICAvLyBkZWNlbGVyYXRpbmcgdG8gemVybyB2ZWxvY2l0eVxuICAgIGVhc2VPdXRRdWludDogZnVuY3Rpb24gKHQpIHtcbiAgICAgICAgcmV0dXJuIDEgKyAoLS10KSAqIHQgKiB0ICogdCAqIHRcbiAgICB9LFxuICAgIC8vIGFjY2VsZXJhdGlvbiB1bnRpbCBoYWxmd2F5LCB0aGVuIGRlY2VsZXJhdGlvblxuICAgIGVhc2VJbk91dFF1aW50OiBmdW5jdGlvbiAodCkge1xuICAgICAgICByZXR1cm4gdCA8IC41ID8gMTYgKiB0ICogdCAqIHQgKiB0ICogdCA6IDEgKyAxNiAqICgtLXQpICogdCAqIHQgKiB0ICogdFxuICAgIH1cbn07XG5cbi8qXG4gKiBWYW5pbGxhIHZlcnNpb24gb2YgdGhlICQuZ2V0U2NyaXB0XG4gKi9cbndpbmRvdy5nZXRTY3JpcHQgPSBmdW5jdGlvbiAoc291cmNlLCBjYWxsYmFjaykge1xuICAgIGxldCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBzY3JpcHQuYXN5bmMgPSAxO1xuXG4gICAgY29uc3Qgc2NyaXB0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKTtcbiAgICBsZXQgcHJpb3IgPSBzY3JpcHRzW3NjcmlwdHMubGVuZ3RoIC0gMV07XG5cbiAgICBzY3JpcHQub25sb2FkID0gc2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uIChfLCBpc0Fib3J0KSB7XG4gICAgICAgIGlmIChpc0Fib3J0IHx8ICFzY3JpcHQucmVhZHlTdGF0ZSB8fCAvbG9hZGVkfGNvbXBsZXRlLy50ZXN0KHNjcmlwdC5yZWFkeVN0YXRlKSkge1xuICAgICAgICAgICAgc2NyaXB0Lm9ubG9hZCA9IHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsO1xuICAgICAgICAgICAgc2NyaXB0ID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBpZiAoIWlzQWJvcnQpIHtcbiAgICAgICAgICAgICAgICBpZiAoY2FsbGJhY2spIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgc2NyaXB0LnNyYyA9IHNvdXJjZTtcbiAgICBwcmlvci5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzY3JpcHQsIHByaW9yKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyBhIGZ1bmN0aW9uLCB0aGF0LCBhcyBsb25nIGFzIGl0IGNvbnRpbnVlcyB0byBiZSBpbnZva2VkLCB3aWxsIG5vdFxuICogYmUgdHJpZ2dlcmVkLiBUaGUgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgaXQgc3RvcHMgYmVpbmcgY2FsbGVkIGZvclxuICogTiBtaWxsaXNlY29uZHMuIElmIGBpbW1lZGlhdGVgIGlzIHBhc3NlZCwgdHJpZ2dlciB0aGUgZnVuY3Rpb24gb24gdGhlXG4gKiBsZWFkaW5nIGVkZ2UsIGluc3RlYWQgb2YgdGhlIHRyYWlsaW5nLlxuICogQHBhcmFtIGZ1bmNcbiAqIEBwYXJhbSB3YWl0XG4gKiBAcGFyYW0gaW1tZWRpYXRlXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259XG4gKi9cbndpbmRvdy5kZWJvdW5jZSA9IGZ1bmN0aW9uKGZ1bmMsIHdhaXQsIGltbWVkaWF0ZSkge1xuICAgIGxldCB0aW1lb3V0O1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBjb250ZXh0ID0gdGhpcywgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgbGV0IGxhdGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdGltZW91dCA9IG51bGw7XG4gICAgICAgICAgICBpZiAoIWltbWVkaWF0ZSkgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IGNhbGxOb3cgPSBpbW1lZGlhdGUgJiYgIXRpbWVvdXQ7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQobGF0ZXIsIHdhaXQpO1xuICAgICAgICBpZiAoY2FsbE5vdykgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICB9O1xufTtcblxuLypcbiAqIENvb2tpZSBoZWxwZXIgY2xhc3NcbiAqL1xud2luZG93LkNvb2tpZSA9IHtcbiAgICBzZXQ6IGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSwgZGF5cykge1xuICAgICAgICBsZXQgZG9tYWluLCBkb21haW5QYXJ0cywgZGF0ZSwgZXhwaXJlcywgaG9zdDtcblxuICAgICAgICBpZiAoZGF5cykge1xuICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyAoZGF5cyAqIDI0ICogNjAgKiA2MCAqIDEwMDApKTtcbiAgICAgICAgICAgIGV4cGlyZXMgPSBcIjsgZXhwaXJlcz1cIiArIGRhdGUudG9HTVRTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGV4cGlyZXMgPSBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgaG9zdCA9IGxvY2F0aW9uLmhvc3Q7XG4gICAgICAgIGlmIChob3N0LnNwbGl0KCcuJykubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAvLyBubyBcIi5cIiBpbiBhIGRvbWFpbiAtIGl0J3MgbG9jYWxob3N0IG9yIHNvbWV0aGluZyBzaW1pbGFyXG4gICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSBuYW1lICsgXCI9XCIgKyB2YWx1ZSArIGV4cGlyZXMgKyBcIjsgcGF0aD0vXCI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBSZW1lbWJlciB0aGUgY29va2llIG9uIGFsbCBzdWIgZG9tYWlucy5cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBTdGFydCB3aXRoIHRyeWluZyB0byBzZXQgY29va2llIHRvIHRoZSB0b3AgZG9tYWluLlxuICAgICAgICAgICAgLy8gKGV4YW1wbGU6IGlmIHVzZXIgaXMgb24gZm9vLmNvbSwgdHJ5IHRvIHNldFxuICAgICAgICAgICAgLy8gIGNvb2tpZSB0byBkb21haW4gXCIuY29tXCIpXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gSWYgdGhlIGNvb2tpZSB3aWxsIG5vdCBiZSBzZXQsIGl0IG1lYW5zIFwiLmNvbVwiXG4gICAgICAgICAgICAvLyBpcyBhIHRvcCBsZXZlbCBkb21haW4gYW5kIHdlIG5lZWQgdG9cbiAgICAgICAgICAgIC8vIHNldCB0aGUgY29va2llIHRvIFwiLmZvby5jb21cIlxuICAgICAgICAgICAgZG9tYWluUGFydHMgPSBob3N0LnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBkb21haW5QYXJ0cy5zaGlmdCgpO1xuICAgICAgICAgICAgZG9tYWluID0gJy4nICsgZG9tYWluUGFydHMuam9pbignLicpO1xuXG4gICAgICAgICAgICAvLyBGb3IgZGV2ZWxvcG1lbnQgcHVycG9zZSwgcmVtb3ZlIHRoaXMgd2hlbiBtb3ZpbmcgdG8gcHJvZHVjdGlvblxuICAgICAgICAgICAgLy8gZG9tYWluID0gJy5rb21tYS5wcm8nO1xuXG4gICAgICAgICAgICBkb2N1bWVudC5jb29raWUgPSBuYW1lICsgXCI9XCIgKyB2YWx1ZSArIGV4cGlyZXMgKyBcIjsgcGF0aD0vOyBkb21haW49XCIgKyBkb21haW47XG5cbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIGNvb2tpZSB3YXMgc3VjY2Vzc2Z1bHkgc2V0IHRvIHRoZSBnaXZlbiBkb21haW5cbiAgICAgICAgICAgIC8vIChvdGhlcndpc2UgaXQgd2FzIGEgVG9wLUxldmVsIERvbWFpbilcbiAgICAgICAgICAgIGlmIChDb29raWUuZ2V0KG5hbWUpID09IG51bGwgfHwgQ29va2llLmdldChuYW1lKSAhPSB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIC8vIGFwcGVuZCBcIi5cIiB0byBjdXJyZW50IGRvbWFpblxuICAgICAgICAgICAgICAgIGRvbWFpbiA9ICcuJyArIGhvc3Q7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuY29va2llID0gbmFtZSArIFwiPVwiICsgdmFsdWUgKyBleHBpcmVzICsgXCI7IHBhdGg9LzsgZG9tYWluPVwiICsgZG9tYWluO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIGdldDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgY29uc3QgbmFtZUVRID0gbmFtZSArIFwiPVwiO1xuICAgICAgICBjb25zdCBjYSA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgYyA9IGNhW2ldO1xuICAgICAgICAgICAgd2hpbGUgKGMuY2hhckF0KDApID09PSAnICcpIHtcbiAgICAgICAgICAgICAgICBjID0gYy5zdWJzdHJpbmcoMSwgYy5sZW5ndGgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYy5pbmRleE9mKG5hbWVFUSkgPT09IDApIHJldHVybiBjLnN1YnN0cmluZyhuYW1lRVEubGVuZ3RoLCBjLmxlbmd0aCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSxcblxuICAgIGVyYXNlOiBmdW5jdGlvbiAobmFtZSkge1xuICAgICAgICBDb29raWUuc2V0KG5hbWUsICcnLCAtMSk7XG4gICAgfVxufTtcblxuLypcbiAqIEphdmFzY3JpcHQgdmVyc2lvbiBvZiB0aGUgbnVtYmVyX2Zvcm1hdCBtZXRob2Qgb2YgUEhQXG4gKi9cbndpbmRvdy5udW1iZXJfZm9ybWF0ID0gZnVuY3Rpb24gKG51bWJlciwgZGVjaW1hbHMsIGRlY19wb2ludCwgdGhvdXNhbmRzX3NlcCkge1xuICAgIC8vIFN0cmlwIGFsbCBjaGFyYWN0ZXJzIGJ1dCBudW1lcmljYWwgb25lcy5cbiAgICBudW1iZXIgPSAobnVtYmVyICsgJycpLnJlcGxhY2UoL1teMC05K1xcLUVlLl0vZywgJycpO1xuICAgIGxldCBuID0gIWlzRmluaXRlKCtudW1iZXIpID8gMCA6ICtudW1iZXIsXG4gICAgICAgIHByZWMgPSAhaXNGaW5pdGUoK2RlY2ltYWxzKSA/IDAgOiBNYXRoLmFicyhkZWNpbWFscyksXG4gICAgICAgIHNlcCA9ICh0eXBlb2YgdGhvdXNhbmRzX3NlcCA9PT0gJ3VuZGVmaW5lZCcpID8gJywnIDogdGhvdXNhbmRzX3NlcCxcbiAgICAgICAgZGVjID0gKHR5cGVvZiBkZWNfcG9pbnQgPT09ICd1bmRlZmluZWQnKSA/ICcuJyA6IGRlY19wb2ludCxcbiAgICAgICAgcyA9ICcnLFxuICAgICAgICB0b0ZpeGVkRml4ID0gZnVuY3Rpb24gKG4sIHByZWMpIHtcbiAgICAgICAgICAgIHZhciBrID0gTWF0aC5wb3coMTAsIHByZWMpO1xuICAgICAgICAgICAgcmV0dXJuICcnICsgTWF0aC5yb3VuZChuICogaykgLyBrO1xuICAgICAgICB9O1xuICAgIC8vIEZpeCBmb3IgSUUgcGFyc2VGbG9hdCgwLjU1KS50b0ZpeGVkKDApID0gMDtcbiAgICBzID0gKHByZWMgPyB0b0ZpeGVkRml4KG4sIHByZWMpIDogJycgKyBNYXRoLnJvdW5kKG4pKS5zcGxpdCgnLicpO1xuICAgIGlmIChzWzBdLmxlbmd0aCA+IDMpIHtcbiAgICAgICAgc1swXSA9IHNbMF0ucmVwbGFjZSgvXFxCKD89KD86XFxkezN9KSsoPyFcXGQpKS9nLCBzZXApO1xuICAgIH1cbiAgICBpZiAoKHNbMV0gfHwgJycpLmxlbmd0aCA8IHByZWMpIHtcbiAgICAgICAgc1sxXSA9IHNbMV0gfHwgJyc7XG4gICAgICAgIHNbMV0gKz0gbmV3IEFycmF5KHByZWMgLSBzWzFdLmxlbmd0aCArIDEpLmpvaW4oJzAnKTtcbiAgICB9XG4gICAgcmV0dXJuIHMuam9pbihkZWMpO1xufTtcblxuXG4vKipcbiAqIEVsZW1lbnQuY2xvc2VzdCgpIHBvbHlmaWxsXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudC9jbG9zZXN0I1BvbHlmaWxsXG4gKi9cbmlmICghRWxlbWVudC5wcm90b3R5cGUuY2xvc2VzdCkge1xuICAgIGlmICghRWxlbWVudC5wcm90b3R5cGUubWF0Y2hlcykge1xuICAgICAgICBFbGVtZW50LnByb3RvdHlwZS5tYXRjaGVzID0gRWxlbWVudC5wcm90b3R5cGUubXNNYXRjaGVzU2VsZWN0b3IgfHwgRWxlbWVudC5wcm90b3R5cGUud2Via2l0TWF0Y2hlc1NlbGVjdG9yO1xuICAgIH1cbiAgICBFbGVtZW50LnByb3RvdHlwZS5jbG9zZXN0ID0gZnVuY3Rpb24gKHMpIHtcbiAgICAgICAgdmFyIGVsID0gdGhpcztcbiAgICAgICAgdmFyIGFuY2VzdG9yID0gdGhpcztcbiAgICAgICAgaWYgKCFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnMoZWwpKSByZXR1cm4gbnVsbDtcbiAgICAgICAgZG8ge1xuICAgICAgICAgICAgaWYgKGFuY2VzdG9yLm1hdGNoZXMocykpIHJldHVybiBhbmNlc3RvcjtcbiAgICAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3IucGFyZW50RWxlbWVudDtcbiAgICAgICAgfSB3aGlsZSAoYW5jZXN0b3IgIT09IG51bGwpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xufVxuXG53aW5kb3cuQWpheCA9IHtcblxuICAgIC8vVE9ETzogQ2FuIHdlIGNyZWF0ZSBhIHByZXBhcmUgcmVxdWVzdCBmdW5jdGlvbiA/P1xuXG4gICAgZ2V0OiBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKSB7XG4gICAgICAgIGxldCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICAgICAgbGV0IHRva2VuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbWV0YVtuYW1lPVwiY3NyZi10b2tlblwiXScpLmNvbnRlbnQ7XG5cbiAgICAgICAgeGhyLm9wZW4oJ2dldCcsIHVybCwgdHJ1ZSk7XG4gICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1DU1JGLVRPS0VOJywgdG9rZW4pO1xuICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignWC1SZXF1ZXN0ZWQtV2l0aCcsICdYTUxIdHRwUmVxdWVzdCcpO1xuICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBpZiAoeGhyLnJlYWR5U3RhdGUgPT09IDQpIHtcbiAgICAgICAgICAgICAgICBjYWxsYmFjayh4aHIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB4aHIuc2VuZCgpO1xuICAgIH0sXG5cbiAgICBwb3N0OiBmdW5jdGlvbih1cmwsIGRhdGEsIGNhbGxiYWNrKSB7XG4gICAgICAgIGxldCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICAgICAgbGV0IHRva2VuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbWV0YVtuYW1lPVwiY3NyZi10b2tlblwiXScpLmNvbnRlbnQ7XG5cbiAgICAgICAgeGhyLm9wZW4oJ3Bvc3QnLCB1cmwsIHRydWUpO1xuICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcbiAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ1gtQ1NSRi1UT0tFTicsIHRva2VuKTtcbiAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ1gtUmVxdWVzdGVkLVdpdGgnLCAnWE1MSHR0cFJlcXVlc3QnKTtcbiAgICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09PSA0KSB7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2soeGhyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgeGhyLnNlbmQoIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICB9XG59O1xuXG4vKipcbiAqIENhcGl0YWxpemUgdGhlIGZpcnN0IGxldHRlciBvZiB0aGUgc3RyaW5nXG4gKiBAcGFyYW0gc3RyaW5nXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG53aW5kb3cuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyID0gZnVuY3Rpb24gKHN0cmluZykge1xuICAgIHJldHVybiBzdHJpbmcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHJpbmcuc2xpY2UoMSk7XG59O1xuXG4vKipcbiAqIENvbnZlcnQgc25ha2UgY2FzZSBpbnRvIGNhbWVsY2FzZVxuICpcbiAqIEBwYXJhbSBzdHJpbmdcbiAqIEByZXR1cm5zIHsqfVxuICovXG53aW5kb3cuc25ha2VUb0NhbWVsID0gZnVuY3Rpb24gKHN0cmluZyl7XG4gICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKC8oXFwtXFx3KS9nLCBmdW5jdGlvbihtKXtyZXR1cm4gbVsxXS50b1VwcGVyQ2FzZSgpO30pO1xufTtcblxuLyoqXG4gKiBHZXQgdGhlIGluZGV4IG9mIGFuIGVsZW1lbnQgaW5zaWRlIGl0cyBwYXJlbnRcbiAqL1xud2luZG93LmluZGV4SW5QYXJlbnQ9IGZ1bmN0aW9uIChub2RlKSB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBub2RlLnBhcmVudE5vZGUuY2hpbGROb2RlcztcbiAgICBsZXQgbnVtID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChjaGlsZHJlbltpXSA9PSBub2RlKSByZXR1cm4gbnVtO1xuICAgICAgICBpZiAoY2hpbGRyZW5baV0ubm9kZVR5cGUgPT0gMSkgbnVtKys7XG4gICAgfVxuICAgIHJldHVybiAtMTtcbn07XG5cbi8qKlxuICogRm9yIHNlY3VyaXR5IHJlYXNvbnMgaU9TIFNhZmFyaSBvbmx5IGFsbG93cyBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpIGZvciB0ZXh0IHdpdGhpbiBhIGNvbnRlbnRFZGl0YWJsZSBjb250YWluZXIuXG4gKiBUaGUgd29ya2Fyb3VuZCBpcyB0byBkZXRlY3QgaU9TIFNhZmFyaSBhbmQgcXVpY2tseSB0b2dnbGUgY29udGVudEVkaXRhYmxlIGJlZm9yZSBleGVjdXRpbmcgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKS5cbiAqIFdoZWIgaW5wdXQgb3IgdGV4dGFyZWEgaXMgUkVBRE9OTFkgeW91IGNhbiBwcmV2ZW50IHRoZSB1bndhbnRlZCBwb3B1cCB3aXRoIGNvcHkvcGFzdGUgZnVuY3Rpb25zIGFuZCB0aGUgaW5wdXQga2V5Ym9hcmRcbiAqIENvZGUgZnJvbTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzQ2OTgxODQ3XG4gKi9cbndpbmRvdy5jb3B5VG9DbGlwYm9hcmQgPSBmdW5jdGlvbiAoZWwpIHtcblxuICAgIC8vIHJlc29sdmUgdGhlIGVsZW1lbnRcbiAgICBlbCA9ICh0eXBlb2YgZWwgPT09ICdzdHJpbmcnKSA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZWwpIDogZWw7XG5cbiAgICAvLyBoYW5kbGUgaU9TIGFzIGEgc3BlY2lhbCBjYXNlXG4gICAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lwYWR8aXBvZHxpcGhvbmUvaSkpIHtcblxuICAgICAgICAvLyBzYXZlIGN1cnJlbnQgY29udGVudEVkaXRhYmxlL3JlYWRPbmx5IHN0YXR1c1xuICAgICAgICBjb25zdCBlZGl0YWJsZSA9IGVsLmNvbnRlbnRFZGl0YWJsZTtcbiAgICAgICAgY29uc3QgcmVhZE9ubHkgPSBlbC5yZWFkT25seTtcblxuICAgICAgICAvLyBjb252ZXJ0IHRvIGVkaXRhYmxlIHdpdGggcmVhZG9ubHkgdG8gc3RvcCBpT1Mga2V5Ym9hcmQgb3BlbmluZ1xuICAgICAgICBlbC5jb250ZW50RWRpdGFibGUgPSB0cnVlO1xuICAgICAgICBlbC5yZWFkT25seSA9IHRydWU7XG5cbiAgICAgICAgLy8gY3JlYXRlIGEgc2VsZWN0YWJsZSByYW5nZVxuICAgICAgICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoZWwpO1xuXG4gICAgICAgIC8vIHNlbGVjdCB0aGUgcmFuZ2VcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgICAgIGVsLnNldFNlbGVjdGlvblJhbmdlKDAsIDk5OTk5OSk7XG5cbiAgICAgICAgLy8gcmVzdG9yZSBjb250ZW50RWRpdGFibGUvcmVhZE9ubHkgdG8gb3JpZ2luYWwgc3RhdGVcbiAgICAgICAgZWwuY29udGVudEVkaXRhYmxlID0gZWRpdGFibGU7XG4gICAgICAgIGVsLnJlYWRPbmx5ID0gcmVhZE9ubHk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBlbC5zZWxlY3QoKTtcbiAgICB9XG5cbiAgICAvLyBleGVjdXRlIGNvcHkgY29tbWFuZFxuICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG59O1xuXG4vKipcbiAqIEdldCB0aGUgcG9zaXRpb24gb2YgdGhlIGVsZW1lbnQgcmVsYXRlZCB0byB0aGUgYm9keVxuICpcbiAqIEBwYXJhbSBlbFxuICogQHJldHVybnMge3t0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyfX1cbiAqL1xud2luZG93LmJvZHlPZmZzZXQgPSBmdW5jdGlvbiAoZWwpIHtcbiAgICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICAgIHNjcm9sbExlZnQgPSB3aW5kb3cucGFnZVhPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQsXG4gICAgICAgIHNjcm9sbFRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgIHJldHVybiB7IHRvcDogcmVjdC50b3AgKyBzY3JvbGxUb3AsIGxlZnQ6IHJlY3QubGVmdCArIHNjcm9sbExlZnQgfVxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/site/global/helpers.js\n");

/***/ }),

/***/ "./resources/js/site/global/scrollHandler.js":
/*!***************************************************!*\
  !*** ./resources/js/site/global/scrollHandler.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/* ==========================================================================\n   Scroll handler\n   - Handler the objects which are bind on scroll events or visible in viewport\n ========================================================================== */\nvar ScrollHandler = {\n  // Variables for debounce and throttle effects\n  time: Date.now(),\n  timeout: null,\n  waitThrottle: 1000,\n  waitDebounce: 300,\n  // Variables for scroll direction\n  lastScrollTopPosition: 0,\n  scrollDirectionDown: true,\n  scrollDirectionUp: false,\n  //Initialisation\n  init: function init() {\n    // Trigger start on start up\n    ScrollHandler.triggerOnInit(); // Throttle scroll\n\n    window.addEventListener('scroll', function () {\n      if (ScrollHandler.time + ScrollHandler.waitThrottle - Date.now() < 0) {\n        ScrollHandler.triggerThrottle();\n        ScrollHandler.time = Date.now();\n      }\n    }); // Smooth scroll\n\n    window.addEventListener('scroll', function () {\n      ScrollHandler.triggerSmooth();\n    }); // Debounce scroll\n\n    window.addEventListener('scroll', function () {\n      if (isset(ScrollHandler.timeout)) clearTimeout(ScrollHandler.timeout);\n      ScrollHandler.timeout = setTimeout(ScrollHandler.triggerDebounce, ScrollHandler.waitDebounce);\n    });\n  },\n  // Trigger on start up\n  triggerOnInit: function triggerOnInit() {\n    ScrollHandler.triggerElementInViewportAnimation();\n  },\n  // Trigger scroll functions with throttle (preferred)\n  triggerThrottle: function triggerThrottle() {\n    // console.log('Throttled scroll');\n    ScrollHandler.triggerElementInViewportAnimation();\n  },\n  // Trigger scroll on debounce\n  triggerDebounce: function triggerDebounce() {// console.log('Debounce scroll');\n  },\n  // Trigger scroll on the flight\n  triggerSmooth: function triggerSmooth() {\n    // console.log('Smooth scroll');\n    ScrollHandler.detectScrollDirection();\n    ScrollHandler.toggleStickyHeader();\n  },\n  // Detect if part of a given element is visible in the viewport\n  // El must be a node element\n  detectIfElementIsPartlyInViewport: function detectIfElementIsPartlyInViewport(el) {\n    if (isset(el)) {\n      var rect = el.getBoundingClientRect(); // DOMRect { x: 8, y: 8, width: 100, height: 100, top: 8, right: 108, bottom: 108, left: 8 }\n\n      var windowHeight = window.innerHeight || document.documentElement.clientHeight;\n      var windowWidth = window.innerWidth || document.documentElement.clientWidth;\n      var verticalInView = rect.top <= windowHeight && rect.top + rect.height >= 0;\n      var horizontalInView = rect.left <= windowWidth && rect.left + rect.width >= 0;\n      return verticalInView && horizontalInView;\n    }\n  },\n  // Detect if a given element is fully visible in the viewport\n  // El must be a node element\n  detectIfElementIsFullyInViewport: function detectIfElementIsFullyInViewport(el) {\n    if (isset(el)) {\n      var rect = el.getBoundingClientRect();\n      return rect.top >= 0 && rect.bottom <= window.innerHeight;\n    }\n  },\n  detectScrollDirection: function detectScrollDirection() {\n    var scrollTopPosition = window.pageYOffset || document.documentElement.scrollTop; // Credits: \"https://github.com/qeremy/so/blob/master/so.dom.js#L426\"\n\n    if (scrollTopPosition >= ScrollHandler.lastScrollTopPosition) {\n      ScrollHandler.scrollDirectionDown = true;\n      ScrollHandler.scrollDirectionUp = false;\n    } else {\n      ScrollHandler.scrollDirectionDown = false;\n      ScrollHandler.scrollDirectionUp = true;\n    }\n\n    ScrollHandler.lastScrollTopPosition = scrollTopPosition;\n  },\n  // Trigger animation on elements that have 'element-in-viewport' and that are in the viewport\n  // These animation can only be triggered once, if you want more then that you should write an specific function for this\n  triggerElementInViewportAnimation: function triggerElementInViewportAnimation() {\n    var elements = document.querySelectorAll('.element-in-viewport');\n    var elementsLength = elements.length;\n\n    for (var e = 0; e < elementsLength; e++) {\n      var element = elements[e];\n\n      if (ScrollHandler.detectIfElementIsPartlyInViewport(element)) {\n        element.classList.remove('element-in-viewport');\n      }\n    }\n  },\n  // ------------------------------ CUSTOM SCROLL HANDLERS ------------------------------------\n  // Hide or show sticky navigation when header isn't visible\n  toggleStickyHeader: function toggleStickyHeader() {\n    var stickyHeader = document.querySelector('.js-sticky-header');\n    var visibleStickyHeaderClass = 'is-sticky-header-visible';\n    var subnavList = document.querySelectorAll('.js-subnav');\n    var subNavIsVisible = false;\n    stickyHeader.hidden = false;\n\n    for (var i = 0; i < subnavList.length; i++) {\n      if (window.getComputedStyle(subnavList[i], null).visibility == \"visible\") {\n        return subNavIsVisible = true;\n      }\n    }\n\n    if (isset(stickyHeader) && !subNavIsVisible) {\n      // Hide when scrolling DOWN (OR within offset)\n      if (ScrollHandler.scrollDirectionDown || ScrollHandler.lastScrollTopPosition < 110) {\n        document.body.classList.remove(visibleStickyHeaderClass);\n      } // Show when scrolling UP and outside of offset\n      else {\n          document.body.classList.add(visibleStickyHeaderClass);\n        }\n    }\n  }\n};\nScrollHandler.init();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvc2l0ZS9nbG9iYWwvc2Nyb2xsSGFuZGxlci5qcz9mMGI3Il0sIm5hbWVzIjpbIlNjcm9sbEhhbmRsZXIiLCJ0aW1lIiwiRGF0ZSIsIm5vdyIsInRpbWVvdXQiLCJ3YWl0VGhyb3R0bGUiLCJ3YWl0RGVib3VuY2UiLCJsYXN0U2Nyb2xsVG9wUG9zaXRpb24iLCJzY3JvbGxEaXJlY3Rpb25Eb3duIiwic2Nyb2xsRGlyZWN0aW9uVXAiLCJpbml0IiwidHJpZ2dlck9uSW5pdCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0cmlnZ2VyVGhyb3R0bGUiLCJ0cmlnZ2VyU21vb3RoIiwiaXNzZXQiLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwidHJpZ2dlckRlYm91bmNlIiwidHJpZ2dlckVsZW1lbnRJblZpZXdwb3J0QW5pbWF0aW9uIiwiZGV0ZWN0U2Nyb2xsRGlyZWN0aW9uIiwidG9nZ2xlU3RpY2t5SGVhZGVyIiwiZGV0ZWN0SWZFbGVtZW50SXNQYXJ0bHlJblZpZXdwb3J0IiwiZWwiLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwid2luZG93SGVpZ2h0IiwiaW5uZXJIZWlnaHQiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImNsaWVudEhlaWdodCIsIndpbmRvd1dpZHRoIiwiaW5uZXJXaWR0aCIsImNsaWVudFdpZHRoIiwidmVydGljYWxJblZpZXciLCJ0b3AiLCJoZWlnaHQiLCJob3Jpem9udGFsSW5WaWV3IiwibGVmdCIsIndpZHRoIiwiZGV0ZWN0SWZFbGVtZW50SXNGdWxseUluVmlld3BvcnQiLCJib3R0b20iLCJzY3JvbGxUb3BQb3NpdGlvbiIsInBhZ2VZT2Zmc2V0Iiwic2Nyb2xsVG9wIiwiZWxlbWVudHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZWxlbWVudHNMZW5ndGgiLCJsZW5ndGgiLCJlIiwiZWxlbWVudCIsImNsYXNzTGlzdCIsInJlbW92ZSIsInN0aWNreUhlYWRlciIsInF1ZXJ5U2VsZWN0b3IiLCJ2aXNpYmxlU3RpY2t5SGVhZGVyQ2xhc3MiLCJzdWJuYXZMaXN0Iiwic3ViTmF2SXNWaXNpYmxlIiwiaGlkZGVuIiwiaSIsImdldENvbXB1dGVkU3R5bGUiLCJ2aXNpYmlsaXR5IiwiYm9keSIsImFkZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7QUFLQSxJQUFNQSxhQUFhLEdBQUc7QUFFbEI7QUFDQUMsTUFBSSxFQUFFQyxJQUFJLENBQUNDLEdBQUwsRUFIWTtBQUlsQkMsU0FBTyxFQUFFLElBSlM7QUFLbEJDLGNBQVksRUFBRSxJQUxJO0FBTWxCQyxjQUFZLEVBQUUsR0FOSTtBQVFsQjtBQUNBQyx1QkFBcUIsRUFBRSxDQVRMO0FBVWxCQyxxQkFBbUIsRUFBRSxJQVZIO0FBV2xCQyxtQkFBaUIsRUFBRSxLQVhEO0FBYWxCO0FBQ0FDLE1BQUksRUFBRSxnQkFBWTtBQUVkO0FBQ0FWLGlCQUFhLENBQUNXLGFBQWQsR0FIYyxDQUtkOztBQUNBQyxVQUFNLENBQUNDLGdCQUFQLENBQXdCLFFBQXhCLEVBQWtDLFlBQVk7QUFDMUMsVUFBS2IsYUFBYSxDQUFDQyxJQUFkLEdBQXFCRCxhQUFhLENBQUNLLFlBQW5DLEdBQWtESCxJQUFJLENBQUNDLEdBQUwsRUFBbkQsR0FBaUUsQ0FBckUsRUFBd0U7QUFDcEVILHFCQUFhLENBQUNjLGVBQWQ7QUFDQWQscUJBQWEsQ0FBQ0MsSUFBZCxHQUFxQkMsSUFBSSxDQUFDQyxHQUFMLEVBQXJCO0FBQ0g7QUFDSixLQUxELEVBTmMsQ0FhZDs7QUFDQVMsVUFBTSxDQUFDQyxnQkFBUCxDQUF3QixRQUF4QixFQUFrQyxZQUFZO0FBQzFDYixtQkFBYSxDQUFDZSxhQUFkO0FBQ0gsS0FGRCxFQWRjLENBa0JkOztBQUNBSCxVQUFNLENBQUNDLGdCQUFQLENBQXdCLFFBQXhCLEVBQWtDLFlBQVk7QUFDMUMsVUFBR0csS0FBSyxDQUFDaEIsYUFBYSxDQUFDSSxPQUFmLENBQVIsRUFBaUNhLFlBQVksQ0FBQ2pCLGFBQWEsQ0FBQ0ksT0FBZixD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U0FBZCxDQUF3QlksR0FBeEIsQ0FBNEJSLHdCQUE1QjtBQUNIO0FBQ0o7QUFDSjtBQXBKaUIsQ0FBdEI7QUF3SkF4RCxhQUFhLENBQUNVLElBQWQiLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvc2l0ZS9nbG9iYWwvc2Nyb2xsSGFuZGxlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTY3JvbGwgaGFuZGxlclxuICAgLSBIYW5kbGVyIHRoZSBvYmplY3RzIHdoaWNoIGFyZSBiaW5kIG9uIHNjcm9sbCBldmVudHMgb3IgdmlzaWJsZSBpbiB2aWV3cG9ydFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmNvbnN0IFNjcm9sbEhhbmRsZXIgPSB7XG5cbiAgICAvLyBWYXJpYWJsZXMgZm9yIGRlYm91bmNlIGFuZCB0aHJvdHRsZSBlZmZlY3RzXG4gICAgdGltZTogRGF0ZS5ub3coKSxcbiAgICB0aW1lb3V0OiBudWxsLFxuICAgIHdhaXRUaHJvdHRsZTogMTAwMCxcbiAgICB3YWl0RGVib3VuY2U6IDMwMCxcblxuICAgIC8vIFZhcmlhYmxlcyBmb3Igc2Nyb2xsIGRpcmVjdGlvblxuICAgIGxhc3RTY3JvbGxUb3BQb3NpdGlvbjogMCxcbiAgICBzY3JvbGxEaXJlY3Rpb25Eb3duOiB0cnVlLFxuICAgIHNjcm9sbERpcmVjdGlvblVwOiBmYWxzZSxcblxuICAgIC8vSW5pdGlhbGlzYXRpb25cbiAgICBpbml0OiBmdW5jdGlvbiAoKSB7XG5cbiAgICAgICAgLy8gVHJpZ2dlciBzdGFydCBvbiBzdGFydCB1cFxuICAgICAgICBTY3JvbGxIYW5kbGVyLnRyaWdnZXJPbkluaXQoKTtcblxuICAgICAgICAvLyBUaHJvdHRsZSBzY3JvbGxcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmICgoU2Nyb2xsSGFuZGxlci50aW1lICsgU2Nyb2xsSGFuZGxlci53YWl0VGhyb3R0bGUgLSBEYXRlLm5vdygpKSA8IDApIHtcbiAgICAgICAgICAgICAgICBTY3JvbGxIYW5kbGVyLnRyaWdnZXJUaHJvdHRsZSgpO1xuICAgICAgICAgICAgICAgIFNjcm9sbEhhbmRsZXIudGltZSA9IERhdGUubm93KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFNtb290aCBzY3JvbGxcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIFNjcm9sbEhhbmRsZXIudHJpZ2dlclNtb290aCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBEZWJvdW5jZSBzY3JvbGxcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmKGlzc2V0KFNjcm9sbEhhbmRsZXIudGltZW91dCkpIGNsZWFyVGltZW91dChTY3JvbGxIYW5kbGVyLnRpbWVvdXQpO1xuICAgICAgICAgICAgU2Nyb2xsSGFuZGxlci50aW1lb3V0ID0gc2V0VGltZW91dChTY3JvbGxIYW5kbGVyLnRyaWdnZXJEZWJvdW5jZSwgU2Nyb2xsSGFuZGxlci53YWl0RGVib3VuY2UpO1xuICAgICAgICB9KTtcbiAgICB9LFxuXG4gICAgLy8gVHJpZ2dlciBvbiBzdGFydCB1cFxuICAgIHRyaWdnZXJPbkluaXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgU2Nyb2xsSGFuZGxlci50cmlnZ2VyRWxlbWVudEluVmlld3BvcnRBbmltYXRpb24oKTtcbiAgICB9LFxuXG4gICAgLy8gVHJpZ2dlciBzY3JvbGwgZnVuY3Rpb25zIHdpdGggdGhyb3R0bGUgKHByZWZlcnJlZClcbiAgICB0cmlnZ2VyVGhyb3R0bGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ1Rocm90dGxlZCBzY3JvbGwnKTtcbiAgICAgICAgU2Nyb2xsSGFuZGxlci50cmlnZ2VyRWxlbWVudEluVmlld3BvcnRBbmltYXRpb24oKTtcbiAgICB9LFxuXG4gICAgLy8gVHJpZ2dlciBzY3JvbGwgb24gZGVib3VuY2VcbiAgICB0cmlnZ2VyRGVib3VuY2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0RlYm91bmNlIHNjcm9sbCcpO1xuICAgIH0sXG5cbiAgICAvLyBUcmlnZ2VyIHNjcm9sbCBvbiB0aGUgZmxpZ2h0XG4gICAgdHJpZ2dlclNtb290aDogZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnU21vb3RoIHNjcm9sbCcpO1xuICAgICAgICBTY3JvbGxIYW5kbGVyLmRldGVjdFNjcm9sbERpcmVjdGlvbigpO1xuICAgICAgICBTY3JvbGxIYW5kbGVyLnRvZ2dsZVN0aWNreUhlYWRlcigpO1xuICAgIH0sXG5cbiAgICAvLyBEZXRlY3QgaWYgcGFydCBvZiBhIGdpdmVuIGVsZW1lbnQgaXMgdmlzaWJsZSBpbiB0aGUgdmlld3BvcnRcbiAgICAvLyBFbCBtdXN0IGJlIGEgbm9kZSBlbGVtZW50XG4gICAgZGV0ZWN0SWZFbGVtZW50SXNQYXJ0bHlJblZpZXdwb3J0OiBmdW5jdGlvbihlbClcbiAgICB7XG4gICAgICAgIGlmKGlzc2V0KGVsKSl7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIC8vIERPTVJlY3QgeyB4OiA4LCB5OiA4LCB3aWR0aDogMTAwLCBoZWlnaHQ6IDEwMCwgdG9wOiA4LCByaWdodDogMTA4LCBib3R0b206IDEwOCwgbGVmdDogOCB9XG4gICAgICAgICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSAod2luZG93LmlubmVySGVpZ2h0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpO1xuICAgICAgICAgICAgY29uc3Qgd2luZG93V2lkdGggPSAod2luZG93LmlubmVyV2lkdGggfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKTtcblxuICAgICAgICAgICAgY29uc3QgdmVydGljYWxJblZpZXcgPSAocmVjdC50b3AgPD0gKHdpbmRvd0hlaWdodCkpICYmICgocmVjdC50b3AgKyByZWN0LmhlaWdodCkgPj0gMCk7XG4gICAgICAgICAgICBjb25zdCBob3Jpem9udGFsSW5WaWV3ID0gKHJlY3QubGVmdCA8PSB3aW5kb3dXaWR0aCkgJiYgKChyZWN0LmxlZnQgKyByZWN0LndpZHRoKSA+PSAwKTtcblxuICAgICAgICAgICAgcmV0dXJuICh2ZXJ0aWNhbEluVmlldyAmJiBob3Jpem9udGFsSW5WaWV3KTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyBEZXRlY3QgaWYgYSBnaXZlbiBlbGVtZW50IGlzIGZ1bGx5IHZpc2libGUgaW4gdGhlIHZpZXdwb3J0XG4gICAgLy8gRWwgbXVzdCBiZSBhIG5vZGUgZWxlbWVudFxuICAgIGRldGVjdElmRWxlbWVudElzRnVsbHlJblZpZXdwb3J0OiBmdW5jdGlvbihlbClcbiAgICB7XG4gICAgICAgIGlmKGlzc2V0KGVsKSl7XG4gICAgICAgICAgICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgcmVjdC50b3AgPj0gMCAmJlxuICAgICAgICAgICAgICAgIHJlY3QuYm90dG9tIDw9IHdpbmRvdy5pbm5lckhlaWdodFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBkZXRlY3RTY3JvbGxEaXJlY3Rpb246IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wUG9zaXRpb24gPSB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDsgLy8gQ3JlZGl0czogXCJodHRwczovL2dpdGh1Yi5jb20vcWVyZW15L3NvL2Jsb2IvbWFzdGVyL3NvLmRvbS5qcyNMNDI2XCJcbiAgICAgICAgaWYgKHNjcm9sbFRvcFBvc2l0aW9uID49IFNjcm9sbEhhbmRsZXIubGFzdFNjcm9sbFRvcFBvc2l0aW9uKXtcbiAgICAgICAgICAgIFNjcm9sbEhhbmRsZXIuc2Nyb2xsRGlyZWN0aW9uRG93biA9IHRydWU7XG4gICAgICAgICAgICBTY3JvbGxIYW5kbGVyLnNjcm9sbERpcmVjdGlvblVwID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBTY3JvbGxIYW5kbGVyLnNjcm9sbERpcmVjdGlvbkRvd24gPSBmYWxzZTtcbiAgICAgICAgICAgIFNjcm9sbEhhbmRsZXIuc2Nyb2xsRGlyZWN0aW9uVXAgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIFNjcm9sbEhhbmRsZXIubGFzdFNjcm9sbFRvcFBvc2l0aW9uID0gc2Nyb2xsVG9wUG9zaXRpb247XG4gICAgfSxcblxuICAgIC8vIFRyaWdnZXIgYW5pbWF0aW9uIG9uIGVsZW1lbnRzIHRoYXQgaGF2ZSAnZWxlbWVudC1pbi12aWV3cG9ydCcgYW5kIHRoYXQgYXJlIGluIHRoZSB2aWV3cG9ydFxuICAgIC8vIFRoZXNlIGFuaW1hdGlvbiBjYW4gb25seSBiZSB0cmlnZ2VyZWQgb25jZSwgaWYgeW91IHdhbnQgbW9yZSB0aGVuIHRoYXQgeW91IHNob3VsZCB3cml0ZSBhbiBzcGVjaWZpYyBmdW5jdGlvbiBmb3IgdGhpc1xuICAgIHRyaWdnZXJFbGVtZW50SW5WaWV3cG9ydEFuaW1hdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5lbGVtZW50LWluLXZpZXdwb3J0Jyk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzTGVuZ3RoID0gZWxlbWVudHMubGVuZ3RoO1xuXG4gICAgICAgIGZvcihsZXQgZSA9IDA7IGUgPCBlbGVtZW50c0xlbmd0aDsgZSsrKXtcblxuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnRzW2VdO1xuICAgICAgICAgICAgaWYoU2Nyb2xsSGFuZGxlci5kZXRlY3RJZkVsZW1lbnRJc1BhcnRseUluVmlld3BvcnQoZWxlbWVudCkpe1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnZWxlbWVudC1pbi12aWV3cG9ydCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9LFxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENVU1RPTSBTQ1JPTEwgSEFORExFUlMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvLyBIaWRlIG9yIHNob3cgc3RpY2t5IG5hdmlnYXRpb24gd2hlbiBoZWFkZXIgaXNuJ3QgdmlzaWJsZVxuICAgIHRvZ2dsZVN0aWNreUhlYWRlcjogZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCBzdGlja3lIZWFkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuanMtc3RpY2t5LWhlYWRlcicpO1xuICAgICAgICBjb25zdCB2aXNpYmxlU3RpY2t5SGVhZGVyQ2xhc3MgPSAnaXMtc3RpY2t5LWhlYWRlci12aXNpYmxlJztcbiAgICAgICAgY29uc3Qgc3VibmF2TGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy1zdWJuYXYnKTtcbiAgICAgICAgdmFyIHN1Yk5hdklzVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICBzdGlja3lIZWFkZXIuaGlkZGVuID0gZmFsc2U7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdWJuYXZMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAod2luZG93LmdldENvbXB1dGVkU3R5bGUoc3VibmF2TGlzdFtpXSwgbnVsbCkudmlzaWJpbGl0eSA9PSBcInZpc2libGVcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdWJOYXZJc1Zpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYoaXNzZXQoc3RpY2t5SGVhZGVyKSAmJiAhc3ViTmF2SXNWaXNpYmxlKXtcbiAgICAgICAgICAgIC8vIEhpZGUgd2hlbiBzY3JvbGxpbmcgRE9XTiAoT1Igd2l0aGluIG9mZnNldClcbiAgICAgICAgICAgIGlmKFNjcm9sbEhhbmRsZXIuc2Nyb2xsRGlyZWN0aW9uRG93biB8fCBTY3JvbGxIYW5kbGVyLmxhc3RTY3JvbGxUb3BQb3NpdGlvbiA8IDExMCl7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKHZpc2libGVTdGlja3lIZWFkZXJDbGFzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBTaG93IHdoZW4gc2Nyb2xsaW5nIFVQIGFuZCBvdXRzaWRlIG9mIG9mZnNldFxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKHZpc2libGVTdGlja3lIZWFkZXJDbGFzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuXG59O1xuXG5TY3JvbGxIYW5kbGVyLmluaXQoKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/site/global/scrollHandler.js\n");

/***/ }),

/***/ "./resources/sass/kms/styles.sass":
/*!****************************************!*\
  !*** ./resources/sass/kms/styles.sass ***!
  \****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9rbXMvc3R5bGVzLnNhc3M/NTU3ZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiIuL3Jlc291cmNlcy9zYXNzL2ttcy9zdHlsZXMuc2Fzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/sass/kms/styles.sass\n");

/***/ }),

/***/ "./resources/sass/site/style.scss":
/*!****************************************!*\
  !*** ./resources/sass/site/style.scss ***!
  \****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlL3N0eWxlLnNjc3M/ZTg2ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiIuL3Jlc291cmNlcy9zYXNzL3NpdGUvc3R5bGUuc2Nzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/sass/site/style.scss\n");

/***/ }),

/***/ 0:
/*!**********************************************************************************************************!*\
  !*** multi ./resources/js/site/app.js ./resources/sass/site/style.scss ./resources/sass/kms/styles.sass ***!
  \**********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(/*! /Users/robhoeben/Development/Basic-stempel/resources/js/site/app.js */"./resources/js/site/app.js");
__webpack_require__(/*! /Users/robhoeben/Development/Basic-stempel/resources/sass/site/style.scss */"./resources/sass/site/style.scss");
module.exports = __webpack_require__(/*! /Users/robhoeben/Development/Basic-stempel/resources/sass/kms/styles.sass */"./resources/sass/kms/styles.sass");


/***/ })

},[[0,"/js/site/manifest","/js/site/vendor"]]]);